sheengemologic ui
All components

AdminApp

The Sheen application baseline with placement-safe chrome, scoped services, retained content, and responsive details.@gemologic/sheen-patterns · application

Playground

Application content

<ThemeProvider><AdminApp label="Operations" pathname="/orders" product={{ name: "Northstar", href: "/" }} primaryNavigation={{ id: "primary", label: "Primary", items: [{ kind: "link", id: "orders", label: "Orders", href: "/orders" }] }} preset="standard"><p>Application content</p></AdminApp></ThemeProvider>

Variant matrix

Standard admin baseline

Application content

preset: standard

Application content

preset: workspace

Application content

preset: horizontal

Application content

preset: inspector

Application content

Anatomy

Package
@gemologic/sheen-patterns
Source
packages/patterns/src/AdminApp.tsx
Tokens
  • --sheen-admin-color-canvas
  • --sheen-admin-color-topbar
  • --sheen-admin-color-sidebar
  • --sheen-admin-color-details
  • --sheen-admin-color-status
  • --sheen-admin-color-nav-hover
  • --sheen-admin-color-nav-active
  • --sheen-admin-color-nav-active-fg
  • --sheen-color-focus-ring

Accessibility

Role: banner, navigation, main, complementary, contentinfo, dialog, statusKeyboard: Tab, Shift+Tab, ArrowLeft, ArrowRight, Home, End, Escape, mod+k, mod+/, ?

Do

  • Treat placements and appearance as stable server input; use themes and accents for global brand axes and admin aliases for shell-specific surfaces.

Do not

  • Do not remount AdminApp during refresh or use it as a global arbitrary-content modal manager.

Generated props

NameTypeDefaultDescription
label *stringAccessible name for the primary content scrolling region.
documentTitlestringOptional accepted-route document title. Requires an app-owned MetaProvider.
presetAdminPresetstandardNamed deterministic placement configuration.
appearanceAdminAppearanceIndependent semantic chrome, navigation, and action treatments. Exact brand colors use the documented --sheen-admin-color-* aliases.
themeThemeOverridesOptional scoped theme, mode, accent, density, radius, motion, direction, and locale overrides. Omitted axes inherit; density alone defaults to comfortable.
placementsreadonly AdminPlacementOverride[]Per-zone validated overrides. A zone may occur at most once.
pathname *stringAccepted app pathname for native navigation matching.
routerRouterAdapterOptional app-injected navigation and unsaved-change adapter.
productAdminProductModel | undefinedOptional app-owned product identity.
workspaceAdminWorkspaceModel | undefinedOptional app-owned workspace selector model.
primaryNavigationAdminNavigationModel | undefinedOptional app-owned primary navigation tree. Links may expose named sibling action menus without nesting controls inside destinations.
secondaryNavigationAdminNavigationModel | undefinedOptional app-owned secondary navigation tree. Links may expose named sibling action menus without changing link semantics.
currentViewJSX.ElementOptional breadcrumb or accepted current-view label.
globalSearchJSX.ElementOptional app-owned search control. Sheen does not perform the search.
actionGroupsreadonly AdminActionGroup[] | undefinedSemantic primary, utility, and help action groups with native Button or Link behavior.
notificationsAdminNotificationModel | undefinedOptional app-owned notification model.
accountAdminAccountModel | undefinedOptional app-owned account identity and menu. Sheen does not authenticate.
commandPaletteAdminCommandPaletteModel | undefinedOptional scoped command sources, state, persistence, and error hooks.
detailsAdminDetailsModel | undefinedOptional controlled or URL-backed details identity and its single content owner.
statusBarJSX.ElementOptional fixed application status content.
refreshingbooleanfalseMarks accepted page content busy without replacing or remounting it.
contentReadybooleanForwarded route readiness for pane-scroll restoration.
sidebarCollapsedbooleanControlled desktop icon-rail state. Phone navigation remains a full drawer.
defaultSidebarCollapsedbooleanfalseServer-resolved uncontrolled initial icon-rail state.
onSidebarCollapsedChange(collapsed: boolean) => voidCollapse proposals from the shell toggle and mod+/ shortcut.
sidebarPersistenceAdminSidebarPersistenceExplicit server-resolved initial preference plus app-owned save and safe error handling. No localStorage read occurs.
mobileSidebarOpenbooleanOptional app-owned phone drawer state, independent of desktop collapse.
onMobileSidebarOpenChange(open: boolean) => voidPhone drawer visibility proposals.
shortcutHelpbooleantrueEnable the shared question-mark shortcut sheet and pending shortcut status.
developmentbooleanfalseEnable development-only shortcut diagnostics.
authorizationKeystringOptional diagnostic boundary identity. Apps must clear unauthorized models and content synchronously when it changes.
classstringAdditional class on the low-level AppShell root.
children *JSX.ElementAccepted page content. Background refresh keeps this owner mounted.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.