{"slug":"app-bar","name":"AppBar","packageName":"@liquidify/react","category":"presentational","maturity":"experimental","summary":"Provide top or bottom placement and bar context for region composition.","importPath":"@liquidify/react/app-bar","sourcePath":"packages/@liquidify/react/src/components/app-bar/app-bar.tsx","specPath":"packages/@liquidify/react/src/components/app-bar/spec.md","documentationStatus":"missing","storyIds":["presentational-app-bar--default","presentational-app-bar--disabled-controls"],"additionalExports":[],"anatomy":[],"props":[{"name":"asChild","type":"undefined","required":false,"description":"Multiple owned elements cannot be merged onto one child.","declaredIn":"packages/@liquidify/react/src/components/app-bar/app-bar.tsx"},{"name":"className","type":"string | undefined","required":false,"description":"Optional additional CSS class merged into the glass surface class. The supported per-instance customisation seam: override any `--lq-*` custom property from this class's CSS — the token cascade the engine reads (ADR-0004). No raw inline style is involved, so this stays ADR-0003 clean.","declaredIn":"packages/@liquidify/react/src/liquid-component-props.ts"},{"name":"gap","type":"LayoutSpacing | undefined","required":false,"description":"","declaredIn":"packages/@liquidify/react/src/components/app-bar/app-bar.tsx"},{"name":"placement","type":"\"top\" | \"bottom\"","required":true,"description":"","declaredIn":"packages/@liquidify/react/src/components/app-bar/app-bar.tsx"},{"name":"ref","type":"Ref<HTMLElement> | undefined","required":false,"description":"Forwarded ref to the rendered element — the component's native root (or the merged child element on a component that opts into {@link SlottableProps}). Generic over `E` (charter `docs/api-conventions.md` §4 rule 1, default `HTMLElement`) so a component with a polymorphic root (Link's navigation / action mode union, Text's `as`) can instantiate the concrete element per variant instead of leaving every consumer with a widened `Ref<HTMLElement>`. A component that does not narrow simply inherits the `HTMLElement` default — source-compatible with every pre-existing non-generic `extends ControlProps`.","declaredIn":"packages/@liquidify/react/src/components/app-bar/app-bar.tsx"},{"name":"slots","type":"BarLayoutSlots","required":true,"description":"","declaredIn":"packages/@liquidify/react/src/components/app-bar/app-bar.tsx"}],"swiftUIMap":[{"swiftUI":"*(web-only, no direct SwiftUI analogue)*","react":"`placement`","notes":"Web header/footer placement context; toolbar placement is conceptual inspiration.","relationship":"web-only"},{"swiftUI":"*(web-only, no direct SwiftUI analogue)*","react":"`slots / gap`","notes":"Opaque React content and token spacing delegated to BarLayout.","relationship":"web-only"}],"tokens":[],"keyboard":[],"variants":[],"variantPages":[]}