Panel275 Documents

Core Behavior Ownership

Panel core owns shared behavior and its contracts: authentication, routing, data access, initialization, accessibility semantics and state, keyboard and focus handling, reusable interaction state and events, browser-preference handling, and dark/light behavior. Custom panels, including headless runnables, remain thin: they declare configuration, data, and composition and supply presentation markup and styles. They consume core behavior rather than duplicating it or manually maintaining shared accessibility attributes and interaction state. Expose declarative choices through core contracts, keep visual decisions in the custom panel, and use existing core elements when they can own the behavior without an extra wrapper.

Philosophy

A custom design should change presentation, not require reimplementing accessibility or interaction behavior.

Correct

Panel core owns the initial busy state on the existing root element; the custom panel supplies loader visuals and styles.
A custom panel declares panel.onlyLightMode; core applies and maintains the appearance mode.

Fix

Move shared behavior and accessibility management into panel core. Have the custom panel declare its requirements and render and style the resulting presentation through the core contract.