Panel
PanelModule renders a native Adminix card/container. It is layout-only: it does not own business logic, routes, jobs, or persistence.
Use it when a page needs a framed block with a title and nested modules.
Layout
name()is required and must be unique on the page.title()renders the header title.icon()renders a Bootstrap icon in the header.color()sets the panel accent/border color.addModule()andaddModules()accept any Adminix module.Panels are half-width by default on wide screens and full-width on mobile.
fullWidth()makes the panel span the page width.halfWidth()restores the default half-width layout.
Nested modules are resolved through their normal data providers. A nested ListModule still receives page route params, criteria, filters, and endpoint lookup by module name.
Scope
PanelModule is not an operation/import abstraction. Keep application routes, validation, commands, file handling, cancellation, deletion, and downloads in the consuming app. Compose the page from PanelModule, TextModule, LinkModule, ListModule, ProgressBarModule, or other existing modules.