import type { Meta, StoryObj } from "@storybook/react-vite" import { layoutProperties, radiusReferences, spacingReferences } from "./reference-data" import { ReferencePage, ReferenceSection, useResolvedProperties } from "./reference" // Compact specification page: item name, key value and preview only. PC shows every section within one screen, narrow screens stack and scroll naturally. // Token names stay in the data (reference-data.ts) and in data-token attributes. Shortened wording (kept here for reference): // Desktop: "Desktop Navigation · LNB 표시 · GNB desktop menu" / Mobile: "Mobile Navigation · LNB 숨김 · GNB mobile menu" // Only verified items are shown (checked against the token definitions, CSS usage and docs on 2026-11-09): // - "Mobile 20px" for Dashboard padding is not implemented: --hm-dashboard-padding is 34px in every viewport (docs/patterns/dashboard-layout.md). // - --hm-radius-select is declared in default.css but has no consumer (Select uses --hm-select-radius -> --hm-radius-input), so it is not listed. const radiusLabels: Record = { "--hm-radius-control-md": "Control", "--hm-radius-button": "Button", "--hm-radius-input": "Input", "--hm-radius-container": "Container", } const shownRadiusReferences = radiusReferences.filter(property => property in radiusLabels) function Item({ name, value, note }: { name: string; value: string; note?: string }) { return

{name}

{value}
{note ?

{note}

: null}
} function LayoutReferencePage() { const values = useResolvedProperties(layoutProperties) return
{spacingReferences.map(([property, name]) =>

{name}

{values[property]}
)}
{shownRadiusReferences.map(property =>

{radiusLabels[property]}

{values[property]}
)}
} // Hidden from the sidebar with the verification tag; the Story ID and direct URL (foundation-layout--all) stay available. const meta = { title: "Foundation/Layout", tags: ["verification"], parameters: { layout: "fullscreen" } } satisfies Meta export default meta export const All: StoryObj = { name: "Layout", render: () => }