{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "astryx",
  "homepage": "https://astryx.atmeta.com",
  "items": [
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-alert-dialog",
      "type": "registry:component",
      "title": "Alert Dialog",
      "description": "A modal dialog that asks the user to confirm a destructive action.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-alert-dialog/AlertDialog.ts",
          "type": "registry:component",
          "target": "components/astryx/AlertDialog.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/alert-dialog",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AlertDialog",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-app-shell",
      "type": "registry:component",
      "title": "App Shell",
      "description": "AppShell is the page shell for an application. It provides slots for top navigation, side navigation, banners, and main content. Use it as the root wrapper for every page. It handles responsive mobile navigation and skip-to-content automatically. Configure side nav collapse on SideNav with its collapsible prop.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-app-shell/AppShell.ts",
          "type": "registry:component",
          "target": "components/astryx/AppShell.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/app-shell",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AppShell",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-aspect-ratio",
      "type": "registry:component",
      "title": "Aspect Ratio",
      "description": "Maintains a fixed width-to-height ratio for its children as its container resizes. Use it for media containers like videos, images, thumbnails, or any content that needs consistent proportions. It takes its width from the container and derives its height from the ratio, so it needs an ancestor with a definite width.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-aspect-ratio/AspectRatio.ts",
          "type": "registry:component",
          "target": "components/astryx/AspectRatio.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/aspect-ratio",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AspectRatio",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-avatar",
      "type": "registry:component",
      "title": "Avatar",
      "description": "Displays a user avatar with image, initials fallback, and optional status indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-avatar/Avatar.ts",
          "type": "registry:component",
          "target": "components/astryx/Avatar.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/avatar",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Avatar",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-avatar-group",
      "type": "registry:component",
      "title": "Avatar Group",
      "description": "Stacked avatar display with overlapping layout and optional overflow indicator. Children are Avatar elements.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-avatar-group/AvatarGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/AvatarGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/avatar-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AvatarGroup",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-avatar-group-overflow",
      "type": "registry:component",
      "title": "Avatar Group Overflow",
      "description": "Overflow indicator for AvatarGroup. Shows a compact count for hidden avatars and can render custom count text or act as a button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-avatar-group-overflow/AvatarGroupOverflow.ts",
          "type": "registry:component",
          "target": "components/astryx/AvatarGroupOverflow.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/avatar-group-overflow",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AvatarGroup",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-avatar-status-dot",
      "type": "registry:component",
      "title": "Avatar Status Dot",
      "description": "Size-aware status indicator dot that reads avatar size from context and scales proportionally. Each variant pairs a colour with a distinct built-in shape (filled, ring, minus) so status is never conveyed by colour alone (WCAG 1.4.1).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-avatar-status-dot/AvatarStatusDot.ts",
          "type": "registry:component",
          "target": "components/astryx/AvatarStatusDot.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/avatar-status-dot",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Avatar",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-badge",
      "type": "registry:component",
      "title": "Badge",
      "description": "Badge highlights a status or category at a glance. Use it sparingly: only when a value represents a distinct state (Active, Failed) or a grouping tag (Engineering, Design). Most metadata (dates, durations, counts, descriptions) should be plain description text, not badges.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-badge/Badge.ts",
          "type": "registry:component",
          "target": "components/astryx/Badge.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/badge",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Badge",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-banner",
      "type": "registry:component",
      "title": "Banner",
      "description": "Banner shows a persistent message at the top of a page or section. Use it for form errors, system updates, maintenance notices, or success confirmations that the user needs to see until they act on it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-banner/Banner.ts",
          "type": "registry:component",
          "target": "components/astryx/Banner.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/banner",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Banner",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-base-typeahead",
      "type": "registry:component",
      "title": "Base Typeahead",
      "description": "Composable combobox engine providing a bare input, search, keyboard navigation, and a styled result dropdown. It renders no input wrapper, border, or selected-value token. Typeahead and Tokenizer compose it for standard fields.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-base-typeahead/BaseTypeahead.ts",
          "type": "registry:component",
          "target": "components/astryx/BaseTypeahead.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/base-typeahead",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Typeahead",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-blockquote",
      "type": "registry:component",
      "title": "Blockquote",
      "description": "A quotation block with a rule on its inline-start edge and secondary text color. Use to highlight quoted content, testimonials, or excerpts. The rule and padding are logical, so they move to the right edge in right-to-left locales.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-blockquote/Blockquote.ts",
          "type": "registry:component",
          "target": "components/astryx/Blockquote.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/blockquote",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Blockquote",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-bottom-sheet",
      "type": "registry:component",
      "title": "Bottom Sheet",
      "description": "A mobile touch surface for filters, actions, forms, and detail views that should rise from the bottom of the viewport. For a multi-step flow, give each step its own sheet and one state value that names the open step (see Replacing a sheet); open a second sheet over the first when a step should stay visible beneath it.\n\nStacking. Every sheet keeps its own isOpen. Open a sheet while another scrim sheet is open and it stacks on top: the sheet beneath stays mounted with its scroll position and inputs, recedes behind the new one (the nearest covered sheet shrinks to 0.96 and lifts 8px, deeper ones to 0.92 and 16px), and is blocked from pointer, keyboard, and assistive technology by the top sheet's modal dialog. The sheets can be siblings, live in separate components, sit inside another sheet's content, or sit inside a BottomSheetSwitcher step; a whole switcher is one level, and switching its step in place does not change its position. Nothing moves in the DOM: each sheet's dialog stays where it is written, and no wrapper component is needed.\n\nOrder is open order. The top sheet is the one presented most recently that is still open; a sheet that closes and reopens comes back on top. When several sheets open in one update (a deep link into a flow), there is no open order between them, so tree order decides: a sheet below the sheets rendered in its content, siblings in the order they are written. That order is right in the first painted frame.\n\nOne scrim. Only the bottom sheet's backdrop dims the page; the backdrops of the sheets above it are transparent, so a stack never darkens per level. The dim holds steady while sheets push and pop, and if the bottom sheet closes while sheets remain above it, the next sheet's backdrop takes over in the same frame.\n\nDismissal. Escape, a tap on the scrim, a downward swipe, and a platform close request (Android back, a close watcher) reach only the top sheet, through that sheet's own onOpenChange, and that sheet's purpose applies: required blocks all of them, form blocks the scrim and the swipe. Nothing closes a whole stack at once; set every sheet closed in one update when a flow is done and they leave together.\n\nClosing a covered sheet from code. Sheets rendered inside the closing sheet's content are part of it: they are presented only while it is open and leave with it. Their isOpen stays yours, as with a Dialog rendered in a closed Dialog: nothing is written to it, and a nested sheet that is still open when its host reopens is presented again, on top. Set it closed yourself when the flow is done. Sheets above the closing sheet that are not in its content stay open and keep their order; the closing sheet slides out from beneath them, and if it owned the scrim, the sheet above takes it over.\n\nReplacing a sheet. Close the top sheet and open another in the same update (one state value that names the open step does this) and the new sheet replaces it instead of stacking on it: the new sheet rises above the one it replaces; if the replaced sheet is taller it moves down to meet the new sheet's top edge at the same time; the replaced sheet fades only after both motions finish, and is inert and hidden from assistive technology from the start. The scrim holds steady throughout, with no dip; focus moves into the new sheet; and when the flow closes, focus returns to the element that opened its first sheet, whichever sheet closed last. This is the handoff the deprecated BottomSheetSwitcher ran between its steps; a multi-step flow needs no switcher: give each step its own BottomSheet and one state value. A replace happens only when exactly one sheet closes and one opens in the update, the closing sheet was the top sheet of its stack, and the move was made from inside it (the control last pressed, or with no recent press the focused element, was in the closing sheet, as a step's own Continue or Back button is); a covered sheet closing while a sheet opens, a close and an open in different updates, or a close and an open driven from a control outside the closing sheet (two unrelated owners acting at once) keep the ordinary push and pop motion and their own focus return. A replace over an open stack runs one level up and leaves the sheets beneath covered. Non-modal sheets (hasScrim={false}) replace each other the same way, with no scrim: they are hosted in the browser top layer as manual popovers, so the entering step orders above the retained one with no page-level z-index, and toasts raised before or while the sheet is open stay above it. Below the Popover API support floor (Tier 2 in the browser support guide) the sheet falls back to show() in page stacking order: usable, but with no promise over later page content. A non-modal sheet returns focus to its opener on close only while focus is still inside it; focus taken elsewhere on the live page stays there.\n\nFocus. Opening a sheet, modal or not, focuses its data-autofocus field (a TextInput with hasAutoFocus) in every browser. Without one, focus goes wherever the engine's native dialog focusing steps land: the panel in Chromium, the first focusable control in Firefox. A step entering as a replacement also focuses a data-autofocus descendant first, so a flow that opens on a field keeps the keyboard on it. Closing the top sheet returns focus into the sheet it reveals: to the control that opened it when that control is still there, otherwise to the revealed sheet's panel. When the last sheet closes, the standalone rules apply: finalFocusRef, else the element that opened the sheet, with a focus ring only after keyboard input. When every sheet of a stack closes in one update, focus returns once, to the bottom sheet's finalFocusRef or opener, after the last dialog has closed.\n\nCaveats. A Dialog, AlertDialog, or Popover opened from a sheet paints above the sheet and does not make it recede; a sheet opened from inside that Dialog paints above the Dialog and stacks over the sheet beneath. Sheets with hasScrim={false} stay out of the stack entirely (they replace each other, but never stack, recede, or take the scrim). A sheet React hides (a suspended Suspense boundary, Activity mode=\"hidden\") leaves the stack and closes its dialog; when it is shown again it is presented again, on top. Only sheets rendered in the same document stack; a sheet inside an iframe is its own stack.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-bottom-sheet/BottomSheet.ts",
          "type": "registry:component",
          "target": "components/astryx/BottomSheet.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/bottom-sheet",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/BottomSheet",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-bottom-sheet-switcher",
      "type": "registry:component",
      "title": "Bottom Sheet Switcher",
      "description": "Deprecated: write each step as its own BottomSheet with isOpen, controlled by one state value that names the open step. Closing the top sheet and opening the next in the same update, from a control inside the open step, runs the same replace handoff (see BottomSheet, Replacing a sheet), with no sheetId and no switcher; a step changed from a control outside the flow (a page control, or code after focus left the step) closes and opens with ordinary push and pop motion. BottomSheetSwitcher keeps working until a future minor release removes it: a flow used on its own behaves as released (with three fixes: a toast raised from a step renders above the flow and can be pressed, under reduced motion its steps follow the reduced-motion rule, and a step with a hasAutoFocus field opens on that field in every browser), and a flow stacked with other sheets is one level of the stack (it recedes and is blocked when covered, shares the one scrim, and stands down from dismissal while covered). Modal and hasScrim={false} flows migrate the same way. Set activeSheet to a nested BottomSheet's sheetId to open or switch steps, and to null to close.\n\nStacking. A scrim flow is one level in the stack of open sheets (see BottomSheet, Stacking). Open it while a standalone sheet is open and the flow sits on top of that sheet, which recedes and is blocked; open a standalone sheet while the flow is open, from a step's content or from anywhere else, and that sheet sits on top while the whole flow recedes as one. Switching the step in place never changes the flow's position. Escape, the scrim, a swipe, and a platform close request reach only the top level: the flow's onActiveSheetChange(null) when the flow is on top, the standalone sheet's onOpenChange(false) when that sheet is. A standalone sheet rendered inside a step's content is presented only while that step is the active one: it leaves when the flow switches step or closes, its isOpen stays yours, and it is presented again, on top, if the step returns while it is still open. Only the bottom level's backdrop dims the page. A no-scrim flow stays out of the stack.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-bottom-sheet-switcher/BottomSheetSwitcher.ts",
          "type": "registry:component",
          "target": "components/astryx/BottomSheetSwitcher.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/bottom-sheet-switcher",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/BottomSheet",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-breadcrumb-item",
      "type": "registry:component",
      "title": "Breadcrumb Item",
      "description": "Individual breadcrumb item that renders as a link when href is provided, or as plain text for the current page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-breadcrumb-item/BreadcrumbItem.ts",
          "type": "registry:component",
          "target": "components/astryx/BreadcrumbItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/breadcrumb-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Breadcrumbs",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-breadcrumbs",
      "type": "registry:component",
      "title": "Breadcrumbs",
      "description": "Navigation container that renders a <nav> with an ordered list of breadcrumb items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-breadcrumbs/Breadcrumbs.ts",
          "type": "registry:component",
          "target": "components/astryx/Breadcrumbs.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/breadcrumbs",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Breadcrumbs",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-button",
      "type": "registry:component",
      "title": "Button",
      "description": "Button triggers an action when clicked. Use it for form submissions, confirmations, navigation, or any interaction that needs a clear call to action.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-button/Button.ts",
          "type": "registry:component",
          "target": "components/astryx/Button.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Button",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-button-group",
      "type": "registry:component",
      "title": "Button Group",
      "description": "Groups multiple buttons together with connected styling: shared borders, proper border-radius handling (only on outer edges), and horizontal or vertical orientation. Under the touch presentation a press tracks like a menu: press a button and slide across the others, and the highlight follows. The button you lift on runs, and lifting outside the group runs nothing. A mouse press acts as a native button's. With a finger, each button's target grows toward 44 px, up to half the gap to a neighbour, without the buttons growing. A menu trigger in the group keeps its own opening.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-button-group/ButtonGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/ButtonGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/button-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ButtonGroup",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-calendar",
      "type": "registry:component",
      "title": "Calendar",
      "description": "Calendar lets the user pick a date or date range from a month grid. Use it in booking flows, scheduling UIs, date filters, or anywhere the user needs to see surrounding dates for context.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-calendar/Calendar.ts",
          "type": "registry:component",
          "target": "components/astryx/Calendar.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/calendar",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Calendar",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-card",
      "type": "registry:component",
      "title": "Card",
      "description": "Card is a bordered, elevated container for discrete, self-contained items: things you could reorder, remove, or interact with independently. Cards are NOT the default layout tool. Most content groups don't need a container at all; spacing and alignment create visual grouping naturally. Only reach for a Card when items need clear interaction boundaries or visual comparison in a grid.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-card/Card.ts",
          "type": "registry:component",
          "target": "components/astryx/Card.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/card",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Card",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-carousel",
      "type": "registry:component",
      "title": "Carousel",
      "description": "Carousel scrolls a row of items horizontally when they overflow the available width. Use it for card grids, image galleries, product lists, or any set of items that should be browsable without taking up the full page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-carousel/Carousel.ts",
          "type": "registry:component",
          "target": "components/astryx/Carousel.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/carousel",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Carousel",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-center",
      "type": "registry:component",
      "title": "Center",
      "description": "Center aligns content to the middle of its container. Use it for empty states, loading screens, login forms, or any content that should sit in the center of the available space.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-center/Center.ts",
          "type": "registry:component",
          "target": "components/astryx/Center.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/center",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Center",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-composer",
      "type": "registry:component",
      "title": "Chat Composer",
      "description": "Layout shell for a chat composer. Arranges named slots (drawer, header, input, footer, send) with page-radius container, elevation, a keyboard-only editor focus ring, and concentric inner radius for child elements.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-composer/ChatComposer.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatComposer.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-composer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-composer-drawer",
      "type": "registry:component",
      "title": "Chat Composer Drawer",
      "description": "Collapsible drawer panel that sits above the chat input inside ChatComposer. Pass it to the composer's `drawer` slot to show attachments, context chips, or any supplementary content. When `count` is provided the drawer gains a collapse toggle: collapsed state shows the default Badge and label or caller-provided `collapsedSummary`, while expanded state shows all children.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-composer-drawer/ChatComposerDrawer.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatComposerDrawer.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-composer-drawer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-composer-input",
      "type": "registry:component",
      "title": "Chat Composer Input",
      "description": "Rich text input for the chat composer. Supports trigger menus (type @ or / to open a typeahead), inline tokens rendered as badges, message history recall with ArrowUp/Down, paste/drop file handling, and a 16px iOS font-size floor to prevent input zoom. Pass it to ChatComposer's input slot when you need more than a plain textarea.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-composer-input/ChatComposerInput.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatComposerInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-composer-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-composer-token-element",
      "type": "registry:component",
      "title": "Chat Composer Token Element",
      "description": "Renders a single token chip outside the contentEditable input. Wraps a badge config or custom render function in the correct data-astryx-token span so the token serializes properly and stays visually consistent with tokens inside the composer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-composer-token-element/ChatComposerTokenElement.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatComposerTokenElement.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-composer-token-element",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-dictation-button",
      "type": "registry:component",
      "title": "Chat Dictation Button",
      "description": "ChatDictationButton is a toggle button that starts and stops voice dictation inside a chat composer. It pairs with useChatDictation to show a microphone icon when idle and animated frequency bars when listening. Place it in the sendActions slot of ChatComposer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-dictation-button/ChatDictationButton.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatDictationButton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-dictation-button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-layout",
      "type": "registry:component",
      "title": "Chat Layout",
      "description": "Layout shell for full chat interfaces. Messages flow in normal page flow, composer is fixed to the bottom with a frosted glass dock. Set density (compact/balanced/spacious) to control spacing, message max-width, and blur layer sizing. Includes built-in auto-scroll, a \"New messages\" scroll-to-bottom button, and a frosted glass blur layer behind the composer. By default the layout root is the scroll container; pass scrollRef to delegate scrolling to a parent element or the document body.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-layout/ChatLayout.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatLayout.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-layout",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-layout-scroll-button",
      "type": "registry:component",
      "title": "Chat Layout Scroll Button",
      "description": "Floating scroll-to-bottom button that appears when the user scrolls away from the latest messages. It fades in as a compact icon button and expands to show a label when new messages arrive. ChatLayout renders this by default: pass a custom element to the scrollButton prop to override, or null to hide it entirely.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-layout-scroll-button/ChatLayoutScrollButton.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatLayoutScrollButton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-layout-scroll-button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-message",
      "type": "registry:component",
      "title": "Chat Message",
      "description": "Sender context wrapper: handles avatar, name, metadata, and alignment based on sender role.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-message/ChatMessage.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatMessage.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-message",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-message-bubble",
      "type": "registry:component",
      "title": "Chat Message Bubble",
      "description": "Styled content container for the chat \"bubble.\" Reads sender from parent ChatMessage context to auto-style the background. Use filled for standard messages and ghost when content needs alignment without a visible boundary. Supports name/metadata slots aligned with bubble padding, and multi-bubble grouping via the group prop for consecutive messages from the same sender.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-message-bubble/ChatMessageBubble.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatMessageBubble.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-message-bubble",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-message-list",
      "type": "registry:component",
      "title": "Chat Message List",
      "description": "Presentational message container with density context and infinite scroll support. Provides role=\"log\" with aria-live=\"polite\" for accessibility. A flex spacer pushes messages to the bottom when the list isn't full; set align=\"top\" to start messages at the top instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-message-list/ChatMessageList.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatMessageList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-message-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-message-metadata",
      "type": "registry:component",
      "title": "Chat Message Metadata",
      "description": "Composable metadata row for chat messages. Renders timestamp, footer content, and delivery status in a single row. Direction reverses for user sender. Omits the row when both slots are omitted or non-rendering scalars and status is omitted.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-message-metadata/ChatMessageMetadata.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatMessageMetadata.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-message-metadata",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-send-button",
      "type": "registry:component",
      "title": "Chat Send Button",
      "description": "Circular send/stop toggle button for the chat composer. Place it inside ChatComposer where it reads context automatically: no wiring needed. When streaming starts, the button switches from a primary send icon to a secondary stop icon. Override any context value via props for standalone or custom usage.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-send-button/ChatSendButton.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatSendButton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-send-button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-system-message",
      "type": "registry:component",
      "title": "Chat System Message",
      "description": "Centered system message for non-sender content like date separators, membership changes, and status notices. It is not a chat bubble; it has no avatar, no alignment, and no sender context. Use the divider variant for temporal breaks and default for inline status updates.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-system-message/ChatSystemMessage.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatSystemMessage.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-system-message",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-tokenized-text",
      "type": "registry:component",
      "title": "Chat Tokenized Text",
      "description": "Renders a text string with token patterns replaced by inline token content. Wrap any message body inside ChatMessageBubble to turn raw @mentions, #tags, or /commands into styled content. When no non-empty token matches or none are provided, the text renders as-is, so you can use ChatTokenizedText unconditionally on every message.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-tokenized-text/ChatTokenizedText.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatTokenizedText.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-tokenized-text",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-chat-tool-calls",
      "type": "registry:component",
      "title": "Chat Tool Calls",
      "description": "ChatToolCalls displays tool or function call invocations from an LLM response. Pass an array of calls and the component handles the rest: a single call renders inline, while multiple calls collapse into a summary with the latest call visible at the surface. Use it anywhere an AI agent shows what actions it took.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-chat-tool-calls/ChatToolCalls.ts",
          "type": "registry:component",
          "target": "components/astryx/ChatToolCalls.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/chat-tool-calls",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Chat",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-check-indicator",
      "type": "registry:component",
      "title": "Check Indicator",
      "description": "The mark on a chosen option: a checkmark by default, and nothing at all when unchosen, so a listbox shows no empty box beside every row. This is the indicator to replace to change what \"chosen\" looks like: mapping it to RadioIndicator gives every single-selection mark radio visuals, including an empty circle on unchosen rows. Unlike the checkbox and radio visuals it renders no chrome of its own (it IS the glyph), so a host's theme target lands on the same element as astryx-icon.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-check-indicator/CheckIndicator.ts",
          "type": "registry:component",
          "target": "components/astryx/CheckIndicator.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/check-indicator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Indicator",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-checkbox-indicator",
      "type": "registry:component",
      "title": "Checkbox Indicator",
      "description": "The checkbox visual: a square box with a checkmark or an indeterminate bar. Decorative (aria-hidden); the owning control keeps the input, role, accessible name, focus, and keyboard behavior.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-checkbox-indicator/CheckboxIndicator.ts",
          "type": "registry:component",
          "target": "components/astryx/CheckboxIndicator.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/checkbox-indicator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Indicator",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-checkbox-input",
      "type": "registry:component",
      "title": "Checkbox Input",
      "description": "CheckboxInput toggles a single on/off value. Use it for settings like \"Enable notifications\", terms acceptance, or opt-in choices. For multiple checkboxes in a group, use CheckboxList instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-checkbox-input/CheckboxInput.ts",
          "type": "registry:component",
          "target": "components/astryx/CheckboxInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/checkbox-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CheckboxInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-checkbox-list",
      "type": "registry:component",
      "title": "Checkbox List",
      "description": "Checkbox group container with field integration for label, description, and status.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-checkbox-list/CheckboxList.ts",
          "type": "registry:component",
          "target": "components/astryx/CheckboxList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/checkbox-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CheckboxList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-checkbox-list-item",
      "type": "registry:component",
      "title": "Checkbox List Item",
      "description": "Individual checkbox item with label, description, and end content slot. Works in collection mode (inside a CheckboxList with a value array) or standalone mode (inside List, or inside a CheckboxList without value, such as a select-all item). On a touch screen (a coarse primary pointer), a toggleable row is one press target: a touch on the label, the description or the box itself shows the pressed state on the row and its checkbox together. Where the primary pointer is fine, the box keeps its own press.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-checkbox-list-item/CheckboxListItem.ts",
          "type": "registry:component",
          "target": "components/astryx/CheckboxListItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/checkbox-list-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CheckboxList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-citation",
      "type": "registry:component",
      "title": "Citation",
      "description": "Citations display inline references to external sources. Use them to attribute information within AI-generated responses, articles, or anywhere provenance and source links are needed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-citation/Citation.ts",
          "type": "registry:component",
          "target": "components/astryx/Citation.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/citation",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Citation",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-clickable-card",
      "type": "registry:component",
      "title": "Clickable Card",
      "description": "An interactive card for navigation or action targets. Nested interactive elements work independently.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-clickable-card/ClickableCard.ts",
          "type": "registry:component",
          "target": "components/astryx/ClickableCard.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/clickable-card",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ClickableCard",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-code",
      "type": "registry:component",
      "title": "Code",
      "description": "Code marks short inline references such as function names, variables, file paths, and command-line flags. Use CodeBlock for standalone or multi-line snippets.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-code/Code.ts",
          "type": "registry:component",
          "target": "components/astryx/Code.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/code",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Code",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-code-block",
      "type": "registry:component",
      "title": "Code Block",
      "description": "Fenced code block with syntax highlighting. Use for multi-line code snippets.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-code-block/CodeBlock.ts",
          "type": "registry:component",
          "target": "components/astryx/CodeBlock.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/code-block",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CodeBlock",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-collapsible",
      "type": "registry:component",
      "title": "Collapsible",
      "description": "A primitive that makes any content collapsible: a trigger button toggles visibility of the content area, managing its own state or deferring to a parent CollapsibleGroup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-collapsible/Collapsible.ts",
          "type": "registry:component",
          "target": "components/astryx/Collapsible.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/collapsible",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Collapsible",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-collapsible-group",
      "type": "registry:component",
      "title": "Collapsible Group",
      "description": "Coordinates multiple Collapsible instances so only one (single mode) or any number (multiple mode) can be open at a time. Renders no wrapper DOM element unless dividers are enabled.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-collapsible-group/CollapsibleGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/CollapsibleGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/collapsible-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Collapsible",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette",
      "type": "registry:component",
      "title": "Command Palette",
      "description": "Root component. Manages open state, search, keyboard navigation, and composition slots.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette/CommandPalette.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPalette.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette-empty",
      "type": "registry:component",
      "title": "Command Palette Empty",
      "description": "Empty state display for the results area. CommandPalette renders it automatically when a search returns no results, or when there is no query and bootstrap() returns nothing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette-empty/CommandPaletteEmpty.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPaletteEmpty.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette-empty",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette-footer",
      "type": "registry:component",
      "title": "Command Palette Footer",
      "description": "Footer with keyboard guidance. CommandPalette renders the default arrow, Enter, and Escape hints automatically.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette-footer/CommandPaletteFooter.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPaletteFooter.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette-footer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette-group",
      "type": "registry:component",
      "title": "Command Palette Group",
      "description": "Visual grouping with a heading label. Place inside CommandPaletteList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette-group/CommandPaletteGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPaletteGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette-input",
      "type": "registry:component",
      "title": "Command Palette Input",
      "description": "Search input slot. Auto-focuses on mount. Wires to command palette context when used inside CommandPalette.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette-input/CommandPaletteInput.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPaletteInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette-item",
      "type": "registry:component",
      "title": "Command Palette Item",
      "description": "One option in a command palette result list. CommandPalette context supplies selection, highlight, identity, and close behavior.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette-item/CommandPaletteItem.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPaletteItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-command-palette-list",
      "type": "registry:component",
      "title": "Command Palette List",
      "description": "Scrollable results container. Renders as a listbox standalone, and inside CommandPalette while selectable results exist. Contains CommandPaletteItem and CommandPaletteGroup children.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-command-palette-list/CommandPaletteList.ts",
          "type": "registry:component",
          "target": "components/astryx/CommandPaletteList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/command-palette-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/CommandPalette",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-complex-selector",
      "type": "registry:component",
      "title": "Complex Selector",
      "description": "An input or toolbar trigger and dialog-popover shell for custom selector content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-complex-selector/ComplexSelector.ts",
          "type": "registry:component",
          "target": "components/astryx/ComplexSelector.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/complex-selector",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ComplexSelector",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-context-menu",
      "type": "registry:component",
      "title": "Context Menu",
      "description": "A context menu that appears on right-click at the cursor position. Wraps trigger content as children.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-context-menu/ContextMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/ContextMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/context-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ContextMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-context-menu-item",
      "type": "registry:component",
      "title": "Context Menu Item",
      "description": "Menu item component for compound mode. Re-exported from DropdownMenuItem for discoverability.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-context-menu-item/ContextMenuItem.ts",
          "type": "registry:component",
          "target": "components/astryx/ContextMenuItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/context-menu-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ContextMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-date-input",
      "type": "registry:component",
      "title": "Date Input",
      "description": "DateInput lets the user type or pick a date from a calendar popover. Use it for scheduling, deadlines, booking dates, or any form field that needs a specific calendar date.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-date-input/DateInput.ts",
          "type": "registry:component",
          "target": "components/astryx/DateInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/date-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DateInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-date-range-input",
      "type": "registry:component",
      "title": "Date Range Input",
      "description": "DateRangeInput lets users select a start and end date from a dual-month calendar popover. Use it for filtering data by time period, report generation, analytics dashboards, and booking flows.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-date-range-input/DateRangeInput.ts",
          "type": "registry:component",
          "target": "components/astryx/DateRangeInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/date-range-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DateRangeInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-date-time-input",
      "type": "registry:component",
      "title": "Date Time Input",
      "description": "DateTimeInput combines date and time selection in one field. With presentation=\"adaptive-native\" (the default), mouse/trackpad devices use Astryx typed fields and popovers, while coarse-pointer devices use browser/OS date and time controls in the same two-segment field. presentation=\"native\" uses both native controls on every pointer; presentation=\"adaptive-bottom-sheet\" keeps Astryx's own surfaces — pointer fields on fine pointers and the coordinated Date/Time bottom sheet on coarse pointers; \"popover\" and \"bottom-sheet\" force one Astryx surface on every pointer. The closed segments stay side by side when at least 400px is available and wrap into full-width rows below 400px, independent of viewport width. Use it for scheduling, event creation, deadline setting, or any form field that needs a specific datetime.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-date-time-input/DateTimeInput.ts",
          "type": "registry:component",
          "target": "components/astryx/DateTimeInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/date-time-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DateTimeInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dialog",
      "type": "registry:component",
      "title": "Dialog",
      "description": "Modal dialog using the native <dialog> element. Modal and inline content starts with theme body text defaults. Ancestor surface/group membership ends as a whole, including group-owned state. Explicit props and unrelated contexts remain unchanged. Place intentional groups and complete required providers inside the dialog. With reduced motion the dialog never slides or scales in: on a touch screen it fades in, in 200 ms or less, and with a mouse it appears at once. On a phone or tablet (a coarse primary pointer), a tap or a drag that lands while the dialog is still entering reaches nothing, and the dialog finishes entering; keys and assistive technology stay live, and a mouse or a trackpad still clicks: at once when it was the last pointer used, otherwise once it moves.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dialog/Dialog.ts",
          "type": "registry:component",
          "target": "components/astryx/Dialog.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dialog",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Dialog",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dialog-header",
      "type": "registry:component",
      "title": "Dialog Header",
      "description": "Header for dialogs with a title, optional subtitle, close button, and start/end content slots.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dialog-header/DialogHeader.ts",
          "type": "registry:component",
          "target": "components/astryx/DialogHeader.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dialog-header",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Dialog",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-divider",
      "type": "registry:component",
      "title": "Divider",
      "description": "A visual separator that divides content into distinct sections. Use to create clear boundaries between groups of related content, or to demarcate interactive regions within a layout.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-divider/Divider.ts",
          "type": "registry:component",
          "target": "components/astryx/Divider.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/divider",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Divider",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-drawer",
      "type": "registry:component",
      "title": "Drawer",
      "description": "A side panel that floats above page content for inspectors and detail views: the \"click a table row, see its details\" pattern. Unlike a docked panel it overlays the layout instead of reflowing it. Works on desktop and touch: the width budget applies on desktop and the panel preserves a 56px page reveal below 640px without exceeding the width budget. Escape closes the drawer (unless purpose is required) and focus returns to the element that opened it. Entry/exit slide animation respects prefers-reduced-motion. On a phone or tablet (a coarse primary pointer), a tap or a drag that lands while the drawer is still sliding in reaches nothing (for a drawer without a scrim, only one on the panel: the page stays live), and the drawer finishes sliding in; keys and assistive technology stay live, and a mouse or a trackpad still clicks: at once when it was the last pointer used, otherwise once it moves. Stacking contract: sibling drawers stack last-opened on top, Escape closes only the topmost, and closing peels innermost-first; render them as siblings, never nested.\n\nLike Dialog, the drawer is a container: its content area is inset by --spacing-4 (16px) by default, by the padding prop, or by a theme's padding on drawer. Compose the header, body, and footer the way Dialog does, with a Layout: DrawerHeader in the header slot (it shows a close button when you pass it onOpenChange, like DialogHeader), the body in LayoutContent, and actions in LayoutFooter. The Layout redistributes the inset to those regions so they line up on one content line, and the header is not inset twice. A lone Section child also escapes the inset. Drawer renders no close button of its own, so give every drawer a visible way to close, especially a non-modal one, which has no scrim to click. Put data-autofocus on the control that should receive focus on open.\n\nChoosing a surface: use Dialog for a centered decision or short form, Drawer for full-height side detail that keeps the page in sight, BottomSheet for block-axis sheets on touch, and a docked panel (a layout column) when content should reflow the page instead of floating over it.\n\nTheming: the panel is the single stable target (astryx-drawer, with data-side reflecting side), and the scrim is the panel's native ::backdrop. DrawerHeader exposes astryx-drawer-header targets for its row, slots, and close icon.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-drawer/Drawer.ts",
          "type": "registry:component",
          "target": "components/astryx/Drawer.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/drawer",
        "aliases": [
          "components/lab/drawer"
        ],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Drawer",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-drawer-header",
      "type": "registry:component",
      "title": "Drawer Header",
      "description": "Header for drawers with a title, optional subtitle, close button, and start/end content slots. Same API as DialogHeader.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-drawer-header/DrawerHeader.ts",
          "type": "registry:component",
          "target": "components/astryx/DrawerHeader.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/drawer-header",
        "aliases": [
          "components/lab/drawer-header"
        ],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Drawer",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu",
      "type": "registry:component",
      "title": "Dropdown Menu",
      "description": "Action menu with a trigger button and anchored, bottom-sheet, or adaptive presentation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu/DropdownMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-checkbox-item",
      "type": "registry:component",
      "title": "Dropdown Menu Checkbox Item",
      "description": "A checkable menu item (role=\"menuitemcheckbox\") that toggles an independent boolean. Use for on/off options inside a DropdownMenu; for a one-of-N choice use DropdownMenuRadioGroup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-checkbox-item/DropdownMenuCheckboxItem.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuCheckboxItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-checkbox-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-divider",
      "type": "registry:component",
      "title": "Dropdown Menu Divider",
      "description": "A horizontal rule separating groups of rows in a compound menu. Renders role=\"separator\", so it is never a stop in the arrow-key order. The data-driven equivalent is the `{type: \"divider\"}` entry in `items`; both modes render this component, so they look and theme identically. Host attributes and DOM handlers (id, data-*, aria-*) reach the separator; its role and orientation stay component-owned.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-divider/DropdownMenuDivider.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuDivider.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-divider",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-group",
      "type": "registry:component",
      "title": "Dropdown Menu Group",
      "description": "A group of rows in a compound menu. A visible title names role=\"group\" through aria-labelledby; an omitted title leaves the group unnamed. The heading is not a menuitem, so arrow keys and typeahead skip it. Keep title content non-interactive and place controls in DropdownMenu header or footer. The data-driven equivalent is the `{type: \"section\", title, items}` entry in `items`; both forms share the heading treatment and theme target. Host attributes and DOM handlers (id, data-*, aria-*) reach the group element; its role, and its name while it has a title, stay component-owned.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-group/DropdownMenuGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-item",
      "type": "registry:component",
      "title": "Dropdown Menu Item",
      "description": "One action or destination row in the pointer presentation of DropdownMenu. The parent menu owns keyboard navigation; the row owns activation, disabled state, destination behavior, content layout, and its theme target. Supported host attributes, DOM handlers, className, style, xstyle, and ref reach or compose on the role=\"menuitem\" root.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-item/DropdownMenuItem.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-radio-group",
      "type": "registry:component",
      "title": "Dropdown Menu Radio Group",
      "description": "A controlled, named single-select group of DropdownMenuRadioItem children (role=\"group\" of menuitemradio). Owns value propagation, close policy, root composition, and the menu inter-item gap; the parent DropdownMenu owns keyboard navigation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-radio-group/DropdownMenuRadioGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuRadioGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-radio-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-radio-item",
      "type": "registry:component",
      "title": "Dropdown Menu Radio Item",
      "description": "A single option in a DropdownMenuRadioGroup (role=\"menuitemradio\"). Must be used inside a DropdownMenuRadioGroup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-radio-item/DropdownMenuRadioItem.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuRadioItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-radio-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-dropdown-menu-sub-menu",
      "type": "registry:component",
      "title": "Dropdown Menu Submenu",
      "description": "A single menu row that reveals a nested flyout of its own items. The row adopts DropdownMenuItem semantics (label / icon / description / isDisabled); its children become the flyout content. Opens inline-end with viewport auto-flip; Right/Enter/Space opens and focuses the first item, Left/Escape closes and returns focus to the trigger (Right/Left swap in RTL). On a phone (a coarse pointer, decided when the menu opened) the row drills in instead: its rows replace the menu's rows in the same box, led by a Back row named \"Back to <parent>\", and Back, Escape or ArrowLeft return to the row. Host attributes and DOM event handlers (aria-*, data-*, id) reach the trigger row, the element carrying role=\"menuitem\" and aria-haspopup=\"menu\"; a caller's handlers run after the row's own, except for the keys that open the flyout (the open arrow, Enter, Space) and a click on a disabled row. For data-driven menus, give a menu item a nested `items` array instead of using this component directly.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-dropdown-menu-sub-menu/DropdownMenuSubMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/DropdownMenuSubMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/dropdown-menu-sub-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/DropdownMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-empty-state",
      "type": "registry:component",
      "title": "Empty State",
      "description": "EmptyState shows a placeholder when a content area has no data. Use it for empty lists, zero search results, first-time setups, or cleared inboxes. Always include a title and a next step so the user is not stuck.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-empty-state/EmptyState.ts",
          "type": "registry:component",
          "target": "components/astryx/EmptyState.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/empty-state",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/EmptyState",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-field",
      "type": "registry:component",
      "title": "Field",
      "description": "Low-level form field wrapper for custom controls that need a label, description, and optional/required indicators.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-field/Field.ts",
          "type": "registry:component",
          "target": "components/astryx/Field.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/field",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Field",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-field-label",
      "type": "registry:component",
      "title": "Field Label",
      "description": "Standalone label group for one control or a caller-labelled group, with optional supporting text, optionality indicators, icon, and tooltip.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-field-label/FieldLabel.ts",
          "type": "registry:component",
          "target": "components/astryx/FieldLabel.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/field-label",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Field",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-field-status",
      "type": "registry:component",
      "title": "Field Status",
      "description": "FieldStatus renders validation feedback for fields and field-like controls. Use it directly for custom controls that need the same error, warning, or success presentation as Field.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-field-status/FieldStatus.ts",
          "type": "registry:component",
          "target": "components/astryx/FieldStatus.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/field-status",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/FieldStatus",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-file-input",
      "type": "registry:component",
      "title": "File Input",
      "description": "FileInput provides file upload with optional drag-and-drop support. Use it for single or multiple file selection with built-in validation for file type, size, and count. Pair with validation status for upload feedback.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-file-input/FileInput.ts",
          "type": "registry:component",
          "target": "components/astryx/FileInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/file-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/FileInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-form-layout",
      "type": "registry:component",
      "title": "Form Layout",
      "description": "A layout container that arranges form fields with consistent spacing and direction. FormLayout handles where fields go, not state or submission. Wrap it in a native <form> for that; <form> has no Astryx replacement, so it stays a plain element. Supports vertical (default), horizontal, and horizontal-labels directions, and can be nested to mix them.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-form-layout/FormLayout.ts",
          "type": "registry:component",
          "target": "components/astryx/FormLayout.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/form-layout",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/FormLayout",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-grid",
      "type": "registry:component",
      "title": "Grid",
      "description": "Grid container with fixed or responsive columns; `{minWidth, max}` reflows, a number never does.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-grid/Grid.ts",
          "type": "registry:component",
          "target": "components/astryx/Grid.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/grid",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Grid",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-grid-span",
      "type": "registry:component",
      "title": "Grid Span",
      "description": "Grid item that spans multiple columns or rows.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-grid-span/GridSpan.ts",
          "type": "registry:component",
          "target": "components/astryx/GridSpan.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/grid-span",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Grid",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-h-stack",
      "type": "registry:component",
      "title": "H Stack",
      "description": "Horizontal stack that arranges items along the inline axis: left to right in LTR, right to left in RTL. Supports polymorphic rendering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-h-stack/HStack.ts",
          "type": "registry:component",
          "target": "components/astryx/HStack.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/h-stack",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Stack",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-heading",
      "type": "registry:component",
      "title": "Heading",
      "description": "Semantic heading component that renders h1-h6 elements with themed styling, themed sizing via type scale tokens, and line-clamp truncation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-heading/Heading.ts",
          "type": "registry:component",
          "target": "components/astryx/Heading.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/heading",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Text",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-hover-card",
      "type": "registry:component",
      "title": "Hover Card",
      "description": "Component wrapper for hover card display: a richer, larger overlay triggered on hover or focus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-hover-card/HoverCard.ts",
          "type": "registry:component",
          "target": "components/astryx/HoverCard.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/hover-card",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/HoverCard",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-icon",
      "type": "registry:component",
      "title": "Icon",
      "description": "Icons are small visual symbols that represent actions, objects, or concepts. They improve scannability and reinforce meaning alongside text. Supports both direct SVG components and semantic icon names that adapt to the active theme.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-icon/Icon.ts",
          "type": "registry:component",
          "target": "components/astryx/Icon.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/icon",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Icon",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-icon-button",
      "type": "registry:component",
      "title": "Icon Button",
      "description": "A button that shows only an icon with no visible text. Use IconButton in toolbars, table rows, and compact UI where space is tight and the icon is universally understood.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-icon-button/IconButton.ts",
          "type": "registry:component",
          "target": "components/astryx/IconButton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/icon-button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/IconButton",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-info-tip",
      "type": "registry:component",
      "title": "Info Tip",
      "description": "An info icon that reveals help: a small \"i\" button. Hover and keyboard focus preview the help, and a click, tap, Enter, or Space pins it open until Escape, a second press, a press outside, or focus leaving. Use it next to labels, values, and metrics for permission notes, metric definitions, and field help. Its value over hand-composing Icon inside Tooltip is the pre-wired accessible trigger: a real button with an aria-label, Tab-reachable, tooltip on hover AND focus AND tap, and Escape dismissal. It follows the toggletip pattern: the button reports `aria-expanded=\"true\"` while the help is pinned, and a screen reader hears the help once when it pins.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-info-tip/InfoTip.ts",
          "type": "registry:component",
          "target": "components/astryx/InfoTip.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/info-tip",
        "aliases": [
          "components/lab/info-tip"
        ],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/InfoTip",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-input-group",
      "type": "registry:component",
      "title": "Input Group",
      "description": "Groups an input with prefix and suffix addons in one connected row. A focused member stays above its neighbours, so its focus ring shows in full.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-input-group/InputGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/InputGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/input-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/InputGroup",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-input-group-text",
      "type": "registry:component",
      "title": "Input Group Text",
      "description": "A prefix or suffix text element rendered inside InputGroup. Displays text or icons.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-input-group-text/InputGroupText.ts",
          "type": "registry:component",
          "target": "components/astryx/InputGroupText.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/input-group-text",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/InputGroup",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-internationalization-provider",
      "type": "registry:component",
      "title": "Internationalization Provider",
      "description": "Wraps your app to set the active locale and (optionally) merge additional translation catalogs + per-locale overrides. Astryx components inside the subtree resolve their strings against this context. If no provider is present, components fall back to the shipped English defaults.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-internationalization-provider/InternationalizationProvider.ts",
          "type": "registry:component",
          "target": "components/astryx/InternationalizationProvider.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/internationalization-provider",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/i18n",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-item",
      "type": "registry:component",
      "title": "Item",
      "description": "A universal item primitive that unifies the \"start content + label + description + end content\" layout pattern. Use as a building block for list items, menu items, contact rows, notifications, and more.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-item/Item.ts",
          "type": "registry:component",
          "target": "components/astryx/Item.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Item",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-kbd",
      "type": "registry:component",
      "title": "Kbd",
      "description": "Renders a keyboard shortcut as styled key badges. Use Kbd in tooltips, menus, and help text to show key combinations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-kbd/Kbd.ts",
          "type": "registry:component",
          "target": "components/astryx/Kbd.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/kbd",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Kbd",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-layer-provider",
      "type": "registry:component",
      "title": "Layer Provider",
      "description": "App-level configuration for toasts and the viewport inset. A nested provider mounts no second toast viewport and keeps the outer toast configuration; one that declares an inset applies its declared edges to the anchored layers in its subtree.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-layer-provider/LayerProvider.ts",
          "type": "registry:component",
          "target": "components/astryx/LayerProvider.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/layer-provider",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layer",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-layout",
      "type": "registry:component",
      "title": "Layout",
      "description": "General five-slot layout primitive for arranging header, start, content, end, and footer regions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-layout/Layout.ts",
          "type": "registry:component",
          "target": "components/astryx/Layout.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/layout",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layout",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-layout-content",
      "type": "registry:component",
      "title": "Layout Content",
      "description": "Scrollable main content area.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-layout-content/LayoutContent.ts",
          "type": "registry:component",
          "target": "components/astryx/LayoutContent.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/layout-content",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layout",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-layout-footer",
      "type": "registry:component",
      "title": "Layout Footer",
      "description": "Bottom bar for action bars, pagination, and status bars.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-layout-footer/LayoutFooter.ts",
          "type": "registry:component",
          "target": "components/astryx/LayoutFooter.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/layout-footer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layout",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-layout-header",
      "type": "registry:component",
      "title": "Layout Header",
      "description": "Top bar for page titles, app bars, and toolbars.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-layout-header/LayoutHeader.ts",
          "type": "registry:component",
          "target": "components/astryx/LayoutHeader.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/layout-header",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layout",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-layout-panel",
      "type": "registry:component",
      "title": "Layout Panel",
      "description": "Sidebar for navigation, settings, or inspector panels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-layout-panel/LayoutPanel.ts",
          "type": "registry:component",
          "target": "components/astryx/LayoutPanel.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/layout-panel",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layout",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-lightbox",
      "type": "registry:component",
      "title": "Lightbox",
      "description": "A fullscreen overlay for viewing images and videos at full resolution. Supports single-item and gallery modes with prev/next navigation, optional zoom and pan for images, and native video controls.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-lightbox/Lightbox.ts",
          "type": "registry:component",
          "target": "components/astryx/Lightbox.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/lightbox",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Lightbox",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-link",
      "type": "registry:component",
      "title": "Link",
      "description": "Styled anchor link with variants, external link support, and polymorphic rendering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-link/Link.ts",
          "type": "registry:component",
          "target": "components/astryx/Link.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/link",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Link",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-link-provider",
      "type": "registry:component",
      "title": "Link Provider",
      "description": "Wraps your app to replace the default <a> tag with a framework-specific link component (e.g. Next.js Link) for client-side routing across all Astryx components.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-link-provider/LinkProvider.ts",
          "type": "registry:component",
          "target": "components/astryx/LinkProvider.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/link-provider",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Link",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-list",
      "type": "registry:component",
      "title": "List",
      "description": "List container with density, dividers, and header support.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-list/List.ts",
          "type": "registry:component",
          "target": "components/astryx/List.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/List",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-list-item",
      "type": "registry:component",
      "title": "List Item",
      "description": "List item with label, description, start/end content slots, and interactive patterns.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-list-item/ListItem.ts",
          "type": "registry:component",
          "target": "components/astryx/ListItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/list-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/List",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-markdown",
      "type": "registry:component",
      "title": "Markdown",
      "description": "Renders a markdown string as Astryx-styled components. Use Markdown for user-generated content, AI responses, and documentation; it handles headings, lists, tables, code blocks, and citations with consistent styling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-markdown/Markdown.ts",
          "type": "registry:component",
          "target": "components/astryx/Markdown.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/markdown",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Markdown",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-media-theme",
      "type": "registry:component",
      "title": "Media Theme",
      "description": "Provides token overrides for content rendered on inverted surfaces: media overlays, scrims, toasts, and tooltips. The base behavior flips color-scheme so all light-dark() tokens resolve to the correct side. Only a small set of tokens need explicit overrides beyond that. Themes can further customize component appearance on media surfaces via onDark/onLight in defineTheme(), with both token overrides (e.g. \"--color-accent\": \"#90CAF9\") and component overrides (e.g. ghost buttons get a border on dark surfaces).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-media-theme/MediaTheme.ts",
          "type": "registry:component",
          "target": "components/astryx/MediaTheme.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/media-theme",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/theme",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-metadata-list",
      "type": "registry:component",
      "title": "Metadata List",
      "description": "Container for metadata items with column layout, orientation, and collapse support.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-metadata-list/MetadataList.ts",
          "type": "registry:component",
          "target": "components/astryx/MetadataList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/metadata-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MetadataList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-metadata-list-item",
      "type": "registry:component",
      "title": "Metadata List Item",
      "description": "A single labeled metadata value within an MetadataList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-metadata-list-item/MetadataListItem.ts",
          "type": "registry:component",
          "target": "components/astryx/MetadataListItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/metadata-list-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MetadataList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-mobile-nav",
      "type": "registry:component",
      "title": "Mobile Nav",
      "description": "A slide-out drawer for mobile navigation. Accepts SideNav children.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-mobile-nav/MobileNav.ts",
          "type": "registry:component",
          "target": "components/astryx/MobileNav.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/mobile-nav",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MobileNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-mobile-nav-toggle",
      "type": "registry:component",
      "title": "Mobile Nav Toggle",
      "description": "Hamburger button that opens/closes the mobile nav drawer. Reads open state from AppShell context automatically: does NOT accept isOpen or onOpenChange props. Renders nothing above the mobile breakpoint. Host attributes and DOM handlers (id, data-*, aria-*) reach the button; its aria-expanded and aria-controls stay component-owned, and a caller onClick runs after the toggle.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-mobile-nav-toggle/MobileNavToggle.ts",
          "type": "registry:component",
          "target": "components/astryx/MobileNavToggle.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/mobile-nav-toggle",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MobileNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-more-menu",
      "type": "registry:component",
      "title": "More Menu",
      "description": "MoreMenu is a three-dot button that opens a list of actions. Use it for secondary actions that don't need to be always visible, like in table rows, card headers, or toolbars.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-more-menu/MoreMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/MoreMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/more-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MoreMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-multi-selector",
      "type": "registry:component",
      "title": "Multi Selector",
      "description": "Multi-select dropdown with checkboxes for choosing multiple items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-multi-selector/MultiSelector.ts",
          "type": "registry:component",
          "target": "components/astryx/MultiSelector.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/multi-selector",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MultiSelector",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-nav-heading-menu",
      "type": "registry:component",
      "title": "Nav Heading Menu",
      "description": "Accessible menu container and items for nav heading popovers. NavHeadingMenu provides role=\"menu\" with keyboard navigation; NavHeadingMenuItem renders individual selectable items. Pass as the menu prop of SideNavHeading or TopNavHeading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-nav-heading-menu/NavHeadingMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/NavHeadingMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/nav-heading-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/NavMenu",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-nav-icon",
      "type": "registry:component",
      "title": "Nav Icon",
      "description": "NavIcon is a circular icon container with an accent-colored background. Use it in navigation headers such as TopNavHeading and PageNavHeader to visually identify a section or application.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-nav-icon/NavIcon.ts",
          "type": "registry:component",
          "target": "components/astryx/NavIcon.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/nav-icon",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/NavIcon",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-number-input",
      "type": "registry:component",
      "title": "Number Input",
      "description": "A form input for numeric values with built-in validation, min/max constraints, and step controls. Use NumberInput for quantities, measurements, percentages, and similar inputs.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-number-input/NumberInput.ts",
          "type": "registry:component",
          "target": "components/astryx/NumberInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/number-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/NumberInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-outline",
      "type": "registry:component",
      "title": "Outline",
      "description": "Document outline navigation with sliding indicator track. Renders a flat heading list as anchor links with a density variant and scroll-spy active state when uncontrolled.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-outline/Outline.ts",
          "type": "registry:component",
          "target": "components/astryx/Outline.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/outline",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Outline",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-overflow-list",
      "type": "registry:component",
      "title": "Overflow List",
      "description": "A horizontal list that automatically hides items when they exceed the available width. Use OverflowList for breadcrumbs, toolbars, tag lists, or any row that needs to collapse gracefully at smaller sizes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-overflow-list/OverflowList.ts",
          "type": "registry:component",
          "target": "components/astryx/OverflowList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/overflow-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/OverflowList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-overlay",
      "type": "registry:component",
      "title": "Overlay",
      "description": "Overlay layers action or supporting content over media, cards, video, or other bounded surfaces with an optional scrim and reveal behavior. Host attributes and DOM handlers (id, data-*, aria-*) reach the root element.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-overlay/Overlay.ts",
          "type": "registry:component",
          "target": "components/astryx/Overlay.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/overlay",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Overlay",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-pagination",
      "type": "registry:component",
      "title": "Pagination",
      "description": "Pagination lets users step through pages of content. Place it below a table, list, or card grid so users can move forward and backward through results. Pick a variant to match the context: numbered pages for data tables, a count for large lists, compact for tight spaces, or dots for carousels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-pagination/Pagination.ts",
          "type": "registry:component",
          "target": "components/astryx/Pagination.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/pagination",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Pagination",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-popover",
      "type": "registry:component",
      "title": "Popover",
      "description": "A click-triggered popover for displaying interactive content anchored to a trigger element.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-popover/Popover.ts",
          "type": "registry:component",
          "target": "components/astryx/Popover.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/popover",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Popover",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-power-search",
      "type": "registry:component",
      "title": "Power Search",
      "description": "PowerSearch is a structured filter bar where each token represents a field, operator, and value. Use it for complex multi-dimensional filtering when users need to combine multiple search criteria. For simple single-field search, use a text input instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-power-search/PowerSearch.ts",
          "type": "registry:component",
          "target": "components/astryx/PowerSearch.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/power-search",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/PowerSearch",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-progress-bar",
      "type": "registry:component",
      "title": "Progress Bar",
      "description": "A horizontal bar showing the completion progress of a task. Use it for operations where the duration is known, or as an animated indicator when progress can't be calculated. Supports semantic color variants, value labels, and custom formatting. Under a finger a new value animates as on iOS: linearly, in proportion to how far it moves (a full track takes one second at the theme's default tempo), and the fill keeps a minimum visible length above zero.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-progress-bar/ProgressBar.ts",
          "type": "registry:component",
          "target": "components/astryx/ProgressBar.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/progress-bar",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ProgressBar",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-radio-indicator",
      "type": "registry:component",
      "title": "Radio Indicator",
      "description": "The radio visual: a circle with a filled inner dot when selected. Draws in both states; an unselected radio is an empty circle, which is what lets it stand in for a checkmark in a selection slot.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-radio-indicator/RadioIndicator.ts",
          "type": "registry:component",
          "target": "components/astryx/RadioIndicator.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/radio-indicator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Indicator",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-radio-list",
      "type": "registry:component",
      "title": "Radio List",
      "description": "Radio group container with field integration for label, description, and status.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-radio-list/RadioList.ts",
          "type": "registry:component",
          "target": "components/astryx/RadioList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/radio-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/RadioList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-radio-list-item",
      "type": "registry:component",
      "title": "Radio List Item",
      "description": "Individual radio item with label, description, and content slots. Under a coarse pointer an enabled option’s target grows toward 44 px through an invisible hit area. It never shrinks below the row and stops at half the gap to a closer neighbour; the row keeps its size. That hit area is the row’s `::after`, so decorate a row with a child.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-radio-list-item/RadioListItem.ts",
          "type": "registry:component",
          "target": "components/astryx/RadioListItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/radio-list-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/RadioList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-resize-handle",
      "type": "registry:component",
      "title": "Resize Handle",
      "description": "Draggable separator between panels. Pill-grip design: invisible at rest, visible on hover (0.6 opacity), fully opaque during drag (1.0). Keyboard-accessible.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-resize-handle/ResizeHandle.ts",
          "type": "registry:component",
          "target": "components/astryx/ResizeHandle.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/resize-handle",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Resizable",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-richtext-rich-text-editor",
      "type": "registry:component",
      "title": "Rich Text Editor",
      "description": "A WYSIWYG rich-text editor built on Lexical, styled with Astryx design tokens. Its field container shares TextArea input visuals for the resting border, hover ring, focus-within ring, disabled state, and status colors. Ships from @astryxdesign/richtext; lexical and @lexical/* are optional peer dependencies. The editor is deliberately minimal and extensible: pass toolbar, nodes, and plugins to layer richer behaviour (formatting, mentions, hover cards) on top without forking. Use RichTextView to render serialized content read-only.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@astryxdesign/richtext@0.7.11",
        "@lexical/code@^0.52.0",
        "@lexical/extension@^0.52.0",
        "@lexical/headless@^0.52.0",
        "@lexical/html@^0.52.0",
        "@lexical/link@^0.52.0",
        "@lexical/list@^0.52.0",
        "@lexical/markdown@^0.52.0",
        "@lexical/react@^0.52.0",
        "@lexical/rich-text@^0.52.0",
        "@lexical/selection@^0.52.0",
        "@lexical/table@^0.52.0",
        "@lexical/utils@^0.52.0",
        "@stylexjs/stylex@0.19.0",
        "lexical@^0.52.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-richtext-rich-text-editor/RichTextEditor.ts",
          "type": "registry:component",
          "target": "components/astryx/RichTextEditor.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/richtext/rich-text-editor",
        "aliases": [],
        "packageName": "@astryxdesign/richtext",
        "importPath": "@astryxdesign/richtext",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-scrollable-area",
      "type": "registry:component",
      "title": "Scrollable Area",
      "description": "Provides a native scroll viewport and a real observed content box. The viewport enters the tab order only while a requested logical axis is effectively scrollable, and containment applies only to effective axes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-scrollable-area/ScrollableArea.ts",
          "type": "registry:component",
          "target": "components/astryx/ScrollableArea.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/scrollable-area",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ScrollableArea",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-section",
      "type": "registry:component",
      "title": "Section",
      "description": "Section is the correct way to create page regions and group related content on a page. Use it for settings groups, form sections, sidebar areas, or any time you need visual separation between parts of a page. If you are tempted to use a Card for a page section, use Section instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-section/Section.ts",
          "type": "registry:component",
          "target": "components/astryx/Section.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/section",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Section",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-segmented-control",
      "type": "registry:component",
      "title": "Segmented Control",
      "description": "Container wrapper providing context (value, onChange, size, isDisabled) to SegmentedControlItem children.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-segmented-control/SegmentedControl.ts",
          "type": "registry:component",
          "target": "components/astryx/SegmentedControl.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/segmented-control",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SegmentedControl",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-segmented-control-item",
      "type": "registry:component",
      "title": "Segmented Control Item",
      "description": "Individual segment item rendering as a radio button within the segmented control.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-segmented-control-item/SegmentedControlItem.ts",
          "type": "registry:component",
          "target": "components/astryx/SegmentedControlItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/segmented-control-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SegmentedControl",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-selectable-card",
      "type": "registry:component",
      "title": "Selectable Card",
      "description": "A card that toggles between selected and unselected states with an accent border. For navigation use ClickableCard.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-selectable-card/SelectableCard.ts",
          "type": "registry:component",
          "target": "components/astryx/SelectableCard.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/selectable-card",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SelectableCard",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-selector",
      "type": "registry:component",
      "title": "Selector",
      "description": "Dropdown selector for choosing from a list of options.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-selector/Selector.ts",
          "type": "registry:component",
          "target": "components/astryx/Selector.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/selector",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Selector",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-selector-option",
      "type": "registry:component",
      "title": "Selector Option",
      "description": "Helper component for custom item rendering inside an Selector renderOption prop.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-selector-option/SelectorOption.ts",
          "type": "registry:component",
          "target": "components/astryx/SelectorOption.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/selector-option",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Selector",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-side-nav",
      "type": "registry:component",
      "title": "Side Nav",
      "description": "Container with five zones: header, topContent, children (scrollable), footer, and footerIcons. Supports collapsible and resizable modes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-side-nav/SideNav.ts",
          "type": "registry:component",
          "target": "components/astryx/SideNav.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/side-nav",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SideNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-side-nav-collapse-button",
      "type": "registry:component",
      "title": "Side Nav Collapse Button",
      "description": "Toggle button for sidenav collapse. Place inside SideNav (reads context automatically) or outside it (hand the same controlled collapsible config to both). Renders as an icon-only ghost button by default.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-side-nav-collapse-button/SideNavCollapseButton.ts",
          "type": "registry:component",
          "target": "components/astryx/SideNavCollapseButton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/side-nav-collapse-button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SideNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-side-nav-heading",
      "type": "registry:component",
      "title": "Side Nav Heading",
      "description": "Product/suite/account heading with smart interaction boundary logic for links and a menu popover.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-side-nav-heading/SideNavHeading.ts",
          "type": "registry:component",
          "target": "components/astryx/SideNavHeading.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/side-nav-heading",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SideNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-side-nav-item",
      "type": "registry:component",
      "title": "Side Nav Item",
      "description": "Navigation item with icon, selected state, optional end content, and nesting support via children.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-side-nav-item/SideNavItem.ts",
          "type": "registry:component",
          "target": "components/astryx/SideNavItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/side-nav-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SideNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-side-nav-section",
      "type": "registry:component",
      "title": "Side Nav Section",
      "description": "Section grouping with an optional title, subtitle, and end content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-side-nav-section/SideNavSection.ts",
          "type": "registry:component",
          "target": "components/astryx/SideNavSection.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/side-nav-section",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SideNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-skeleton",
      "type": "registry:component",
      "title": "Skeleton",
      "description": "An animated shimmer placeholder that previews the shape of content while it loads. Use it to build loading screens that match the layout of the real content. For content with unknown dimensions, use Spinner instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-skeleton/Skeleton.ts",
          "type": "registry:component",
          "target": "components/astryx/Skeleton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/skeleton",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Skeleton",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-slider",
      "type": "registry:component",
      "title": "Slider",
      "description": "A draggable control for selecting a numeric value or range within defined bounds. Supports single value and range selection, tick marks, custom value formatting, and vertical orientation. Use it when users need to explore a continuous range, such as volume, price, or percentage. Under a finger, on any touch device, it tracks as UISlider does: only the thumb takes a drag, through a target larger than it, the value follows the finger’s travel rather than jumping to it, a release coasts on before `onChangeEnd`, a swipe from the track scrolls the page, and a tap on the track or a mark sets the value when the finger lifts (the thumb springs there). A mouse drag on a thumb tracks the same way, past the same 10 px in any direction, with no lift or coast; a mouse press on the track moves the thumb there, and only a primary click presses. A pen drags as a finger does, claiming only along the track, and its drag ends at the release with no coast. A wheel or a trackpad scroll over the slider goes to whatever scrolls under it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-slider/Slider.ts",
          "type": "registry:component",
          "target": "components/astryx/Slider.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/slider",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Slider",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-spinner",
      "type": "registry:component",
      "title": "Spinner",
      "description": "An animated loading indicator for processes with unknown duration, such as data fetching or form submission. Supports visible labels, multiple sizes, and a dark background variant. For content with known dimensions, use Skeleton instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-spinner/Spinner.ts",
          "type": "registry:component",
          "target": "components/astryx/Spinner.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/spinner",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Spinner",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-stack",
      "type": "registry:component",
      "title": "Stack",
      "description": "Unified stack layout component with a direction prop. Use direction=\"horizontal\" to flow along the inline axis (left to right in LTR, right to left in RTL) or direction=\"vertical\" (default) for top-to-bottom. For convenience, HStack and VStack are pre-configured wrappers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-stack/Stack.ts",
          "type": "registry:component",
          "target": "components/astryx/Stack.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/stack",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Stack",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-stack-item",
      "type": "registry:component",
      "title": "Stack Item",
      "description": "Stack item for controlling individual item behavior within a stack. Supports polymorphic rendering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-stack-item/StackItem.ts",
          "type": "registry:component",
          "target": "components/astryx/StackItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/stack-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Stack",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-status-dot",
      "type": "registry:component",
      "title": "Status Dot",
      "description": "A small colored dot that communicates status like online/offline presence or severity levels. Supports five semantic variants and an optional pulse animation. Always pair with a visible text label, as color alone should not carry meaning.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-status-dot/StatusDot.ts",
          "type": "registry:component",
          "target": "components/astryx/StatusDot.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/status-dot",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/StatusDot",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-step",
      "type": "registry:component",
      "title": "Step",
      "description": "Individual step within a Stepper. Renders a progress-bar segment, an indicator, and a label with optional description. Progress (completed/active/not-started) is derived from the parent Stepper's activeStep and this step's step index.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-step/Step.ts",
          "type": "registry:component",
          "target": "components/astryx/Step.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/step",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Stepper",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-stepper",
      "type": "registry:component",
      "title": "Stepper",
      "description": "Container component that manages step state and renders steps in horizontal or vertical orientation as an ordered list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-stepper/Stepper.ts",
          "type": "registry:component",
          "target": "components/astryx/Stepper.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/stepper",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Stepper",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-switch",
      "type": "registry:component",
      "title": "Switch",
      "description": "A toggle control for on/off states that take effect immediately. Supports labels, descriptions, loading states, and validation. Use it for settings or preferences that apply instantly. For changes requiring a form submission, use a checkbox instead. Under a finger it moves like the iOS switch on every touch screen: a press lifts the thumb, a drag across flips it, lifting the finger commits, and a tap toggles through the browser’s click. The thumb keeps its circle and size on every device, and under a coarse pointer the invisible hit area grows toward 44 × 44 px, stopping halfway to any neighbouring control so a tap goes to the nearer one. With reduced motion on, a change cross-fades on a touch screen and is immediate with a mouse.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-switch/Switch.ts",
          "type": "registry:component",
          "target": "components/astryx/Switch.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/switch",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Switch",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-syntax-theme",
      "type": "registry:component",
      "title": "Syntax Theme",
      "description": "Applies syntax highlighting colors to CodeBlock and any code component in the subtree. By default, code components use the theme-level syntax colors (set via defineTheme({ syntax: ... })), which derive from the palette (--color-text-accent for keywords, --color-text-green for strings, etc.). SyntaxTheme lets you override those per-region. The system uses 14 semantic tokens (keyword, string, comment, number, function, type, variable, operator, constant, tag, attribute, property, punctuation, background) validated against 11 community themes. Custom themes are created with defineSyntaxTheme() and can use [light, dark] tuples for automatic color-scheme adaptation. Built-in presets: oneDarkPro, dracula, monokai, nord, tokyoNight, catppuccinMocha, githubLight, githubDark, solarizedLight, oneLight (import from @astryxdesign/core/theme/syntax).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-syntax-theme/SyntaxTheme.ts",
          "type": "registry:component",
          "target": "components/astryx/SyntaxTheme.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/syntax-theme",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/theme",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-tab",
      "type": "registry:component",
      "title": "Tab",
      "description": "Individual tab item that renders as a button or an anchor link, with selected-state styling and optional icons.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-tab/Tab.ts",
          "type": "registry:component",
          "target": "components/astryx/Tab.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/tab",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TabList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-tab-list",
      "type": "registry:component",
      "title": "Tab List",
      "description": "Tab strip that provides TabListContext (value, onChange, size) to Tab and TabMenu children; a nav landmark, or the WAI-ARIA tabs pattern where role=\"tablist\" asks for it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-tab-list/TabList.ts",
          "type": "registry:component",
          "target": "components/astryx/TabList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/tab-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TabList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-tab-menu",
      "type": "registry:component",
      "title": "Tab Menu",
      "description": "Overflow menu trigger that opens a dropdown of additional tab options, showing the selected option's label as the trigger text. Host attributes and DOM event handlers (id, aria-*, data-*, drag and drop) reach the trigger button, not the popup or its options. The button keeps its role, tab stop, and menu disclosure attributes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-tab-menu/TabMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/TabMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/tab-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TabList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table",
      "type": "registry:component",
      "title": "Table",
      "description": "Styled, data-driven table with density, dividers, hover highlight, striped rows, and named plugin support. T must extend Record<string, unknown>.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table/Table.ts",
          "type": "registry:component",
          "target": "components/astryx/Table.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-body",
      "type": "registry:component",
      "title": "Table Body",
      "description": "<tbody> wrapper for children mode. Holds the data rows. A row must sit inside a section: <table> cannot contain a <tr> directly, because the HTML parser inserts an implied <tbody> when it parses server-rendered markup and React does not when it renders on the client, so rows written straight into Table mismatch on hydration. The data-driven data={...} mode renders this element itself; in children mode it is yours to supply.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-body/TableBody.ts",
          "type": "registry:component",
          "target": "components/astryx/TableBody.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-body",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-cell",
      "type": "registry:component",
      "title": "Table Cell",
      "description": "<td> wrapper that reads TableContext to apply density padding, font size, and divider borders when used inside Table.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-cell/TableCell.ts",
          "type": "registry:component",
          "target": "components/astryx/TableCell.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-cell",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-footer",
      "type": "registry:component",
      "title": "Table Footer",
      "description": "<tfoot> wrapper for children mode. Holds summary or total rows beneath the body. A row must sit inside a section: <table> cannot contain a <tr> directly, because the HTML parser inserts an implied <tbody> when it parses server-rendered markup and React does not when it renders on the client, so the two trees mismatch on hydration. Children mode only: the data-driven data={...} path renders a header and a body, never a footer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-footer/TableFooter.ts",
          "type": "registry:component",
          "target": "components/astryx/TableFooter.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-footer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-header",
      "type": "registry:component",
      "title": "Table Header",
      "description": "<thead> wrapper for children mode. Holds the header row, whose cells are TableHeaderCell. A row must sit inside a section: <table> cannot contain a <tr> directly, because the HTML parser inserts an implied <tbody> when it parses server-rendered markup and React does not when it renders on the client, so the two trees mismatch on hydration. The data-driven data={...} mode renders this element itself whenever columns are supplied; in children mode it is yours to supply.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-header/TableHeader.ts",
          "type": "registry:component",
          "target": "components/astryx/TableHeader.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-header",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-header-cell",
      "type": "registry:component",
      "title": "Table Header Cell",
      "description": "<th> wrapper that reads TableContext to apply density padding, semibold weight, secondary text color, and divider borders when used inside Table.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-header-cell/TableHeaderCell.ts",
          "type": "registry:component",
          "target": "components/astryx/TableHeaderCell.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-header-cell",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-row",
      "type": "registry:component",
      "title": "Table Row",
      "description": "<tr> wrapper that reads TableContext to apply striped, hover, and divider styles when used inside Table.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-row/TableRow.ts",
          "type": "registry:component",
          "target": "components/astryx/TableRow.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-row",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-table-selection-toolbar",
      "type": "registry:component",
      "title": "Table Selection Toolbar",
      "description": "Selection-aware bulk-action surface built on Toolbar. Pass selectionState from useTableSelectionState so count, visibility, and complete clearing stay synchronized with the Table selection plugin. The component owns no table or sticky layout: place it in flow or apply caller-owned positioning through xstyle.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-table-selection-toolbar/TableSelectionToolbar.ts",
          "type": "registry:component",
          "target": "components/astryx/TableSelectionToolbar.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/table-selection-toolbar",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-text",
      "type": "registry:component",
      "title": "Text",
      "description": "Semantic body text component that renders text with type-based styling from the theme, with optional truncation, decoration, and layout props.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-text/Text.ts",
          "type": "registry:component",
          "target": "components/astryx/Text.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/text",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Text",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-text-area",
      "type": "registry:component",
      "title": "Text Area",
      "description": "TextArea is a multi-line text input for collecting longer-form content like comments, descriptions, or messages. Use it when the expected input spans multiple lines. For shorter, single-line values, use TextInput.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-text-area/TextArea.ts",
          "type": "registry:component",
          "target": "components/astryx/TextArea.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/text-area",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TextArea",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-text-input",
      "type": "registry:component",
      "title": "Text Input",
      "description": "TextInput collects short-form text like names, emails, or search queries. Use it for single-line values where the expected input is brief. Pair it with validation status to guide users through required or formatted fields.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-text-input/TextInput.ts",
          "type": "registry:component",
          "target": "components/astryx/TextInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/text-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TextInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-theme",
      "type": "registry:component",
      "title": "Theme",
      "description": "Wraps a subtree with a specific Astryx theme. For static production themes, use `astryx theme build` and import the generated CSS plus built theme object for first-paint and SSR performance. Use runtime `defineTheme()` when themes are dynamic or for prototyping.\n\n`defineTheme` accepts a `tokens` object whose keys are CSS custom property names (always prefixed with `--`). Common token names include `--color-accent`, `--color-background-surface`, `--color-background-body`, `--color-text-primary`, `--color-text-secondary`, `--radius-container`, `--spacing-1` through `--spacing-6`. Values can be a string (same for light/dark) or a `[light, dark]` tuple.\n\nExample:\n```ts\nimport {defineTheme} from '@astryxdesign/core/theme';\nconst myTheme = defineTheme({\n  name: 'ocean',\n  tokens: {\n    '--color-accent': ['#0077B6', '#48CAE4'],\n    '--color-background-surface': ['#F0F8FF', '#0A1628'],\n    '--color-text-primary': ['#0A1317', '#FFFFFF'],\n    '--radius-container': '16px',\n  },\n});\n```",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-theme/Theme.ts",
          "type": "registry:component",
          "target": "components/astryx/Theme.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/theme",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/theme",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-thumbnail",
      "type": "registry:component",
      "title": "Thumbnail",
      "description": "Thumbnail displays a compact, square preview of an image attachment. It shows a shimmer effect while uploading, the image on success, and a placeholder icon when no source is set. Use it in chat composers, file upload lists, or anywhere you need a small image preview with optional remove and click actions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-thumbnail/Thumbnail.ts",
          "type": "registry:component",
          "target": "components/astryx/Thumbnail.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/thumbnail",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Thumbnail",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-time-input",
      "type": "registry:component",
      "title": "Time Input",
      "description": "TimeInput uses a browser/OS time picker on coarse pointers by default and Astryx's typed field on fine pointers. It converts values to a standard format and supports arrow-key adjustment on the typed surface. Use it in forms, scheduling flows, or any interface where users need to select a specific time.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-time-input/TimeInput.ts",
          "type": "registry:component",
          "target": "components/astryx/TimeInput.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/time-input",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TimeInput",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-timer",
      "type": "registry:component",
      "title": "Timer",
      "description": "Displays a standardized elapsed duration for active work without scheduling a React render on every tick. Elapsed format updates by second below one hour and by minute after one hour; clock format remains second-precise.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-timer/Timer.ts",
          "type": "registry:component",
          "target": "components/astryx/Timer.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/timer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Timer",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-timestamp",
      "type": "registry:component",
      "title": "Timestamp",
      "description": "Timestamp formats a date or time value into human-readable text. Use it to show when something was created, updated, or is scheduled; picking relative for recency, absolute for precision, or auto to let the component decide.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-timestamp/Timestamp.ts",
          "type": "registry:component",
          "target": "components/astryx/Timestamp.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/timestamp",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Timestamp",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-toast",
      "type": "registry:component",
      "title": "Toast",
      "description": "Toast shows a brief, non-blocking notification to confirm an action or present temporary information. Use it for scenarios where the user needs feedback but not a decision, such as saving, deleting, or changing a status.\n\nFor production use, prefer the `useToast()` hook; it handles positioning, stacking, auto-dismiss, and deduplication via `ToastViewport`. Toasts stay within viewport and safe-area gutters, wrap long message content, and enter, exit, or swipe-dismiss toward their configured top or bottom edge. The vertical swipe uses the same spatial model as placement motion: top Toasts leave upward and bottom Toasts leave downward. Swipe waits for dominant edge-directed intent before cancelling native touch movement and reports the existing manual dismissal reason. Pen is supported as direct-contact input; mouse drag is excluded to avoid conflicting with desktop text selection, where the visible close control remains available. Set `isAutoHide: false` explicitly when an action or message must remain available. The `Toast` component renders the visual toast element inline and is useful for previews, documentation, and static showcases where the viewport lifecycle is not needed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-toast/Toast.ts",
          "type": "registry:component",
          "target": "components/astryx/Toast.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/toast",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Toast",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-toggle-button",
      "type": "registry:component",
      "title": "Toggle Button",
      "description": "A button that toggles between pressed and unpressed states. Thin wrapper over Button with controlled toggle pattern, icon swap, and font weight emphasis.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-toggle-button/ToggleButton.ts",
          "type": "registry:component",
          "target": "components/astryx/ToggleButton.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/toggle-button",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ToggleButton",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-toggle-button-group",
      "type": "registry:component",
      "title": "Toggle Button Group",
      "description": "Groups toggle buttons for exclusive (single) or multi-select behavior. Uses discriminated union on type for type-safe value/onChange.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-toggle-button-group/ToggleButtonGroup.ts",
          "type": "registry:component",
          "target": "components/astryx/ToggleButtonGroup.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/toggle-button-group",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/ToggleButton",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-token",
      "type": "registry:component",
      "title": "Token",
      "description": "Token is a small, inline element for representing discrete pieces of associated data, like tags, categories, or selections. Use it to label content, show active filters, or represent removable items like selected recipients in a compose field.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-token/Token.ts",
          "type": "registry:component",
          "target": "components/astryx/Token.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/token",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Token",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-tokenizer",
      "type": "registry:component",
      "title": "Tokenizer",
      "description": "Tokenizer is a multi-select input that lets users search, select, and manage multiple items displayed as removable chips. Use it when users need to build a set of selections from a searchable data source, like adding team members, applying tags, or choosing filters.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-tokenizer/Tokenizer.ts",
          "type": "registry:component",
          "target": "components/astryx/Tokenizer.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/tokenizer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Tokenizer",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-toolbar",
      "type": "registry:component",
      "title": "Toolbar",
      "description": "General-purpose toolbar container with three content slots and roving tabindex.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-toolbar/Toolbar.ts",
          "type": "registry:component",
          "target": "components/astryx/Toolbar.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/toolbar",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Toolbar",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-tooltip",
      "type": "registry:component",
      "title": "Tooltip",
      "description": "Component wrapper for tooltip display triggered on hover or focus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-tooltip/Tooltip.ts",
          "type": "registry:component",
          "target": "components/astryx/Tooltip.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/tooltip",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Tooltip",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav",
      "type": "registry:component",
      "title": "Top Nav",
      "description": "Main navigation bar container with slot-based layout. Children are accepted as an alias for startContent.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav/TopNav.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNav.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav-heading",
      "type": "registry:component",
      "title": "Top Nav Heading",
      "description": "Product/suite/account heading for the TopNav heading slot. Supports smart interaction boundary logic: logo, heading text, superheading/subheading with independent links, and an optional menu popover with automatic chevron indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav-heading/TopNavHeading.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNavHeading.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav-heading",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav-item",
      "type": "registry:component",
      "title": "Top Nav Item",
      "description": "Navigation link item for use in TopNav startContent: renders as an anchor with hover and selected states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav-item/TopNavItem.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNavItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav-mega-menu",
      "type": "registry:component",
      "title": "Top Nav Mega Menu",
      "description": "Navigation item that displays a full-width mega menu panel on hover. Uses a slots API with items and featured props. TopNavMegaMenuItem renders itself in both desktop and mobile drawer modes. Supports inline collapsible drawer via render mode context.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav-mega-menu/TopNavMegaMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNavMegaMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav-mega-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav-mega-menu-featured-card",
      "type": "registry:component",
      "title": "Top Nav Mega Menu Featured Card",
      "description": "Standard featured card for the TopNavMegaMenu featured slot. Provides a consistent card with optional image, title, description, and CTA link.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav-mega-menu-featured-card/TopNavMegaMenuFeaturedCard.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNavMegaMenuFeaturedCard.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav-mega-menu-featured-card",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav-mega-menu-item",
      "type": "registry:component",
      "title": "Top Nav Mega Menu Item",
      "description": "An individual item inside an TopNavMegaMenu. Renders itself in both desktop (popover grid) and mobile drawer modes via render mode context.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav-mega-menu-item/TopNavMegaMenuItem.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNavMegaMenuItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav-mega-menu-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-top-nav-menu",
      "type": "registry:component",
      "title": "Top Nav Menu",
      "description": "Navigation item that displays a hover-triggered popover menu with rich items containing an icon, title, and optional description.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-top-nav-menu/TopNavMenu.ts",
          "type": "registry:component",
          "target": "components/astryx/TopNavMenu.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/top-nav-menu",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TopNav",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-tree-list",
      "type": "registry:component",
      "title": "Tree List",
      "description": "Tree list container. Accepts items data and rendering configuration. Expansion state is managed internally.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-tree-list/TreeList.ts",
          "type": "registry:component",
          "target": "components/astryx/TreeList.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/tree-list",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/TreeList",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-typeahead",
      "type": "registry:component",
      "title": "Typeahead",
      "description": "Styled typeahead with label, description, validation, and all field features. Wraps BaseTypeahead with Field for the primary use case.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-typeahead/Typeahead.ts",
          "type": "registry:component",
          "target": "components/astryx/Typeahead.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/typeahead",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Typeahead",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-typeahead-item",
      "type": "registry:component",
      "title": "Typeahead Item",
      "description": "Default dropdown item renderer for typeahead results. Shows label with optional icon, description, and avatar. Exported for use in custom renderItem implementations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-typeahead-item/TypeaheadItem.ts",
          "type": "registry:component",
          "target": "components/astryx/TypeaheadItem.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/typeahead-item",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Typeahead",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-v-stack",
      "type": "registry:component",
      "title": "V Stack",
      "description": "Vertical stack for arranging items top-to-bottom. Supports polymorphic rendering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-v-stack/VStack.ts",
          "type": "registry:component",
          "target": "components/astryx/VStack.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/v-stack",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Stack",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "component-visually-hidden",
      "type": "registry:component",
      "title": "VisuallyHidden",
      "description": "Renders content in the accessibility tree while hiding it visually. Use for accessible names on icon-only controls, aria-live announcement regions, and supplementary screen-reader context. Deliberately has no styling props; the whole point is to stay invisible. `xstyle` is still accepted and ignored, only so code written against 0.7.2 keeps compiling; a planned minor removes it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/component-visually-hidden/VisuallyHidden.ts",
          "type": "registry:component",
          "target": "components/astryx/VisuallyHidden.ts"
        }
      ],
      "astryx": {
        "kind": "component",
        "path": "components/visually-hidden",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/VisuallyHidden",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-create-animator",
      "type": "registry:hook",
      "title": "createAnimator",
      "description": "Animates one element with the motion Astryx's own components use, without React. `animate` springs an element to new values on the state-change motion, `decay` flings it with the momentum of a released scroll view, and `set` moves it directly, so a card can follow a finger, snap back and be thrown away. Use the `useAnimator` hook in React. To animate an area's layout as its items change, use `useAnimatedLayout`; for what a component already animates, such as a sheet's detents or a carousel's snapping, use the component's own props.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-create-animator/createAnimator.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/createAnimator.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/create-animator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-create-drag-to-snap-points",
      "type": "registry:hook",
      "title": "createDragToSnapPoints",
      "description": "Lets a drag move an element along one axis and settles it on snap points when the finger lifts, the way an iOS sheet settles on its detents: on the nearest snap point to where it is, on the next one in its direction after a quick flick, and back where it started when the finger was moving back. The settle continues the release's velocity. For a bottom sheet, use BottomSheet's `snapPoints`; for a scrolling row, Carousel's `hasSnap`. Use the `useDragToSnapPoints` hook in React.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-create-drag-to-snap-points/createDragToSnapPoints.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/createDragToSnapPoints.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/create-drag-to-snap-points",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-create-pan-gesture",
      "type": "registry:hook",
      "title": "createPanGesture",
      "description": "Reports a drag on an element as values, without React, for a surface the product moves itself: a card that follows the finger, a drawer pulled by its handle. A finger, a mouse and a pen all drive it. A mouse or pen drag that starts on selectable text selects that text, and the pan reports nothing. Give that text `user-select: none`. The drag claims its touch at UIKit’s 10 pt, as `UIPanGestureRecognizer` does, so a tap stays a tap and a press or a long press is never reported as a pan. Use the `usePanGesture` hook in React. Where a component already offers the behavior, use its prop instead: BottomSheet's `snapPoints`, Carousel's `hasSnap`. Its example is on the usePanGesture page: one draggable box, made once with the hook and once with createPanGesture.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-create-pan-gesture/createPanGesture.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/createPanGesture.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/create-pan-gesture",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-animated-layout",
      "type": "registry:hook",
      "title": "useAnimatedLayout",
      "description": "Returns a handle to pass to a component whose size changes, such as TreeList or Collapsible. When that component changes size, it and the content after it inside `containerRef` animate together on one shared motion role. Fixed and stuck sticky elements stay put, the glide never scrolls the area, and Reduce Motion is respected. It applies under every pointer, a mouse included. Without the handle a component keeps its jump: content after it takes its place at once. Content after the change may mix Astryx components and your own elements; none of it opts in.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-animated-layout/useAnimatedLayout.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useAnimatedLayout.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-animated-layout",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-animator",
      "type": "registry:hook",
      "title": "useAnimator",
      "description": "Animates one element with the motion Astryx's own components use. Call `animator.animate` to spring an element to new values on the state-change motion, `animator.decay` to fling it with the momentum of a released scroll view, and `animator.set` to move it directly, so a card can follow a finger, snap back and be thrown away. To animate an area's layout as its items change, use `useAnimatedLayout`; for what a component already animates, such as a sheet's detents or a carousel's snapping, use the component's own props. Outside React, use `createAnimator`.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-animator/useAnimator.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useAnimator.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-animator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-announce",
      "type": "registry:hook",
      "title": "useAnnounce",
      "description": "Imperatively announces a message to screen readers through a visually-hidden live region. Use it for state that is only conveyed visually; search result counts, \"no results\", loading and saved confirmations, validation errors (WCAG 4.1.3 Status Messages). The polite and assertive regions are created empty on first use and stay mounted, which is what makes announcements reliable: most screen readers ignore a live region that is inserted together with its content. Each message is cleared a couple of seconds after it is announced so stale status does not linger in the accessibility tree. A message is delivered where its caller is: from inside an open Astryx modal it goes to a region inside that modal and is heard there with no change to the calling code; a message sent just as the modal is dismissed is delivered through whatever is exposed afterwards rather than lost. A call made outside the modal, even by the component that renders it, uses the page-body region.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-announce/useAnnounce.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useAnnounce.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-announce",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-app-shell-mobile",
      "type": "registry:hook",
      "title": "useAppShellMobile",
      "description": "Hook for reading and controlling AppShell mobile navigation state from descendants of AppShell. Use it for custom mobile nav triggers, closing the drawer after route changes, or coordinating AppShell-adjacent mobile experiences with the same breakpoint used by mobile nav.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-app-shell-mobile/useAppShellMobile.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useAppShellMobile.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-app-shell-mobile",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AppShell",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-calendar-days",
      "type": "registry:hook",
      "title": "useCalendarDays",
      "description": "Builds the day grid for one month: every date to show, including the previous and next months' days that fill the first and last weeks, grouped into weeks, plus localized weekday header names that start on weekStartsOn. It is the layout Calendar uses, for a custom month view such as a compact availability grid or a mini calendar. It returns data only: rendering, selection, keyboard navigation and the grid's accessibility semantics are the caller's.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-calendar-days/useCalendarDays.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useCalendarDays.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-calendar-days",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Calendar",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-clickable-container",
      "type": "registry:hook",
      "title": "useClickableContainer",
      "description": "Makes a container element clickable while preserving nested interactive element behavior. Solves the \"nested interactive elements\" problem: when a card is clickable but contains buttons/links, clicking those should NOT trigger the card's action. Detects interactive ancestors between the click target and the container, and ignores text selections. Supports href navigation (including middle-click and Ctrl/Cmd+click for new tabs).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-clickable-container/useClickableContainer.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useClickableContainer.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-clickable-container",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-clipboard",
      "type": "registry:hook",
      "title": "useClipboard",
      "description": "Copy-to-clipboard behavior: the clipboard write, a transient isCopied flag with its own reset timer, and an optional polite screen-reader announcement. Extracted so every copy affordance is a thin control over one implementation instead of re-deriving the timer and announcement. Rapid re-copies restart the reset timer so the confirmation always lasts the full duration, and the timer is cleaned up on unmount. CodeBlock and Timestamp build their built-in copy buttons on it; reach for it directly when building a copy affordance that is not a plain icon button (a menu item, a labeled text button, a copy-on-click value chip).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-clipboard/useClipboard.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useClipboard.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-clipboard",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-collapsible",
      "type": "registry:hook",
      "title": "useCollapsible",
      "description": "Reusable hook that encapsulates the collapsible state machine. Supports three modes: group-controlled (inside CollapsibleGroup), controlled (isOpen + onOpenChange), and uncontrolled (self-managed with defaultIsOpen). Used internally by Card and Section.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-collapsible/useCollapsible.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useCollapsible.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-collapsible",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Collapsible",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-collator",
      "type": "registry:hook",
      "title": "useCollator",
      "description": "Returns the sanctioned locale-aware comparator for custom sorting. The collator is recreated when the provider locale or an option changes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-collator/useCollator.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useCollator.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-collator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/i18n",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-combobox",
      "type": "registry:hook",
      "title": "useCombobox",
      "description": "Tracks the active option of a single-select combobox and handles its keys, while DOM focus stays on the control. It powers Selector and CommandPalette; use it to build a combobox those components do not cover, including one over a single-line text field you render yourself, such as a search field whose results replace a page section, or an “add people” field in a dialog. It renders nothing: you render the field, the listbox and the options, and spread `getFieldProps`, `getListboxProps` and `getOptionProps` onto them, or wire `role`, `aria-expanded`, `aria-controls` and `aria-activedescendant` yourself from `onKeyDown` and `getItemId` for a control such as a button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-combobox/useCombobox.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useCombobox.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-combobox",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Selector",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-container-reveal",
      "type": "registry:hook",
      "title": "useContainerReveal",
      "description": "A headless hover/focus reveal primitive. Gives a container a scoped trigger that reveals (or conceals) content inside it when the container is hovered or receives keyboard focus: the classic \"row actions appear on hover\" pattern. The reveal is CSS-only: no hover state lives in React and hovering never triggers a re-render. The caller authors no StyleX for the reveal itself; the hook hands out the container and content styles, and a nested container shadows its ancestor, so nested containers never leak hover/focus into one another. Accessible by construction: revealed content is visually hidden at rest with position and opacity (never display:none), so it stays mounted, keeps its place in the tab order, and is announced to assistive technology; it reveals on :focus-within so keyboard users see it when tabbing in, stays visible on touch (never gated behind hover on coarse pointers), and honors prefers-reduced-motion.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-container-reveal/useContainerReveal.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useContainerReveal.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-container-reveal",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-dev-warning",
      "type": "registry:hook",
      "title": "useDevWarning",
      "description": "Fires a dev-only \"Component: message\" console warning once per mount while the condition holds. It is the render-safe way for a component to flag misuse: warning straight from the render body repeats on every render, and gating it with state adds a re-render, so this uses a ref and an effect instead. For a warning outside a component, use the imperative devWarn utility.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-dev-warning/useDevWarning.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useDevWarning.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-dev-warning",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-drag-to-snap-points",
      "type": "registry:hook",
      "title": "useDragToSnapPoints",
      "description": "Lets a drag move an element along one axis and settles it on snap points when the finger lifts, the way an iOS sheet settles on its detents: on the nearest snap point to where it is, on the next one in its direction after a quick flick, and back where it started when the finger was moving back. The settle continues the release's velocity. For a bottom sheet, use BottomSheet's `snapPoints`; for a scrolling row, Carousel's `hasSnap`. Outside React, use `createDragToSnapPoints`.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-drag-to-snap-points/useDragToSnapPoints.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useDragToSnapPoints.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-drag-to-snap-points",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-entry-animation",
      "type": "registry:hook",
      "title": "useEntryAnimation",
      "description": "Returns a StyleX style for animating an element on mount. Only animates when the element is dynamically inserted after the initial page paint; elements rendered on page load are not animated. Uses Astryx motion tokens (duration, easing) for consistent animation timing. Server-rendered elements hydrate without the entry style and never animate; elements mounted after hydration animate.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-entry-animation/useEntryAnimation.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useEntryAnimation.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-entry-animation",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-focus-trap",
      "type": "registry:hook",
      "title": "useFocusTrap",
      "description": "Traps focus within a container element following the WAI-ARIA dialog focus trap pattern. Listens to focus events on the document and redirects focus back into the container if a Tab from inside it moves focus out. Handles both Tab and Shift+Tab wrapping. A Tab pressed while focus is outside the container is left to the page, so an open non-modal surface never takes over the focus order of the page. When the trap deactivates or unmounts, focus is restored to the element that was focused before activation, unless focus was already moved elsewhere or never entered the trap (so popups that keep focus on their trigger, like comboboxes, are unaffected). Mouse clicks outside the container are not intercepted; use a light-dismiss handler for that.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-focus-trap/useFocusTrap.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useFocusTrap.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-focus-trap",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-grid-focus",
      "type": "registry:hook",
      "title": "useGridFocus",
      "description": "Manages keyboard navigation within a 2D grid following the WAI-ARIA grid pattern. Supports arrow keys for cell-to-cell navigation, Home/End for row boundaries, Ctrl+Home/Ctrl+End for grid boundaries, and Page Up/Down for custom callbacks (e.g., month navigation in calendars). Boundary navigation callbacks allow cross-grid navigation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-grid-focus/useGridFocus.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useGridFocus.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-grid-focus",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-hotkeys",
      "type": "registry:hook",
      "title": "useHotkeys",
      "description": "Registers global keyboard shortcuts with a single window keydown listener per hook instance. Handlers live in a ref, so re-renders never re-subscribe. Skips events from typing targets (input, textarea, select, contenteditable) unless allowInInputs, skips defaultPrevented events, and calls preventDefault() on match. SSR-safe.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-hotkeys/useHotkeys.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useHotkeys.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-hotkeys",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-hover-card",
      "type": "registry:hook",
      "title": "useHoverCard",
      "description": "Headless hook for hover-triggered floating cards. Builds on useLayer with hover/focus intent detection, configurable delays, safe hover behavior, and accessible aria-describedby linking. Use for rich previews on hover when you need full control over the trigger or rendered content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-hover-card/useHoverCard.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useHoverCard.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-hover-card",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/HoverCard",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-icon",
      "type": "registry:hook",
      "title": "useIcon",
      "description": "Resolves a semantic icon name to a React node through the nearest Theme, so a custom component draws the same success, warning or error icon that Astryx components draw and follows a theme that overrides it. Resolution reads the nearest Theme's icons (outside any Theme, the registered theme the document root names), then registerIcons() overrides, then the built-in default. The node is returned as is, with no size or color wrapper: the built-in icons are 1em squares in currentColor, so they follow the surrounding text. A function entry is read at {size: 'md'}. Render <Icon icon={name} /> instead when the icon needs another size, a color or a label.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-icon/useIcon.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useIcon.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-icon",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Icon",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-image-mode",
      "type": "registry:hook",
      "title": "useImageMode",
      "description": "Detects whether an image is predominantly dark or light by sampling pixels via OffscreenCanvas. Uses APCA perceptual lightness (sRGB linearization + power curve) for accurate detection, especially on saturated colors. Runs entirely off the paint path: no visible canvas, no layout thrash. Supports regional sampling for detecting luminance where text overlays will appear. Returns null while loading and falls back gracefully on CORS or network errors.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-image-mode/useImageMode.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useImageMode.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-image-mode",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-imperative-alert-dialog",
      "type": "registry:hook",
      "title": "useImperativeAlertDialog",
      "description": "Hook for showing an alert dialog without managing open state. Call alert.show(options) to open and alert.hide() to close. Render alert.element in your JSX tree.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-imperative-alert-dialog/useImperativeAlertDialog.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useImperativeAlertDialog.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-imperative-alert-dialog",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/AlertDialog",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-imperative-dialog",
      "type": "registry:hook",
      "title": "useImperativeDialog",
      "description": "Hook for showing a dialog without managing open state. Call dialog.show(content, options) to open and dialog.hide() to close. Render dialog.element in your JSX tree.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-imperative-dialog/useImperativeDialog.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useImperativeDialog.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-imperative-dialog",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Dialog",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-indicator-focus-ring",
      "type": "registry:hook",
      "title": "useIndicatorFocusRing",
      "description": "Draws the standard focus ring on the indicator of a control whose real input is visually hidden; a checkbox or radio focuses an opacity-0 input, so the ring has to appear on the picture beside it. The ring is painted imperatively on the indicator's own element, which is the only element whose border-radius can shape it, and only on :focus-visible, so pointer clicks stay quiet. Owning it here means a theme-supplied indicator cannot ship a control with no visible focus (WCAG 2.4.7) by ignoring a prop.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-indicator-focus-ring/useIndicatorFocusRing.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useIndicatorFocusRing.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-indicator-focus-ring",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-input-container",
      "type": "registry:hook",
      "title": "useInputContainer",
      "description": "Makes an input container wrapper clickable, delegating focus to the inner input/textarea when the user clicks non-interactive areas (icons, padding, status indicators). Built on top of useClickableContainer, so nested interactive elements (clear buttons, calendar toggles, links) are handled safely; clicking them does NOT steal focus from the input. Automatically detects input type: text-like inputs receive .focus(), while other types (checkbox, radio, file) receive .click().",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-input-container/useInputContainer.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useInputContainer.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-input-container",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-input-status-icon",
      "type": "registry:hook",
      "title": "useInputStatusIcon",
      "description": "Builds the on-field status affordance for a bordered input and its accessibility wiring, so every input in the family behaves the same for a given status. The attached variant renders a plain glyph and leaves the text to the message box; the detached variant renders nothing here, because the message box already carries its own icon; the tooltip variant renders a real focusable button whose tooltip is reachable by keyboard, pointer, touch and assistive tech. Use it when building a bordered input, not for field-level messaging.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-input-status-icon/useInputStatusIcon.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useInputStatusIcon.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-input-status-icon",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-interactive-role",
      "type": "registry:hook",
      "title": "useInteractiveRole",
      "description": "Resolves what a polymorphic component should render as, in one place: href wins, then onClick, then an interactive trigger context supplied by a parent (Popover, DropdownMenu and friends), then inert. Use it in any component that is sometimes a link, sometimes a button, and sometimes plain content; Token, Thumbnail, Item and ClickableCard all do. Because context is part of the resolution, a component built on it becomes a valid trigger for new surfaces without changing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-interactive-role/useInteractiveRole.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useInteractiveRole.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-interactive-role",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-keyboard-hint",
      "type": "registry:hook",
      "title": "useKeyboardHint",
      "description": "Shows an ephemeral \"← → to navigate\" hint anchored to the focused item the first time a roving-tabindex composite (Toolbar, TabList, SegmentedControl, etc.) receives keyboard focus. It teaches sighted keyboard users that arrow keys move within the group. The hint renders arrow keys with Kbd in the top layer (popover=\"manual\") and is CSS-anchor-positioned to the focused element, so overflow containers never clip it. It auto-dismisses on the first arrow press, on timeout, or on blur, and does not re-show for that instance. Toolbar, TabList, and SegmentedControl wire this in automatically; reach for the hook directly only when building a custom roving-tabindex widget.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-keyboard-hint/useKeyboardHint.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useKeyboardHint.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-keyboard-hint",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-layer",
      "type": "registry:hook",
      "title": "useLayer",
      "description": "Core positioning hook for rendering overlay content using CSS Anchor Positioning and the Popover API. Use it as the foundation for custom popovers, hover cards, tooltips, and fixed-position layers when higher-level components are not enough. Both modes use theme body text defaults and end ancestor surface/group membership as a whole, including group-owned state. Explicit props and unrelated contexts remain unchanged. Apply intentional formatting through render styles or content, and establish complete content-local providers inside the rendered layer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-layer/useLayer.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useLayer.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-layer",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Layer",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-lightbox",
      "type": "registry:hook",
      "title": "useLightbox",
      "description": "State management and accessible trigger wiring for Lightbox. Eliminates boilerplate for managing open state and current index. Returns trigger props with button role, tabIndex={0}, aria-haspopup=\"dialog\", and keyboard activation handlers, along with a pre-wired Lightbox element that handles dismissal, next/previous navigation, and focus restoration.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-lightbox/useLightbox.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useLightbox.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-lightbox",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Lightbox",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-link-component",
      "type": "registry:hook",
      "title": "useLinkComponent",
      "description": "Resolves which component renders a link, so a custom component's links follow the app's router the same way Astryx's own links do. The order is the as argument, then the nearest LinkProvider's component, then a native anchor. Render the returned component with href (and to, for a router that reads it). Before rendering it checks both destinations under the Link href rule: a rejected destination renders an anchor with no destination, and a custom router is never invoked with it. A custom component receives to={href} unless to is passed explicitly.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-link-component/useLinkComponent.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useLinkComponent.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-link-component",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Link",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-list-focus",
      "type": "registry:hook",
      "title": "useListFocus",
      "description": "Manages keyboard navigation within a linear list following WAI-ARIA menu/listbox/toolbar patterns. Supports arrow key navigation (vertical, horizontal, or both), Home/End for boundaries, optional wrap-around, RTL, and Escape to close. Opt into hasRovingTabIndex for composite widgets (toolbars, segmented controls, tab strips) that own a single tab stop. Suitable for dropdown menus, toolbars, and any 1D focusable list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-list-focus/useListFocus.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useListFocus.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-list-focus",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-locale",
      "type": "registry:hook",
      "title": "useLocale",
      "description": "Reads the authoritative Astryx locale. Use it to thread the provider locale into pure formatting helpers and sibling-package APIs; do not derive a second locale from navigator.language or a hardcoded literal.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-locale/useLocale.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useLocale.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-locale",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/i18n",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-long-press",
      "type": "registry:hook",
      "title": "useLongPress",
      "description": "Detects a single-finger press-and-hold and reports where it happened, so touch users can reach affordances that a pointer gets from right-click. iOS Safari never synthesizes a contextmenu event on long-press, which makes this the only touch route into a cursor-positioned surface such as ContextMenu. The press cancels on movement, lift, multi-touch or unmount. The hold is timed on the touch events’ own timestamps: when a busy page handles the lift late, a finger held for the full delay still reports its long press, before the lift acts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-long-press/useLongPress.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useLongPress.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-long-press",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-media-query",
      "type": "registry:hook",
      "title": "useMediaQuery",
      "description": "SSR-safe media query hook that subscribes to window.matchMedia changes. Returns whether the given media query matches. Always returns false on first render for SSR compatibility. Where `window.matchMedia` is missing, it returns its server default and never throws.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-media-query/useMediaQuery.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useMediaQuery.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-media-query",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-menu-press",
      "type": "registry:hook",
      "title": "useMenuPress",
      "description": "The press model of macOS and iOS menus, for any pointer: the row under the pointer when it is RELEASED is the row that acts, the highlight follows the pointer while it is held, a mouse opens the menu on press and can drag straight into it, and a finger held on the trigger opens it with the finger still down. The pointer is tracked at document level by pointerId, so a finger that slid off the row it landed on is still followed; the click the browser reports at the end of a touch, aimed at the row where the touch began, is swallowed so nothing acts twice. DropdownMenu, ContextMenu, DropdownMenuSubMenu, Selector and the menu bottom sheet already mount it; reach for it directly only when building a menu-like surface of your own.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-menu-press/useMenuPress.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useMenuPress.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-menu-press",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-merged-refs",
      "type": "registry:hook",
      "title": "useMergedRefs",
      "description": "Combines multiple object or callback refs into one stable callback ref. Use it when a component must forward a consumer ref while also attaching internal refs. Unlike calling mergeRefs during render, the callback identity stays stable across unrelated rerenders, so React does not detach and reattach the element.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-merged-refs/useMergedRefs.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useMergedRefs.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-merged-refs",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-multi-combobox",
      "type": "registry:hook",
      "title": "useMultiCombobox",
      "description": "Tracks the active option of a multi-select combobox and handles its keys, while DOM focus stays on the control. It powers MultiSelector; unlike useCombobox, toggling an option keeps the list open, and rows can carry an action cell. It renders nothing and sets no attributes: the caller renders the control and the list, and wires the ARIA attributes from what it returns.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-multi-combobox/useMultiCombobox.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useMultiCombobox.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-multi-combobox",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/MultiSelector",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-outline-from-markdown",
      "type": "registry:hook",
      "title": "useOutlineFromMarkdown",
      "description": "Extracts the headings of a Markdown string for an Outline next to the rendered document. It uses the parser and heading slugs that Markdown uses, so in a complete document each item links to its heading, and fenced code never counts as a heading. The result is memoized on the source and the options. Outside React, use parseOutlineFromMarkdown.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-outline-from-markdown/useOutlineFromMarkdown.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useOutlineFromMarkdown.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-outline-from-markdown",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Outline",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-overflow",
      "type": "registry:hook",
      "title": "useOverflow",
      "description": "Measures children rendered in a hidden container to determine how many fit in the available width without flickering. Uses ResizeObserver to react to container and measured-child size changes. The measurement container should hold all items plus an optional overflow indicator element (identified by a data-overflow-indicator attribute).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-overflow/useOverflow.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useOverflow.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-overflow",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-overlay",
      "type": "registry:hook",
      "title": "useOverlay",
      "description": "Adds overlay behavior to a container you already render, such as a Card or a custom media frame, without the wrapper Overlay adds. Spread containerRef and containerProps on the container, then render element (or renderOverlay(children)) once inside it. The scrim is absolutely positioned, so it covers the nearest positioned ancestor: the container itself, or a positioned section inside it such as an image area. Visibility is CSS-driven from the container's :hover and :focus-within, so with showOn 'hover' a keyboard user reveals the content by moving focus into the container. Hidden content is not focusable, so the container needs a focusable element before the overlay content in tab order. A revealed scrim takes pointer input over the area it covers, so put that element outside the scrim, or use a top or bottom strip and keep it in the part the strip leaves uncovered.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-overlay/useOverlay.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useOverlay.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-overlay",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Overlay",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-pan-gesture",
      "type": "registry:hook",
      "title": "usePanGesture",
      "description": "Reports a drag on an element as values, for a surface the product moves itself: a card that follows the finger, a drawer pulled by its handle. A finger, a mouse and a pen all drive it. A mouse or pen drag that starts on selectable text selects that text, and the pan reports nothing. Give that text `user-select: none`. The drag claims its touch at UIKit’s 10 pt, as `UIPanGestureRecognizer` does, so a tap stays a tap, and a press or a long press is never reported as a pan. With `axis`, a scroll across that axis that starts on the element stays the page’s; without it, the pan takes a drag in any direction, so a finger’s scroll that starts on the element moves the element instead of the page. A trackpad scroll still scrolls the page. The hook is a thin layer over `createPanGesture`, the same API for code without React. A drag has no keyboard or assistive-technology path of its own: whatever the drag does needs another way to do it, such as buttons or arrow keys (WCAG 2.5.7). The pan moves nothing itself, so Reduce Motion applies to the motion you drive from it: honor the user’s reduced-motion setting in the animation that moves the element. Where a component already offers the behavior, use its prop instead: BottomSheet’s `snapPoints`, Carousel’s `hasSnap`.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-pan-gesture/usePanGesture.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/usePanGesture.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-pan-gesture",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-popover",
      "type": "registry:hook",
      "title": "usePopover",
      "description": "Headless hook for click-triggered popovers with focus trapping. Combines useLayer with useFocusTrap, auto-focus, light dismiss, Escape handling, and an optional hidden close button for accessible dialog-like popover behavior. Every painted surface emits the canonical popover target. A custom composition needing a distinct stable seam should pass and document its own surfaceTarget.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-popover/usePopover.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/usePopover.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-popover",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Popover",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-press-feedback",
      "type": "registry:hook",
      "title": "usePressFeedback",
      "description": "The touch press model every Astryx pressable uses, for a local component that paints its own press. Under a finger, CSS `:active` paints on the touch itself and can outlive the start of a scroll; the press model instead tracks the touch the way UIKit tracks a control: it highlights as the finger lands (after the content-touch delay inside a scroller, where a flick paints nothing), a quick tap answers at the lift, and a scroll that takes the touch cancels it with no fade. One document-level controller does this for every marked element (installed by the first pressable to mount, removed by the last to unmount), so calling the hook adds no listener or state to your element. On a desktop a mouse press is still your `:active` rule: keep it, and drop it under `@media (pointer: coarse)` the way the built-in components do. That query reads the primary pointer, so on a phone or tablet it also drops `:active` for a connected mouse, trackpad or keyboard; the controller paints those presses there (at once, faded at the release), so nothing goes unanswered.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-press-feedback/usePressFeedback.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/usePressFeedback.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-press-feedback",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-resizable",
      "type": "registry:hook",
      "title": "useResizable",
      "description": "Hook for adding drag-to-resize behavior to layout regions. Supports single-region and multi-region configurations with snap points, collapsible panels, localStorage persistence, and cascade resize ordering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-resizable/useResizable.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useResizable.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-resizable",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Resizable",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-scroll-lock",
      "type": "registry:hook",
      "title": "useScrollLock",
      "description": "Locks page scroll while active and keeps the page where it is. The page gets overflow: hidden (on the root, or on body when its own overflow is the one the viewport uses), which stops wheel, keyboard and scrollbar scrolling, and overscroll-behavior-y: none on the root and body, which stops the overscroll bounce while the lock holds. Where the primary pointer is coarse (phones and tablets), a one-finger pan that would scroll the page is cancelled, because iOS Safari scrolls an overflow: hidden page under a finger; pans that a scroller inside the overlay can take, drags on a native range input, pinch-zoom, and one-finger drags on a pinch-zoomed page (which pan the zoomed view) still work. The scroll offset never changes, so nothing jumps when the lock starts or ends, and iOS Safari keeps its toolbar as it was. Where the hidden scrollbar takes layout space (desktop), the hook holds its gutter open with scrollbar-gutter: stable, so the page, including any position: fixed chrome, does not shift sideways.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-scroll-lock/useScrollLock.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useScrollLock.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-scroll-lock",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-scroll-overflow",
      "type": "registry:hook",
      "title": "useScrollOverflow",
      "description": "Tracks scroll overflow state for a horizontally scrollable container. Returns a ref callback and state booleans that update as the user scrolls, the container resizes, or its content changes (a child added, removed or resized, or a new gap or padding). Uses scroll event listeners, ResizeObserver and MutationObserver for reactive updates. Tolerance of 1px is applied to avoid sub-pixel false positives.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-scroll-overflow/useScrollOverflow.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useScrollOverflow.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-scroll-overflow",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-scrollable-area",
      "type": "registry:hook",
      "title": "useScrollableArea",
      "description": "Adds canonical axis-aware scroll behavior to structure owned by the caller. An axis is effective only when its computed overflow is scroll-capable and geometry exceeds the shared 1px tolerance. Both viewport and content boxes are observed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-scrollable-area/useScrollableArea.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useScrollableArea.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-scrollable-area",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-snap-paging",
      "type": "registry:hook",
      "title": "useSnapPaging",
      "description": "Gives a Carousel iOS paging on native snap's stops: pass the value as hasSnap={useSnapPaging()}. Under a finger and on a trackpad swipe, a flick moves one view, or one item with {pages: 'item'}, and the row rests on an item's start edge. A mouse wheel keeps native snapping. Only a carousel given the value loads the paging code.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-snap-paging/useSnapPaging.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useSnapPaging.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-snap-paging",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/SnapPaging",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-streaming-text",
      "type": "registry:hook",
      "title": "useStreamingText",
      "description": "Smooths bursty streamed text into a steady character-by-character reveal using requestAnimationFrame. Decouples arrival rate from display rate. Advances on word and syntax boundaries to avoid slicing mid-markdown or mid-word, preventing visual glitches with markdown renderers. Animation timing derives from Astryx motion tokens via useTheme when available, with sensible fallbacks outside a theme provider. Snaps to full text when isStreaming becomes false.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-streaming-text/useStreamingText.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useStreamingText.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-streaming-text",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-column-resize",
      "type": "registry:hook",
      "title": "useTableColumnResize",
      "description": "Hook that returns a TablePlugin adding draggable resize handles to column header borders. Supports pointer + keyboard (WAI-ARIA window splitter) resizing, RTL, per-column min/max widths, and proportional-column preservation (resizes the neighbor so the table stays full-width). Commits widths on release.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-column-resize/useTableColumnResize.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableColumnResize.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-column-resize",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-column-settings",
      "type": "registry:hook",
      "title": "useTableColumnSettings",
      "description": "Headless column visibility and ordering management for Table. Provides filtered columns, toggle helpers, and pre-built MultiSelector options for a column picker UI.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-column-settings/useTableColumnSettings.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableColumnSettings.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-column-settings",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-filter-state",
      "type": "registry:hook",
      "title": "useTableFilterState",
      "description": "Managed state hook for table filtering. Returns the current filter map and an onChange handler. Pass the result directly to useTableFiltering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-filter-state/useTableFilterState.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableFilterState.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-filter-state",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-filtering",
      "type": "registry:hook",
      "title": "useTableFiltering",
      "description": "Table plugin that adds inline column filters with popover or inline controls. Pairs with useTableFilterState for managed state. Supports text, select, multi-select, date, and number filter types via PowerSearch field definitions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-filtering/useTableFiltering.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableFiltering.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-filtering",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-grouped-rows",
      "type": "registry:hook",
      "title": "useTableGroupedRows",
      "description": "Hook that groups a flat data array into collapsible section rows. Each distinct groupBy value becomes a full-width section-header row with a chevron toggle, the group label, and a member count; collapsing hides that group's data rows while keeping the header visible. The disclosure state lives on the chevron button, not the native table row. Mirrors useTableTreeState: the consumer owns the collapsedGroups set and the hook returns {data, plugin, idKey}: pass them to Table as data, plugins, and idKey respectively. Grouping runs on the rows you hand it, so with pagination the order is filter, sort, slice, then group: sort by the group key first and the user's keys second, so a section's rows stay contiguous and each page appends to the bottom of the table instead of splicing rows in above the reader. A page that ends on a row count still cuts mid-section, and the heading then counts what has loaded rather than what exists: \"6\" quietly becoming \"10\". Where the full result set is in hand, carry the cut forward to the end of the section it lands in: every rendered section is then whole and its count is a total.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-grouped-rows/useTableGroupedRows.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableGroupedRows.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-grouped-rows",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-pagination",
      "type": "registry:hook",
      "title": "useTablePagination",
      "description": "Headless pagination plugin for Table. Call with a config object: `useTablePagination({ page, onPageChange, totalItems })`. Returns a TablePlugin to pass to `<Table plugins={{ pagination: paginationPlugin }} />`.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-pagination/useTablePagination.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTablePagination.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-pagination",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-row-expansion",
      "type": "registry:hook",
      "title": "useTableRowExpansion",
      "description": "Hook that returns a TablePlugin which expands a full-width detail panel below a row, rendered by the consumer via renderExpanded(item). Adds a leading chevron column and a right-click \"Expand/Collapse row\" action; the consumer owns the expandedKeys set. The panel spans the row but starts its content at the first column, past the chevron, so detail lines up with the labels above it; the inset follows the table density. Use it for master-detail rows (order details, forms, charts, nested tables). For hierarchical data where child rows reuse the parent columns, use useTableTreeData + useTableTreeState instead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-row-expansion/useTableRowExpansion.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableRowExpansion.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-row-expansion",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-row-index",
      "type": "registry:hook",
      "title": "useTableRowIndex",
      "description": "Hook that returns a TablePlugin which prepends a right-aligned, monospaced row-number column. Numbering follows the rendered data order (reflecting the current sort / filter / pagination view) and starts at 1 by default. Astryx renderCell receives only the row item, so the plugin takes the rendered data array to derive each ordinal.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-row-index/useTableRowIndex.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableRowIndex.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-row-index",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-row-status",
      "type": "registry:hook",
      "title": "useTableRowStatus",
      "description": "Hook that returns a TablePlugin which prepends a narrow column signaling per-row status. Return {status, label} for a semantic success, warning, or error: Table resolves the matching glyph and tone through the active theme. Return {color, icon?, label} for a custom marker: every color is paint-only, an omitted icon renders the stable 8px dot, and an explicit icon renders that caller-selected glyph. Named custom icons keep their released Icon color mapping; raw CSS custom icons inherit the caller's exact paint instead of the previous primary fallback. Existing callers require no source migration. label is required and becomes the accessible image name plus supplemental hover tooltip; return null for no indicator. The column header is visually blank but carries a screen-reader-only localized name (\"Row status\", i18n key @astryx.table.rowStatus.columnHeader). Memoize getStatus with useCallback for a stable plugin identity.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-row-status/useTableRowStatus.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableRowStatus.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-row-status",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-selection",
      "type": "registry:hook",
      "title": "useTableSelection",
      "description": "Hook that returns a TablePlugin implementing row selection with checkboxes, select-all, and aria-selected. Uses React Context for independent checkbox re-renders.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-selection/useTableSelection.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableSelection.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-selection",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-selection-state",
      "type": "registry:hook",
      "title": "useTableSelectionState",
      "description": "State management companion for useTableSelection. Returns selectionConfig for the behaviour plugin plus selectionState for selection-aware UI such as TableSelectionToolbar. Handles disabled/selectable row filtering for select-all automatically: disabled rows are frozen (preserved across select-all/deselect-all), non-selectable rows are excluded.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-selection-state/useTableSelectionState.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableSelectionState.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-selection-state",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-sortable",
      "type": "registry:hook",
      "title": "useTableSortable",
      "description": "Headless multi-sort plugin for Table. Call with a config object: `useTableSortable({ sort, onSortChange })`. Returns a TablePlugin to pass to `<Table plugins={{ sort: sortPlugin }} />`.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-sortable/useTableSortable.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableSortable.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-sortable",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-sortable-state",
      "type": "registry:hook",
      "title": "useTableSortableState",
      "description": "Owns a Table's sort state and sorts the rows locally, as a convenience layer over useTableSortable. Pass the rows in, render sortedData, and hand sortConfig to useTableSortable. The hook keeps the state (or reads it from sort and onSortChange when controlled), so header clicks re-sort the rows with no sort code in the component. With isMultiSortEnabled, Shift+click adds tiebreaker columns. For data sorted on a server, use useTableSortable directly and sort where the data lives.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-sortable-state/useTableSortableState.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableSortableState.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-sortable-state",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-sticky-columns",
      "type": "registry:hook",
      "title": "useTableStickyColumns",
      "description": "Hook that returns a TablePlugin which pins a contiguous run of columns to the start and/or end edge of the table. Pinned columns get cumulative offsets and a soft, scroll-aware shadow over the scrolling content. An empty config ({}) is a valid no-op that pins nothing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-sticky-columns/useTableStickyColumns.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableStickyColumns.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-sticky-columns",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-tree-data",
      "type": "registry:hook",
      "title": "useTableTreeData",
      "description": "Headless tree plugin for Table: renders nested rows with per-level indentation and expand/collapse chevrons in the tree column (the first column by default), and reflects hierarchy on body rows via aria-level and aria-expanded. Composable with the other Table plugins: the canonical plugin order places tree before selection, so the checkbox column lands left of the indented tree column. Feed it the treeConfig from useTableTreeState, or construct the config directly for server-driven or pre-flattened trees. When no row is expandable (flat data), every transform is a pass-through and the table renders identically to one without the plugin. Known limitation: the tree column wraps its cell content, so textOverflow=\"truncate\" tooltips do not apply within the tree column.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-tree-data/useTableTreeData.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableTreeData.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-tree-data",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-table-tree-state",
      "type": "registry:hook",
      "title": "useTableTreeState",
      "description": "State management companion for useTableTreeData. Owns the expanded set (controlled or uncontrolled) and flattens nested data into the visible row array; collapsed subtrees are unmounted, not hidden, so the table body contains exactly the visible rows. Returns expandAll/collapseAll helpers, the aggregate isAllExpanded state (true/false/indeterminate) for a header expand-all control, and a ready-to-use config for the tree plugin. Note: because collapsed rows unmount, cell-local React state inside collapsed subtrees is lost on collapse; lift state that must survive.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-table-tree-state/useTableTreeState.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTableTreeState.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-table-tree-state",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Table",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-theme",
      "type": "registry:hook",
      "title": "useTheme",
      "description": "Programmatic access to theme tokens for non-CSS consumers like SVG, canvas, Vega, D3, maps, or chart libraries that need values in JavaScript instead of CSS custom property references.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-theme/useTheme.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTheme.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-theme",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/theme",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-toast",
      "type": "registry:hook",
      "title": "useToast",
      "description": "Hook for showing toast notifications from anywhere in your component tree. Returns a function that accepts toast options and shows the notification. Works automatically with LayerProvider or self-mounts a fallback viewport.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-toast/useToast.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useToast.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-toast",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Toast",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-tooltip",
      "type": "registry:hook",
      "title": "useTooltip",
      "description": "Headless hook for hover/focus-triggered tooltips. Builds on useLayer with hover intent, keyboard focus handling, and accessible aria-describedby linking. Use for custom trigger elements that need tooltip behavior without the wrapper component.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-tooltip/useTooltip.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTooltip.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-tooltip",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/Tooltip",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-translator",
      "type": "registry:hook",
      "title": "useTranslator",
      "description": "Returns a translator function that resolves keys against the current locale, provider overrides, and the shipped English fallback catalog. Call inside a component; the returned function can be used anywhere within that component's scope.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-translator/useTranslator.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTranslator.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-translator",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/i18n",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-tree-focus",
      "type": "registry:hook",
      "title": "useTreeFocus",
      "description": "Manages roving-tabindex focus and the WAI-ARIA tree keyboard model. ArrowUp/ArrowDown/Home/End roam linearly over the visible treeitems (skipping disabled ones), while ArrowRight/ArrowLeft carry tree semantics (expand/collapse, move to first-child/parent). Enter/Space activate, and printable characters trigger typeahead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-tree-focus/useTreeFocus.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTreeFocus.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-tree-focus",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hook-use-typeahead",
      "type": "registry:hook",
      "title": "useTypeahead",
      "description": "Adds APG type-to-focus search to a collection: printable keystrokes are buffered (resetting after a pause), and the first item whose label starts with the buffer (ignoring case, accents, the stroked letters đ ł ø ħ ŧ ƀ and Turkish ı/İ, the same in every locale; a typed accent prefers the exact match) is reported through onMatch. Pressing the same letter repeatedly cycles through the matches rather than filtering deeper. It moves nothing itself; pair it with the collection's own focus management, most often useListFocus or useGridFocus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/hook-use-typeahead/useTypeahead.ts",
          "type": "registry:hook",
          "target": "hooks/astryx/useTypeahead.ts"
        }
      ],
      "astryx": {
        "kind": "hook",
        "path": "hooks/use-typeahead",
        "aliases": [],
        "packageName": "@astryxdesign/core",
        "importPath": "@astryxdesign/core/hooks",
        "hidden": false
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-alert-dialog-loading",
      "type": "registry:block",
      "title": "AlertDialog — Loading",
      "description": "A confirmation dialog that shows a spinner while the action runs.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-alert-dialog-loading/AlertDialogAsyncAction.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AlertDialogAsyncAction.tsx"
        },
        {
          "path": "registry/example-alert-dialog-loading/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-alert-dialog-loading.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/alert-dialog/loading",
        "aliases": [],
        "exampleFor": "AlertDialog",
        "category": "components/AlertDialog",
        "componentsUsed": [
          "AlertDialog"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-alert-dialog-loading.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-app-shell-content-only",
      "type": "registry:block",
      "title": "AppShell — Content Only",
      "description": "Minimal shell with no navigation, useful for full-bleed pages, auth screens, or embedded views.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-app-shell-content-only/AppShellContentOnly.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AppShellContentOnly.tsx"
        },
        {
          "path": "registry/example-app-shell-content-only/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-app-shell-content-only.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/app-shell/content-only",
        "aliases": [],
        "exampleFor": "AppShell",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "Heading",
          "Text",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-app-shell-content-only.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-app-shell-side-nav-only",
      "type": "registry:block",
      "title": "AppShell — Side Nav Only",
      "description": "App shell with SideNav header providing app identity, no TopNav needed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-app-shell-side-nav-only/AppShellSideNavOnly.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AppShellSideNavOnly.tsx"
        },
        {
          "path": "registry/example-app-shell-side-nav-only/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-app-shell-side-nav-only.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/app-shell/side-nav-only",
        "aliases": [],
        "exampleFor": "AppShell",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "SideNav",
          "Heading",
          "Text",
          "VStack",
          "NavIcon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-app-shell-side-nav-only.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-app-shell-top-nav-only",
      "type": "registry:block",
      "title": "AppShell — Top Nav Only",
      "description": "Simple layout with TopNav and no side navigation, suitable for landing pages.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-app-shell-top-nav-only/AppShellTopNavOnly.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AppShellTopNavOnly.tsx"
        },
        {
          "path": "registry/example-app-shell-top-nav-only/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-app-shell-top-nav-only.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/app-shell/top-nav-only",
        "aliases": [],
        "exampleFor": "AppShell",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "TopNav",
          "Heading",
          "Text",
          "VStack",
          "NavIcon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-app-shell-top-nav-only.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-app-shell-top-nav-with-side-nav",
      "type": "registry:block",
      "title": "AppShell — Top Nav with Side Nav",
      "description": "The most common layout with TopNav for app identity and SideNav for page-level navigation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-app-shell-top-nav-with-side-nav/AppShellTopNavWithSideNav.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AppShellTopNavWithSideNav.tsx"
        },
        {
          "path": "registry/example-app-shell-top-nav-with-side-nav/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-app-shell-top-nav-with-side-nav.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/app-shell/top-nav-with-side-nav",
        "aliases": [],
        "exampleFor": "AppShell",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "TopNav",
          "SideNav",
          "Heading",
          "Text",
          "VStack",
          "NavIcon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-app-shell-top-nav-with-side-nav.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-app-shell-with-banner",
      "type": "registry:block",
      "title": "AppShell — With Banner",
      "description": "Full layout with TopNav, SideNav, and a dismissable info banner between the nav and content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-app-shell-with-banner/AppShellWithBanner.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AppShellWithBanner.tsx"
        },
        {
          "path": "registry/example-app-shell-with-banner/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-app-shell-with-banner.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/app-shell/with-banner",
        "aliases": [],
        "exampleFor": "AppShell",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "TopNav",
          "SideNav",
          "Banner",
          "Heading",
          "Text",
          "VStack",
          "NavIcon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-app-shell-with-banner.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-aspect-ratio-16-9-widescreen-image",
      "type": "registry:block",
      "title": "AspectRatio — 16:9 Widescreen Image",
      "description": "16:9 widescreen aspect ratio wrapping an image. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-aspect-ratio-16-9-widescreen-image/AspectRatioWidescreen.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AspectRatioWidescreen.tsx"
        },
        {
          "path": "registry/example-aspect-ratio-16-9-widescreen-image/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-16-9-widescreen-image.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/aspect-ratio/16-9-widescreen-image",
        "aliases": [],
        "exampleFor": "AspectRatio",
        "category": "components/AspectRatio",
        "componentsUsed": [
          "AspectRatio",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-16-9-widescreen-image.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-aspect-ratio-circle-image",
      "type": "registry:block",
      "title": "AspectRatio — Circle Image",
      "description": "Circular container via shape=\"ellipse\" with ratio={1}, ideal for avatars and profile images. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-aspect-ratio-circle-image/AspectRatioCircleImage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AspectRatioCircleImage.tsx"
        },
        {
          "path": "registry/example-aspect-ratio-circle-image/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-circle-image.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/aspect-ratio/circle-image",
        "aliases": [],
        "exampleFor": "AspectRatio",
        "category": "components/AspectRatio",
        "componentsUsed": [
          "AspectRatio",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-circle-image.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-aspect-ratio-image-gallery",
      "type": "registry:block",
      "title": "AspectRatio — Image Gallery",
      "description": "Grid of images with consistent 4:3 aspect ratios. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-aspect-ratio-image-gallery/AspectRatioImageGallery.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AspectRatioImageGallery.tsx"
        },
        {
          "path": "registry/example-aspect-ratio-image-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-image-gallery.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/aspect-ratio/image-gallery",
        "aliases": [],
        "exampleFor": "AspectRatio",
        "category": "components/AspectRatio",
        "componentsUsed": [
          "AspectRatio",
          "Grid"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-image-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-aspect-ratio-loading-skeleton",
      "type": "registry:block",
      "title": "AspectRatio — Loading Skeleton",
      "description": "Aspect ratio container with a skeleton loading placeholder.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-aspect-ratio-loading-skeleton/AspectRatioWithSkeleton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AspectRatioWithSkeleton.tsx"
        },
        {
          "path": "registry/example-aspect-ratio-loading-skeleton/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-loading-skeleton.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/aspect-ratio/loading-skeleton",
        "aliases": [],
        "exampleFor": "AspectRatio",
        "category": "components/AspectRatio",
        "componentsUsed": [
          "AspectRatio",
          "Skeleton",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-loading-skeleton.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-aspect-ratio-square-image",
      "type": "registry:block",
      "title": "AspectRatio — Square Image",
      "description": "1:1 square aspect ratio, ideal for avatars and Instagram-style images. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-aspect-ratio-square-image/AspectRatioSquareImage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AspectRatioSquareImage.tsx"
        },
        {
          "path": "registry/example-aspect-ratio-square-image/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-square-image.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/aspect-ratio/square-image",
        "aliases": [],
        "exampleFor": "AspectRatio",
        "category": "components/AspectRatio",
        "componentsUsed": [
          "AspectRatio",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-aspect-ratio-square-image.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-fallback-chain",
      "type": "registry:block",
      "title": "Avatar — Fallback Chain",
      "description": "Demonstrates the avatar fallback chain: primary image, fallback image, initials, then default icon. Astryx replaced 6 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-fallback-chain/AvatarFallbackChain.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarFallbackChain.tsx"
        },
        {
          "path": "registry/example-avatar-fallback-chain/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-fallback-chain.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/fallback-chain",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-fallback-chain.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-group-default",
      "type": "registry:block",
      "title": "Avatar — Group",
      "description": "Overlap multiple avatars in a row to represent a group of people. Use for team lists, PR reviewers, or participant counts where you want to show faces without taking up much space. Astryx replaced 5 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-group-default/AvatarGroup.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarGroup.tsx"
        },
        {
          "path": "registry/example-avatar-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-group-default.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar-group/default",
        "aliases": [],
        "exampleFor": "AvatarGroup",
        "category": "components/Avatar",
        "componentsUsed": [
          "AvatarGroup",
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-group-interactive",
      "type": "registry:block",
      "title": "Avatar Group — Interactive",
      "description": "A facepile whose avatars link to profiles, with an overflow indicator that opens the full member list. The whole group is one Tab stop; arrow keys move between the avatars and the overflow button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-group-interactive/AvatarGroupInteractive.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarGroupInteractive.tsx"
        },
        {
          "path": "registry/example-avatar-group-interactive/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-group-interactive.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar-group/interactive",
        "aliases": [],
        "exampleFor": "AvatarGroup",
        "category": "components/AvatarGroup",
        "componentsUsed": [
          "AvatarGroup",
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-group-interactive.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-group-overflow-custom-text",
      "type": "registry:block",
      "title": "Avatar Group Overflow — Custom Text",
      "description": "Provide short custom children such as 12+ when the overflow count needs compact product-specific formatting.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-group-overflow-custom-text/AvatarGroupOverflowCustomText.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarGroupOverflowCustomText.tsx"
        },
        {
          "path": "registry/example-avatar-group-overflow-custom-text/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-group-overflow-custom-text.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar-group-overflow/custom-text",
        "aliases": [],
        "exampleFor": "AvatarGroupOverflow",
        "category": "components/AvatarGroupOverflow",
        "componentsUsed": [
          "AvatarGroupOverflow",
          "AvatarGroup",
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-group-overflow-custom-text.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-group-overflow-default-count",
      "type": "registry:block",
      "title": "Avatar Group Overflow — Default Count",
      "description": "Use AvatarGroupOverflow without children to render the standard +N overflow count.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-group-overflow-default-count/AvatarGroupOverflowDefault.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarGroupOverflowDefault.tsx"
        },
        {
          "path": "registry/example-avatar-group-overflow-default-count/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-group-overflow-default-count.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar-group-overflow/default-count",
        "aliases": [],
        "exampleFor": "AvatarGroupOverflow",
        "category": "components/AvatarGroupOverflow",
        "componentsUsed": [
          "AvatarGroupOverflow",
          "AvatarGroup",
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-group-overflow-default-count.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-initials",
      "type": "registry:block",
      "title": "Avatar — Initials",
      "description": "Show initials instead of a photo. The avatar extracts the first and last initials from the name automatically. Use when you only have a user name, like in anonymous accounts or new user onboarding.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-initials/AvatarInitialsFallback.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarInitialsFallback.tsx"
        },
        {
          "path": "registry/example-avatar-initials/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-initials.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/initials",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-initials.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-interactive",
      "type": "registry:block",
      "title": "Avatar — Interactive",
      "description": "Make an avatar interactive by passing `href` to render it as a link or `onClick` to render it as a button. Both forms are focusable and show a focus-visible ring for keyboard users. Use for profile links, mention pop-ups, or any avatar people can act on. Astryx replaced 2 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-interactive/AvatarInteractive.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarInteractive.tsx"
        },
        {
          "path": "registry/example-avatar-interactive/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-interactive.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/interactive",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-interactive.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-photo",
      "type": "registry:block",
      "title": "Avatar — Photo",
      "description": "Show a profile photo at different sizes. Use when you have a user photo URL. If the image fails to load, initials are shown instead. Astryx replaced 4 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-photo/AvatarWithImage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarWithImage.tsx"
        },
        {
          "path": "registry/example-avatar-photo/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-photo.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/photo",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-photo.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-status-dot",
      "type": "registry:block",
      "title": "Avatar — Status Dot",
      "description": "Add a status dot to an avatar to show whether someone is online, away, or busy. Use in chat, messaging, or any UI where knowing availability matters. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-status-dot/AvatarWithStatus.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarWithStatus.tsx"
        },
        {
          "path": "registry/example-avatar-status-dot/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-status-dot.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/status-dot",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-status-dot.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-status-dot-variants",
      "type": "registry:block",
      "title": "AvatarStatusDot — Variants",
      "description": "Presence dots on Avatars using the success, neutral, and error variants. Pass an AvatarStatusDot to the Avatar status prop; the dot sizes itself to match the Avatar.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-status-dot-variants/AvatarStatusDotVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarStatusDotVariants.tsx"
        },
        {
          "path": "registry/example-avatar-status-dot-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-status-dot-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar-status-dot/variants",
        "aliases": [],
        "exampleFor": "AvatarStatusDot",
        "category": "components/AvatarStatusDot",
        "componentsUsed": [
          "Avatar",
          "AvatarStatusDot",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-status-dot-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-tooltip",
      "type": "registry:block",
      "title": "Avatar — Tooltip",
      "description": "By default an avatar shows its name in a tooltip on hover and keyboard focus. Pass a string to show custom text instead, or false to turn the tooltip off. Astryx replaced 4 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-tooltip/AvatarTooltip.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarTooltip.tsx"
        },
        {
          "path": "registry/example-avatar-tooltip/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-tooltip.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/tooltip",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-tooltip.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-avatar-user-card",
      "type": "registry:block",
      "title": "Avatar — User Card",
      "description": "Place an avatar next to a name and role to create a user card row. Use for comment headers, contact lists, profile sections, or anywhere you need to identify a person at a glance. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-avatar-user-card/AvatarUserCard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AvatarUserCard.tsx"
        },
        {
          "path": "registry/example-avatar-user-card/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-avatar-user-card.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/avatar/user-card",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-avatar-user-card.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-badge-colors",
      "type": "registry:block",
      "title": "Badge — Colors",
      "description": "Tag items with color-coded categories like teams, priorities, or topics. Use the 9 non-semantic color variants when you need to distinguish groups visually.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-badge-colors/BadgeCategoryTags.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BadgeCategoryTags.tsx"
        },
        {
          "path": "registry/example-badge-colors/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-badge-colors.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/badge/colors",
        "aliases": [],
        "exampleFor": "Badge",
        "category": "components/Badge",
        "componentsUsed": [
          "Badge",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-badge-colors.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-badge-counts",
      "type": "registry:block",
      "title": "Badge — Counts",
      "description": "Show a number inside a badge for notification counts, unread messages, or task totals. Use next to icons, nav items, or list labels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-badge-counts/BadgeCountBadges.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BadgeCountBadges.tsx"
        },
        {
          "path": "registry/example-badge-counts/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-badge-counts.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/badge/counts",
        "aliases": [],
        "exampleFor": "Badge",
        "category": "components/Badge",
        "componentsUsed": [
          "Badge",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-badge-counts.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-badge-status",
      "type": "registry:block",
      "title": "Badge — Status",
      "description": "Show the state of an item like Active, Pending, or Failed. Use in table rows, list items, or detail pages where users need to see status at a glance.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-badge-status/BadgeStatusLabels.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BadgeStatusLabels.tsx"
        },
        {
          "path": "registry/example-badge-status/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-badge-status.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/badge/status",
        "aliases": [],
        "exampleFor": "Badge",
        "category": "components/Badge",
        "componentsUsed": [
          "Badge",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-badge-status.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-banner-action",
      "type": "registry:block",
      "title": "Banner — Action",
      "description": "Add a button to a banner so the user can act on the message. Use for trial expirations, payment failures, or anything that needs a response.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-banner-action/BannerWithActionButton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BannerWithActionButton.tsx"
        },
        {
          "path": "registry/example-banner-action/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-banner-action.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/banner/action",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-banner-action.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-banner-collapsible",
      "type": "registry:block",
      "title": "Banner — Collapsible",
      "description": "Combine an action button, dismiss control, and a collapsible detail area in one banner. Children sit behind the toggle by default; `collapsible={{defaultIsOpen: true}}` starts it open, and `collapsible={false}` drops the toggle entirely. Use for complex notifications like config changes or deployment summaries.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-banner-collapsible/BannerCollapsibleContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BannerCollapsibleContent.tsx"
        },
        {
          "path": "registry/example-banner-collapsible/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-banner-collapsible.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/banner/collapsible",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner",
          "Button",
          "List",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-banner-collapsible.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-banner-dismiss",
      "type": "registry:block",
      "title": "Banner — Dismiss",
      "description": "Let the user close a banner after reading it. Use for maintenance notices, feature tips, or any non-critical message the user can acknowledge.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-banner-dismiss/BannerDismissable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BannerDismissable.tsx"
        },
        {
          "path": "registry/example-banner-dismiss/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-banner-dismiss.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/banner/dismiss",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-banner-dismiss.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-banner-floating",
      "type": "registry:block",
      "title": "Banner — Floating",
      "description": "A floating banner raised with `elevation=\"med\"`. Banners are inline by default; raise one when it should read as an overlay above content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-banner-floating/BannerFloating.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BannerFloating.tsx"
        },
        {
          "path": "registry/example-banner-floating/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-banner-floating.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/banner/floating",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-banner-floating.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-banner-full-width",
      "type": "registry:block",
      "title": "Banner — Full Width",
      "description": "A full-width banner with no border radius for page-level notifications. Use at the top of a page for site-wide announcements or maintenance alerts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-banner-full-width/BannerSectionVariant.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BannerSectionVariant.tsx"
        },
        {
          "path": "registry/example-banner-full-width/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-banner-full-width.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/banner/full-width",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-banner-full-width.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-banner-statuses",
      "type": "registry:block",
      "title": "Banner — Statuses",
      "description": "All 4 banner statuses: info, success, warning, and error. Use to show persistent messages like updates, confirmations, cautions, or problems at the top of a page or section.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-banner-statuses/BannerStatuses.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BannerStatuses.tsx"
        },
        {
          "path": "registry/example-banner-statuses/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-banner-statuses.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/banner/statuses",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-banner-statuses.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-base-typeahead-custom-search-bar",
      "type": "registry:block",
      "title": "Base Typeahead",
      "description": "A custom result renderer that adds supporting metadata while BaseTypeahead retains option semantics and keyboard behavior.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-base-typeahead-custom-search-bar/BaseTypeaheadShowcase.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BaseTypeaheadShowcase.jsx"
        },
        {
          "path": "registry/example-base-typeahead-custom-search-bar/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/BaseTypeaheadShowcase.astryx.d.mts"
        },
        {
          "path": "registry/example-base-typeahead-custom-search-bar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-base-typeahead-custom-search-bar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/base-typeahead/custom-search-bar",
        "aliases": [],
        "exampleFor": "BaseTypeahead",
        "category": "components/BaseTypeahead",
        "componentsUsed": [
          "BaseTypeahead",
          "Layout",
          "Text"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-base-typeahead-custom-search-bar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-blockquote-testimonials",
      "type": "registry:block",
      "title": "Blockquote — Testimonials",
      "description": "Multiple quotes arranged in a card grid for a testimonials section. Combine with Card and Grid to create social-proof layouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-blockquote-testimonials/BlockquoteTestimonials.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BlockquoteTestimonials.tsx"
        },
        {
          "path": "registry/example-blockquote-testimonials/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-blockquote-testimonials.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/blockquote/testimonials",
        "aliases": [],
        "exampleFor": "Blockquote",
        "category": "components/Blockquote",
        "componentsUsed": [
          "Blockquote",
          "Card",
          "Grid",
          "GridSpan"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-blockquote-testimonials.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-blockquote-with-attribution",
      "type": "registry:block",
      "title": "Blockquote — With Attribution",
      "description": "A plain quote and a quote with a cite attribution. Use cite to credit the original author or source.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-blockquote-with-attribution/BlockquoteWithCite.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BlockquoteWithCite.tsx"
        },
        {
          "path": "registry/example-blockquote-with-attribution/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-blockquote-with-attribution.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/blockquote/with-attribution",
        "aliases": [],
        "exampleFor": "Blockquote",
        "category": "components/Blockquote",
        "componentsUsed": [
          "Blockquote",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-blockquote-with-attribution.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-bottom-sheet-height-variants",
      "type": "registry:block",
      "title": "Bottom Sheet — Height variants",
      "description": "Compares hug, capped, and tall starting heights for different amounts of content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-bottom-sheet-height-variants/BottomSheetHeights.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BottomSheetHeights.tsx"
        },
        {
          "path": "registry/example-bottom-sheet-height-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-height-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/bottom-sheet/height-variants",
        "aliases": [],
        "exampleFor": "BottomSheet",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "Divider",
          "Heading",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-height-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-bottom-sheet-mobile-keyboard",
      "type": "registry:block",
      "title": "Bottom Sheet — Mobile keyboard",
      "description": "Uses a tall, scrollable form that keeps focused controls visible above the mobile keyboard.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-bottom-sheet-mobile-keyboard/BottomSheetMobileKeyboard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BottomSheetMobileKeyboard.tsx"
        },
        {
          "path": "registry/example-bottom-sheet-mobile-keyboard/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-mobile-keyboard.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/bottom-sheet/mobile-keyboard",
        "aliases": [],
        "exampleFor": "BottomSheet",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "Divider",
          "Heading",
          "Stack",
          "Text",
          "TextArea",
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-mobile-keyboard.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-bottom-sheet-no-scrim",
      "type": "registry:block",
      "title": "Bottom Sheet — No scrim",
      "description": "Keeps the page visible and interactive behind a non-modal bottom sheet.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-bottom-sheet-no-scrim/BottomSheetNoScrim.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BottomSheetNoScrim.tsx"
        },
        {
          "path": "registry/example-bottom-sheet-no-scrim/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-no-scrim.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/bottom-sheet/no-scrim",
        "aliases": [],
        "exampleFor": "BottomSheet",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "Divider",
          "Heading",
          "Section",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-no-scrim.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-bottom-sheet-snap-points",
      "type": "registry:block",
      "title": "Bottom Sheet — Snap points",
      "description": "Drag-to-resize stops: a half-height working surface, and a peek that slides away and thins the scrim.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-bottom-sheet-snap-points/BottomSheetSnapPoints.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BottomSheetSnapPoints.tsx"
        },
        {
          "path": "registry/example-bottom-sheet-snap-points/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-snap-points.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/bottom-sheet/snap-points",
        "aliases": [],
        "exampleFor": "BottomSheet",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "Divider",
          "Heading",
          "Icon",
          "Item",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-snap-points.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-bottom-sheet-switcher-review-flow",
      "type": "registry:block",
      "title": "Bottom Sheet — Review flow",
      "description": "A two-step form flow of two standalone sheets driven by one state value: Continue replaces the review step with the confirmation in place, and Back returns.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-bottom-sheet-switcher-review-flow/BottomSheetSwitcherReviewFlow.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BottomSheetSwitcherReviewFlow.tsx"
        },
        {
          "path": "registry/example-bottom-sheet-switcher-review-flow/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-switcher-review-flow.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/bottom-sheet-switcher/review-flow",
        "aliases": [],
        "exampleFor": "BottomSheetSwitcher",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "Heading",
          "Section",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-bottom-sheet-switcher-review-flow.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-breadcrumb-item-basic",
      "type": "registry:block",
      "title": "BreadcrumbItem — Basic",
      "description": "Breadcrumb links inside a Breadcrumbs trail. Ancestor pages get an href; mark the last item with isCurrent to render it as plain text for the current page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-breadcrumb-item-basic/BreadcrumbItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BreadcrumbItemBasic.tsx"
        },
        {
          "path": "registry/example-breadcrumb-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-breadcrumb-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/breadcrumb-item/basic",
        "aliases": [],
        "exampleFor": "BreadcrumbItem",
        "category": "components/BreadcrumbItem",
        "componentsUsed": [
          "Breadcrumbs",
          "BreadcrumbItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-breadcrumb-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-breadcrumbs-deep-path",
      "type": "registry:block",
      "title": "Breadcrumbs — Deep Path",
      "description": "A 5-level breadcrumb trail for deeply nested content. Use in e-commerce, file browsers, or any UI with several levels of hierarchy.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-breadcrumbs-deep-path/BreadcrumbsDeepHierarchy.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BreadcrumbsDeepHierarchy.tsx"
        },
        {
          "path": "registry/example-breadcrumbs-deep-path/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-deep-path.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/breadcrumbs/deep-path",
        "aliases": [],
        "exampleFor": "Breadcrumbs",
        "category": "components/Breadcrumbs",
        "componentsUsed": [
          "Breadcrumbs",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-deep-path.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-breadcrumbs-icons",
      "type": "registry:block",
      "title": "Breadcrumbs — Icons",
      "description": "Add icons before breadcrumb labels for quick recognition. Use a home icon on the root item and contextual icons on key sections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-breadcrumbs-icons/BreadcrumbsWithIcons.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BreadcrumbsWithIcons.tsx"
        },
        {
          "path": "registry/example-breadcrumbs-icons/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-icons.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/breadcrumbs/icons",
        "aliases": [],
        "exampleFor": "Breadcrumbs",
        "category": "components/Breadcrumbs",
        "componentsUsed": [
          "Breadcrumbs",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-icons.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-breadcrumbs-menu-item",
      "type": "registry:block",
      "title": "Breadcrumbs — Menu item",
      "description": "Give a mid-trail crumb a `menu` prop to turn it into a menu trigger for switching between sibling destinations. It reuses the same item API as DropdownMenu, so an existing option array (or composed item children) drops in verbatim.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-breadcrumbs-menu-item/BreadcrumbsMenuItem.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BreadcrumbsMenuItem.tsx"
        },
        {
          "path": "registry/example-breadcrumbs-menu-item/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-menu-item.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/breadcrumbs/menu-item",
        "aliases": [],
        "exampleFor": "Breadcrumbs",
        "category": "components/Breadcrumbs",
        "componentsUsed": [
          "Breadcrumbs"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-menu-item.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-breadcrumbs-separators",
      "type": "registry:block",
      "title": "Breadcrumbs — Separators",
      "description": "Swap the default \"/\" for a different character like chevrons, arrows, or dots. Use when the visual style of the page calls for a different separator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-breadcrumbs-separators/BreadcrumbsCustomSeparator.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BreadcrumbsCustomSeparator.tsx"
        },
        {
          "path": "registry/example-breadcrumbs-separators/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-separators.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/breadcrumbs/separators",
        "aliases": [],
        "exampleFor": "Breadcrumbs",
        "category": "components/Breadcrumbs",
        "componentsUsed": [
          "Breadcrumbs",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-separators.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-breadcrumbs-variants",
      "type": "registry:block",
      "title": "Breadcrumbs — Variants",
      "description": "Compare the default and supporting variants side by side. Use the supporting variant in dense UIs like admin panels where the breadcrumb should be subtle.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-breadcrumbs-variants/BreadcrumbsSupportingVariant.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/BreadcrumbsSupportingVariant.tsx"
        },
        {
          "path": "registry/example-breadcrumbs-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/breadcrumbs/variants",
        "aliases": [],
        "exampleFor": "Breadcrumbs",
        "category": "components/Breadcrumbs",
        "componentsUsed": [
          "Breadcrumbs",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-breadcrumbs-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-end-slot",
      "type": "registry:block",
      "title": "Button — End Slot",
      "description": "Buttons with a trailing badge showing a count or status. Use for notification counts, unread messages, or any button that needs a visual indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-end-slot/ButtonWithEndSlot.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonWithEndSlot.tsx"
        },
        {
          "path": "registry/example-button-end-slot/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-end-slot.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button/end-slot",
        "aliases": [],
        "exampleFor": "Button",
        "category": "components/Button",
        "componentsUsed": [
          "Button",
          "Badge",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-end-slot.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-floating",
      "type": "registry:block",
      "title": "Button — Floating",
      "description": "A floating action button raised with `elevation=\"med\"`. Use elevation for buttons that hover above content, like a FAB.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-floating/ButtonFloating.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonFloating.tsx"
        },
        {
          "path": "registry/example-button-floating/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-floating.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button/floating",
        "aliases": [],
        "exampleFor": "Button",
        "category": "components/Button",
        "componentsUsed": [
          "Button",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-floating.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-group-basic",
      "type": "registry:block",
      "title": "ButtonGroup — Basic",
      "description": "Three related actions joined into a single connected control. Provide a group label for accessibility and keep all buttons the same variant so they read as one unit.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-group-basic/ButtonGroupBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonGroupBasic.tsx"
        },
        {
          "path": "registry/example-button-group-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-group-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button-group/basic",
        "aliases": [],
        "exampleFor": "ButtonGroup",
        "category": "components/ButtonGroup",
        "componentsUsed": [
          "ButtonGroup",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-group-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-group-floating",
      "type": "registry:block",
      "title": "ButtonGroup — Floating",
      "description": "A grouped action bar raised with `elevation=\"med\"`. The connected buttons share one surface, so the shadow lifts them as a unit.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-group-floating/ButtonGroupFloating.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonGroupFloating.tsx"
        },
        {
          "path": "registry/example-button-group-floating/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-group-floating.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button-group/floating",
        "aliases": [],
        "exampleFor": "ButtonGroup",
        "category": "components/ButtonGroup",
        "componentsUsed": [
          "ButtonGroup",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-group-floating.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-icon",
      "type": "registry:block",
      "title": "Button — Icon",
      "description": "Buttons with a leading icon that reinforces the label. Use when the icon helps the user identify the action faster, like a plus for \"New\" or a trash can for \"Delete\".",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-icon/ButtonWithIcon.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonWithIcon.tsx"
        },
        {
          "path": "registry/example-button-icon/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-icon.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button/icon",
        "aliases": [],
        "exampleFor": "Button",
        "category": "components/Button",
        "componentsUsed": [
          "Button",
          "Icon",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-icon.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-sizes",
      "type": "registry:block",
      "title": "Button — Sizes",
      "description": "Small, medium, and large buttons side by side. Use small in dense UIs like toolbars, medium for most cases, and large for prominent CTAs.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-sizes/ButtonSizeVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonSizeVariants.tsx"
        },
        {
          "path": "registry/example-button-sizes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-sizes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button/sizes",
        "aliases": [],
        "exampleFor": "Button",
        "category": "components/Button",
        "componentsUsed": [
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-sizes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-button-variants",
      "type": "registry:block",
      "title": "Button — Variants",
      "description": "All 4 button variants in default, disabled, and loading states. Use primary for the main action, secondary for most others, ghost for low-emphasis, and destructive for dangerous actions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-button-variants/ButtonVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ButtonVariants.tsx"
        },
        {
          "path": "registry/example-button-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-button-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/button/variants",
        "aliases": [],
        "exampleFor": "Button",
        "category": "components/Button",
        "componentsUsed": [
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-button-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-calendar-constraints",
      "type": "registry:block",
      "title": "Calendar — Constraints",
      "description": "Limit which dates can be selected using min/max bounds and custom rules like weekdays only. Use for scheduling UIs where certain dates are unavailable.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-calendar-constraints/CalendarConstraints.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CalendarConstraints.tsx"
        },
        {
          "path": "registry/example-calendar-constraints/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-calendar-constraints.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/calendar/constraints",
        "aliases": [],
        "exampleFor": "Calendar",
        "category": "components/Calendar",
        "componentsUsed": [
          "Calendar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-calendar-constraints.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-calendar-range",
      "type": "registry:block",
      "title": "Calendar — Range",
      "description": "Pick a start and end date with the range highlighted between them. Use for booking dates, time-off requests, or report filters.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-calendar-range/CalendarRangeWithValue.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CalendarRangeWithValue.tsx"
        },
        {
          "path": "registry/example-calendar-range/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-calendar-range.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/calendar/range",
        "aliases": [],
        "exampleFor": "Calendar",
        "category": "components/Calendar",
        "componentsUsed": [
          "Calendar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-calendar-range.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-calendar-single",
      "type": "registry:block",
      "title": "Calendar — Single",
      "description": "Pick one date from a month grid. Use for appointment dates, due dates, or any field that needs a single date.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-calendar-single/CalendarSingle.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CalendarSingle.tsx"
        },
        {
          "path": "registry/example-calendar-single/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-calendar-single.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/calendar/single",
        "aliases": [],
        "exampleFor": "Calendar",
        "category": "components/Calendar",
        "componentsUsed": [
          "Calendar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-calendar-single.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-calendar-two-months",
      "type": "registry:block",
      "title": "Calendar — Two Months",
      "description": "Two months side by side for selecting ranges that span a month boundary. Use in booking or travel UIs where check-in and check-out often fall in different months.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-calendar-two-months/CalendarTwoMonths.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CalendarTwoMonths.tsx"
        },
        {
          "path": "registry/example-calendar-two-months/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-calendar-two-months.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/calendar/two-months",
        "aliases": [],
        "exampleFor": "Calendar",
        "category": "components/Calendar",
        "componentsUsed": [
          "Calendar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-calendar-two-months.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-card-callout",
      "type": "registry:block",
      "title": "Card — Callout",
      "description": "Muted-variant cards for tips, notes, or supplementary information. Use when content should be visually distinct but not prominent. The muted variant uses a wash background instead of the elevated default, making it feel recessed rather than raised. Works well in sidebars, help panels, or inline callouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-card-callout/CardCallout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CardCallout.tsx"
        },
        {
          "path": "registry/example-card-callout/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-card-callout.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/card/callout",
        "aliases": [],
        "exampleFor": "Card",
        "category": "components/Card",
        "componentsUsed": [
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-card-callout.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-card-elevations",
      "type": "registry:block",
      "title": "Card — Elevations",
      "description": "The four elevation levels side by side. Cards are flat by default; raise a card with `elevation` only when it needs to float above surrounding content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-card-elevations/CardElevations.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CardElevations.tsx"
        },
        {
          "path": "registry/example-card-elevations/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-card-elevations.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/card/elevations",
        "aliases": [],
        "exampleFor": "Card",
        "category": "components/Card",
        "componentsUsed": [
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-card-elevations.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-card-layout",
      "type": "registry:block",
      "title": "Card — Layout",
      "description": "A card with a structured header, content area, and footer with action buttons. Use for forms, dialogs, or settings panels that need clear sections. Pair Card with Layout to get automatic dividers between header, content, and footer. The footer aligns actions to the right by default.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-card-layout/CardWithInnerLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CardWithInnerLayout.tsx"
        },
        {
          "path": "registry/example-card-layout/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-card-layout.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/card/layout",
        "aliases": [],
        "exampleFor": "Card",
        "category": "components/Card",
        "componentsUsed": [
          "Card",
          "Layout",
          "Button",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-card-layout.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-card-simple",
      "type": "registry:block",
      "title": "Card — Simple",
      "description": "A card with a heading and body text. Use for summaries, descriptions, or any grouped content that needs visual separation from the page. The card handles its own border, background, and padding; just pass your content as children. Set a width to constrain it, or leave it to fill the parent.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-card-simple/CardWithSimpleContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CardWithSimpleContent.tsx"
        },
        {
          "path": "registry/example-card-simple/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-card-simple.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/card/simple",
        "aliases": [],
        "exampleFor": "Card",
        "category": "components/Card",
        "componentsUsed": [
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-card-simple.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-card-variants",
      "type": "registry:block",
      "title": "Card — Variants",
      "description": "Default, muted, and color variants side by side. Use color variants to categorize cards visually, like team colors, project tags, or content types. Each color uses the corresponding background token from the theme, so they adapt to light and dark mode automatically.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-card-variants/CardVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CardVariants.tsx"
        },
        {
          "path": "registry/example-card-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-card-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/card/variants",
        "aliases": [],
        "exampleFor": "Card",
        "category": "components/Card",
        "componentsUsed": [
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-card-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-carousel-cards",
      "type": "registry:block",
      "title": "Carousel — Cards",
      "description": "A horizontally scrollable row of cards with snap scrolling enabled. Use for feature grids, product lists, or any set of cards that overflows the available width. The carousel adds fade edges and navigation buttons automatically.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-carousel-cards/CarouselCards.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CarouselCards.tsx"
        },
        {
          "path": "registry/example-carousel-cards/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-carousel-cards.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/carousel/cards",
        "aliases": [],
        "exampleFor": "Carousel",
        "category": "components/Carousel",
        "componentsUsed": [
          "Carousel",
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-carousel-cards.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-carousel-snap",
      "type": "registry:block",
      "title": "Carousel — Snap",
      "description": "Scroll-snap carousel with navigation buttons and team member cards. Each card snaps to the start edge on scroll. Use when items should be viewed one at a time rather than as a continuous strip.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-carousel-snap/CarouselSnap.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CarouselSnap.tsx"
        },
        {
          "path": "registry/example-carousel-snap/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-carousel-snap.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/carousel/snap",
        "aliases": [],
        "exampleFor": "Carousel",
        "category": "components/Carousel",
        "componentsUsed": [
          "Carousel",
          "Avatar",
          "Badge",
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-carousel-snap.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-center-horizontal-center",
      "type": "registry:block",
      "title": "Center — Horizontal Center",
      "description": "A formatting control group centered with axis=\"horizontal\" in the default horizontal writing mode. In other writing modes, Center currently follows the flex main axis rather than guaranteeing physical horizontal centering.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-center-horizontal-center/CenterHorizontal.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CenterHorizontal.tsx"
        },
        {
          "path": "registry/example-center-horizontal-center/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-center-horizontal-center.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/center/horizontal-center",
        "aliases": [],
        "exampleFor": "Center",
        "category": "components/Center",
        "componentsUsed": [
          "Center",
          "Card",
          "Icon",
          "IconButton",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-center-horizontal-center.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-center-vertical-horizontal-center",
      "type": "registry:block",
      "title": "Center — Vertical & Horizontal Center",
      "description": "An empty state with an icon, heading, and description centered both vertically and horizontally inside a card. This is the most common use of Center: placing content in the middle of a fixed-height area like a panel, card, or content region. The height prop defines the centering space.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-center-vertical-horizontal-center/CenterInsideACard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CenterInsideACard.tsx"
        },
        {
          "path": "registry/example-center-vertical-horizontal-center/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-center-vertical-horizontal-center.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/center/vertical-horizontal-center",
        "aliases": [],
        "exampleFor": "Center",
        "category": "components/Center",
        "componentsUsed": [
          "Center",
          "Card",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-center-vertical-horizontal-center.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-attachments",
      "type": "registry:block",
      "title": "ChatComposer — Attachments",
      "description": "Chat composer with removable file tokens in a collapsible drawer. Use when users can attach files or context to their message.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-attachments/ChatComposerAttachments.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerAttachments.tsx"
        },
        {
          "path": "registry/example-chat-composer-attachments/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-attachments.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/attachments",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Token",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-attachments.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-drawer-feedback",
      "type": "registry:block",
      "title": "ChatComposerDrawer — Feedback",
      "description": "Chat composer drawer with a feedback prompt and selectable lettered options. Use for user confirmation workflows that require explicit action before proceeding.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-drawer-feedback/ChatComposerDrawerFeedback.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerDrawerFeedback.tsx"
        },
        {
          "path": "registry/example-chat-composer-drawer-feedback/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-drawer-feedback.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer-drawer/feedback",
        "aliases": [],
        "exampleFor": "ChatComposerDrawer",
        "category": "components/ChatComposerDrawer",
        "componentsUsed": [
          "ChatComposer",
          "List",
          "Badge",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-drawer-feedback.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-flat",
      "type": "registry:block",
      "title": "ChatComposer — Flat",
      "description": "The composer is raised by default (`elevation=\"low\"`). Set `elevation=\"none\"` to flatten it; it then draws a border with the same rest / hover / focus treatment as a text input.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-flat/ChatComposerFlat.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerFlat.tsx"
        },
        {
          "path": "registry/example-chat-composer-flat/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-flat.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/flat",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-flat.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-footer-actions",
      "type": "registry:block",
      "title": "ChatComposer — Footer Actions",
      "description": "Chat composer with dropdown menus for a model selector and settings in the footer, and a mic button in the send actions slot.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-footer-actions/ChatComposerFooterActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerFooterActions.tsx"
        },
        {
          "path": "registry/example-chat-composer-footer-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-footer-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/footer-actions",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Button",
          "DropdownMenu",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-footer-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-full-featured",
      "type": "registry:block",
      "title": "ChatComposer — Full Featured",
      "description": "Chat composer with all slots populated: collapsible attachment drawer, header actions, context progress bar, footer dropdown menus, and mic button. Shows the maximum composer configuration.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-full-featured/ChatComposerFullFeatured.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerFullFeatured.tsx"
        },
        {
          "path": "registry/example-chat-composer-full-featured/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-full-featured.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/full-featured",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Token",
          "Button",
          "DropdownMenu",
          "Icon",
          "ProgressBar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-full-featured.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-input-controlled",
      "type": "registry:block",
      "title": "ChatComposerInput — Controlled",
      "description": "Controlled chat input with live value display. Use controlled mode when you need to read or transform the input value outside the composer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-input-controlled/ChatComposerInputControlledInput.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerInputControlledInput.tsx"
        },
        {
          "path": "registry/example-chat-composer-input-controlled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-controlled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer-input/controlled",
        "aliases": [],
        "exampleFor": "ChatComposerInput",
        "category": "components/ChatComposerInput",
        "componentsUsed": [
          "ChatComposer",
          "ChatComposerInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-controlled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-input-disabled",
      "type": "registry:block",
      "title": "ChatComposerInput — Disabled",
      "description": "Composer in a disabled state. Use when the input should be visible but not interactive, such as during streaming or when a prerequisite is unmet.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-input-disabled/ChatComposerInputDisabled.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerInputDisabled.tsx"
        },
        {
          "path": "registry/example-chat-composer-input-disabled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-disabled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer-input/disabled",
        "aliases": [],
        "exampleFor": "ChatComposerInput",
        "category": "components/ChatComposerInput",
        "componentsUsed": [
          "ChatComposer",
          "ChatComposerInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-disabled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-input-mentions",
      "type": "registry:block",
      "title": "ChatComposerInput — Mentions",
      "description": "Chat input with an @ trigger that opens a typeahead menu for mentioning users. Selected names appear as inline tokens.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-input-mentions/ChatComposerInputMentionTrigger.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerInputMentionTrigger.tsx"
        },
        {
          "path": "registry/example-chat-composer-input-mentions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-mentions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer-input/mentions",
        "aliases": [],
        "exampleFor": "ChatComposerInput",
        "category": "components/ChatComposerInput",
        "componentsUsed": [
          "ChatComposer",
          "ChatComposerInput",
          "Typeahead",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-mentions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-input-multiple-triggers",
      "type": "registry:block",
      "title": "ChatComposerInput — Multiple Triggers",
      "description": "Chat input with both @ mentions and / commands. Each trigger type renders tokens in a distinct color so users can tell them apart at a glance.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-input-multiple-triggers/ChatComposerInputMultipleTriggers.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerInputMultipleTriggers.tsx"
        },
        {
          "path": "registry/example-chat-composer-input-multiple-triggers/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-multiple-triggers.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer-input/multiple-triggers",
        "aliases": [],
        "exampleFor": "ChatComposerInput",
        "category": "components/ChatComposerInput",
        "componentsUsed": [
          "ChatComposer",
          "ChatComposerInput",
          "Typeahead",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-multiple-triggers.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-input-slash-commands",
      "type": "registry:block",
      "title": "ChatComposerInput — Slash Commands",
      "description": "Chat input with a / trigger for command selection. Use for AI assistants or bots that support structured commands.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-input-slash-commands/ChatComposerInputSlashCommands.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerInputSlashCommands.tsx"
        },
        {
          "path": "registry/example-chat-composer-input-slash-commands/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-slash-commands.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer-input/slash-commands",
        "aliases": [],
        "exampleFor": "ChatComposerInput",
        "category": "components/ChatComposerInput",
        "componentsUsed": [
          "ChatComposer",
          "ChatComposerInput",
          "Typeahead",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-input-slash-commands.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-simple",
      "type": "registry:block",
      "title": "ChatComposer — Simple",
      "description": "Minimal chat composer with a placeholder and submit handler. The simplest way to drop a message input into a page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-simple/ChatComposerSimple.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerSimple.tsx"
        },
        {
          "path": "registry/example-chat-composer-simple/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-simple.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/simple",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-simple.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-streaming",
      "type": "registry:block",
      "title": "ChatComposer — Streaming",
      "description": "Chat composer with streaming state and a stop button. Use when the assistant is generating a response and the user can cancel.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-streaming/ChatComposerStreaming.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerStreaming.tsx"
        },
        {
          "path": "registry/example-chat-composer-streaming/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-streaming.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/streaming",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-streaming.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-composer-validation",
      "type": "registry:block",
      "title": "ChatComposer — Validation",
      "description": "Chat composer with error and warning status messages. Status can appear above or below the composer to surface validation or system feedback.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-composer-validation/ChatComposerValidation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatComposerValidation.tsx"
        },
        {
          "path": "registry/example-chat-composer-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-composer-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-composer/validation",
        "aliases": [],
        "exampleFor": "ChatComposer",
        "category": "components/ChatComposer",
        "componentsUsed": [
          "ChatComposer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-composer-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-tool-calls-expandable",
      "type": "registry:block",
      "title": "ChatToolCalls — Expandable",
      "description": "Tool calls with expandable result details showing diffs and command output in code blocks. Click a row to reveal its result.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-tool-calls-expandable/ChatToolCallsInteractiveToolCalls.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatToolCallsInteractiveToolCalls.tsx"
        },
        {
          "path": "registry/example-chat-tool-calls-expandable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-tool-calls-expandable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-tool-calls/expandable",
        "aliases": [],
        "exampleFor": "ChatToolCalls",
        "category": "components/ChatToolCalls",
        "componentsUsed": [
          "ChatToolCalls",
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-tool-calls-expandable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-tool-calls-simple",
      "type": "registry:block",
      "title": "ChatToolCalls — Simple",
      "description": "A single inline tool call above a collapsible multi-call group with diff stats. Shows both layouts side by side.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-tool-calls-simple/ChatToolCallsToolCallsWithNodes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatToolCallsToolCallsWithNodes.tsx"
        },
        {
          "path": "registry/example-chat-tool-calls-simple/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-tool-calls-simple.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-tool-calls/simple",
        "aliases": [],
        "exampleFor": "ChatToolCalls",
        "category": "components/ChatToolCalls",
        "componentsUsed": [
          "ChatToolCalls",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-tool-calls-simple.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-chat-tool-calls-statuses",
      "type": "registry:block",
      "title": "ChatToolCalls — Statuses",
      "description": "All four status states (pending, running, complete, and error) shown together in a single group.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-chat-tool-calls-statuses/ChatToolCallsStatuses.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ChatToolCallsStatuses.tsx"
        },
        {
          "path": "registry/example-chat-tool-calls-statuses/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-chat-tool-calls-statuses.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/chat-tool-calls/statuses",
        "aliases": [],
        "exampleFor": "ChatToolCalls",
        "category": "components/ChatToolCalls",
        "componentsUsed": [
          "ChatToolCalls"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-chat-tool-calls-statuses.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-checkbox-input-indeterminate",
      "type": "registry:block",
      "title": "CheckboxInput — Indeterminate",
      "description": "A \"select all\" checkbox that controls a group of options. When only some options are checked, it shows a dash instead of a checkmark. Clicking it checks or unchecks everything.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-checkbox-input-indeterminate/CheckboxInputIndeterminateState.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CheckboxInputIndeterminateState.tsx"
        },
        {
          "path": "registry/example-checkbox-input-indeterminate/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-checkbox-input-indeterminate.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/checkbox-input/indeterminate",
        "aliases": [],
        "exampleFor": "CheckboxInput",
        "category": "components/CheckboxInput",
        "componentsUsed": [
          "CheckboxInput",
          "Divider",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-checkbox-input-indeterminate.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-checkbox-input-states",
      "type": "registry:block",
      "title": "CheckboxInput — States",
      "description": "Checkboxes with labels and descriptions in checked, unchecked, and disabled states. Each checkbox controls a single on/off setting. Add a description to explain what the setting does.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-checkbox-input-states/CheckboxInputBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CheckboxInputBasic.tsx"
        },
        {
          "path": "registry/example-checkbox-input-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-checkbox-input-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/checkbox-input/states",
        "aliases": [],
        "exampleFor": "CheckboxInput",
        "category": "components/CheckboxInput",
        "componentsUsed": [
          "CheckboxInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-checkbox-input-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-checkbox-input-status",
      "type": "registry:block",
      "title": "CheckboxInput — Status",
      "description": "Checkboxes with error, warning, and success validation messages. Use the status prop to show feedback after form validation: errors block submission, warnings inform, and success confirms.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-checkbox-input-status/CheckboxInputStatusVariations.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CheckboxInputStatusVariations.tsx"
        },
        {
          "path": "registry/example-checkbox-input-status/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-checkbox-input-status.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/checkbox-input/status",
        "aliases": [],
        "exampleFor": "CheckboxInput",
        "category": "components/CheckboxInput",
        "componentsUsed": [
          "CheckboxInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-checkbox-input-status.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-checkbox-list-item-basic",
      "type": "registry:block",
      "title": "CheckboxListItem — Basic",
      "description": "Checkbox items with labels and descriptions inside a controlled CheckboxList. Use for multi-select option groups like notification preferences.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-checkbox-list-item-basic/CheckboxListItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CheckboxListItemBasic.tsx"
        },
        {
          "path": "registry/example-checkbox-list-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-checkbox-list-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/checkbox-list-item/basic",
        "aliases": [],
        "exampleFor": "CheckboxListItem",
        "category": "components/CheckboxListItem",
        "componentsUsed": [
          "CheckboxList",
          "CheckboxListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-checkbox-list-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-checkbox-list-select-all-with-indeterminate",
      "type": "registry:block",
      "title": "CheckboxList — Select All With Indeterminate",
      "description": "A \"select all\" toggle at the top of a checkbox list that switches to an indeterminate dash when only some items are checked, useful for bulk actions like exporting documents or assigning permissions where users often want everything at once.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-checkbox-list-select-all-with-indeterminate/CheckboxListSelectAllPattern.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CheckboxListSelectAllPattern.tsx"
        },
        {
          "path": "registry/example-checkbox-list-select-all-with-indeterminate/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-checkbox-list-select-all-with-indeterminate.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/checkbox-list/select-all-with-indeterminate",
        "aliases": [],
        "exampleFor": "CheckboxList",
        "category": "components/CheckboxList",
        "componentsUsed": [
          "CheckboxList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-checkbox-list-select-all-with-indeterminate.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-checkbox-list-with-end-content",
      "type": "registry:block",
      "title": "CheckboxList — With End Content",
      "description": "Badges in the trailing slot show contextual info, like a price or status, next to each option without cluttering the label, so users can compare choices at a glance.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-checkbox-list-with-end-content/CheckboxListWithEndContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CheckboxListWithEndContent.tsx"
        },
        {
          "path": "registry/example-checkbox-list-with-end-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-checkbox-list-with-end-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/checkbox-list/with-end-content",
        "aliases": [],
        "exampleFor": "CheckboxList",
        "category": "components/CheckboxList",
        "componentsUsed": [
          "CheckboxList",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-checkbox-list-with-end-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-citation-inline-text",
      "type": "registry:block",
      "title": "Citation — Inline Text",
      "description": "Citations embedded within a paragraph of text, showing how they flow inline with surrounding content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-citation-inline-text/CitationInlineText.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CitationInlineText.tsx"
        },
        {
          "path": "registry/example-citation-inline-text/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-citation-inline-text.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/citation/inline-text",
        "aliases": [],
        "exampleFor": "Citation",
        "category": "components/Citation",
        "componentsUsed": [
          "Citation",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-citation-inline-text.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-citation-source-list",
      "type": "registry:block",
      "title": "Citation — Source List",
      "description": "A list of citation sources with icons, as you might show at the end of an AI-generated response or article footer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-citation-source-list/CitationSourceList.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CitationSourceList.tsx"
        },
        {
          "path": "registry/example-citation-source-list/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-citation-source-list.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/citation/source-list",
        "aliases": [],
        "exampleFor": "Citation",
        "category": "components/Citation",
        "componentsUsed": [
          "Citation",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-citation-source-list.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-clickable-card-elevated",
      "type": "registry:block",
      "title": "Clickable Card — Elevated",
      "description": "A clickable card raised with `elevation=\"med\"` so the shadow signals the whole surface is interactive.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-clickable-card-elevated/ClickableCardElevated.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ClickableCardElevated.tsx"
        },
        {
          "path": "registry/example-clickable-card-elevated/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-clickable-card-elevated.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/clickable-card/elevated",
        "aliases": [],
        "exampleFor": "ClickableCard",
        "category": "components/Card",
        "componentsUsed": [
          "ClickableCard",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-clickable-card-elevated.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-clickable-card-with-nested-button",
      "type": "registry:block",
      "title": "Clickable Card — Nested Button",
      "description": "A product card that navigates on click but has an independent \"Add to cart\" button inside.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-clickable-card-with-nested-button/ClickableCardWithNestedButton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ClickableCardWithNestedButton.tsx"
        },
        {
          "path": "registry/example-clickable-card-with-nested-button/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-clickable-card-with-nested-button.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/clickable-card/with-nested-button",
        "aliases": [],
        "exampleFor": "ClickableCard",
        "category": "components/Card",
        "componentsUsed": [
          "ClickableCard",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-clickable-card-with-nested-button.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-block-code-config",
      "type": "registry:block",
      "title": "Code — Config",
      "description": "A JSON configuration file with a title bar and line numbers. The title prop adds a filename label in the header so readers know which file the code belongs to.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-block-code-config/CodeBlockJSONConfig.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeBlockJSONConfig.tsx"
        },
        {
          "path": "registry/example-code-block-code-config/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-block-code-config.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code-block/code-config",
        "aliases": [],
        "exampleFor": "CodeBlock",
        "category": "components/CodeBlock",
        "componentsUsed": [
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-block-code-config.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-block-code-highlighted",
      "type": "registry:block",
      "title": "Code — Highlighted",
      "description": "TypeScript code with specific lines highlighted to draw attention to a key section. Use highlightLines to call out new or important code in tutorials and changelogs.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-block-code-highlighted/CodeBlockHighlightedLines.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeBlockHighlightedLines.tsx"
        },
        {
          "path": "registry/example-code-block-code-highlighted/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-block-code-highlighted.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code-block/code-highlighted",
        "aliases": [],
        "exampleFor": "CodeBlock",
        "category": "components/CodeBlock",
        "componentsUsed": [
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-block-code-highlighted.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-block-code-scrollable",
      "type": "registry:block",
      "title": "Code — Scrollable",
      "description": "A long code block with a max height that enables vertical scrolling. Use maxHeight to keep the block from dominating the page when displaying large files.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-block-code-scrollable/CodeBlockScrollableBlock.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeBlockScrollableBlock.tsx"
        },
        {
          "path": "registry/example-code-block-code-scrollable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-block-code-scrollable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code-block/code-scrollable",
        "aliases": [],
        "exampleFor": "CodeBlock",
        "category": "components/CodeBlock",
        "componentsUsed": [
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-block-code-scrollable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-block-code-snippet",
      "type": "registry:block",
      "title": "Code — Snippet",
      "description": "Short terminal commands with no header: the copy button sits in its own column beside the code, so a one-line command reads as a single row and a long line ends before the button instead of running under it. Use for install instructions or one-liner commands that readers will paste directly.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-block-code-snippet/CodeBlockBashCommand.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeBlockBashCommand.tsx"
        },
        {
          "path": "registry/example-code-block-code-snippet/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-block-code-snippet.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code-block/code-snippet",
        "aliases": [],
        "exampleFor": "CodeBlock",
        "category": "components/CodeBlock",
        "componentsUsed": [
          "CodeBlock",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-block-code-snippet.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-block-code-terminal",
      "type": "registry:block",
      "title": "Code — Terminal",
      "description": "A dark terminal-style command block: a bash CodeBlock wrapped in SyntaxTheme with the GitHub Dark preset, copy button on, and no line numbers. Use for shell sessions or CLI output that should read as a terminal even on light pages. Reach for a dark syntax preset instead of hand-rolling a dark box with custom CSS.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-block-code-terminal/CodeBlockTerminal.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeBlockTerminal.tsx"
        },
        {
          "path": "registry/example-code-block-code-terminal/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-block-code-terminal.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code-block/code-terminal",
        "aliases": [],
        "exampleFor": "CodeBlock",
        "category": "components/CodeBlock",
        "componentsUsed": [
          "CodeBlock",
          "SyntaxTheme"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-block-code-terminal.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-content-types",
      "type": "registry:block",
      "title": "Code — Content Types",
      "description": "Inline code used for variables, terminal commands, CSS properties, file paths, and keyboard shortcuts. Shows how Code adapts to different kinds of technical content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-content-types/CodeVariousContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeVariousContent.tsx"
        },
        {
          "path": "registry/example-code-content-types/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-content-types.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code/content-types",
        "aliases": [],
        "exampleFor": "Code",
        "category": "components/Code",
        "componentsUsed": [
          "Code",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-content-types.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-inline",
      "type": "registry:block",
      "title": "Code — Inline",
      "description": "Inline code references mixed within a paragraph of body text. Use Code to mark up function names, hooks, or API terms so they stand out from surrounding prose.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-inline/CodeInlineInParagraph.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeInlineInParagraph.tsx"
        },
        {
          "path": "registry/example-code-inline/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-inline.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code/inline",
        "aliases": [],
        "exampleFor": "Code",
        "category": "components/Code",
        "componentsUsed": [
          "Code",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-inline.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-code-text-sizes",
      "type": "registry:block",
      "title": "Code — Text Sizes",
      "description": "Inline code rendered inside heading, body, supporting, and label text. Code automatically matches the font size of its parent text element.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-code-text-sizes/CodeAcrossTextSizes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CodeAcrossTextSizes.tsx"
        },
        {
          "path": "registry/example-code-text-sizes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-code-text-sizes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/code/text-sizes",
        "aliases": [],
        "exampleFor": "Code",
        "category": "components/Code",
        "componentsUsed": [
          "Code",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-code-text-sizes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-collapsible-controlled",
      "type": "registry:block",
      "title": "Collapsible — Controlled",
      "description": "Manage the open section from parent state, so something other than a click can move it: a URL parameter, a form jumping to the step that failed validation, or the Previous/Next controls shown here. onChange hands back the whole open value.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-collapsible-controlled/CollapsibleControlledAccordion.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleControlledAccordion.tsx"
        },
        {
          "path": "registry/example-collapsible-controlled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-collapsible-controlled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/collapsible/controlled",
        "aliases": [],
        "exampleFor": "Collapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "CollapsibleGroup",
          "Card",
          "Text",
          "Button",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-collapsible-controlled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-collapsible-faq",
      "type": "registry:block",
      "title": "Collapsible — FAQ",
      "description": "FAQ built with hasDividers: row hairlines and density padding with no custom CSS. Questions set their own type — body at semibold, not the trigger's default 17px large — so a list of questions reads as rows rather than a stack of headings, and question and answer separate on weight and color instead of size.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-collapsible-faq/CollapsibleDividedAccordion.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleDividedAccordion.tsx"
        },
        {
          "path": "registry/example-collapsible-faq/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-collapsible-faq.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/collapsible/faq",
        "aliases": [
          "examples/collapsible/divided-accordion"
        ],
        "exampleFor": "Collapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "CollapsibleGroup",
          "Text",
          "Link",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-collapsible-faq.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-collapsible-group-density",
      "type": "registry:block",
      "title": "CollapsibleGroup — Density",
      "description": "density sets the block padding on every row in the group, so a list of sections can be tuned to the surface it sits on without touching the rows. compact for dense surfaces like sidebars and inspectors, balanced (the default) for page content, spacious for a short list that is the main thing on the page. It follows Table's scale and pairs with hasDividers, which turns it on at balanced.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-collapsible-group-density/CollapsibleGroupAccordion.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleGroupAccordion.tsx"
        },
        {
          "path": "registry/example-collapsible-group-density/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-collapsible-group-density.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/collapsible-group/density",
        "aliases": [
          "examples/collapsible-group/accordion"
        ],
        "exampleFor": "CollapsibleGroup",
        "category": "components/CollapsibleGroup",
        "componentsUsed": [
          "CollapsibleGroup",
          "Collapsible",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-collapsible-group-density.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-collapsible-multiple-mode",
      "type": "registry:block",
      "title": "Collapsible — Multiple Mode",
      "description": "Several sections open at once, for comparing across them — feature lists, pricing tiers. One Collapsible per Card, so each trigger keeps its own large type: it is the heading of its surface, not a row in a list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-collapsible-multiple-mode/CollapsibleMultipleAccordion.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleMultipleAccordion.tsx"
        },
        {
          "path": "registry/example-collapsible-multiple-mode/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-collapsible-multiple-mode.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/collapsible/multiple-mode",
        "aliases": [],
        "exampleFor": "Collapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "CollapsibleGroup",
          "Card",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-collapsible-multiple-mode.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-collapsible-single-mode",
      "type": "registry:block",
      "title": "Collapsible — Single Mode",
      "description": "Only one section open at a time, so a single body of content competes for attention. Use defaultValue to pre-expand whichever section a first-time reader needs. Each Collapsible owns a Section, so its trigger is that section heading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-collapsible-single-mode/CollapsibleSingleAccordion.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleSingleAccordion.tsx"
        },
        {
          "path": "registry/example-collapsible-single-mode/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-collapsible-single-mode.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/collapsible/single-mode",
        "aliases": [],
        "exampleFor": "Collapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "CollapsibleGroup",
          "Section",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-collapsible-single-mode.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-collapsible-with-dividers",
      "type": "registry:block",
      "title": "Collapsible — With Dividers",
      "description": "A flat list on the page background with hand-placed Dividers, for detail panels and sidebars where cards would add too much weight. Rows, so the triggers step down to body-semibold and a supporting metadata line sits under each answer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-collapsible-with-dividers/CollapsibleWithoutCard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleWithoutCard.tsx"
        },
        {
          "path": "registry/example-collapsible-with-dividers/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-collapsible-with-dividers.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/collapsible/with-dividers",
        "aliases": [],
        "exampleFor": "Collapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "Divider",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-collapsible-with-dividers.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-async-search",
      "type": "registry:block",
      "title": "CommandPalette — Async Search",
      "description": "Server-side search with loading spinner and custom empty states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-async-search/CommandPaletteAsyncSearch.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteAsyncSearch.tsx"
        },
        {
          "path": "registry/example-command-palette-async-search/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-async-search.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette/async-search",
        "aliases": [],
        "exampleFor": "CommandPalette",
        "category": "components/CommandPalette",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-async-search.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-custom-footer",
      "type": "registry:block",
      "title": "CommandPalette — Custom Footer",
      "description": "Command palette with a custom footer tip message.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-custom-footer/CommandPaletteCustomFooter.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteCustomFooter.tsx"
        },
        {
          "path": "registry/example-command-palette-custom-footer/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-custom-footer.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette/custom-footer",
        "aliases": [],
        "exampleFor": "CommandPalette",
        "category": "components/CommandPalette",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteFooter",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-custom-footer.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-empty-basic",
      "type": "registry:block",
      "title": "CommandPaletteEmpty — Basic",
      "description": "A command palette with no results, showing a custom empty message via emptyBootstrapText. Use to explain why the palette is empty and what the user can do next.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-empty-basic/CommandPaletteEmptyBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteEmptyBasic.tsx"
        },
        {
          "path": "registry/example-command-palette-empty-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-empty-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette-empty/basic",
        "aliases": [],
        "exampleFor": "CommandPaletteEmpty",
        "category": "components/CommandPaletteEmpty",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteEmpty",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-empty-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-footer-basic",
      "type": "registry:block",
      "title": "CommandPaletteFooter — Basic",
      "description": "A command palette footer with no children, rendering the built-in keyboard navigation hints. Use CommandPaletteFooter without content to get the default arrow-key, Enter, and Esc hints below the results list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-footer-basic/CommandPaletteFooterBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteFooterBasic.tsx"
        },
        {
          "path": "registry/example-command-palette-footer-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-footer-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette-footer/basic",
        "aliases": [],
        "exampleFor": "CommandPaletteFooter",
        "category": "components/CommandPaletteFooter",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteFooter"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-footer-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-group-basic",
      "type": "registry:block",
      "title": "CommandPaletteGroup — Basic",
      "description": "Command palette items organized under group headings using the composed CommandPaletteGroup form. Use to separate related commands into labeled sections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-group-basic/CommandPaletteGroupBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteGroupBasic.tsx"
        },
        {
          "path": "registry/example-command-palette-group-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-group-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette-group/basic",
        "aliases": [],
        "exampleFor": "CommandPaletteGroup",
        "category": "components/CommandPaletteGroup",
        "componentsUsed": [
          "CommandPaletteGroup",
          "CommandPaletteItem",
          "CommandPaletteList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-group-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-grouped",
      "type": "registry:block",
      "title": "CommandPalette — Grouped",
      "description": "Command palette with items grouped via auxiliaryData.group.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-grouped/CommandPaletteAutoGrouped.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteAutoGrouped.tsx"
        },
        {
          "path": "registry/example-command-palette-grouped/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-grouped.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette/grouped",
        "aliases": [],
        "exampleFor": "CommandPalette",
        "category": "components/CommandPalette",
        "componentsUsed": [
          "CommandPalette"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-grouped.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-input-with-end-content",
      "type": "registry:block",
      "title": "CommandPaletteInput — With End Content",
      "description": "Custom placeholder and a keyboard shortcut badge in the trailing slot via endContent.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-input-with-end-content/CommandPaletteInputBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteInputBasic.tsx"
        },
        {
          "path": "registry/example-command-palette-input-with-end-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-input-with-end-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette-input/with-end-content",
        "aliases": [],
        "exampleFor": "CommandPaletteInput",
        "category": "components/CommandPaletteInput",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteInput",
          "Kbd"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-input-with-end-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-item-basic",
      "type": "registry:block",
      "title": "CommandPaletteItem — Basic",
      "description": "Selectable command palette items inside a CommandPaletteList, including highlighted and disabled states. Use when composing a palette manually instead of a search source.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-item-basic/CommandPaletteItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteItemBasic.tsx"
        },
        {
          "path": "registry/example-command-palette-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette-item/basic",
        "aliases": [],
        "exampleFor": "CommandPaletteItem",
        "category": "components/CommandPaletteItem",
        "componentsUsed": [
          "CommandPaletteItem",
          "CommandPaletteList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-list-item-states",
      "type": "registry:block",
      "title": "CommandPaletteList — Item States",
      "description": "Flat list showing the highlighted, selected, and disabled item states. Use CommandPaletteGroup to add section headings.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-list-item-states/CommandPaletteListBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteListBasic.tsx"
        },
        {
          "path": "registry/example-command-palette-list-item-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-list-item-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette-list/item-states",
        "aliases": [],
        "exampleFor": "CommandPaletteList",
        "category": "components/CommandPaletteList",
        "componentsUsed": [
          "CommandPaletteList",
          "CommandPaletteItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-list-item-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-picker-mode",
      "type": "registry:block",
      "title": "CommandPalette — Picker Mode",
      "description": "Single-value picker with persistent selection and check indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-picker-mode/CommandPalettePickerMode.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPalettePickerMode.tsx"
        },
        {
          "path": "registry/example-command-palette-picker-mode/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-picker-mode.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette/picker-mode",
        "aliases": [],
        "exampleFor": "CommandPalette",
        "category": "components/CommandPalette",
        "componentsUsed": [
          "CommandPalette",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-picker-mode.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-command-palette-rich-items",
      "type": "registry:block",
      "title": "CommandPalette — Rich Items",
      "description": "Custom item rendering with icons, keyboard shortcuts, and keyword search.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-command-palette-rich-items/CommandPaletteRichItems.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CommandPaletteRichItems.tsx"
        },
        {
          "path": "registry/example-command-palette-rich-items/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-command-palette-rich-items.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/command-palette/rich-items",
        "aliases": [],
        "exampleFor": "CommandPalette",
        "category": "components/CommandPalette",
        "componentsUsed": [
          "CommandPalette",
          "Text",
          "Kbd"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-command-palette-rich-items.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-complex-selector-deadline-picker",
      "type": "registry:block",
      "title": "Complex Selector — Deadline Picker",
      "description": "A multi-step deadline field: pick a preset like Today or Next week, or switch to a custom date and time before applying. The popup stays open until the user commits, so the content owns the Apply action.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-complex-selector-deadline-picker/ComplexSelectorDeadlinePicker.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ComplexSelectorDeadlinePicker.tsx"
        },
        {
          "path": "registry/example-complex-selector-deadline-picker/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-complex-selector-deadline-picker.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/complex-selector/deadline-picker",
        "aliases": [],
        "exampleFor": "ComplexSelector",
        "category": "components/ComplexSelector",
        "componentsUsed": [
          "ComplexSelector",
          "RadioList",
          "DateInput",
          "TimeInput",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-complex-selector-deadline-picker.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-complex-selector-tree-search",
      "type": "registry:block",
      "title": "Complex Selector — Tree Search",
      "description": "A destination picker that combines a search field with a TreeList hierarchy. TreeList owns tree keyboard navigation; ComplexSelector owns the trigger, popover, and focus restore. Selecting a folder closes the popup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-complex-selector-tree-search/ComplexSelectorTreeSearch.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ComplexSelectorTreeSearch.tsx"
        },
        {
          "path": "registry/example-complex-selector-tree-search/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-complex-selector-tree-search.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/complex-selector/tree-search",
        "aliases": [],
        "exampleFor": "ComplexSelector",
        "category": "components/ComplexSelector",
        "componentsUsed": [
          "ComplexSelector",
          "TextInput",
          "TreeList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-complex-selector-tree-search.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-context-menu-basic",
      "type": "registry:block",
      "title": "ContextMenu — Basic",
      "description": "An adaptive context area: long-press opens a BottomSheet on compact touch screens, while right-click opens a cursor-positioned menu elsewhere.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-context-menu-basic/ContextMenuBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ContextMenuBasic.tsx"
        },
        {
          "path": "registry/example-context-menu-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-context-menu-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/context-menu/basic",
        "aliases": [],
        "exampleFor": "ContextMenu",
        "category": "components/ContextMenu",
        "componentsUsed": [
          "ContextMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-context-menu-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-context-menu-bottom-sheet",
      "type": "registry:block",
      "title": "ContextMenu — Bottom Sheet",
      "description": "A ContextMenu using the explicit BottomSheet presentation. Long-press the target on touch devices or right-click it with a pointer. Keep a visible menu trigger for important mobile actions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-context-menu-bottom-sheet/ContextMenuBottomSheet.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ContextMenuBottomSheet.tsx"
        },
        {
          "path": "registry/example-context-menu-bottom-sheet/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-context-menu-bottom-sheet.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/context-menu/bottom-sheet",
        "aliases": [],
        "exampleFor": "ContextMenu",
        "category": "components/ContextMenu",
        "componentsUsed": [
          "ContextMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-context-menu-bottom-sheet.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-context-menu-item-basic",
      "type": "registry:block",
      "title": "ContextMenuItem — Basic",
      "description": "Context menu items with labels and secondary descriptions. Use ContextMenuItem to render custom menu entries with consistent styling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-context-menu-item-basic/ContextMenuItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ContextMenuItemBasic.tsx"
        },
        {
          "path": "registry/example-context-menu-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-context-menu-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/context-menu-item/basic",
        "aliases": [],
        "exampleFor": "ContextMenuItem",
        "category": "components/ContextMenuItem",
        "componentsUsed": [
          "ContextMenu",
          "ContextMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-context-menu-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-create-animator-playing-cards-in-plain-java-script",
      "type": "registry:block",
      "title": "createAnimator — Playing cards in plain JavaScript",
      "description": "The playing card from the useAnimator example, built in plain JavaScript with createAnimator and pointer events: it follows a drag, springs back on a gentle release, flies off with momentum on a quick flick, and a button discards it from the keyboard. React only mounts it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-create-animator-playing-cards-in-plain-java-script/AnimatorPlayingCardsVanilla.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AnimatorPlayingCardsVanilla.tsx"
        },
        {
          "path": "registry/example-create-animator-playing-cards-in-plain-java-script/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-create-animator-playing-cards-in-plain-java-script.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/create-animator/playing-cards-in-plain-java-script",
        "aliases": [],
        "exampleFor": "createAnimator",
        "category": "components/createAnimator",
        "componentsUsed": [],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-create-animator-playing-cards-in-plain-java-script.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-create-drag-to-snap-points-playing-card-in-plain-java-script",
      "type": "registry:block",
      "title": "createDragToSnapPoints — Playing card in plain JavaScript",
      "description": "The three-place playing card from the useDragToSnapPoints example, built in plain JavaScript with createDragToSnapPoints: a sideways drag settles it on the nearest place or the next after a flick, buttons settle it from the keyboard, and a live region announces the place. React only mounts it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-create-drag-to-snap-points-playing-card-in-plain-java-script/DragToSnapPointsCardVanilla.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DragToSnapPointsCardVanilla.tsx"
        },
        {
          "path": "registry/example-create-drag-to-snap-points-playing-card-in-plain-java-script/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-create-drag-to-snap-points-playing-card-in-plain-java-script.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/create-drag-to-snap-points/playing-card-in-plain-java-script",
        "aliases": [],
        "exampleFor": "createDragToSnapPoints",
        "category": "components/createDragToSnapPoints",
        "componentsUsed": [],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-create-drag-to-snap-points-playing-card-in-plain-java-script.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-input-clearable",
      "type": "registry:block",
      "title": "DateInput — Clearable",
      "description": "Date input with a clear button that resets the value. Use when the date field is optional and the user may need to undo their selection.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-input-clearable/DateInputClearable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateInputClearable.tsx"
        },
        {
          "path": "registry/example-date-input-clearable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-input-clearable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-input/clearable",
        "aliases": [],
        "exampleFor": "DateInput",
        "category": "components/DateInput",
        "componentsUsed": [
          "DateInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-input-clearable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-input-description",
      "type": "registry:block",
      "title": "DateInput — Description",
      "description": "Date input with helper text below the label explaining what the field expects. Use when the purpose of the date is not obvious from the label alone.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-input-description/DateInputWithDescription.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateInputWithDescription.tsx"
        },
        {
          "path": "registry/example-date-input-description/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-input-description.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-input/description",
        "aliases": [],
        "exampleFor": "DateInput",
        "category": "components/DateInput",
        "componentsUsed": [
          "DateInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-input-description.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-input-formats",
      "type": "registry:block",
      "title": "DateInput — Formats",
      "description": "The format prop reuses Timestamp's format vocabulary to control how the committed value is displayed: date, date_long (default), date_weekday, and system_date, or a function for a fully custom string. Formatting applies only to the committed value, never to text the user is actively typing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-input-formats/DateInputFormats.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateInputFormats.tsx"
        },
        {
          "path": "registry/example-date-input-formats/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-input-formats.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-input/formats",
        "aliases": [],
        "exampleFor": "DateInput",
        "category": "components/DateInput",
        "componentsUsed": [
          "DateInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-input-formats.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-input-min-max-constraints",
      "type": "registry:block",
      "title": "DateInput — Min/Max Constraints",
      "description": "Date input constrained to a min/max window. Use when only certain dates are valid, like booking availability or a fiscal quarter.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-input-min-max-constraints/DateInputDateRange.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateInputDateRange.tsx"
        },
        {
          "path": "registry/example-date-input-min-max-constraints/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-input-min-max-constraints.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-input/min-max-constraints",
        "aliases": [],
        "exampleFor": "DateInput",
        "category": "components/DateInput",
        "componentsUsed": [
          "DateInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-input-min-max-constraints.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-input-validation",
      "type": "registry:block",
      "title": "DateInput — Validation",
      "description": "Date input in all three status states: error, warning, and success. Use to surface validation issues, caution the user, or confirm a valid selection.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-input-validation/DateInputWithValidation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateInputWithValidation.tsx"
        },
        {
          "path": "registry/example-date-input-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-input-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-input/validation",
        "aliases": [],
        "exampleFor": "DateInput",
        "category": "components/DateInput",
        "componentsUsed": [
          "DateInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-input-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-range-input-validation",
      "type": "registry:block",
      "title": "DateRangeInput — Validation",
      "description": "Date range input in all three status states: error, warning, and success. Use to surface booking conflicts, flag high-demand periods, or confirm an available range.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-range-input-validation/DateRangeInputWithValidation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateRangeInputWithValidation.tsx"
        },
        {
          "path": "registry/example-date-range-input-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-range-input-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-range-input/validation",
        "aliases": [],
        "exampleFor": "DateRangeInput",
        "category": "components/DateRangeInput",
        "componentsUsed": [
          "DateRangeInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-range-input-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-range-input-with-presets",
      "type": "registry:block",
      "title": "DateRangeInput — With Presets",
      "description": "Date range picker with quick-select presets for common periods. Use for analytics dashboards, report filters, or any context where users frequently select standard time windows.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-range-input-with-presets/DateRangeInputWithPresets.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateRangeInputWithPresets.tsx"
        },
        {
          "path": "registry/example-date-range-input-with-presets/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-range-input-with-presets.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-range-input/with-presets",
        "aliases": [],
        "exampleFor": "DateRangeInput",
        "category": "components/DateRangeInput",
        "componentsUsed": [
          "DateRangeInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-range-input-with-presets.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-date-time-input-validation",
      "type": "registry:block",
      "title": "DateTimeInput — Validation",
      "description": "DateTimeInput in all three status states: error, warning, and success. Use to surface scheduling conflicts, caution the user about edge cases, or confirm a valid datetime.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-date-time-input-validation/DateTimeInputWithValidation.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DateTimeInputWithValidation.jsx"
        },
        {
          "path": "registry/example-date-time-input-validation/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/DateTimeInputWithValidation.astryx.d.mts"
        },
        {
          "path": "registry/example-date-time-input-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-date-time-input-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/date-time-input/validation",
        "aliases": [],
        "exampleFor": "DateTimeInput",
        "category": "components/DateTimeInput",
        "componentsUsed": [
          "DateTimeInput",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-date-time-input-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-adaptive-presentation",
      "type": "registry:block",
      "title": "Dialog — Adaptive presentation",
      "description": "Opt-in recipe for an AdaptiveDialog wrapper: Dialog remains the default everywhere, while touchPresentation=\"bottom-sheet\" switches only at lg and below when pointer is coarse and hover is unavailable. Includes a deterministic presentation override for tests/unusual environments and notes that BottomSheet purpose controls swipe and scrim dismissal. Usage examples: touchPresentation=\"dialog\" keeps Dialog, \"fullscreen\" chooses fullscreen Dialog, and \"bottom-sheet\" chooses BottomSheet only for the touch-oriented range. Keep presentation as the deterministic override. Do not use this by default for AlertDialog or destructive confirmations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-adaptive-presentation/DialogAdaptivePresentation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogAdaptivePresentation.tsx"
        },
        {
          "path": "registry/example-dialog-adaptive-presentation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-adaptive-presentation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog/adaptive-presentation",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "DialogHeader",
          "BottomSheet",
          "Layout",
          "Button",
          "Text",
          "TextInput",
          "TextArea",
          "useMediaQuery"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-adaptive-presentation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-confirmation",
      "type": "registry:block",
      "title": "Dialog — Confirmation",
      "description": "Asks the user to confirm a destructive action before it happens. Use before deleting projects, removing team members, revoking API keys, or any irreversible operation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-confirmation/DialogConfirmationDialog.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogConfirmationDialog.tsx"
        },
        {
          "path": "registry/example-dialog-confirmation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-confirmation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog/confirmation",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "Layout",
          "Button",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-confirmation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-form",
      "type": "registry:block",
      "title": "Dialog — Form",
      "description": "Collects user input without navigating away from the page. Uses purpose=\"form\" so clicking the backdrop won't close it. Use for editing profiles, creating items, or updating settings inline.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-form/DialogFormDialog.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogFormDialog.tsx"
        },
        {
          "path": "registry/example-dialog-form/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-form.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog/form",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "Layout",
          "Button",
          "TextInput",
          "TextArea"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-form.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-fullscreen",
      "type": "registry:block",
      "title": "Dialog — Fullscreen",
      "description": "Takes over the entire viewport for content that needs maximum space. Use for documentation viewers, rich text editors, multi-step wizards, or media previews where the standard dialog width is too narrow.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-fullscreen/DialogFullscreenDialog.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogFullscreenDialog.tsx"
        },
        {
          "path": "registry/example-dialog-fullscreen/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-fullscreen.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog/fullscreen",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "Layout",
          "Button",
          "Text",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-fullscreen.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-header-basic",
      "type": "registry:block",
      "title": "DialogHeader — Basic",
      "description": "A DialogHeader with a title, subtitle, and close button, placed in the header slot of a Dialog Layout. Pass onOpenChange to render the close button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-header-basic/DialogHeaderBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogHeaderBasic.tsx"
        },
        {
          "path": "registry/example-dialog-header-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-header-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog-header/basic",
        "aliases": [],
        "exampleFor": "DialogHeader",
        "category": "components/DialogHeader",
        "componentsUsed": [
          "Dialog",
          "DialogHeader",
          "Layout",
          "LayoutContent",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-header-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-required",
      "type": "registry:block",
      "title": "Dialog — Required",
      "description": "Cannot be dismissed by Escape or backdrop click; the user must explicitly choose an action. Uses purpose=\"required\". Use for ownership transfers, legal acknowledgements, or critical decisions where skipping is not an option.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-required/DialogWithSubtitle.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogWithSubtitle.tsx"
        },
        {
          "path": "registry/example-dialog-required/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-required.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog/required",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "Layout",
          "Button",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-required.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dialog-scrollable",
      "type": "registry:block",
      "title": "Dialog — Scrollable",
      "description": "Constrains the dialog height and scrolls the body when content overflows. Use for terms and conditions, license agreements, changelogs, or any long-form content the user needs to review before accepting.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dialog-scrollable/DialogScrollingContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DialogScrollingContent.tsx"
        },
        {
          "path": "registry/example-dialog-scrollable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dialog-scrollable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dialog/scrollable",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "Layout",
          "Button",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dialog-scrollable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-divider-full-bleed",
      "type": "registry:block",
      "title": "Divider — Full Bleed",
      "description": "Divider that extends past container padding to span the full width. Use inside cards or panels when you want a clean edge-to-edge separation, like between an order summary and total.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-divider-full-bleed/DividerFullBleed.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DividerFullBleed.tsx"
        },
        {
          "path": "registry/example-divider-full-bleed/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-divider-full-bleed.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/divider/full-bleed",
        "aliases": [],
        "exampleFor": "Divider",
        "category": "components/Divider",
        "componentsUsed": [
          "Divider",
          "Card",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-divider-full-bleed.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-divider-variants",
      "type": "registry:block",
      "title": "Divider — Variants",
      "description": "Subtle, labeled, and strong dividers in a single card. Use subtle between related sections, labeled for alternatives like \"or\", and strong for high-contrast boundaries.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-divider-variants/DividerVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DividerVariants.tsx"
        },
        {
          "path": "registry/example-divider-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-divider-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/divider/variants",
        "aliases": [],
        "exampleFor": "Divider",
        "category": "components/Divider",
        "componentsUsed": [
          "Divider",
          "Card",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-divider-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-divider-vertical",
      "type": "registry:block",
      "title": "Divider — Vertical",
      "description": "Vertical dividers separating side-by-side metrics. Use between stat cards, toolbar groups, or any horizontal layout where you need a visual boundary between sections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-divider-vertical/DividerVertical.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DividerVertical.tsx"
        },
        {
          "path": "registry/example-divider-vertical/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-divider-vertical.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/divider/vertical",
        "aliases": [],
        "exampleFor": "Divider",
        "category": "components/Divider",
        "componentsUsed": [
          "Divider",
          "Card",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-divider-vertical.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-drawer-edit-form-with-footer-actions",
      "type": "registry:block",
      "title": "Edit form with footer actions",
      "description": "Compose a Layout with DrawerHeader, the fields in LayoutContent, and Cancel and Save in a pinned LayoutFooter. purpose=\"form\" keeps Escape but ignores scrim clicks, so a stray click outside does not discard edits.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-drawer-edit-form-with-footer-actions/DrawerForm.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DrawerForm.tsx"
        },
        {
          "path": "registry/example-drawer-edit-form-with-footer-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-drawer-edit-form-with-footer-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/drawer/edit-form-with-footer-actions",
        "aliases": [],
        "exampleFor": "Drawer",
        "category": "components/Drawer",
        "componentsUsed": [
          "Drawer",
          "DrawerHeader",
          "Button",
          "Layout",
          "LayoutContent",
          "LayoutFooter",
          "HStack",
          "VStack",
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-drawer-edit-form-with-footer-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-drawer-header-with-close-button",
      "type": "registry:block",
      "title": "With close button",
      "description": "Pass onOpenChange to render a close button that calls it with false. Drawer renders no close button of its own, so this is the usual visible way to close.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-drawer-header-with-close-button/DrawerHeaderWithCloseButton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DrawerHeaderWithCloseButton.tsx"
        },
        {
          "path": "registry/example-drawer-header-with-close-button/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-drawer-header-with-close-button.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/drawer-header/with-close-button",
        "aliases": [],
        "exampleFor": "DrawerHeader",
        "category": "components/DrawerHeader",
        "componentsUsed": [
          "Drawer",
          "DrawerHeader",
          "Button",
          "Layout",
          "LayoutContent",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-drawer-header-with-close-button.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-drawer-header-with-subtitle-and-end-content",
      "type": "registry:block",
      "title": "With subtitle and end content",
      "description": "Add a subtitle under the title and put a status, such as a Badge, in endContent. The close button stays at the end of the row.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-drawer-header-with-subtitle-and-end-content/DrawerHeaderSubtitleEndContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DrawerHeaderSubtitleEndContent.tsx"
        },
        {
          "path": "registry/example-drawer-header-with-subtitle-and-end-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-drawer-header-with-subtitle-and-end-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/drawer-header/with-subtitle-and-end-content",
        "aliases": [],
        "exampleFor": "DrawerHeader",
        "category": "components/DrawerHeader",
        "componentsUsed": [
          "Drawer",
          "DrawerHeader",
          "Badge",
          "Button",
          "Layout",
          "LayoutContent",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-drawer-header-with-subtitle-and-end-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-drawer-modal-or-non-modal-has-scrim",
      "type": "registry:block",
      "title": "Modal or non-modal (hasScrim)",
      "description": "The default modal drawer dims the page, traps focus, and closes on a scrim click. With hasScrim={false}, the drawer has no scrim or focus trap and leaves the page interactive.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-drawer-modal-or-non-modal-has-scrim/DrawerScrim.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DrawerScrim.tsx"
        },
        {
          "path": "registry/example-drawer-modal-or-non-modal-has-scrim/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-drawer-modal-or-non-modal-has-scrim.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/drawer/modal-or-non-modal-has-scrim",
        "aliases": [],
        "exampleFor": "Drawer",
        "category": "components/Drawer",
        "componentsUsed": [
          "Drawer",
          "Button",
          "Layout",
          "LayoutContent",
          "HStack",
          "DrawerHeader",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-drawer-modal-or-non-modal-has-scrim.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-drawer-slide-in-from-the-start-edge",
      "type": "registry:block",
      "title": "Slide in from the start edge",
      "description": "Set side=\"start\" to open from the inline start edge: left in LTR and right in RTL. The default end edge follows the inspector convention.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-drawer-slide-in-from-the-start-edge/DrawerStart.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DrawerStart.tsx"
        },
        {
          "path": "registry/example-drawer-slide-in-from-the-start-edge/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-drawer-slide-in-from-the-start-edge.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/drawer/slide-in-from-the-start-edge",
        "aliases": [],
        "exampleFor": "Drawer",
        "category": "components/Drawer",
        "componentsUsed": [
          "Drawer",
          "Button",
          "Layout",
          "LayoutContent",
          "DrawerHeader",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-drawer-slide-in-from-the-start-edge.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-drawer-width-budget-pixels-or-any-css-length",
      "type": "registry:block",
      "title": "Width budget: pixels or any CSS length",
      "description": "Compare a numeric pixel width with rem and percentage lengths. The width budget also caps the drawer on mobile.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-drawer-width-budget-pixels-or-any-css-length/DrawerWidths.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DrawerWidths.tsx"
        },
        {
          "path": "registry/example-drawer-width-budget-pixels-or-any-css-length/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-drawer-width-budget-pixels-or-any-css-length.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/drawer/width-budget-pixels-or-any-css-length",
        "aliases": [],
        "exampleFor": "Drawer",
        "category": "components/Drawer",
        "componentsUsed": [
          "Drawer",
          "Button",
          "Layout",
          "LayoutContent",
          "HStack",
          "DrawerHeader",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-drawer-width-budget-pixels-or-any-css-length.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-actions",
      "type": "registry:block",
      "title": "DropdownMenu — Actions",
      "description": "Action menu with dividers separating safe and destructive operations. Use for row-level actions on items like documents, projects, or records.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-actions/DropdownMenuActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuActions.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu/actions",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-adaptive-presentation",
      "type": "registry:block",
      "title": "DropdownMenu — Adaptive presentation",
      "description": "Chooses a bottom sheet for compact touch surfaces and an anchored popover otherwise. The media query is product policy, while DropdownMenu owns both presentations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-adaptive-presentation/DropdownMenuBottomSheet.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuBottomSheet.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-adaptive-presentation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-adaptive-presentation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu/adaptive-presentation",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu",
          "Stack",
          "Text",
          "useMediaQuery"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-adaptive-presentation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-disabled",
      "type": "registry:block",
      "title": "DropdownMenu — Disabled",
      "description": "Menu with selectively disabled items based on permissions. Use when some actions require higher privileges, like admin-only operations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-disabled/DropdownMenuWithDisabledItems.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuWithDisabledItems.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-disabled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-disabled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu/disabled",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-disabled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-group-selectable-rows",
      "type": "registry:block",
      "title": "DropdownMenuGroup — Selectable rows",
      "description": "Titled groups around a radio group and checkbox rows — the rows the data API cannot express, which is why the heading lives in compound mode.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-group-selectable-rows/DropdownMenuGroupWithSelectable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuGroupWithSelectable.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-group-selectable-rows/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-group-selectable-rows.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu-group/selectable-rows",
        "aliases": [],
        "exampleFor": "DropdownMenuGroup",
        "category": "components/DropdownMenuGroup",
        "componentsUsed": [
          "DropdownMenu",
          "DropdownMenuGroup",
          "DropdownMenuRadioGroup",
          "DropdownMenuRadioItem",
          "DropdownMenuCheckboxItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-group-selectable-rows.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-icon-trigger",
      "type": "registry:block",
      "title": "DropdownMenu — Icon Trigger",
      "description": "Overflow menu triggered by an icon-only button with no chevron or label text. Use for row-level actions in tables, cards, or lists where a text button would take too much space.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-icon-trigger/DropdownMenuNoChevron.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuNoChevron.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-icon-trigger/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-icon-trigger.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu/icon-trigger",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-icon-trigger.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-item-basic",
      "type": "registry:block",
      "title": "DropdownMenuItem — Basic",
      "description": "Dropdown menu items with labels and secondary descriptions. Use DropdownMenuItem to render custom menu entries with consistent styling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-item-basic/DropdownMenuItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuItemBasic.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu-item/basic",
        "aliases": [],
        "exampleFor": "DropdownMenuItem",
        "category": "components/DropdownMenuItem",
        "componentsUsed": [
          "DropdownMenu",
          "DropdownMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-sections",
      "type": "registry:block",
      "title": "DropdownMenu — Sections",
      "description": "Menu items organized into titled sections for easy scanning. Use when you have 6+ actions that fall into distinct categories, like Create vs Manage.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-sections/DropdownMenuWithSections.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuWithSections.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-sections/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-sections.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu/sections",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-sections.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-dropdown-menu-submenu",
      "type": "registry:block",
      "title": "DropdownMenu — Submenu",
      "description": "Action menu with a nested submenu. Hover or Right arrow opens the flyout; Left arrow / Escape closes it. Use to group related destinations or secondary actions without crowding the top level.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-dropdown-menu-submenu/DropdownMenuWithSubmenu.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DropdownMenuWithSubmenu.tsx"
        },
        {
          "path": "registry/example-dropdown-menu-submenu/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-submenu.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/dropdown-menu/submenu",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-dropdown-menu-submenu.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-empty-state-actions",
      "type": "registry:block",
      "title": "EmptyState — Actions",
      "description": "Full empty state with icon, message, and action buttons. Use when a search returns no results, a filter clears all items, or a list has been emptied. The buttons give the user a way forward: go back, clear filters, or try a different query.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-empty-state-actions/EmptyStateActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/EmptyStateActions.tsx"
        },
        {
          "path": "registry/example-empty-state-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-empty-state-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/empty-state/actions",
        "aliases": [],
        "exampleFor": "EmptyState",
        "category": "components/EmptyState",
        "componentsUsed": [
          "EmptyState",
          "Button",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-empty-state-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-empty-state-compact",
      "type": "registry:block",
      "title": "EmptyState — Compact",
      "description": "Smaller empty state with reduced spacing for constrained areas. Use inside sidebar panels, card widgets, or notification drawers where a full-size empty state would overwhelm the layout.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-empty-state-compact/EmptyStateCompact.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/EmptyStateCompact.tsx"
        },
        {
          "path": "registry/example-empty-state-compact/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-empty-state-compact.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/empty-state/compact",
        "aliases": [],
        "exampleFor": "EmptyState",
        "category": "components/EmptyState",
        "componentsUsed": [
          "EmptyState",
          "Button",
          "Layout",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-empty-state-compact.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-empty-state-container",
      "type": "registry:block",
      "title": "EmptyState — Container",
      "description": "Empty state wrapped in a Card for first-time setup or onboarding. Use when the user has not created any items yet, like a project list, team roster, or dashboard widget that will fill with data once they take action.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-empty-state-container/EmptyStateContainer.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/EmptyStateContainer.tsx"
        },
        {
          "path": "registry/example-empty-state-container/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-empty-state-container.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/empty-state/container",
        "aliases": [],
        "exampleFor": "EmptyState",
        "category": "components/EmptyState",
        "componentsUsed": [
          "EmptyState",
          "Button",
          "Card",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-empty-state-container.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-field-description",
      "type": "registry:block",
      "title": "Field — Description",
      "description": "Fields with helper text below the label. Use descriptions to explain format requirements, constraints, or what happens with the data, like \"At least 8 characters\" or \"We will send a confirmation link\".",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-field-description/FieldWithDescription.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FieldWithDescription.tsx"
        },
        {
          "path": "registry/example-field-description/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-field-description.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/field/description",
        "aliases": [],
        "exampleFor": "Field",
        "category": "components/Field",
        "componentsUsed": [
          "TextInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-field-description.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-field-label-basic",
      "type": "registry:block",
      "title": "FieldLabel — Basic",
      "description": "Standalone labels with required and optional indicators and a helper description. Use when labeling a custom control that does not render its own label.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-field-label-basic/FieldLabelBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FieldLabelBasic.tsx"
        },
        {
          "path": "registry/example-field-label-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-field-label-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/field-label/basic",
        "aliases": [],
        "exampleFor": "FieldLabel",
        "category": "components/FieldLabel",
        "componentsUsed": [
          "Field",
          "FieldLabel",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-field-label-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-field-required-optional",
      "type": "registry:block",
      "title": "Field — Required & Optional",
      "description": "Required and optional field indicators side by side. Use isRequired on fields the user must fill in, and isOptional to clarify which fields can be skipped.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-field-required-optional/FieldRequired.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FieldRequired.tsx"
        },
        {
          "path": "registry/example-field-required-optional/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-field-required-optional.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/field/required-optional",
        "aliases": [],
        "exampleFor": "Field",
        "category": "components/Field",
        "componentsUsed": [
          "TextInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-field-required-optional.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-field-status-basic",
      "type": "registry:block",
      "title": "FieldStatus — Basic",
      "description": "Detached error and success messages for validation feedback. Use below checkboxes, switches, or custom controls where an attached status would overlap.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-field-status-basic/FieldStatusBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FieldStatusBasic.tsx"
        },
        {
          "path": "registry/example-field-status-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-field-status-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/field-status/basic",
        "aliases": [],
        "exampleFor": "FieldStatus",
        "category": "components/FieldStatus",
        "componentsUsed": [
          "FieldStatus",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-field-status-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-field-validation-states",
      "type": "registry:block",
      "title": "Field — Validation States",
      "description": "All three validation states: error, warning, and success. Use error for invalid input, warning for potential issues like reserved names, and success to confirm valid entries like API keys.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-field-validation-states/FieldStatusVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FieldStatusVariants.tsx"
        },
        {
          "path": "registry/example-field-validation-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-field-validation-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/field/validation-states",
        "aliases": [],
        "exampleFor": "Field",
        "category": "components/Field",
        "componentsUsed": [
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-field-validation-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-file-input-basic",
      "type": "registry:block",
      "title": "FileInput — Basic",
      "description": "A controlled single-file upload with accepted types, a size limit, and helper text. Use for standard document upload fields in forms.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-file-input-basic/FileInputBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FileInputBasic.tsx"
        },
        {
          "path": "registry/example-file-input-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-file-input-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/file-input/basic",
        "aliases": [],
        "exampleFor": "FileInput",
        "category": "components/FileInput",
        "componentsUsed": [
          "FileInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-file-input-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-form-layout-horizontal",
      "type": "registry:block",
      "title": "FormLayout — Horizontal",
      "description": "Two fields side by side for naturally paired inputs like first and last name",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-form-layout-horizontal/FormLayoutHorizontal.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FormLayoutHorizontal.tsx"
        },
        {
          "path": "registry/example-form-layout-horizontal/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-form-layout-horizontal.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/form-layout/horizontal",
        "aliases": [],
        "exampleFor": "FormLayout",
        "category": "components/FormLayout",
        "componentsUsed": [
          "FormLayout",
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-form-layout-horizontal.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-form-layout-mixed-controls",
      "type": "registry:block",
      "title": "FormLayout — Mixed Controls",
      "description": "Form with different control types: text input, selector, and checkboxes",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-form-layout-mixed-controls/FormLayoutMixedControls.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FormLayoutMixedControls.tsx"
        },
        {
          "path": "registry/example-form-layout-mixed-controls/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-form-layout-mixed-controls.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/form-layout/mixed-controls",
        "aliases": [],
        "exampleFor": "FormLayout",
        "category": "components/FormLayout",
        "componentsUsed": [
          "FormLayout",
          "TextInput",
          "Selector",
          "CheckboxList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-form-layout-mixed-controls.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-form-layout-nested-address-form",
      "type": "registry:block",
      "title": "FormLayout — Nested Address Form",
      "description": "Address form mixing vertical and horizontal layouts for grouped fields",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-form-layout-nested-address-form/FormLayoutNested.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FormLayoutNested.tsx"
        },
        {
          "path": "registry/example-form-layout-nested-address-form/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-form-layout-nested-address-form.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/form-layout/nested-address-form",
        "aliases": [],
        "exampleFor": "FormLayout",
        "category": "components/FormLayout",
        "componentsUsed": [
          "FormLayout",
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-form-layout-nested-address-form.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-form-layout-settings-form",
      "type": "registry:block",
      "title": "FormLayout — Settings Form",
      "description": "Settings form with labels placed beside their inputs",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-form-layout-settings-form/FormLayoutHorizontalLabels.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/FormLayoutHorizontalLabels.tsx"
        },
        {
          "path": "registry/example-form-layout-settings-form/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-form-layout-settings-form.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/form-layout/settings-form",
        "aliases": [],
        "exampleFor": "FormLayout",
        "category": "components/FormLayout",
        "componentsUsed": [
          "FormLayout",
          "TextInput",
          "Selector"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-form-layout-settings-form.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-grid-card-gallery",
      "type": "registry:block",
      "title": "Grid — Card Gallery",
      "description": "Card gallery with responsive columns that maintain consistent widths",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-grid-card-gallery/GridGalleryExample.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/GridGalleryExample.tsx"
        },
        {
          "path": "registry/example-grid-card-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-grid-card-gallery.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/grid/card-gallery",
        "aliases": [],
        "exampleFor": "Grid",
        "category": "components/Grid",
        "componentsUsed": [
          "Grid",
          "Card",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-grid-card-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-grid-column-spanning",
      "type": "registry:block",
      "title": "Grid — Column Spanning",
      "description": "Grid with featured items spanning multiple columns and rows",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-grid-column-spanning/GridWithGridSpan.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/GridWithGridSpan.tsx"
        },
        {
          "path": "registry/example-grid-column-spanning/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-grid-column-spanning.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/grid/column-spanning",
        "aliases": [],
        "exampleFor": "Grid",
        "category": "components/Grid",
        "componentsUsed": [
          "Grid",
          "GridSpan",
          "Card",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-grid-column-spanning.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-grid-dashboard-layout",
      "type": "registry:block",
      "title": "Grid — Dashboard Layout",
      "description": "Dashboard layout with mixed-size widgets and a full-width summary row",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-grid-dashboard-layout/GridDashboardLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/GridDashboardLayout.tsx"
        },
        {
          "path": "registry/example-grid-dashboard-layout/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-grid-dashboard-layout.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/grid/dashboard-layout",
        "aliases": [],
        "exampleFor": "Grid",
        "category": "components/Grid",
        "componentsUsed": [
          "Grid",
          "GridSpan",
          "Card",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-grid-dashboard-layout.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-grid-span-columns",
      "type": "registry:block",
      "title": "GridSpan — Columns",
      "description": "Grid items spanning two of three columns. Wrap a grid child in GridSpan to make it occupy multiple columns for asymmetric layouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-grid-span-columns/GridSpanColumns.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/GridSpanColumns.tsx"
        },
        {
          "path": "registry/example-grid-span-columns/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-grid-span-columns.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/grid-span/columns",
        "aliases": [],
        "exampleFor": "GridSpan",
        "category": "components/GridSpan",
        "componentsUsed": [
          "GridSpan",
          "Grid",
          "Card",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-grid-span-columns.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-h-stack-basic",
      "type": "registry:block",
      "title": "HStack — Basic",
      "description": "Items arranged in a horizontal row with a consistent gap and centered vertical alignment. Use HStack whenever siblings should sit side by side.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-h-stack-basic/HStackBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HStackBasic.tsx"
        },
        {
          "path": "registry/example-h-stack-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-h-stack-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/h-stack/basic",
        "aliases": [],
        "exampleFor": "HStack",
        "category": "components/HStack",
        "componentsUsed": [
          "HStack",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-h-stack-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-heading-card-grid",
      "type": "registry:block",
      "title": "Heading — Card Grid",
      "description": "Responsive card grid with truncated headings and descriptions for uniform layout",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-heading-card-grid/HeadingCardGrid.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HeadingCardGrid.tsx"
        },
        {
          "path": "registry/example-heading-card-grid/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-heading-card-grid.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/heading/card-grid",
        "aliases": [],
        "exampleFor": "Heading",
        "category": "components/Heading",
        "componentsUsed": [
          "Heading",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-heading-card-grid.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-heading-page-hierarchy",
      "type": "registry:block",
      "title": "Heading — Page Hierarchy",
      "description": "Real-world page layout demonstrating heading levels h1 through h3 with supporting text",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-heading-page-hierarchy/HeadingPageLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HeadingPageLayout.tsx"
        },
        {
          "path": "registry/example-heading-page-hierarchy/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-heading-page-hierarchy.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/heading/page-hierarchy",
        "aliases": [],
        "exampleFor": "Heading",
        "category": "components/Heading",
        "componentsUsed": [
          "Heading",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-heading-page-hierarchy.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-heading-truncation",
      "type": "registry:block",
      "title": "Heading — Truncation",
      "description": "Single-line and multi-line heading truncation with ellipsis for constrained layouts",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-heading-truncation/HeadingTruncation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HeadingTruncation.tsx"
        },
        {
          "path": "registry/example-heading-truncation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-heading-truncation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/heading/truncation",
        "aliases": [],
        "exampleFor": "Heading",
        "category": "components/Heading",
        "componentsUsed": [
          "Heading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-heading-truncation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-hover-card-definition",
      "type": "registry:block",
      "title": "HoverCard — Definition",
      "description": "Shows a term definition on hover within a paragraph. Use for technical terms, jargon, or concepts that some readers may not know, like a glossary built into the text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-hover-card-definition/HoverCardInlineTextHoverCard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HoverCardInlineTextHoverCard.tsx"
        },
        {
          "path": "registry/example-hover-card-definition/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-hover-card-definition.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/hover-card/definition",
        "aliases": [],
        "exampleFor": "HoverCard",
        "category": "components/HoverCard",
        "componentsUsed": [
          "HoverCard",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-hover-card-definition.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-hover-card-link-preview",
      "type": "registry:block",
      "title": "HoverCard — Link Preview",
      "description": "Shows a page summary when hovering a link: title, description, and URL. Use for documentation links, article references, or any URL where a preview helps the user decide whether to click.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-hover-card-link-preview/HoverCardInteractiveContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HoverCardInteractiveContent.tsx"
        },
        {
          "path": "registry/example-hover-card-link-preview/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-hover-card-link-preview.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/hover-card/link-preview",
        "aliases": [],
        "exampleFor": "HoverCard",
        "category": "components/HoverCard",
        "componentsUsed": [
          "HoverCard",
          "Icon",
          "Layout",
          "Link",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-hover-card-link-preview.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-hover-card-profile-preview",
      "type": "registry:block",
      "title": "HoverCard — Profile Preview",
      "description": "Shows a user profile summary on hover with name, role, and bio. Use on usernames, avatars, or mentions to let users preview a profile without navigating away.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-hover-card-profile-preview/HoverCardProfileHoverCard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HoverCardProfileHoverCard.tsx"
        },
        {
          "path": "registry/example-hover-card-profile-preview/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-hover-card-profile-preview.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/hover-card/profile-preview",
        "aliases": [],
        "exampleFor": "HoverCard",
        "category": "components/HoverCard",
        "componentsUsed": [
          "HoverCard",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-hover-card-profile-preview.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-button-action-bar",
      "type": "registry:block",
      "title": "IconButton — Action Bar",
      "description": "Row of ghost icon buttons for a compact action toolbar",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-button-action-bar/IconButtonActionBar.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconButtonActionBar.tsx"
        },
        {
          "path": "registry/example-icon-button-action-bar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-button-action-bar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon-button/action-bar",
        "aliases": [],
        "exampleFor": "IconButton",
        "category": "components/IconButton",
        "componentsUsed": [
          "IconButton",
          "Icon",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-button-action-bar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-button-floating",
      "type": "registry:block",
      "title": "IconButton — Floating",
      "description": "A floating action button (FAB). The most common floating-button shape is icon-only. Raised here with `elevation=\"high\"`.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-button-floating/IconButtonFloating.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconButtonFloating.tsx"
        },
        {
          "path": "registry/example-icon-button-floating/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-button-floating.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon-button/floating",
        "aliases": [],
        "exampleFor": "IconButton",
        "category": "components/IconButton",
        "componentsUsed": [
          "IconButton",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-button-floating.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-button-loading-state",
      "type": "registry:block",
      "title": "IconButton — Loading State",
      "description": "Icon buttons that show a loading spinner on click for async feedback",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-button-loading-state/IconButtonLoadingToggle.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconButtonLoadingToggle.tsx"
        },
        {
          "path": "registry/example-icon-button-loading-state/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-button-loading-state.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon-button/loading-state",
        "aliases": [],
        "exampleFor": "IconButton",
        "category": "components/IconButton",
        "componentsUsed": [
          "IconButton",
          "Icon",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-button-loading-state.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-button-with-tooltips",
      "type": "registry:block",
      "title": "IconButton — With Tooltips",
      "description": "Icon buttons with tooltips that explain each action on hover",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-button-with-tooltips/IconButtonTooltipIconButton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconButtonTooltipIconButton.tsx"
        },
        {
          "path": "registry/example-icon-button-with-tooltips/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-button-with-tooltips.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon-button/with-tooltips",
        "aliases": [],
        "exampleFor": "IconButton",
        "category": "components/IconButton",
        "componentsUsed": [
          "IconButton",
          "Icon",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-button-with-tooltips.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-non-semantic-colors",
      "type": "registry:block",
      "title": "Icon — Non-Semantic Colors",
      "description": "Non-semantic color palette for icons.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-non-semantic-colors/IconNonSemanticColors.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconNonSemanticColors.tsx"
        },
        {
          "path": "registry/example-icon-non-semantic-colors/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-non-semantic-colors.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon/non-semantic-colors",
        "aliases": [],
        "exampleFor": "Icon",
        "category": "components/Icon",
        "componentsUsed": [
          "Icon",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-non-semantic-colors.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-semantic-colors",
      "type": "registry:block",
      "title": "Icon — Semantic Colors",
      "description": "All semantic icon color variants with labels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-semantic-colors/IconSemanticColors.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconSemanticColors.tsx"
        },
        {
          "path": "registry/example-icon-semantic-colors/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-semantic-colors.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon/semantic-colors",
        "aliases": [],
        "exampleFor": "Icon",
        "category": "components/Icon",
        "componentsUsed": [
          "Icon",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-semantic-colors.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-size-variants",
      "type": "registry:block",
      "title": "Icon — Size Variants",
      "description": "All icon sizes from extra-small to large.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-size-variants/IconSizes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconSizes.tsx"
        },
        {
          "path": "registry/example-icon-size-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-size-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon/size-variants",
        "aliases": [],
        "exampleFor": "Icon",
        "category": "components/Icon",
        "componentsUsed": [
          "Icon",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-size-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-icon-status-indicators",
      "type": "registry:block",
      "title": "Icon — Status Indicators",
      "description": "Status list using semantic icons for success, warning, error, and info.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-icon-status-indicators/IconStatusIcons.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/IconStatusIcons.tsx"
        },
        {
          "path": "registry/example-icon-status-indicators/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-icon-status-indicators.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/icon/status-indicators",
        "aliases": [],
        "exampleFor": "Icon",
        "category": "components/Icon",
        "componentsUsed": [
          "Icon",
          "VStack",
          "HStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-icon-status-indicators.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-info-tip-metric-definitions",
      "type": "registry:block",
      "title": "Info Tip — Metric Definitions",
      "description": "A row of metrics, each label followed by an InfoTip that defines how the value is counted.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-info-tip-metric-definitions/InfoTipMetricDefinitions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/InfoTipMetricDefinitions.tsx"
        },
        {
          "path": "registry/example-info-tip-metric-definitions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-info-tip-metric-definitions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/info-tip/metric-definitions",
        "aliases": [],
        "exampleFor": "InfoTip",
        "category": "components/InfoTip",
        "componentsUsed": [
          "InfoTip",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-info-tip-metric-definitions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-info-tip-permission-notes",
      "type": "registry:block",
      "title": "Info Tip — Permission Notes",
      "description": "Read-only settings whose labels carry an InfoTip that says who can change each value.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-info-tip-permission-notes/InfoTipPermissionNotes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/InfoTipPermissionNotes.tsx"
        },
        {
          "path": "registry/example-info-tip-permission-notes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-info-tip-permission-notes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/info-tip/permission-notes",
        "aliases": [],
        "exampleFor": "InfoTip",
        "category": "components/InfoTip",
        "componentsUsed": [
          "InfoTip",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-info-tip-permission-notes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-input-group-basic",
      "type": "registry:block",
      "title": "InputGroup — Basic",
      "description": "A currency field with static prefix and suffix addons around a TextInput. Use InputGroupText to clarify units or input format.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-input-group-basic/InputGroupBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/InputGroupBasic.tsx"
        },
        {
          "path": "registry/example-input-group-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-input-group-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/input-group/basic",
        "aliases": [],
        "exampleFor": "InputGroup",
        "category": "components/InputGroup",
        "componentsUsed": [
          "InputGroup",
          "InputGroupText",
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-input-group-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-internationalization-provider-overrides",
      "type": "registry:block",
      "title": "Internationalization Provider — Overrides",
      "description": "Override a small number of Astryx strings without providing a full locale catalog.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-internationalization-provider-overrides/InternationalizationProvider02Overrides.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/InternationalizationProvider02Overrides.tsx"
        },
        {
          "path": "registry/example-internationalization-provider-overrides/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-internationalization-provider-overrides.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/internationalization-provider/overrides",
        "aliases": [],
        "exampleFor": "InternationalizationProvider",
        "category": "components/InternationalizationProvider",
        "componentsUsed": [
          "InternationalizationProvider",
          "Selector"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-internationalization-provider-overrides.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-internationalization-provider-rtl-direction",
      "type": "registry:block",
      "title": "Internationalization Provider — RTL Direction",
      "description": "Toggle text direction with the `dir` prop and watch Astryx components mirror. Pagination flips its prev/next chevrons under RTL. The `dir` prop is passed to both `InternationalizationProvider` (so Astryx components pick it up) and the `VStack` (so the DOM subtree mirrors); both channels stay in sync with no extra wrapper.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-internationalization-provider-rtl-direction/InternationalizationProvider03RtlDirection.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/InternationalizationProvider03RtlDirection.tsx"
        },
        {
          "path": "registry/example-internationalization-provider-rtl-direction/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-internationalization-provider-rtl-direction.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/internationalization-provider/rtl-direction",
        "aliases": [],
        "exampleFor": "InternationalizationProvider",
        "category": "components/InternationalizationProvider",
        "componentsUsed": [
          "InternationalizationProvider",
          "Pagination",
          "SegmentedControl",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-internationalization-provider-rtl-direction.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-internationalization-provider-shipped-locale",
      "type": "registry:block",
      "title": "Internationalization Provider — Shipped Locale",
      "description": "Load a locale catalog shipped by Astryx and re-render InternationalizationProvider with a new locale to update Astryx strings live.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-internationalization-provider-shipped-locale/InternationalizationProvider01ShippedLocale.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/InternationalizationProvider01ShippedLocale.tsx"
        },
        {
          "path": "registry/example-internationalization-provider-shipped-locale/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-internationalization-provider-shipped-locale.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/internationalization-provider/shipped-locale",
        "aliases": [],
        "exampleFor": "InternationalizationProvider",
        "category": "components/InternationalizationProvider",
        "componentsUsed": [
          "InternationalizationProvider",
          "SegmentedControl",
          "Selector",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-internationalization-provider-shipped-locale.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-item-basic",
      "type": "registry:block",
      "title": "Item — Basic",
      "description": "A basic item with a label, supporting description, and end-aligned timestamp. Use this for simple rows that need consistent text alignment and spacing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-item-basic/ItemBasicItem.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ItemBasicItem.tsx"
        },
        {
          "path": "registry/example-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/item/basic",
        "aliases": [],
        "exampleFor": "Item",
        "category": "components/Item",
        "componentsUsed": [
          "Item",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-item-document-tabs",
      "type": "registry:block",
      "title": "Item — Document Tabs",
      "description": "Single-row, horizontally scrollable document switcher with compact selected rows, leading file icons, instant reveal-on-hover close actions with reserved geometry, stable separators, and an add control outside the scroll area. Use for editor tabs, workspace tabs, open documents, files, canvases, or panels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-item-document-tabs/ItemDocumentTabs.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ItemDocumentTabs.jsx"
        },
        {
          "path": "registry/example-item-document-tabs/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/ItemDocumentTabs.astryx.d.mts"
        },
        {
          "path": "registry/example-item-document-tabs/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-item-document-tabs.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/item/document-tabs",
        "aliases": [],
        "exampleFor": "Item",
        "category": "components/Item",
        "componentsUsed": [
          "Item",
          "Divider",
          "Icon",
          "IconButton",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-item-document-tabs.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-item-metadata",
      "type": "registry:block",
      "title": "Item — Metadata",
      "description": "Status rows with an icon, a title, a short description, and end-aligned metadata such as a timestamp or a status badge, here build, memory, and sync events. Use the endContent slot for counts, status, timestamps, and other secondary row information.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-item-metadata/ItemWithMetadata.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ItemWithMetadata.tsx"
        },
        {
          "path": "registry/example-item-metadata/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-item-metadata.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/item/metadata",
        "aliases": [],
        "exampleFor": "Item",
        "category": "components/Item",
        "componentsUsed": [
          "Item",
          "Badge",
          "Icon",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-item-metadata.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-item-start-content",
      "type": "registry:block",
      "title": "Item — Start Content",
      "description": "Items with leading avatars and icons in the startContent slot. Keep start content small so the row stays compact and easy to scan.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-item-start-content/ItemWithMedia.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ItemWithMedia.tsx"
        },
        {
          "path": "registry/example-item-start-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-item-start-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/item/start-content",
        "aliases": [],
        "exampleFor": "Item",
        "category": "components/Item",
        "componentsUsed": [
          "Item",
          "Avatar",
          "Badge",
          "Icon",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-item-start-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-kbd-inline-instructions",
      "type": "registry:block",
      "title": "Kbd — Inline Instructions",
      "description": "Keyboard shortcuts rendered inline within instructional text",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-kbd-inline-instructions/KbdInlineInstructions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/KbdInlineInstructions.tsx"
        },
        {
          "path": "registry/example-kbd-inline-instructions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-kbd-inline-instructions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/kbd/inline-instructions",
        "aliases": [],
        "exampleFor": "Kbd",
        "category": "components/Kbd",
        "componentsUsed": [
          "Kbd",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-kbd-inline-instructions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-kbd-menu-shortcuts",
      "type": "registry:block",
      "title": "Kbd — Menu Shortcuts",
      "description": "Menu-style list pairing action labels with their keyboard shortcuts",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-kbd-menu-shortcuts/KbdMenuShortcuts.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/KbdMenuShortcuts.tsx"
        },
        {
          "path": "registry/example-kbd-menu-shortcuts/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-kbd-menu-shortcuts.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/kbd/menu-shortcuts",
        "aliases": [],
        "exampleFor": "Kbd",
        "category": "components/Kbd",
        "componentsUsed": [
          "Kbd",
          "Card",
          "List"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-kbd-menu-shortcuts.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-kbd-modifier-combinations",
      "type": "registry:block",
      "title": "Kbd — Modifier Combinations",
      "description": "Modifier combinations and special keys rendered as shortcut badges",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-kbd-modifier-combinations/KbdModifierCombos.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/KbdModifierCombos.tsx"
        },
        {
          "path": "registry/example-kbd-modifier-combinations/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-kbd-modifier-combinations.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/kbd/modifier-combinations",
        "aliases": [],
        "exampleFor": "Kbd",
        "category": "components/Kbd",
        "componentsUsed": [
          "Kbd",
          "VStack",
          "HStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-kbd-modifier-combinations.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-basic-card",
      "type": "registry:block",
      "title": "Layout — Basic Card",
      "description": "A card layout with header, scrollable content area, and footer with action buttons.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-basic-card/LayoutBasicCardLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutBasicCardLayout.tsx"
        },
        {
          "path": "registry/example-layout-basic-card/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-basic-card.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout/basic-card",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Layout",
          "LayoutHeader",
          "LayoutContent",
          "LayoutFooter",
          "Card",
          "Button",
          "HStack",
          "VStack",
          "Text",
          "Heading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-basic-card.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-content-basic",
      "type": "registry:block",
      "title": "LayoutContent — Basic",
      "description": "A scrollable main content area below a fixed header. Use LayoutContent inside Layout to get automatic padding and scroll containment for the primary content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-content-basic/LayoutContentBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutContentBasic.tsx"
        },
        {
          "path": "registry/example-layout-content-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-content-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout-content/basic",
        "aliases": [],
        "exampleFor": "LayoutContent",
        "category": "components/LayoutContent",
        "componentsUsed": [
          "LayoutContent",
          "Layout",
          "LayoutHeader",
          "Center",
          "Card",
          "VStack",
          "Heading",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-content-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-content-only",
      "type": "registry:block",
      "title": "Layout — Content Only",
      "description": "A minimal layout with just a content area inside a card, without header or footer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-content-only/LayoutContentOnlyLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutContentOnlyLayout.tsx"
        },
        {
          "path": "registry/example-layout-content-only/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-content-only.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout/content-only",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Layout",
          "LayoutContent",
          "Card",
          "VStack",
          "Text",
          "Heading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-content-only.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-content-width",
      "type": "registry:block",
      "title": "Layout — Content Width",
      "description": "A layout using contentWidth to constrain and center content while keeping dividers full-bleed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-content-width/LayoutContentWidth.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutContentWidth.tsx"
        },
        {
          "path": "registry/example-layout-content-width/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-content-width.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout/content-width",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Layout",
          "LayoutHeader",
          "LayoutContent",
          "LayoutFooter",
          "Button",
          "HStack",
          "VStack",
          "Text",
          "Heading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-content-width.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-dual-panel",
      "type": "registry:block",
      "title": "Layout — Dual Panel",
      "description": "A file browser style layout with start panel for folders, main content for files, and end panel for details.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-dual-panel/LayoutDualPanelLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutDualPanelLayout.tsx"
        },
        {
          "path": "registry/example-layout-dual-panel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-dual-panel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout/dual-panel",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Layout",
          "LayoutHeader",
          "LayoutContent",
          "LayoutPanel",
          "Card",
          "VStack",
          "Text",
          "Heading",
          "List",
          "ListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-dual-panel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-footer-actions",
      "type": "registry:block",
      "title": "LayoutFooter — Actions",
      "description": "A fixed footer with end-aligned action buttons below scrollable content. Use LayoutFooter inside Layout for persistent actions like Save and Cancel.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-footer-actions/LayoutFooterActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutFooterActions.tsx"
        },
        {
          "path": "registry/example-layout-footer-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-footer-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout-footer/actions",
        "aliases": [],
        "exampleFor": "LayoutFooter",
        "category": "components/LayoutFooter",
        "componentsUsed": [
          "LayoutFooter",
          "Layout",
          "LayoutContent",
          "Center",
          "Card",
          "HStack",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-footer-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-full-bleed-content",
      "type": "registry:block",
      "title": "Layout — Full Bleed Content",
      "description": "A layout where content extends edge-to-edge with zero padding, ideal for tables or images.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-full-bleed-content/LayoutFullBleedContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutFullBleedContent.tsx"
        },
        {
          "path": "registry/example-layout-full-bleed-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-full-bleed-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout/full-bleed-content",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Layout",
          "LayoutHeader",
          "LayoutContent",
          "LayoutFooter",
          "Card",
          "Button",
          "HStack",
          "Section",
          "Text",
          "Heading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-full-bleed-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-header-with-actions",
      "type": "registry:block",
      "title": "LayoutHeader — With Actions",
      "description": "A fixed page header with a title and a primary action, above scrollable content. Use LayoutHeader inside Layout for persistent page-level headers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-header-with-actions/LayoutHeaderWithActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutHeaderWithActions.tsx"
        },
        {
          "path": "registry/example-layout-header-with-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-header-with-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout-header/with-actions",
        "aliases": [],
        "exampleFor": "LayoutHeader",
        "category": "components/LayoutHeader",
        "componentsUsed": [
          "LayoutHeader",
          "Layout",
          "LayoutContent",
          "Center",
          "Card",
          "HStack",
          "Heading",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-header-with-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-panel-navigation",
      "type": "registry:block",
      "title": "LayoutPanel — Navigation",
      "description": "A fixed-width side panel holding a navigation list next to the main content. Use LayoutPanel in the start or end slot of Layout for sidebars.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-panel-navigation/LayoutPanelNavigation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutPanelNavigation.tsx"
        },
        {
          "path": "registry/example-layout-panel-navigation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-panel-navigation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout-panel/navigation",
        "aliases": [],
        "exampleFor": "LayoutPanel",
        "category": "components/LayoutPanel",
        "componentsUsed": [
          "LayoutPanel",
          "Layout",
          "LayoutContent",
          "Center",
          "List",
          "ListItem",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-panel-navigation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-layout-sidebar-navigation",
      "type": "registry:block",
      "title": "Layout — Sidebar Navigation",
      "description": "A settings page layout with a navigation sidebar panel, content area, header, and footer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-layout-sidebar-navigation/LayoutSidebarLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LayoutSidebarLayout.tsx"
        },
        {
          "path": "registry/example-layout-sidebar-navigation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-layout-sidebar-navigation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/layout/sidebar-navigation",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Layout",
          "LayoutHeader",
          "LayoutContent",
          "LayoutFooter",
          "LayoutPanel",
          "Card",
          "Button",
          "HStack",
          "VStack",
          "Text",
          "Heading",
          "List",
          "ListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-layout-sidebar-navigation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-lightbox-gallery",
      "type": "registry:block",
      "title": "Lightbox — Gallery",
      "description": "A thumbnail grid that opens a fullscreen gallery. Clicking any thumbnail opens the lightbox at that index. Prev/next navigation lets users browse all images without closing. Astryx replaced 4 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-lightbox-gallery/LightboxGallery.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LightboxGallery.tsx"
        },
        {
          "path": "registry/example-lightbox-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-lightbox-gallery.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/lightbox/gallery",
        "aliases": [],
        "exampleFor": "Lightbox",
        "category": "components/Lightbox",
        "componentsUsed": [
          "Lightbox",
          "Grid",
          "Thumbnail"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-lightbox-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-lightbox-video",
      "type": "registry:block",
      "title": "Lightbox — Video",
      "description": "Opens a video in the lightbox. Native browser controls are available. Zoom and pan are disabled for video items. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-lightbox-video/LightboxVideo.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LightboxVideo.tsx"
        },
        {
          "path": "registry/example-lightbox-video/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-lightbox-video.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/lightbox/video",
        "aliases": [],
        "exampleFor": "Lightbox",
        "category": "components/Lightbox",
        "componentsUsed": [
          "Lightbox"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-lightbox-video.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-lightbox-zoom",
      "type": "registry:block",
      "title": "Lightbox — Zoom",
      "description": "A lightbox with zoom and pan enabled. Double-click the image to zoom in; drag to pan around. Double-click again or use the close button to exit. Astryx replaced 2 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-lightbox-zoom/LightboxZoom.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LightboxZoom.tsx"
        },
        {
          "path": "registry/example-lightbox-zoom/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-lightbox-zoom.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/lightbox/zoom",
        "aliases": [],
        "exampleFor": "Lightbox",
        "category": "components/Lightbox",
        "componentsUsed": [
          "Lightbox",
          "Thumbnail"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-lightbox-zoom.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-link-external-links",
      "type": "registry:block",
      "title": "Link — External Links",
      "description": "A vertical list of external links that open in a new tab with an indicator icon.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-link-external-links/LinkExternalLinks.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LinkExternalLinks.tsx"
        },
        {
          "path": "registry/example-link-external-links/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-link-external-links.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/link/external-links",
        "aliases": [],
        "exampleFor": "Link",
        "category": "components/Link",
        "componentsUsed": [
          "Link",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-link-external-links.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-link-inline-text",
      "type": "registry:block",
      "title": "Link — Inline Text",
      "description": "A link embedded within a paragraph of body text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-link-inline-text/LinkInlineLink.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LinkInlineLink.tsx"
        },
        {
          "path": "registry/example-link-inline-text/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-link-inline-text.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/link/inline-text",
        "aliases": [],
        "exampleFor": "Link",
        "category": "components/Link",
        "componentsUsed": [
          "Link",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-link-inline-text.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-link-provider-custom-link-component",
      "type": "registry:block",
      "title": "Link Provider — Custom Link Component",
      "description": "Routes every Astryx link through a custom component that intercepts the click, the hook frameworks like Next.js use for client-side navigation. Click the link to see the custom handler fire instead of a full-page load.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-link-provider-custom-link-component/LinkProviderCustomLink.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LinkProviderCustomLink.tsx"
        },
        {
          "path": "registry/example-link-provider-custom-link-component/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-link-provider-custom-link-component.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/link-provider/custom-link-component",
        "aliases": [],
        "exampleFor": "LinkProvider",
        "category": "components/LinkProvider",
        "componentsUsed": [
          "LinkProvider",
          "Link"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-link-provider-custom-link-component.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-link-with-tooltips",
      "type": "registry:block",
      "title": "Link — With Tooltips",
      "description": "Horizontal row of standalone links with descriptive hover tooltips.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-link-with-tooltips/LinksWithTooltips.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LinksWithTooltips.tsx"
        },
        {
          "path": "registry/example-link-with-tooltips/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-link-with-tooltips.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/link/with-tooltips",
        "aliases": [],
        "exampleFor": "Link",
        "category": "components/Link",
        "componentsUsed": [
          "Link",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-link-with-tooltips.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-basic",
      "type": "registry:block",
      "title": "List — Basic",
      "description": "Simple list with labels and descriptions for settings-style layouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-basic/ListBasicList.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListBasicList.tsx"
        },
        {
          "path": "registry/example-list-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list/basic",
        "aliases": [],
        "exampleFor": "List",
        "category": "components/List",
        "componentsUsed": [
          "List"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-bulleted-features",
      "type": "registry:block",
      "title": "List — Bulleted Features",
      "description": "Bulleted list of feature highlights using disc markers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-bulleted-features/ListBulletedFeatures.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListBulletedFeatures.tsx"
        },
        {
          "path": "registry/example-list-bulleted-features/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-bulleted-features.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list/bulleted-features",
        "aliases": [],
        "exampleFor": "List",
        "category": "components/List",
        "componentsUsed": [
          "List"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-bulleted-features.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-item-basic",
      "type": "registry:block",
      "title": "List Item — Basic",
      "description": "Basic list items with labels and descriptions. Use this structure for settings, navigation summaries, and other simple collections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-item-basic/ListItemBasicItem.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListItemBasicItem.tsx"
        },
        {
          "path": "registry/example-list-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list-item/basic",
        "aliases": [],
        "exampleFor": "ListItem",
        "category": "components/ListItem",
        "componentsUsed": [
          "List",
          "ListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-item-media",
      "type": "registry:block",
      "title": "List Item — Media",
      "description": "List items with leading avatars and icons. Use startContent for compact visual identifiers that help users scan the collection.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-item-media/ListItemWithMedia.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListItemWithMedia.tsx"
        },
        {
          "path": "registry/example-list-item-media/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-item-media.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list-item/media",
        "aliases": [],
        "exampleFor": "ListItem",
        "category": "components/ListItem",
        "componentsUsed": [
          "List",
          "ListItem",
          "Avatar",
          "Badge",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-item-media.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-item-metadata",
      "type": "registry:block",
      "title": "List Item — Metadata",
      "description": "List items with end-aligned metadata. Use endContent for badges, counts, timestamps, and compact status details.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-item-metadata/ListItemWithMetadata.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListItemWithMetadata.tsx"
        },
        {
          "path": "registry/example-list-item-metadata/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-item-metadata.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list-item/metadata",
        "aliases": [],
        "exampleFor": "ListItem",
        "category": "components/ListItem",
        "componentsUsed": [
          "List",
          "ListItem",
          "Badge",
          "Icon",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-item-metadata.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-message-list",
      "type": "registry:block",
      "title": "List — Message List",
      "description": "Chat-style message list with avatars, preview text, and unread badges.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-message-list/ListMessageList.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListMessageList.tsx"
        },
        {
          "path": "registry/example-list-message-list/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-message-list.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list/message-list",
        "aliases": [],
        "exampleFor": "List",
        "category": "components/List",
        "componentsUsed": [
          "List",
          "Avatar",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-message-list.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-list-ordered-steps",
      "type": "registry:block",
      "title": "List — Ordered Steps",
      "description": "Numbered step-by-step instructions using decimal list markers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-list-ordered-steps/ListOrderedSteps.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ListOrderedSteps.tsx"
        },
        {
          "path": "registry/example-list-ordered-steps/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-list-ordered-steps.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/list/ordered-steps",
        "aliases": [],
        "exampleFor": "List",
        "category": "components/List",
        "componentsUsed": [
          "List"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-list-ordered-steps.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-markdown-cited-content",
      "type": "registry:block",
      "title": "Markdown — Cited Content",
      "description": "Markdown with citation chips linked to external sources",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-markdown-cited-content/MarkdownCitedContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MarkdownCitedContent.tsx"
        },
        {
          "path": "registry/example-markdown-cited-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-markdown-cited-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/markdown/cited-content",
        "aliases": [],
        "exampleFor": "Markdown",
        "category": "components/Markdown",
        "componentsUsed": [
          "Markdown"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-markdown-cited-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-markdown-compact-ai-response",
      "type": "registry:block",
      "title": "Markdown — Compact AI Response",
      "description": "Compact markdown styled for AI responses with shifted heading levels",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-markdown-compact-ai-response/MarkdownCompactAIResponse.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MarkdownCompactAIResponse.tsx"
        },
        {
          "path": "registry/example-markdown-compact-ai-response/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-markdown-compact-ai-response.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/markdown/compact-ai-response",
        "aliases": [],
        "exampleFor": "Markdown",
        "category": "components/Markdown",
        "componentsUsed": [
          "Markdown"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-markdown-compact-ai-response.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-markdown-data-table",
      "type": "registry:block",
      "title": "Markdown — Data Table",
      "description": "Comparison table rendered from a markdown string",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-markdown-data-table/MarkdownDataTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MarkdownDataTable.tsx"
        },
        {
          "path": "registry/example-markdown-data-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-markdown-data-table.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/markdown/data-table",
        "aliases": [],
        "exampleFor": "Markdown",
        "category": "components/Markdown",
        "componentsUsed": [
          "Markdown"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-markdown-data-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-markdown-rich-content",
      "type": "registry:block",
      "title": "Markdown — Rich Content",
      "description": "Markdown with headings, lists, code blocks, tables, blockquotes, and task lists",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-markdown-rich-content/MarkdownRichContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MarkdownRichContent.tsx"
        },
        {
          "path": "registry/example-markdown-rich-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-markdown-rich-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/markdown/rich-content",
        "aliases": [],
        "exampleFor": "Markdown",
        "category": "components/Markdown",
        "componentsUsed": [
          "Markdown"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-markdown-rich-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-media-theme-image-overlay",
      "type": "registry:block",
      "title": "MediaTheme — Image Overlay",
      "description": "A common image card pattern: place text and actions over a dark gradient and wrap the overlay content in MediaTheme mode=\"dark\". Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-media-theme-image-overlay/MediaThemeImageOverlay.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MediaThemeImageOverlay.tsx"
        },
        {
          "path": "registry/example-media-theme-image-overlay/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-media-theme-image-overlay.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/media-theme/image-overlay",
        "aliases": [],
        "exampleFor": "MediaTheme",
        "category": "components/MediaTheme",
        "componentsUsed": [
          "MediaTheme",
          "AspectRatio",
          "Button",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-media-theme-image-overlay.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-media-theme-light-scrim",
      "type": "registry:block",
      "title": "MediaTheme — Light Scrim",
      "description": "A light scrim over an image. Use MediaTheme mode=\"light\" so text and ghost buttons use dark-on-light tokens. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-media-theme-light-scrim/MediaThemeLightScrim.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MediaThemeLightScrim.tsx"
        },
        {
          "path": "registry/example-media-theme-light-scrim/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-media-theme-light-scrim.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/media-theme/light-scrim",
        "aliases": [],
        "exampleFor": "MediaTheme",
        "category": "components/MediaTheme",
        "componentsUsed": [
          "MediaTheme",
          "AspectRatio",
          "Button",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-media-theme-light-scrim.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-metadata-list-basic",
      "type": "registry:block",
      "title": "MetadataList — Basic",
      "description": "Single-column key-value metadata list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-metadata-list-basic/MetadataListBasicMetadata.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MetadataListBasicMetadata.tsx"
        },
        {
          "path": "registry/example-metadata-list-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-metadata-list-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/metadata-list/basic",
        "aliases": [],
        "exampleFor": "MetadataList",
        "category": "components/MetadataList",
        "componentsUsed": [
          "MetadataList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-metadata-list-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-metadata-list-collapsible",
      "type": "registry:block",
      "title": "MetadataList — Collapsible",
      "description": "Metadata list with a show-more toggle after a set number of items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-metadata-list-collapsible/MetadataListCollapsibleMetadata.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MetadataListCollapsibleMetadata.tsx"
        },
        {
          "path": "registry/example-metadata-list-collapsible/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-metadata-list-collapsible.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/metadata-list/collapsible",
        "aliases": [],
        "exampleFor": "MetadataList",
        "category": "components/MetadataList",
        "componentsUsed": [
          "MetadataList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-metadata-list-collapsible.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-metadata-list-horizontal",
      "type": "registry:block",
      "title": "MetadataList — Horizontal",
      "description": "Horizontal metadata items for compact inline display.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-metadata-list-horizontal/MetadataListHorizontalMetadata.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MetadataListHorizontalMetadata.tsx"
        },
        {
          "path": "registry/example-metadata-list-horizontal/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-metadata-list-horizontal.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/metadata-list/horizontal",
        "aliases": [],
        "exampleFor": "MetadataList",
        "category": "components/MetadataList",
        "componentsUsed": [
          "MetadataList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-metadata-list-horizontal.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-metadata-list-item-basic",
      "type": "registry:block",
      "title": "MetadataListItem — Basic",
      "description": "A titled section of label and value rows for one record, here a deployment's environment, health status badge, version, and last deploy date. Values take plain text or a component such as a Badge.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-metadata-list-item-basic/MetadataListItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MetadataListItemBasic.tsx"
        },
        {
          "path": "registry/example-metadata-list-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-metadata-list-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/metadata-list-item/basic",
        "aliases": [],
        "exampleFor": "MetadataListItem",
        "category": "components/MetadataListItem",
        "componentsUsed": [
          "MetadataList",
          "MetadataListItem",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-metadata-list-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-metadata-list-multi-column",
      "type": "registry:block",
      "title": "MetadataList — Multi-Column",
      "description": "Multi-column metadata grid with token tags.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-metadata-list-multi-column/MetadataListMultiColumnMetadata.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MetadataListMultiColumnMetadata.tsx"
        },
        {
          "path": "registry/example-metadata-list-multi-column/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-metadata-list-multi-column.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/metadata-list/multi-column",
        "aliases": [],
        "exampleFor": "MetadataList",
        "category": "components/MetadataList",
        "componentsUsed": [
          "MetadataList",
          "Token",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-metadata-list-multi-column.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-mobile-nav-basic-drawer",
      "type": "registry:block",
      "title": "MobileNav — Basic Drawer",
      "description": "Mobile navigation drawer with sectioned nav items triggered by a menu button",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-mobile-nav-basic-drawer/MobileNavBasicMobileNav.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MobileNavBasicMobileNav.tsx"
        },
        {
          "path": "registry/example-mobile-nav-basic-drawer/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-mobile-nav-basic-drawer.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/mobile-nav/basic-drawer",
        "aliases": [],
        "exampleFor": "MobileNav",
        "category": "components/MobileNav",
        "componentsUsed": [
          "MobileNav",
          "SideNav",
          "Button",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-mobile-nav-basic-drawer.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-mobile-nav-end-side-drawer",
      "type": "registry:block",
      "title": "MobileNav — End Side Drawer",
      "description": "Navigation drawer that slides in from the right side of the screen",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-mobile-nav-end-side-drawer/MobileNavEndSideMobileNav.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MobileNavEndSideMobileNav.tsx"
        },
        {
          "path": "registry/example-mobile-nav-end-side-drawer/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-mobile-nav-end-side-drawer.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/mobile-nav/end-side-drawer",
        "aliases": [],
        "exampleFor": "MobileNav",
        "category": "components/MobileNav",
        "componentsUsed": [
          "MobileNav",
          "SideNav",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-mobile-nav-end-side-drawer.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-mobile-nav-toggle-basic",
      "type": "registry:block",
      "title": "MobileNavToggle — Basic",
      "description": "A nav toggle with a custom icon and accessible label instead of the default hamburger. It opens a MobileNav drawer via the AppShell mobile context, which AppShell provides automatically.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-mobile-nav-toggle-basic/MobileNavToggleBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MobileNavToggleBasic.tsx"
        },
        {
          "path": "registry/example-mobile-nav-toggle-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-mobile-nav-toggle-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/mobile-nav-toggle/basic",
        "aliases": [],
        "exampleFor": "MobileNavToggle",
        "category": "components/MobileNavToggle",
        "componentsUsed": [
          "MobileNav",
          "MobileNavToggle",
          "AppShell",
          "SideNavItem",
          "SideNavSection",
          "Icon",
          "HStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-mobile-nav-toggle-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-mobile-nav-without-title",
      "type": "registry:block",
      "title": "MobileNav — Without Title",
      "description": "Mobile navigation drawer without a title header",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-mobile-nav-without-title/MobileNavWithoutTitleMobileNav.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MobileNavWithoutTitleMobileNav.tsx"
        },
        {
          "path": "registry/example-mobile-nav-without-title/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-mobile-nav-without-title.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/mobile-nav/without-title",
        "aliases": [],
        "exampleFor": "MobileNav",
        "category": "components/MobileNav",
        "componentsUsed": [
          "MobileNav",
          "SideNav",
          "Button",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-mobile-nav-without-title.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-more-menu-bottom-sheet",
      "type": "registry:block",
      "title": "MoreMenu — Bottom Sheet",
      "description": "A visible overflow trigger that opens actions in a BottomSheet. Use this presentation for short action sets on compact touch surfaces.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-more-menu-bottom-sheet/MoreMenuBottomSheet.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MoreMenuBottomSheet.tsx"
        },
        {
          "path": "registry/example-more-menu-bottom-sheet/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-more-menu-bottom-sheet.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/more-menu/bottom-sheet",
        "aliases": [],
        "exampleFor": "MoreMenu",
        "category": "components/MoreMenu",
        "componentsUsed": [
          "MoreMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-more-menu-bottom-sheet.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-more-menu-default",
      "type": "registry:block",
      "title": "MoreMenu — Default",
      "description": "Basic three-dot overflow menu with simple text-only action items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-more-menu-default/MoreMenuDefaultMoreMenu.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MoreMenuDefaultMoreMenu.tsx"
        },
        {
          "path": "registry/example-more-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-more-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/more-menu/default",
        "aliases": [],
        "exampleFor": "MoreMenu",
        "category": "components/MoreMenu",
        "componentsUsed": [
          "MoreMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-more-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-more-menu-with-dividers",
      "type": "registry:block",
      "title": "MoreMenu — With Dividers",
      "description": "A three-dot menu with a divider separating destructive actions from safe ones.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-more-menu-with-dividers/MoreMenuWithDividers.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MoreMenuWithDividers.tsx"
        },
        {
          "path": "registry/example-more-menu-with-dividers/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-more-menu-with-dividers.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/more-menu/with-dividers",
        "aliases": [],
        "exampleFor": "MoreMenu",
        "category": "components/MoreMenu",
        "componentsUsed": [
          "MoreMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-more-menu-with-dividers.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-more-menu-with-sections",
      "type": "registry:block",
      "title": "MoreMenu — With Sections",
      "description": "A three-dot menu with actions organized into labeled groups.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-more-menu-with-sections/MoreMenuWithSections.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MoreMenuWithSections.tsx"
        },
        {
          "path": "registry/example-more-menu-with-sections/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-more-menu-with-sections.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/more-menu/with-sections",
        "aliases": [],
        "exampleFor": "MoreMenu",
        "category": "components/MoreMenu",
        "componentsUsed": [
          "MoreMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-more-menu-with-sections.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-multi-selector-bottom-sheet",
      "type": "registry:block",
      "title": "MultiSelector — Bottom Sheet",
      "description": "Keeps a multi-selection list open in a bottom sheet while choices are toggled.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-multi-selector-bottom-sheet/MultiSelectorBottomSheet.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MultiSelectorBottomSheet.tsx"
        },
        {
          "path": "registry/example-multi-selector-bottom-sheet/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-multi-selector-bottom-sheet.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/multi-selector/bottom-sheet",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-multi-selector-bottom-sheet.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-multi-selector-column-visibility",
      "type": "registry:block",
      "title": "MultiSelector — Column Visibility",
      "description": "Column visibility toggle with hidden label, search, select-all, and selection count.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-multi-selector-column-visibility/MultiSelectorColumnVisibilitySelector.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MultiSelectorColumnVisibilitySelector.tsx"
        },
        {
          "path": "registry/example-multi-selector-column-visibility/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-multi-selector-column-visibility.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/multi-selector/column-visibility",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-multi-selector-column-visibility.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-multi-selector-form-composition",
      "type": "registry:block",
      "title": "MultiSelector — Form Composition",
      "description": "Two multi-selectors in a form with required/optional states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-multi-selector-form-composition/MultiSelectorForm.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MultiSelectorForm.tsx"
        },
        {
          "path": "registry/example-multi-selector-form-composition/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-multi-selector-form-composition.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/multi-selector/form-composition",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector",
          "Center",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-multi-selector-form-composition.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-multi-selector-ghost-toolbar",
      "type": "registry:block",
      "title": "MultiSelector — Ghost Toolbar",
      "description": "Borderless MultiSelector variant composed with ghost buttons in a toolbar.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-multi-selector-ghost-toolbar/MultiSelectorGhostToolbar.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MultiSelectorGhostToolbar.tsx"
        },
        {
          "path": "registry/example-multi-selector-ghost-toolbar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-multi-selector-ghost-toolbar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/multi-selector/ghost-toolbar",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector",
          "Button",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-multi-selector-ghost-toolbar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-multi-selector-searchable",
      "type": "registry:block",
      "title": "MultiSelector — Searchable",
      "description": "Multi-select with search filtering and select-all.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-multi-selector-searchable/MultiSelectorSearchableMultiSelector.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MultiSelectorSearchableMultiSelector.tsx"
        },
        {
          "path": "registry/example-multi-selector-searchable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-multi-selector-searchable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/multi-selector/searchable",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-multi-selector-searchable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-multi-selector-sectioned-permissions",
      "type": "registry:block",
      "title": "MultiSelector — Sectioned Permissions",
      "description": "Multi-select with options grouped into labeled sections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-multi-selector-sectioned-permissions/MultiSelectorSectionedMultiSelector.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/MultiSelectorSectionedMultiSelector.tsx"
        },
        {
          "path": "registry/example-multi-selector-sectioned-permissions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-multi-selector-sectioned-permissions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/multi-selector/sectioned-permissions",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-multi-selector-sectioned-permissions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-nav-icon-basic",
      "type": "registry:block",
      "title": "NavIcon — Basic",
      "description": "Circular icon containers wrapping semantic icons. Use as logos or accent icons in navigation headers such as TopNavHeading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-nav-icon-basic/NavIconBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/NavIconBasic.tsx"
        },
        {
          "path": "registry/example-nav-icon-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-nav-icon-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/nav-icon/basic",
        "aliases": [],
        "exampleFor": "NavIcon",
        "category": "components/NavIcon",
        "componentsUsed": [
          "NavIcon",
          "Icon",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-nav-icon-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-number-input-clearable",
      "type": "registry:block",
      "title": "NumberInput — Clearable",
      "description": "Number input with a clear button, unit suffix, and min/max constraint",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-number-input-clearable/NumberInputClearableNumberInput.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/NumberInputClearableNumberInput.tsx"
        },
        {
          "path": "registry/example-number-input-clearable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-number-input-clearable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/number-input/clearable",
        "aliases": [],
        "exampleFor": "NumberInput",
        "category": "components/NumberInput",
        "componentsUsed": [
          "NumberInput",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-number-input-clearable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-number-input-range-constrained",
      "type": "registry:block",
      "title": "NumberInput — Range Constrained",
      "description": "Number input with min/max boundaries and a helper description",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-number-input-range-constrained/NumberInputRangeNumberInput.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/NumberInputRangeNumberInput.tsx"
        },
        {
          "path": "registry/example-number-input-range-constrained/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-number-input-range-constrained.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/number-input/range-constrained",
        "aliases": [],
        "exampleFor": "NumberInput",
        "category": "components/NumberInput",
        "componentsUsed": [
          "NumberInput",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-number-input-range-constrained.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-number-input-status-variants",
      "type": "registry:block",
      "title": "NumberInput — Status Variants",
      "description": "Number inputs showing error, warning, and success validation states",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-number-input-status-variants/NumberInputStatuses.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/NumberInputStatuses.tsx"
        },
        {
          "path": "registry/example-number-input-status-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-number-input-status-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/number-input/status-variants",
        "aliases": [],
        "exampleFor": "NumberInput",
        "category": "components/NumberInput",
        "componentsUsed": [
          "NumberInput",
          "VStack",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-number-input-status-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-number-input-with-units",
      "type": "registry:block",
      "title": "NumberInput — With Units",
      "description": "Number input with a percentage unit suffix and valid range",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-number-input-with-units/NumberInputWithUnits.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/NumberInputWithUnits.tsx"
        },
        {
          "path": "registry/example-number-input-with-units/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-number-input-with-units.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/number-input/with-units",
        "aliases": [],
        "exampleFor": "NumberInput",
        "category": "components/NumberInput",
        "componentsUsed": [
          "NumberInput",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-number-input-with-units.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-outline-controlled",
      "type": "registry:block",
      "title": "Outline — Controlled",
      "description": "Drive the active section yourself with activeId and onActiveIdChange. Providing activeId disables the built-in scroll-spy so your own logic owns the highlight.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-outline-controlled/OutlineControlled.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OutlineControlled.tsx"
        },
        {
          "path": "registry/example-outline-controlled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-outline-controlled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/outline/controlled",
        "aliases": [],
        "exampleFor": "Outline",
        "category": "components/Outline",
        "componentsUsed": [
          "Outline",
          "Layout",
          "Text",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-outline-controlled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-outline-deep-nesting",
      "type": "registry:block",
      "title": "Outline — Deep Nesting",
      "description": "Heading levels 1 through 4 map to progressively deeper indentation, so a long document with sub-sections stays scannable.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-outline-deep-nesting/OutlineDeepNesting.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OutlineDeepNesting.tsx"
        },
        {
          "path": "registry/example-outline-deep-nesting/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-outline-deep-nesting.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/outline/deep-nesting",
        "aliases": [],
        "exampleFor": "Outline",
        "category": "components/Outline",
        "componentsUsed": [
          "Outline"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-outline-deep-nesting.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-outline-density",
      "type": "registry:block",
      "title": "Outline — Density",
      "description": "Two density variants control item padding. Use compact for dense sidebars and default for standard documentation layouts. The sliding indicator automatically matches each item height.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-outline-density/OutlineDensity.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OutlineDensity.tsx"
        },
        {
          "path": "registry/example-outline-density/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-outline-density.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/outline/density",
        "aliases": [],
        "exampleFor": "Outline",
        "category": "components/Outline",
        "componentsUsed": [
          "Outline",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-outline-density.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overflow-list-badge-tags",
      "type": "registry:block",
      "title": "OverflowList — Badge Tags",
      "description": "Resizable row of badges that collapses into a count badge on overflow",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overflow-list-badge-tags/OverflowListOverflowBadges.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverflowListOverflowBadges.tsx"
        },
        {
          "path": "registry/example-overflow-list-badge-tags/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overflow-list-badge-tags.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overflow-list/badge-tags",
        "aliases": [],
        "exampleFor": "OverflowList",
        "category": "components/OverflowList",
        "componentsUsed": [
          "OverflowList",
          "Badge",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overflow-list-badge-tags.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overflow-list-capped-toolbar",
      "type": "registry:block",
      "title": "OverflowList — Capped Toolbar",
      "description": "maxVisibleItems caps the row at three actions even when more would fit; the rest move to a dropdown",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overflow-list-capped-toolbar/OverflowListCappedToolbar.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverflowListCappedToolbar.tsx"
        },
        {
          "path": "registry/example-overflow-list-capped-toolbar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overflow-list-capped-toolbar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overflow-list/capped-toolbar",
        "aliases": [],
        "exampleFor": "OverflowList",
        "category": "components/OverflowList",
        "componentsUsed": [
          "OverflowList",
          "Button",
          "DropdownMenu",
          "Card",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overflow-list-capped-toolbar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overflow-list-collapse-from-start",
      "type": "registry:block",
      "title": "OverflowList — Collapse From Start",
      "description": "Overflow list that hides items from the start, keeping the latest visible",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overflow-list-collapse-from-start/OverflowListCollapseFromStartList.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverflowListCollapseFromStartList.tsx"
        },
        {
          "path": "registry/example-overflow-list-collapse-from-start/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overflow-list-collapse-from-start.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overflow-list/collapse-from-start",
        "aliases": [],
        "exampleFor": "OverflowList",
        "category": "components/OverflowList",
        "componentsUsed": [
          "OverflowList",
          "Button",
          "Card",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overflow-list-collapse-from-start.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overflow-list-dropdown-actions",
      "type": "registry:block",
      "title": "OverflowList — Dropdown Actions",
      "description": "Action toolbar that collapses overflow buttons into a dropdown menu",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overflow-list-dropdown-actions/OverflowListOverflowDropdownActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverflowListOverflowDropdownActions.tsx"
        },
        {
          "path": "registry/example-overflow-list-dropdown-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overflow-list-dropdown-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overflow-list/dropdown-actions",
        "aliases": [],
        "exampleFor": "OverflowList",
        "category": "components/OverflowList",
        "componentsUsed": [
          "OverflowList",
          "Button",
          "DropdownMenu",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overflow-list-dropdown-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overflow-list-multi-row-tags",
      "type": "registry:block",
      "title": "OverflowList — Multi-row Tags",
      "description": "Tags wrap onto up to two rows with maxRows, then collapse the rest into a count badge",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overflow-list-multi-row-tags/OverflowListMultiRowTags.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverflowListMultiRowTags.tsx"
        },
        {
          "path": "registry/example-overflow-list-multi-row-tags/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overflow-list-multi-row-tags.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overflow-list/multi-row-tags",
        "aliases": [],
        "exampleFor": "OverflowList",
        "category": "components/OverflowList",
        "componentsUsed": [
          "OverflowList",
          "Badge",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overflow-list-multi-row-tags.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overlay-bottom-strip",
      "type": "registry:block",
      "title": "Overlay — Bottom Strip",
      "description": "Places compact supporting content in a bottom scrim strip without covering the entire image. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overlay-bottom-strip/OverlayBottomStrip.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverlayBottomStrip.tsx"
        },
        {
          "path": "registry/example-overlay-bottom-strip/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overlay-bottom-strip.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overlay/bottom-strip",
        "aliases": [],
        "exampleFor": "Overlay",
        "category": "components/Overlay",
        "componentsUsed": [
          "Overlay",
          "AspectRatio",
          "Badge",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overlay-bottom-strip.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-overlay-hover-reveal",
      "type": "registry:block",
      "title": "Overlay — Hover Reveal",
      "description": "Reveals an overlay action on hover or keyboard focus. Use when actions should stay visually quiet until the media receives attention. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-overlay-hover-reveal/OverlayHoverReveal.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/OverlayHoverReveal.tsx"
        },
        {
          "path": "registry/example-overlay-hover-reveal/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-overlay-hover-reveal.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/overlay/hover-reveal",
        "aliases": [],
        "exampleFor": "Overlay",
        "category": "components/Overlay",
        "componentsUsed": [
          "Overlay",
          "AspectRatio",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-overlay-hover-reveal.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-pagination-dots-carousel",
      "type": "registry:block",
      "title": "Pagination — Dots Carousel",
      "description": "A review carousel using dot pagination to step through testimonial cards. Use the dots variant for carousels, galleries, and any paged content where the total is small and visible position matters more than a page number.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-pagination-dots-carousel/PaginationDotsCarousel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PaginationDotsCarousel.tsx"
        },
        {
          "path": "registry/example-pagination-dots-carousel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-pagination-dots-carousel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/pagination/dots-carousel",
        "aliases": [],
        "exampleFor": "Pagination",
        "category": "components/Pagination",
        "componentsUsed": [
          "Pagination",
          "Card",
          "Text",
          "Layout",
          "Icon",
          "Avatar"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-pagination-dots-carousel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-pagination-page-size-selector",
      "type": "registry:block",
      "title": "Pagination — Page Size Selector",
      "description": "A transactions table with pagination and a page size dropdown at the bottom. Shows how pagination works as a footer below real content, with adjustable rows per page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-pagination-page-size-selector/PaginationPageSize.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PaginationPageSize.tsx"
        },
        {
          "path": "registry/example-pagination-page-size-selector/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-pagination-page-size-selector.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/pagination/page-size-selector",
        "aliases": [],
        "exampleFor": "Pagination",
        "category": "components/Pagination",
        "componentsUsed": [
          "Pagination",
          "Text",
          "Layout",
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-pagination-page-size-selector.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-pagination-with-table",
      "type": "registry:block",
      "title": "Pagination — With Table",
      "description": "Pagination below a data table with client-side page slicing. Use the count variant with small size for dense data views where users need to see item ranges.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-pagination-with-table/PaginationWithTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PaginationWithTable.tsx"
        },
        {
          "path": "registry/example-pagination-with-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-pagination-with-table.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/pagination/with-table",
        "aliases": [],
        "exampleFor": "Pagination",
        "category": "components/Pagination",
        "componentsUsed": [
          "Pagination",
          "Table",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-pagination-with-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-popover-bottom-sheet-alternative",
      "type": "registry:block",
      "title": "Popover — Bottom Sheet Alternative",
      "description": "Opt-in BottomSheet alternative for compact touch surfaces where actions should use a modal presentation anchored to the bottom edge.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-popover-bottom-sheet-alternative/PopoverBottomSheetAlternative.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PopoverBottomSheetAlternative.jsx"
        },
        {
          "path": "registry/example-popover-bottom-sheet-alternative/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/PopoverBottomSheetAlternative.astryx.d.mts"
        },
        {
          "path": "registry/example-popover-bottom-sheet-alternative/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-popover-bottom-sheet-alternative.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/popover/bottom-sheet-alternative",
        "aliases": [],
        "exampleFor": "Popover",
        "category": "components/Popover",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "Icon",
          "Section",
          "Layout",
          "Text",
          "List"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-popover-bottom-sheet-alternative.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-popover-confirm-action",
      "type": "registry:block",
      "title": "Popover — Confirm Action",
      "description": "Inline confirmation popover for destructive actions with delete and cancel buttons.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-popover-confirm-action/PopoverConfirmAction.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PopoverConfirmAction.tsx"
        },
        {
          "path": "registry/example-popover-confirm-action/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-popover-confirm-action.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/popover/confirm-action",
        "aliases": [],
        "exampleFor": "Popover",
        "category": "components/Popover",
        "componentsUsed": [
          "Popover",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-popover-confirm-action.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-popover-filter-panel",
      "type": "registry:block",
      "title": "Popover — Filter Panel",
      "description": "Popover with checkbox filters and apply/reset actions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-popover-filter-panel/PopoverFilterPanel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PopoverFilterPanel.tsx"
        },
        {
          "path": "registry/example-popover-filter-panel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-popover-filter-panel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/popover/filter-panel",
        "aliases": [],
        "exampleFor": "Popover",
        "category": "components/Popover",
        "componentsUsed": [
          "Popover",
          "Button",
          "Layout",
          "Text",
          "CheckboxInput",
          "Divider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-popover-filter-panel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-popover-keyboard-shortcuts",
      "type": "registry:block",
      "title": "Popover — Keyboard Shortcuts",
      "description": "Popover displaying a list of keyboard shortcuts with key and description pairs.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-popover-keyboard-shortcuts/PopoverKeyboardShortcuts.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PopoverKeyboardShortcuts.tsx"
        },
        {
          "path": "registry/example-popover-keyboard-shortcuts/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-popover-keyboard-shortcuts.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/popover/keyboard-shortcuts",
        "aliases": [],
        "exampleFor": "Popover",
        "category": "components/Popover",
        "componentsUsed": [
          "Popover",
          "Button",
          "Layout",
          "Text",
          "Divider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-popover-keyboard-shortcuts.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-popover-settings-panel",
      "type": "registry:block",
      "title": "Popover — Settings Panel",
      "description": "Popover with toggle switches for managing user preferences like notifications, dark mode, and sounds.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-popover-settings-panel/PopoverSettingsPanel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PopoverSettingsPanel.tsx"
        },
        {
          "path": "registry/example-popover-settings-panel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-popover-settings-panel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/popover/settings-panel",
        "aliases": [],
        "exampleFor": "Popover",
        "category": "components/Popover",
        "componentsUsed": [
          "Popover",
          "Button",
          "Layout",
          "Text",
          "Switch",
          "Divider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-popover-settings-panel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-power-search-content-search",
      "type": "registry:block",
      "title": "PowerSearch — Content Search",
      "description": "Power search with contentSearchFieldKey so free-text input maps to a title field automatically.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-power-search-content-search/PowerSearchContentSearch.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PowerSearchContentSearch.tsx"
        },
        {
          "path": "registry/example-power-search-content-search/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-power-search-content-search.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/power-search/content-search",
        "aliases": [],
        "exampleFor": "PowerSearch",
        "category": "components/PowerSearch",
        "componentsUsed": [
          "PowerSearch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-power-search-content-search.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-power-search-full-featured",
      "type": "registry:block",
      "title": "PowerSearch — Full Featured",
      "description": "Power search with multiple field types: enum, multi-select, entity, and text filters.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-power-search-full-featured/PowerSearchFullFeatured.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PowerSearchFullFeatured.tsx"
        },
        {
          "path": "registry/example-power-search-full-featured/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-power-search-full-featured.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/power-search/full-featured",
        "aliases": [],
        "exampleFor": "PowerSearch",
        "category": "components/PowerSearch",
        "componentsUsed": [
          "PowerSearch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-power-search-full-featured.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-power-search-preset-filters",
      "type": "registry:block",
      "title": "PowerSearch — Preset Filters",
      "description": "Power search initialized with pre-set filter tokens for status and priority.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-power-search-preset-filters/PowerSearchPresetFilters.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PowerSearchPresetFilters.tsx"
        },
        {
          "path": "registry/example-power-search-preset-filters/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-power-search-preset-filters.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/power-search/preset-filters",
        "aliases": [],
        "exampleFor": "PowerSearch",
        "category": "components/PowerSearch",
        "componentsUsed": [
          "PowerSearch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-power-search-preset-filters.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-power-search-search-with-table",
      "type": "registry:block",
      "title": "PowerSearch — Search with Table",
      "description": "Composition of PowerSearch with Table using usePowerSearchConfig to auto-generate config and filter data.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-power-search-search-with-table/PowerSearchSearchWithTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PowerSearchSearchWithTable.tsx"
        },
        {
          "path": "registry/example-power-search-search-with-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-power-search-search-with-table.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/power-search/search-with-table",
        "aliases": [],
        "exampleFor": "PowerSearch",
        "category": "components/PowerSearch",
        "componentsUsed": [
          "PowerSearch",
          "Table",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-power-search-search-with-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-progress-bar-custom-format",
      "type": "registry:block",
      "title": "ProgressBar — Custom Format",
      "description": "Progress bar with a custom value label showing disk usage in GB.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-progress-bar-custom-format/ProgressBarCustomFormat.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ProgressBarCustomFormat.tsx"
        },
        {
          "path": "registry/example-progress-bar-custom-format/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-progress-bar-custom-format.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/progress-bar/custom-format",
        "aliases": [],
        "exampleFor": "ProgressBar",
        "category": "components/ProgressBar",
        "componentsUsed": [
          "ProgressBar",
          "Center",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-progress-bar-custom-format.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-progress-bar-indeterminate",
      "type": "registry:block",
      "title": "ProgressBar — Indeterminate",
      "description": "Indeterminate progress bar for operations with unknown duration.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-progress-bar-indeterminate/ProgressBarIndeterminate.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ProgressBarIndeterminate.tsx"
        },
        {
          "path": "registry/example-progress-bar-indeterminate/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-progress-bar-indeterminate.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/progress-bar/indeterminate",
        "aliases": [],
        "exampleFor": "ProgressBar",
        "category": "components/ProgressBar",
        "componentsUsed": [
          "ProgressBar",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-progress-bar-indeterminate.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-progress-bar-semantic-variants",
      "type": "registry:block",
      "title": "ProgressBar — Semantic Variants",
      "description": "All semantic color variants stacked vertically.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-progress-bar-semantic-variants/ProgressBarSemanticVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ProgressBarSemanticVariants.tsx"
        },
        {
          "path": "registry/example-progress-bar-semantic-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-progress-bar-semantic-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/progress-bar/semantic-variants",
        "aliases": [],
        "exampleFor": "ProgressBar",
        "category": "components/ProgressBar",
        "componentsUsed": [
          "ProgressBar",
          "Center",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-progress-bar-semantic-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-progress-bar-with-value-label",
      "type": "registry:block",
      "title": "ProgressBar — With Value Label",
      "description": "Progress bar with its current percentage displayed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-progress-bar-with-value-label/ProgressBarWithValueLabel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ProgressBarWithValueLabel.tsx"
        },
        {
          "path": "registry/example-progress-bar-with-value-label/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-progress-bar-with-value-label.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/progress-bar/with-value-label",
        "aliases": [],
        "exampleFor": "ProgressBar",
        "category": "components/ProgressBar",
        "componentsUsed": [
          "ProgressBar",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-progress-bar-with-value-label.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-radio-list-horizontal-layout",
      "type": "registry:block",
      "title": "RadioList — Horizontal Layout",
      "description": "Radio list with horizontal orientation for compact selections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-radio-list-horizontal-layout/RadioListHorizontalLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/RadioListHorizontalLayout.tsx"
        },
        {
          "path": "registry/example-radio-list-horizontal-layout/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-radio-list-horizontal-layout.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/radio-list/horizontal-layout",
        "aliases": [],
        "exampleFor": "RadioList",
        "category": "components/RadioList",
        "componentsUsed": [
          "RadioList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-radio-list-horizontal-layout.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-radio-list-item-basic",
      "type": "registry:block",
      "title": "RadioListItem — Basic",
      "description": "Radio items with labels and descriptions inside a controlled RadioList. Use for single-choice option groups like shipping methods.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-radio-list-item-basic/RadioListItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/RadioListItemBasic.tsx"
        },
        {
          "path": "registry/example-radio-list-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-radio-list-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/radio-list-item/basic",
        "aliases": [],
        "exampleFor": "RadioListItem",
        "category": "components/RadioListItem",
        "componentsUsed": [
          "RadioList",
          "RadioListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-radio-list-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-radio-list-pricing-tier",
      "type": "registry:block",
      "title": "RadioList — Pricing Tier",
      "description": "Radio list with pricing info in end content for plan selection.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-radio-list-pricing-tier/RadioListPricingTier.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/RadioListPricingTier.tsx"
        },
        {
          "path": "registry/example-radio-list-pricing-tier/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-radio-list-pricing-tier.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/radio-list/pricing-tier",
        "aliases": [],
        "exampleFor": "RadioList",
        "category": "components/RadioList",
        "componentsUsed": [
          "RadioList",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-radio-list-pricing-tier.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-radio-list-with-descriptions",
      "type": "registry:block",
      "title": "RadioList — With Descriptions",
      "description": "Radio list with descriptions on the group and each item.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-radio-list-with-descriptions/RadioListWithDescriptions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/RadioListWithDescriptions.tsx"
        },
        {
          "path": "registry/example-radio-list-with-descriptions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-radio-list-with-descriptions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/radio-list/with-descriptions",
        "aliases": [],
        "exampleFor": "RadioList",
        "category": "components/RadioList",
        "componentsUsed": [
          "RadioList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-radio-list-with-descriptions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-radio-list-with-validation",
      "type": "registry:block",
      "title": "RadioList — With Validation",
      "description": "Required radio list with an error message when nothing is selected.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-radio-list-with-validation/RadioListWithValidation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/RadioListWithValidation.tsx"
        },
        {
          "path": "registry/example-radio-list-with-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-radio-list-with-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/radio-list/with-validation",
        "aliases": [],
        "exampleFor": "RadioList",
        "category": "components/RadioList",
        "componentsUsed": [
          "RadioList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-radio-list-with-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-scrollable-area-inline-rail",
      "type": "registry:block",
      "title": "Scrollable Area — Inline Rail",
      "description": "axis=\"inline\" scrolls the same cards sideways; isFullBleed lets the rail run to the panel edges while the content padding keeps the first card aligned with the heading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-scrollable-area-inline-rail/ScrollableAreaInlineRail.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ScrollableAreaInlineRail.tsx"
        },
        {
          "path": "registry/example-scrollable-area-inline-rail/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-scrollable-area-inline-rail.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/scrollable-area/inline-rail",
        "aliases": [],
        "exampleFor": "ScrollableArea",
        "category": "components/ScrollableArea",
        "componentsUsed": [
          "ScrollableArea",
          "Card",
          "Link"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-scrollable-area-inline-rail.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-scrollable-area-overscroll",
      "type": "registry:block",
      "title": "Scrollable Area — Overscroll",
      "description": "The same section, two edge policies: the default overscroll=\"allow\" hands a gesture that reaches the end to the panel behind it, while overscroll=\"contain\" stops it at the section edge.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-scrollable-area-overscroll/ScrollableAreaOverscrollChaining.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ScrollableAreaOverscrollChaining.jsx"
        },
        {
          "path": "registry/example-scrollable-area-overscroll/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/ScrollableAreaOverscrollChaining.astryx.d.mts"
        },
        {
          "path": "registry/example-scrollable-area-overscroll/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-scrollable-area-overscroll.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/scrollable-area/overscroll",
        "aliases": [],
        "exampleFor": "ScrollableArea",
        "category": "components/ScrollableArea",
        "componentsUsed": [
          "ScrollableArea",
          "Card",
          "Grid"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-scrollable-area-overscroll.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-scrollable-area-sticky-passthrough",
      "type": "registry:block",
      "title": "Scrollable Area — Sticky Passthrough",
      "description": "A section whose content fits clips instead of scrolling, so its sticky label passes outward and pins to the panel edge. The next section sets stickyContainment=\"always\" and keeps its label in its own box.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-scrollable-area-sticky-passthrough/ScrollableAreaStickyPassthrough.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ScrollableAreaStickyPassthrough.jsx"
        },
        {
          "path": "registry/example-scrollable-area-sticky-passthrough/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/ScrollableAreaStickyPassthrough.astryx.d.mts"
        },
        {
          "path": "registry/example-scrollable-area-sticky-passthrough/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-scrollable-area-sticky-passthrough.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/scrollable-area/sticky-passthrough",
        "aliases": [],
        "exampleFor": "ScrollableArea",
        "category": "components/ScrollableArea",
        "componentsUsed": [
          "ScrollableArea",
          "Card",
          "Grid"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-scrollable-area-sticky-passthrough.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-scrollable-area-sticky-section-labels",
      "type": "registry:block",
      "title": "Scrollable Area — Sticky Section Labels",
      "description": "A scrollable viewport is the containing block for position: sticky, so section labels pin to the top edge of the list instead of the page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-scrollable-area-sticky-section-labels/ScrollableAreaStickyGroupHeaders.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ScrollableAreaStickyGroupHeaders.jsx"
        },
        {
          "path": "registry/example-scrollable-area-sticky-section-labels/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/ScrollableAreaStickyGroupHeaders.astryx.d.mts"
        },
        {
          "path": "registry/example-scrollable-area-sticky-section-labels/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-scrollable-area-sticky-section-labels.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/scrollable-area/sticky-section-labels",
        "aliases": [],
        "exampleFor": "ScrollableArea",
        "category": "components/ScrollableArea",
        "componentsUsed": [
          "ScrollableArea",
          "Card",
          "Grid"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-scrollable-area-sticky-section-labels.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-scrollable-area-two-axis-board",
      "type": "registry:block",
      "title": "Scrollable Area — Two-Axis Board",
      "description": "axis=\"both\" gives the content box max-content inline sizing, so a board wider and taller than its panel scrolls on both axes from one viewport.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-scrollable-area-two-axis-board/ScrollableAreaTwoAxisBoard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ScrollableAreaTwoAxisBoard.tsx"
        },
        {
          "path": "registry/example-scrollable-area-two-axis-board/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-scrollable-area-two-axis-board.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/scrollable-area/two-axis-board",
        "aliases": [],
        "exampleFor": "ScrollableArea",
        "category": "components/ScrollableArea",
        "componentsUsed": [
          "ScrollableArea",
          "Card",
          "Grid"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-scrollable-area-two-axis-board.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-section-default-with-wash",
      "type": "registry:block",
      "title": "Section — Default with Wash",
      "description": "A default section stacked with a full-width muted section. Shows how muted draws attention to a specific region like an upgrade prompt or banner.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-section-default-with-wash/SectionWashHighlight.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SectionWashHighlight.tsx"
        },
        {
          "path": "registry/example-section-default-with-wash/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-section-default-with-wash.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/section/default-with-wash",
        "aliases": [],
        "exampleFor": "Section",
        "category": "components/Section",
        "componentsUsed": [
          "Section",
          "Layout",
          "Text",
          "Button",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-section-default-with-wash.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-section-with-dividers",
      "type": "registry:block",
      "title": "Section — With Dividers",
      "description": "Adjacent sections separated by bottom dividers, like a settings page. Use dividers when stacking same-variant sections that need visual separation without a background change.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-section-with-dividers/SectionWithDividers.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SectionWithDividers.tsx"
        },
        {
          "path": "registry/example-section-with-dividers/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-section-with-dividers.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/section/with-dividers",
        "aliases": [],
        "exampleFor": "Section",
        "category": "components/Section",
        "componentsUsed": [
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-section-with-dividers.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-segmented-control-disabled-item",
      "type": "registry:block",
      "title": "SegmentedControl — Disabled Item",
      "description": "Segmented control with an individually disabled option for unavailable choices.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-segmented-control-disabled-item/SegmentedControlDisabledItem.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SegmentedControlDisabledItem.tsx"
        },
        {
          "path": "registry/example-segmented-control-disabled-item/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-segmented-control-disabled-item.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/segmented-control/disabled-item",
        "aliases": [],
        "exampleFor": "SegmentedControl",
        "category": "components/SegmentedControl",
        "componentsUsed": [
          "SegmentedControl"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-segmented-control-disabled-item.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-segmented-control-fill-layout",
      "type": "registry:block",
      "title": "SegmentedControl — Fill Layout",
      "description": "Segmented control that stretches segments equally to fill the available width, useful for fixed-width containers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-segmented-control-fill-layout/SegmentedControlFillLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SegmentedControlFillLayout.tsx"
        },
        {
          "path": "registry/example-segmented-control-fill-layout/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-segmented-control-fill-layout.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/segmented-control/fill-layout",
        "aliases": [],
        "exampleFor": "SegmentedControl",
        "category": "components/SegmentedControl",
        "componentsUsed": [
          "SegmentedControl"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-segmented-control-fill-layout.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-segmented-control-icon-only",
      "type": "registry:block",
      "title": "SegmentedControl — Icon Only",
      "description": "Compact segmented control with hidden labels, showing only icons for space-constrained layouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-segmented-control-icon-only/SegmentedControlIconOnly.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SegmentedControlIconOnly.tsx"
        },
        {
          "path": "registry/example-segmented-control-icon-only/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-segmented-control-icon-only.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/segmented-control/icon-only",
        "aliases": [],
        "exampleFor": "SegmentedControl",
        "category": "components/SegmentedControl",
        "componentsUsed": [
          "SegmentedControl"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-segmented-control-icon-only.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-segmented-control-item-basic",
      "type": "registry:block",
      "title": "SegmentedControlItem — Basic",
      "description": "A row of label-only options that switches between a few views, here Board, List, and Timeline. Each item declares a value; the parent control holds the selected value and change handler.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-segmented-control-item-basic/SegmentedControlItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SegmentedControlItemBasic.tsx"
        },
        {
          "path": "registry/example-segmented-control-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-segmented-control-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/segmented-control-item/basic",
        "aliases": [],
        "exampleFor": "SegmentedControlItem",
        "category": "components/SegmentedControlItem",
        "componentsUsed": [
          "SegmentedControl",
          "SegmentedControlItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-segmented-control-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-segmented-control-with-icons",
      "type": "registry:block",
      "title": "SegmentedControl — With Icons",
      "description": "Segmented control with icon and label pairs for a view mode switcher.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-segmented-control-with-icons/SegmentedControlWithIcons.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SegmentedControlWithIcons.tsx"
        },
        {
          "path": "registry/example-segmented-control-with-icons/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-segmented-control-with-icons.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/segmented-control/with-icons",
        "aliases": [],
        "exampleFor": "SegmentedControl",
        "category": "components/SegmentedControl",
        "componentsUsed": [
          "SegmentedControl"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-segmented-control-with-icons.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selectable-card-elevated",
      "type": "registry:block",
      "title": "Selectable Card — Elevated",
      "description": "Raised selectable cards with `elevation=\"low\"`. The inset selection ring composes on top of the shadow, so a selected card keeps its elevation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selectable-card-elevated/SelectableCardElevated.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectableCardElevated.tsx"
        },
        {
          "path": "registry/example-selectable-card-elevated/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selectable-card-elevated.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selectable-card/elevated",
        "aliases": [],
        "exampleFor": "SelectableCard",
        "category": "components/Card",
        "componentsUsed": [
          "SelectableCard",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selectable-card-elevated.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selectable-card-multi",
      "type": "registry:block",
      "title": "Selectable Card — Multi-select",
      "description": "Multi-select tag picker using color variant selectable cards with color-matched selection borders.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selectable-card-multi/SelectableCardMulti.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectableCardMulti.tsx"
        },
        {
          "path": "registry/example-selectable-card-multi/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selectable-card-multi.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selectable-card/multi",
        "aliases": [],
        "exampleFor": "SelectableCard",
        "category": "components/Card",
        "componentsUsed": [
          "SelectableCard",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selectable-card-multi.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-bottom-sheet",
      "type": "registry:block",
      "title": "Selector — Bottom Sheet",
      "description": "Presents a single-selection list in a bottom sheet for compact touch interfaces.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-bottom-sheet/SelectorBottomSheet.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorBottomSheet.tsx"
        },
        {
          "path": "registry/example-selector-bottom-sheet/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-bottom-sheet.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector/bottom-sheet",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-bottom-sheet.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-clearable",
      "type": "registry:block",
      "title": "Selector — Clearable",
      "description": "Selector with a clear button to reset the selected value.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-clearable/SelectorClearable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorClearable.tsx"
        },
        {
          "path": "registry/example-selector-clearable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-clearable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector/clearable",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-clearable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-ghost-toolbar",
      "type": "registry:block",
      "title": "Selector — Ghost Toolbar",
      "description": "Borderless Selector variant composed with ghost buttons in a toolbar.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-ghost-toolbar/SelectorGhostToolbar.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorGhostToolbar.tsx"
        },
        {
          "path": "registry/example-selector-ghost-toolbar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-ghost-toolbar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector/ghost-toolbar",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector",
          "Button",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-ghost-toolbar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-grouped-sections",
      "type": "registry:block",
      "title": "Selector — Grouped Sections",
      "description": "Selector with options grouped into labeled sections.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-grouped-sections/SelectorWithSections.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorWithSections.tsx"
        },
        {
          "path": "registry/example-selector-grouped-sections/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-grouped-sections.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector/grouped-sections",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-grouped-sections.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-option-basic",
      "type": "registry:block",
      "title": "SelectorOption — Basic",
      "description": "A selector whose options are rendered with SelectorOption, adding a secondary description below each label. Use inside renderOption for consistent custom option styling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-option-basic/SelectorOptionBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorOptionBasic.tsx"
        },
        {
          "path": "registry/example-selector-option-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-option-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector-option/basic",
        "aliases": [],
        "exampleFor": "SelectorOption",
        "category": "components/SelectorOption",
        "componentsUsed": [
          "Selector",
          "SelectorOption"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-option-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-option-descriptions",
      "type": "registry:block",
      "title": "Selector — Option descriptions",
      "description": "Options carry a description, so the dropdown draws a two-line row. The closed trigger is sized by padding, so it is the size token for a one-line value and exactly one line taller for a two-line one; both on the 4px rhythm. An InputGroup pins the row, so the value folds back onto one line there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-option-descriptions/SelectorOptionDescriptions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorOptionDescriptions.tsx"
        },
        {
          "path": "registry/example-selector-option-descriptions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-option-descriptions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector/option-descriptions",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector",
          "SelectorOption",
          "InputGroup",
          "Button",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-option-descriptions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-selector-validation-states",
      "type": "registry:block",
      "title": "Selector — Validation States",
      "description": "Selector showing error, warning, and success validation states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-selector-validation-states/SelectorWithStatus.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SelectorWithStatus.tsx"
        },
        {
          "path": "registry/example-selector-validation-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-selector-validation-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/selector/validation-states",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector",
          "Center",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-selector-validation-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-collapse-button-basic",
      "type": "registry:block",
      "title": "SideNavCollapseButton — Basic",
      "description": "Place a collapse button in the SideNav footer to let users toggle the rail between expanded and collapsed states. Disable the built-in button via collapsible={{hasButton: false}} when positioning it yourself.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-collapse-button-basic/SideNavCollapseButtonBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavCollapseButtonBasic.tsx"
        },
        {
          "path": "registry/example-side-nav-collapse-button-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-collapse-button-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav-collapse-button/basic",
        "aliases": [],
        "exampleFor": "SideNavCollapseButton",
        "category": "components/SideNavCollapseButton",
        "componentsUsed": [
          "SideNav",
          "SideNavCollapseButton",
          "SideNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-collapse-button-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-end-content",
      "type": "registry:block",
      "title": "SideNav — End Content",
      "description": "Side navigation items with badges, counts, and context menus as trailing content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-end-content/SideNavEndContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavEndContent.tsx"
        },
        {
          "path": "registry/example-side-nav-end-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-end-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav/end-content",
        "aliases": [],
        "exampleFor": "SideNav",
        "category": "components/SideNav",
        "componentsUsed": [
          "SideNav",
          "Badge",
          "Text",
          "MoreMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-end-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-header-with-menu",
      "type": "registry:block",
      "title": "SideNav — Header with Menu",
      "description": "Side navigation with an account switcher dropdown in the header for multi-account apps.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-header-with-menu/SideNavWithHeaderMenu.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavWithHeaderMenu.tsx"
        },
        {
          "path": "registry/example-side-nav-header-with-menu/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-header-with-menu.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav/header-with-menu",
        "aliases": [],
        "exampleFor": "SideNav",
        "category": "components/SideNav",
        "componentsUsed": [
          "SideNav",
          "List",
          "NavIcon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-header-with-menu.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-heading-basic",
      "type": "registry:block",
      "title": "SideNavHeading — Basic",
      "description": "A SideNav header with an app icon and a linked title. Pass it to the SideNav header prop to identify the product or workspace at the top of the navigation rail.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-heading-basic/SideNavHeadingBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavHeadingBasic.tsx"
        },
        {
          "path": "registry/example-side-nav-heading-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-heading-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav-heading/basic",
        "aliases": [],
        "exampleFor": "SideNavHeading",
        "category": "components/SideNavHeading",
        "componentsUsed": [
          "SideNav",
          "SideNavHeading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-heading-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-item-basic",
      "type": "registry:block",
      "title": "SideNavItem — Basic",
      "description": "Navigation links inside a SideNav, each with a label, an icon, and an href. Mark the item for the current page with isSelected.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-item-basic/SideNavItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavItemBasic.tsx"
        },
        {
          "path": "registry/example-side-nav-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav-item/basic",
        "aliases": [],
        "exampleFor": "SideNavItem",
        "category": "components/SideNavItem",
        "componentsUsed": [
          "SideNav",
          "SideNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-nested-items",
      "type": "registry:block",
      "title": "SideNav — Nested Items",
      "description": "Side navigation with collapsible nested items for settings or hierarchical menus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-nested-items/SideNavNestedItems.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavNestedItems.tsx"
        },
        {
          "path": "registry/example-side-nav-nested-items/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-nested-items.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav/nested-items",
        "aliases": [],
        "exampleFor": "SideNav",
        "category": "components/SideNav",
        "componentsUsed": [
          "SideNav"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-nested-items.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-side-nav-section-basic",
      "type": "registry:block",
      "title": "SideNavSection — Basic",
      "description": "Group related SideNavItems under titled sections. Use sections to organize longer navigation lists into scannable clusters like Overview and Account.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-side-nav-section-basic/SideNavSectionBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SideNavSectionBasic.tsx"
        },
        {
          "path": "registry/example-side-nav-section-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-side-nav-section-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/side-nav-section/basic",
        "aliases": [],
        "exampleFor": "SideNavSection",
        "category": "components/SideNavSection",
        "componentsUsed": [
          "SideNav",
          "SideNavSection",
          "SideNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-side-nav-section-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-skeleton-card-loading",
      "type": "registry:block",
      "title": "Skeleton — Card Loading",
      "description": "Card skeleton with avatar, name, and content lines.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-skeleton-card-loading/SkeletonCardSkeleton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SkeletonCardSkeleton.tsx"
        },
        {
          "path": "registry/example-skeleton-card-loading/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-skeleton-card-loading.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/skeleton/card-loading",
        "aliases": [],
        "exampleFor": "Skeleton",
        "category": "components/Skeleton",
        "componentsUsed": [
          "Skeleton",
          "Card",
          "HStack",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-skeleton-card-loading.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-skeleton-staggered-list",
      "type": "registry:block",
      "title": "Skeleton — Staggered List",
      "description": "Staggered skeleton lines with varying widths.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-skeleton-staggered-list/SkeletonStaggeredList.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SkeletonStaggeredList.tsx"
        },
        {
          "path": "registry/example-skeleton-staggered-list/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-skeleton-staggered-list.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/skeleton/staggered-list",
        "aliases": [],
        "exampleFor": "Skeleton",
        "category": "components/Skeleton",
        "componentsUsed": [
          "Skeleton",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-skeleton-staggered-list.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-skeleton-table-rows",
      "type": "registry:block",
      "title": "Skeleton — Table Rows",
      "description": "Table skeleton with staggered column widths.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-skeleton-table-rows/SkeletonTableRowSkeleton.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SkeletonTableRowSkeleton.tsx"
        },
        {
          "path": "registry/example-skeleton-table-rows/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-skeleton-table-rows.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/skeleton/table-rows",
        "aliases": [],
        "exampleFor": "Skeleton",
        "category": "components/Skeleton",
        "componentsUsed": [
          "Skeleton",
          "HStack",
          "VStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-skeleton-table-rows.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-slider-formatted-value",
      "type": "registry:block",
      "title": "Slider — Formatted Value",
      "description": "Slider with custom formatting showing temperature in Fahrenheit.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-slider-formatted-value/SliderFormattedValue.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SliderFormattedValue.tsx"
        },
        {
          "path": "registry/example-slider-formatted-value/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-slider-formatted-value.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/slider/formatted-value",
        "aliases": [],
        "exampleFor": "Slider",
        "category": "components/Slider",
        "componentsUsed": [
          "Slider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-slider-formatted-value.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-slider-range",
      "type": "registry:block",
      "title": "Slider — Range",
      "description": "Range slider for selecting a value range like price bounds.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-slider-range/SliderRangeSlider.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SliderRangeSlider.tsx"
        },
        {
          "path": "registry/example-slider-range/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-slider-range.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/slider/range",
        "aliases": [],
        "exampleFor": "Slider",
        "category": "components/Slider",
        "componentsUsed": [
          "Slider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-slider-range.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-slider-validation-states",
      "type": "registry:block",
      "title": "Slider — Validation States",
      "description": "Sliders with error, warning, and success validation states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-slider-validation-states/SliderWithStatus.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SliderWithStatus.tsx"
        },
        {
          "path": "registry/example-slider-validation-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-slider-validation-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/slider/validation-states",
        "aliases": [],
        "exampleFor": "Slider",
        "category": "components/Slider",
        "componentsUsed": [
          "Slider",
          "VStack",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-slider-validation-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-slider-with-marks",
      "type": "registry:block",
      "title": "Slider — With Marks",
      "description": "Slider with labeled tick marks at fixed intervals.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-slider-with-marks/SliderWithMarks.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SliderWithMarks.tsx"
        },
        {
          "path": "registry/example-slider-with-marks/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-slider-with-marks.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/slider/with-marks",
        "aliases": [],
        "exampleFor": "Slider",
        "category": "components/Slider",
        "componentsUsed": [
          "Slider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-slider-with-marks.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-spinner-on-media-shade",
      "type": "registry:block",
      "title": "Spinner — On Media Shade",
      "description": "Default and onMedia shade spinners for light and dark backgrounds.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-spinner-on-media-shade/SpinnerOnMedia.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SpinnerOnMedia.tsx"
        },
        {
          "path": "registry/example-spinner-on-media-shade/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-spinner-on-media-shade.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/spinner/on-media-shade",
        "aliases": [],
        "exampleFor": "Spinner",
        "category": "components/Spinner",
        "componentsUsed": [
          "Spinner"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-spinner-on-media-shade.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-spinner-sizes",
      "type": "registry:block",
      "title": "Spinner — Sizes",
      "description": "All spinner sizes displayed side by side.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-spinner-sizes/SpinnerSizes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SpinnerSizes.tsx"
        },
        {
          "path": "registry/example-spinner-sizes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-spinner-sizes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/spinner/sizes",
        "aliases": [],
        "exampleFor": "Spinner",
        "category": "components/Spinner",
        "componentsUsed": [
          "Spinner"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-spinner-sizes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-spinner-with-label",
      "type": "registry:block",
      "title": "Spinner — With Label",
      "description": "Spinners with text and rich multi-line labels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-spinner-with-label/SpinnerWithLabel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SpinnerWithLabel.tsx"
        },
        {
          "path": "registry/example-spinner-with-label/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-spinner-with-label.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/spinner/with-label",
        "aliases": [],
        "exampleFor": "Spinner",
        "category": "components/Spinner",
        "componentsUsed": [
          "Spinner",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-spinner-with-label.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stack-alignment",
      "type": "registry:block",
      "title": "Stack — Alignment",
      "description": "Buttons positioned at the start, center, and end of a row.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stack-alignment/StackAlignment.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StackAlignment.tsx"
        },
        {
          "path": "registry/example-stack-alignment/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stack-alignment.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stack/alignment",
        "aliases": [],
        "exampleFor": "Stack",
        "category": "components/Stack",
        "componentsUsed": [
          "Layout",
          "Card",
          "Button",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stack-alignment.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stack-fill-item",
      "type": "registry:block",
      "title": "Stack — Fill Item",
      "description": "An avatar, text, and button in a row; the text stretches to fill the available space.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stack-fill-item/StackFillItem.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StackFillItem.tsx"
        },
        {
          "path": "registry/example-stack-fill-item/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stack-fill-item.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stack/fill-item",
        "aliases": [],
        "exampleFor": "Stack",
        "category": "components/Stack",
        "componentsUsed": [
          "Layout",
          "Text",
          "Button",
          "Avatar"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stack-fill-item.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stack-item-fill",
      "type": "registry:block",
      "title": "StackItem — Fill",
      "description": "A static-width item next to one that fills the remaining space. Wrap stack children in StackItem when an item needs explicit sizing control.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stack-item-fill/StackItemFill.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StackItemFill.tsx"
        },
        {
          "path": "registry/example-stack-item-fill/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stack-item-fill.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stack-item/fill",
        "aliases": [],
        "exampleFor": "StackItem",
        "category": "components/StackItem",
        "componentsUsed": [
          "StackItem",
          "HStack",
          "Card",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stack-item-fill.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-status-dot-pulsing",
      "type": "registry:block",
      "title": "StatusDot — Pulsing",
      "description": "Animated pulsing dots for live, processing, and error states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-status-dot-pulsing/StatusDotPulsing.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StatusDotPulsing.tsx"
        },
        {
          "path": "registry/example-status-dot-pulsing/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-status-dot-pulsing.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/status-dot/pulsing",
        "aliases": [],
        "exampleFor": "StatusDot",
        "category": "components/StatusDot",
        "componentsUsed": [
          "StatusDot",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-status-dot-pulsing.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-status-dot-status-indicators",
      "type": "registry:block",
      "title": "StatusDot — Status Indicators",
      "description": "Labeled status dot list for presence indicators like online, away, and offline.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-status-dot-status-indicators/StatusDotStatusIndicators.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StatusDotStatusIndicators.tsx"
        },
        {
          "path": "registry/example-status-dot-status-indicators/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-status-dot-status-indicators.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/status-dot/status-indicators",
        "aliases": [],
        "exampleFor": "StatusDot",
        "category": "components/StatusDot",
        "componentsUsed": [
          "StatusDot",
          "VStack",
          "HStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-status-dot-status-indicators.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-status-dot-variants",
      "type": "registry:block",
      "title": "StatusDot — Variants",
      "description": "All five semantic color variants displayed in a row.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-status-dot-variants/StatusDotVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StatusDotVariants.tsx"
        },
        {
          "path": "registry/example-status-dot-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-status-dot-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/status-dot/variants",
        "aliases": [],
        "exampleFor": "StatusDot",
        "category": "components/StatusDot",
        "componentsUsed": [
          "StatusDot",
          "HStack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-status-dot-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-step-content-slot",
      "type": "registry:block",
      "title": "Step — Content Slot",
      "description": "Children passed to a Step render below its description, indented to line up with the label rather than the indicator, and stay outside the clickable label area so buttons inside remain their own targets. In a full flow you gate the slot on the step being active. That is what turns a vertical stepper into an expanding one.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-step-content-slot/StepContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepContent.tsx"
        },
        {
          "path": "registry/example-step-content-slot/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-step-content-slot.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/step/content-slot",
        "aliases": [],
        "exampleFor": "Step",
        "category": "components/Step",
        "componentsUsed": [
          "Stepper",
          "Step",
          "TextInput",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-step-content-slot.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-step-indicator",
      "type": "registry:block",
      "title": "Step — Indicator",
      "description": "Everything the indicator prop accepts: the auto default, an always-number badge, a custom ReactNode, and none, each on its own completed Step so the prop is the only difference between them. Every variant occupies the same 16px box, so a step swapping its number for a check as it completes never shifts the label beside it. The last cell shows that a custom node can be live rather than static: a Spinner on a step that is in progress, shaded `inherit` so it picks up the step's own tint like any other glyph.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-step-indicator/StepIndicator.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepIndicator.tsx"
        },
        {
          "path": "registry/example-step-indicator/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-step-indicator.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/step/indicator",
        "aliases": [],
        "exampleFor": "Step",
        "category": "components/Step",
        "componentsUsed": [
          "Stepper",
          "Step",
          "Icon",
          "Spinner",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-step-indicator.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-step-states",
      "type": "registry:block",
      "title": "Step — States",
      "description": "Every state a single Step can land in, each shown as one Step in its own Stepper. Completed, current, and upcoming are derived by comparing the step index against the parent activeStep, so they are never set directly; isDisabled and status are the two a step declares itself. Status is a separate axis from progress, which is why a completed step can still carry a warning.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-step-states/StepStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepStates.tsx"
        },
        {
          "path": "registry/example-step-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-step-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/step/states",
        "aliases": [],
        "exampleFor": "Step",
        "category": "components/Step",
        "componentsUsed": [
          "Stepper",
          "Step",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-step-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stepper-custom-content",
      "type": "registry:block",
      "title": "Stepper — Custom Content",
      "description": "A vertical stepper where each step owns a slice of the page. The content slot takes any node (form fields, a summary panel, a banner), so a stepper is not limited to multi-step forms. Rendering the slot only for the active step is what makes the flow expand one step at a time.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stepper-custom-content/StepperCustomContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepperCustomContent.tsx"
        },
        {
          "path": "registry/example-stepper-custom-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stepper-custom-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stepper/custom-content",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper",
          "TextInput",
          "Button",
          "Text",
          "Card",
          "Badge",
          "Banner"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stepper-custom-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stepper-horizontal-narrow-collapsed",
      "type": "registry:block",
      "title": "Stepper — Horizontal Narrow Collapsed",
      "description": "A narrow horizontal stepper using horizontalOptions. At 320px wide, four steps fall below the 112px minimumStepWidth and collapse into a current-step summary with Previous and Next controls.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stepper-horizontal-narrow-collapsed/StepperWidthResponsiveCollapse.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepperWidthResponsiveCollapse.tsx"
        },
        {
          "path": "registry/example-stepper-horizontal-narrow-collapsed/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stepper-horizontal-narrow-collapsed.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stepper/horizontal-narrow-collapsed",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stepper-horizontal-narrow-collapsed.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stepper-indicator-modes",
      "type": "registry:block",
      "title": "Stepper — Indicator Modes",
      "description": "The indicator prop side by side: none (the bar and label carry the progress on their own), auto (check when done, ring when current, number ahead), always-number, and a custom icon per step.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stepper-indicator-modes/StepperIndicatorModes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepperIndicatorModes.tsx"
        },
        {
          "path": "registry/example-stepper-indicator-modes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stepper-indicator-modes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stepper/indicator-modes",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stepper-indicator-modes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stepper-on-track-horizontal",
      "type": "registry:block",
      "title": "Stepper — On-Track Horizontal",
      "description": "The on-track layout in horizontal orientation: instead of sitting beside the label, each indicator is slotted into the connector itself, so the numbered nodes read as beads on one continuous line. Labels center under their node.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stepper-on-track-horizontal/StepperOnTrackHorizontal.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepperOnTrackHorizontal.tsx"
        },
        {
          "path": "registry/example-stepper-on-track-horizontal/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stepper-on-track-horizontal.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stepper/on-track-horizontal",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stepper-on-track-horizontal.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stepper-on-track-vertical",
      "type": "registry:block",
      "title": "Stepper — On-Track Vertical",
      "description": "The on-track layout in vertical orientation: indicators sit inline on a continuous connector rail, with each label and description beside its node. Compare with the separated layout, where the indicator sits alongside its own bar segment instead of on a shared rail.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stepper-on-track-vertical/StepperOnTrackVertical.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepperOnTrackVertical.tsx"
        },
        {
          "path": "registry/example-stepper-on-track-vertical/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stepper-on-track-vertical.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stepper/on-track-vertical",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper",
          "Step"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stepper-on-track-vertical.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-stepper-validation-status",
      "type": "registry:block",
      "title": "Stepper — Validation Status",
      "description": "Semantic status per step in a verification flow: success shows a green check, error a red glyph, accent the in-progress step. Status sets the indicator color and glyph only, never the connector, and is announced to assistive tech as text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-stepper-validation-status/StepperStatus.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StepperStatus.tsx"
        },
        {
          "path": "registry/example-stepper-validation-status/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-stepper-validation-status.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/stepper/validation-status",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-stepper-validation-status.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-switch-disabled",
      "type": "registry:block",
      "title": "Switch — Disabled",
      "description": "Disabled switch with label and description for gated features.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-switch-disabled/SwitchDisabled.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SwitchDisabled.tsx"
        },
        {
          "path": "registry/example-switch-disabled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-switch-disabled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/switch/disabled",
        "aliases": [],
        "exampleFor": "Switch",
        "category": "components/Switch",
        "componentsUsed": [
          "Switch",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-switch-disabled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-switch-settings-panel",
      "type": "registry:block",
      "title": "Switch — Settings Panel",
      "description": "Settings panel with spread-spaced switches in a card.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-switch-settings-panel/SwitchSettingsPanel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SwitchSettingsPanel.tsx"
        },
        {
          "path": "registry/example-switch-settings-panel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-switch-settings-panel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/switch/settings-panel",
        "aliases": [],
        "exampleFor": "Switch",
        "category": "components/Switch",
        "componentsUsed": [
          "Switch",
          "Card",
          "VStack",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-switch-settings-panel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-switch-with-description",
      "type": "registry:block",
      "title": "Switch — With Description",
      "description": "Toggle with a label and supporting description text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-switch-with-description/SwitchWithDescription.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SwitchWithDescription.tsx"
        },
        {
          "path": "registry/example-switch-with-description/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-switch-with-description.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/switch/with-description",
        "aliases": [],
        "exampleFor": "Switch",
        "category": "components/Switch",
        "componentsUsed": [
          "Switch",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-switch-with-description.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-switch-with-status",
      "type": "registry:block",
      "title": "Switch — With Status",
      "description": "Switches with error, warning, and success validation states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-switch-with-status/SwitchWithStatus.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SwitchWithStatus.tsx"
        },
        {
          "path": "registry/example-switch-with-status/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-switch-with-status.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/switch/with-status",
        "aliases": [],
        "exampleFor": "Switch",
        "category": "components/Switch",
        "componentsUsed": [
          "Switch",
          "VStack",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-switch-with-status.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-syntax-theme-dark-preset",
      "type": "registry:block",
      "title": "SyntaxTheme — Dark Preset",
      "description": "Wrap a code block in SyntaxTheme to apply a dark syntax preset such as Dracula.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-syntax-theme-dark-preset/SyntaxThemeDarkPreset.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SyntaxThemeDarkPreset.tsx"
        },
        {
          "path": "registry/example-syntax-theme-dark-preset/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-syntax-theme-dark-preset.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/syntax-theme/dark-preset",
        "aliases": [],
        "exampleFor": "SyntaxTheme",
        "category": "components/SyntaxTheme",
        "componentsUsed": [
          "SyntaxTheme",
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-syntax-theme-dark-preset.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-syntax-theme-light-preset",
      "type": "registry:block",
      "title": "SyntaxTheme — Light Preset",
      "description": "Use a light syntax preset for code examples that need to sit on light documentation surfaces.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-syntax-theme-light-preset/SyntaxThemeLightPreset.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/SyntaxThemeLightPreset.tsx"
        },
        {
          "path": "registry/example-syntax-theme-light-preset/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-syntax-theme-light-preset.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/syntax-theme/light-preset",
        "aliases": [],
        "exampleFor": "SyntaxTheme",
        "category": "components/SyntaxTheme",
        "componentsUsed": [
          "SyntaxTheme",
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-syntax-theme-light-preset.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-list-fill-layout",
      "type": "registry:block",
      "title": "TabList — Fill Layout",
      "description": "Tabs that stretch to fill the available width with a bottom divider.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-list-fill-layout/TabListTabsFillLayout.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabListTabsFillLayout.tsx"
        },
        {
          "path": "registry/example-tab-list-fill-layout/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-list-fill-layout.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-list/fill-layout",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList",
          "Tab"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-list-fill-layout.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-list-with-actions",
      "type": "registry:block",
      "title": "TabList — With Actions",
      "description": "Page header pattern with tabs on the left and action buttons pushed to the right. When hasDivider is true, match the Button size to the TabList size so the tabs and actions align to a shared baseline above the divider.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-list-with-actions/TabListTabsWithActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabListTabsWithActions.tsx"
        },
        {
          "path": "registry/example-tab-list-with-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-list-with-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-list/with-actions",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList",
          "Tab",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-list-with-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-list-with-badge",
      "type": "registry:block",
      "title": "TabList — With Badge",
      "description": "Tabs with notification badge counts rendered via endContent. Uses error variant for urgent counts and neutral for informational ones.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-list-with-badge/TabListTabsWithBadge.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabListTabsWithBadge.tsx"
        },
        {
          "path": "registry/example-tab-list-with-badge/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-list-with-badge.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-list/with-badge",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList",
          "Tab",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-list-with-badge.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-list-with-icons",
      "type": "registry:block",
      "title": "TabList — With Icons",
      "description": "Tabs with leading icons alongside text labels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-list-with-icons/TabListTabsWithIcons.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabListTabsWithIcons.tsx"
        },
        {
          "path": "registry/example-tab-list-with-icons/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-list-with-icons.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-list/with-icons",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList",
          "Tab"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-list-with-icons.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-list-with-overflow-menu",
      "type": "registry:block",
      "title": "TabList — With Overflow Menu",
      "description": "Tab list with a dropdown menu for additional items that do not fit inline.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-list-with-overflow-menu/TabListTabsWithMenu.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabListTabsWithMenu.tsx"
        },
        {
          "path": "registry/example-tab-list-with-overflow-menu/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-list-with-overflow-menu.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-list/with-overflow-menu",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList",
          "Tab",
          "TabMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-list-with-overflow-menu.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-list-with-status-dot",
      "type": "registry:block",
      "title": "TabList — With Status Dot",
      "description": "Tabs with status dot indicators rendered via endContent to show live environment health at a glance.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-list-with-status-dot/TabListTabsWithStatusDot.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabListTabsWithStatusDot.tsx"
        },
        {
          "path": "registry/example-tab-list-with-status-dot/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-list-with-status-dot.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-list/with-status-dot",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList",
          "Tab",
          "StatusDot"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-list-with-status-dot.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-menu-basic",
      "type": "registry:block",
      "title": "TabMenu — Basic",
      "description": "An overflow menu at the end of a TabList that collects secondary tabs behind a dropdown. Use it when there are more tabs than fit comfortably inline.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-menu-basic/TabMenuBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabMenuBasic.tsx"
        },
        {
          "path": "registry/example-tab-menu-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-menu-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab-menu/basic",
        "aliases": [],
        "exampleFor": "TabMenu",
        "category": "components/TabMenu",
        "componentsUsed": [
          "TabList",
          "Tab",
          "TabMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-menu-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tab-selected-icon",
      "type": "registry:block",
      "title": "Tab — Selected Icon",
      "description": "A tab that changes its icon when selected.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tab-selected-icon/TabWithSelectedIcon.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TabWithSelectedIcon.tsx"
        },
        {
          "path": "registry/example-tab-selected-icon/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tab-selected-icon.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tab/selected-icon",
        "aliases": [],
        "exampleFor": "Tab",
        "category": "components/Tab",
        "componentsUsed": [
          "TabList",
          "Tab"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tab-selected-icon.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-column-settings",
      "type": "registry:block",
      "title": "Table — Column Settings",
      "description": "Table with a column visibility picker in the toolbar. Toggle columns on and off.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-column-settings/TableColumnSettingsTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableColumnSettingsTable.tsx"
        },
        {
          "path": "registry/example-table-column-settings/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-column-settings.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/column-settings",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "MultiSelector",
          "Toolbar",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-column-settings.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-grid-dividers",
      "type": "registry:block",
      "title": "Table — Grid Dividers",
      "description": "Compact table with grid dividers showing both row and column borders, suited for dense numeric data.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-grid-dividers/TableGridDividersTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableGridDividersTable.tsx"
        },
        {
          "path": "registry/example-table-grid-dividers/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-grid-dividers.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/grid-dividers",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-grid-dividers.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-in-card",
      "type": "registry:block",
      "title": "Table — In Card",
      "description": "Table composed inside a card with a heading, demonstrating container bleed alignment.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-in-card/TableInCard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableInCard.tsx"
        },
        {
          "path": "registry/example-table-in-card/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-in-card.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/in-card",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-in-card.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-inline-filters",
      "type": "registry:block",
      "title": "Table — Inline Filters",
      "description": "Table with inline filter controls rendered directly below each column header.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-inline-filters/TableInlineFilterTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableInlineFilterTable.tsx"
        },
        {
          "path": "registry/example-table-inline-filters/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-inline-filters.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/inline-filters",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "PowerSearch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-inline-filters.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-paginated-data",
      "type": "registry:block",
      "title": "Table — Paginated Data",
      "description": "Paginated data table navigating through a larger dataset page by page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-paginated-data/TablePaginatedTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TablePaginatedTable.tsx"
        },
        {
          "path": "registry/example-table-paginated-data/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-paginated-data.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/paginated-data",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "Section"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-paginated-data.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-popover-filters",
      "type": "registry:block",
      "title": "Table — Popover Filters",
      "description": "Table with popover filter controls triggered by icons in column headers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-popover-filters/TableFilterableTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableFilterableTable.tsx"
        },
        {
          "path": "registry/example-table-popover-filters/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-popover-filters.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/popover-filters",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "PowerSearch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-popover-filters.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-resizable-columns",
      "type": "registry:block",
      "title": "Table — Resizable Columns",
      "description": "Table with draggable column resize handles. Drag the right edge of any header to resize.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-resizable-columns/TableResizableTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableResizableTable.tsx"
        },
        {
          "path": "registry/example-table-resizable-columns/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-resizable-columns.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/resizable-columns",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-resizable-columns.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-rich-cell-content",
      "type": "registry:block",
      "title": "Table — Rich Cell Content",
      "description": "Table with rich cell content using Link for emails and Badge for role labels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-rich-cell-content/TableRichCellTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableRichCellTable.tsx"
        },
        {
          "path": "registry/example-table-rich-cell-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-rich-cell-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/rich-cell-content",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "Badge",
          "Link"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-rich-cell-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-row-selection",
      "type": "registry:block",
      "title": "Table — Row Selection",
      "description": "Table with row selection checkboxes and a select-all header checkbox.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-row-selection/TableSelectableTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableSelectableTable.tsx"
        },
        {
          "path": "registry/example-table-row-selection/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-row-selection.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/row-selection",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-row-selection.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-sortable-columns",
      "type": "registry:block",
      "title": "Table — Sortable Columns",
      "description": "Table with sortable columns, click headers to sort ascending or descending.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-sortable-columns/TableSortableTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableSortableTable.tsx"
        },
        {
          "path": "registry/example-table-sortable-columns/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-sortable-columns.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/sortable-columns",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-sortable-columns.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-table-striped-rows",
      "type": "registry:block",
      "title": "Table — Striped Rows",
      "description": "Table with alternating row colors and hover highlighting for easy scanning.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-table-striped-rows/TableStripedTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableStripedTable.tsx"
        },
        {
          "path": "registry/example-table-striped-rows/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-table-striped-rows.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/table/striped-rows",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-table-striped-rows.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-area-character-count",
      "type": "registry:block",
      "title": "TextArea — Character Count",
      "description": "Textareas with maxLength and a live character counter. The counter turns red when the limit is exceeded.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-area-character-count/TextAreaCharacterCount.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextAreaCharacterCount.tsx"
        },
        {
          "path": "registry/example-text-area-character-count/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-area-character-count.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-area/character-count",
        "aliases": [],
        "exampleFor": "TextArea",
        "category": "components/TextArea",
        "componentsUsed": [
          "TextArea"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-area-character-count.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-area-icon",
      "type": "registry:block",
      "title": "TextArea — Icon",
      "description": "Textareas with a leading icon that hints at the expected content, like a chat bubble for messages or a pencil for notes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-area-icon/TextAreaWithIcon.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextAreaWithIcon.tsx"
        },
        {
          "path": "registry/example-text-area-icon/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-area-icon.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-area/icon",
        "aliases": [],
        "exampleFor": "TextArea",
        "category": "components/TextArea",
        "componentsUsed": [
          "TextArea"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-area-icon.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-area-states",
      "type": "registry:block",
      "title": "TextArea — States",
      "description": "Required, disabled, and loading textareas side by side. Shows the interactive states the component supports.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-area-states/TextAreaStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextAreaStates.tsx"
        },
        {
          "path": "registry/example-text-area-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-area-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-area/states",
        "aliases": [],
        "exampleFor": "TextArea",
        "category": "components/TextArea",
        "componentsUsed": [
          "TextArea",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-area-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-area-validation",
      "type": "registry:block",
      "title": "TextArea — Validation",
      "description": "All three status variants (error, warning, and success) with status messages, plus error without a message. Use to show inline validation feedback as the user types.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-area-validation/TextAreaValidation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextAreaValidation.tsx"
        },
        {
          "path": "registry/example-text-area-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-area-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-area/validation",
        "aliases": [],
        "exampleFor": "TextArea",
        "category": "components/TextArea",
        "componentsUsed": [
          "TextArea",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-area-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-colors",
      "type": "registry:block",
      "title": "Text — Colors",
      "description": "All text color options (primary, secondary, disabled, placeholder, active) applied to body text to show their intended use.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-colors/TextColors.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextColors.tsx"
        },
        {
          "path": "registry/example-text-colors/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-colors.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/colors",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-colors.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-heading-levels",
      "type": "registry:block",
      "title": "Text — Heading Levels",
      "description": "All 6 heading levels (h1 through h6) rendered with Heading to show the full type scale.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-heading-levels/TextHeadingLevels.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextHeadingLevels.tsx"
        },
        {
          "path": "registry/example-text-heading-levels/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-heading-levels.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/heading-levels",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-heading-levels.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-inline",
      "type": "registry:block",
      "title": "Text — Inline",
      "description": "Mixing body and code text inline within a single line using the default inline display mode.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-inline/TextInline.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInline.tsx"
        },
        {
          "path": "registry/example-text-inline/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-inline.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/inline",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-inline.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-input-icon",
      "type": "registry:block",
      "title": "TextInput — Icon",
      "description": "Inputs with a leading icon that hints at the expected content. Use when the icon helps users identify the field faster, like a lock for passwords or an envelope for email.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-input-icon/TextInputIcon.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInputIcon.tsx"
        },
        {
          "path": "registry/example-text-input-icon/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-input-icon.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-input/icon",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-input-icon.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-input-search",
      "type": "registry:block",
      "title": "TextInput — Search",
      "description": "Search input with a hidden label, start icon, and clear button. Use for toolbar and header search bars where the icon provides sufficient context.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-input-search/TextInputSearch.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInputSearch.tsx"
        },
        {
          "path": "registry/example-text-input-search/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-input-search.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-input/search",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-input-search.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-input-sizes",
      "type": "registry:block",
      "title": "TextInput — Sizes",
      "description": "Small, medium, and large inputs side by side. Use small in dense UIs like table filters, medium for most forms, and large for prominent single-field pages.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-input-sizes/TextInputSizes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInputSizes.tsx"
        },
        {
          "path": "registry/example-text-input-sizes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-input-sizes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-input/sizes",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-input-sizes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-input-states",
      "type": "registry:block",
      "title": "TextInput — States",
      "description": "Error, warning, and success validation states with status messages. Use to show users what went wrong and how to fix it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-input-states/TextInputStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInputStates.tsx"
        },
        {
          "path": "registry/example-text-input-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-input-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-input/states",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-input-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-input-status-variant",
      "type": "registry:block",
      "title": "TextInput — Status variant",
      "description": "The statusVariant prop controls whether the status message is attached to the bordered input (default, overlapping directly below) or detached from it (floating below as a separate element with spacing).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-input-status-variant/TextInputStatusVariant.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInputStatusVariant.tsx"
        },
        {
          "path": "registry/example-text-input-status-variant/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-input-status-variant.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-input/status-variant",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-input-status-variant.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-input-types",
      "type": "registry:block",
      "title": "TextInput — Types",
      "description": "Text, password, and email types plus field-level features: tooltip, required, optional, description, disabled, and loading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-input-types/TextInputTypes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextInputTypes.tsx"
        },
        {
          "path": "registry/example-text-input-types/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-input-types.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text-input/types",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-input-types.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-truncation",
      "type": "registry:block",
      "title": "Text — Truncation",
      "description": "Single-line and multi-line text truncation with ellipsis using maxLines in a width-constrained container.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-truncation/TextTruncation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextTruncation.tsx"
        },
        {
          "path": "registry/example-text-truncation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-truncation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/truncation",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-truncation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-types",
      "type": "registry:block",
      "title": "Text — Types",
      "description": "All 5 semantic text types (body, large, label, supporting, code) with their default styling from the theme.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-types/TextTypes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextTypes.tsx"
        },
        {
          "path": "registry/example-text-types/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-types.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/types",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-types.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-weight",
      "type": "registry:block",
      "title": "Text — Weight",
      "description": "The 4 font weight variants (normal, medium, semibold, bold) applied to body text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-weight/TextWeight.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextWeight.tsx"
        },
        {
          "path": "registry/example-text-weight/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-weight.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/weight",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-weight.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-word-break",
      "type": "registry:block",
      "title": "Text — Word Break",
      "description": "Compares break-word and break-all word break modes on a long unbreakable string.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-word-break/TextWordBreak.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextWordBreak.tsx"
        },
        {
          "path": "registry/example-text-word-break/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-word-break.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/word-break",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-word-break.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-text-wrap",
      "type": "registry:block",
      "title": "Text — Wrap",
      "description": "The 4 text-wrap modes (wrap, nowrap, balance, pretty) shown in width-constrained containers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-text-wrap/TextWrap.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TextWrap.tsx"
        },
        {
          "path": "registry/example-text-wrap/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-text-wrap.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/text/wrap",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-text-wrap.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-theme-apply-theme",
      "type": "registry:block",
      "title": "Theme — Apply Theme",
      "description": "Wrap a subtree in Theme to apply a theme to every child component in that region.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-theme-apply-theme/ThemeApply.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThemeApply.tsx"
        },
        {
          "path": "registry/example-theme-apply-theme/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-theme-apply-theme.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/theme/apply-theme",
        "aliases": [],
        "exampleFor": "Theme",
        "category": "components/Theme",
        "componentsUsed": [
          "Theme",
          "Card",
          "Button",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-theme-apply-theme.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-theme-nested-theme",
      "type": "registry:block",
      "title": "Theme — Nested Theme",
      "description": "Nested Theme providers let a local region use a different theme without affecting the rest of the page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-theme-nested-theme/ThemeNested.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThemeNested.tsx"
        },
        {
          "path": "registry/example-theme-nested-theme/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-theme-nested-theme.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/theme/nested-theme",
        "aliases": [],
        "exampleFor": "Theme",
        "category": "components/Theme",
        "componentsUsed": [
          "Theme",
          "Card",
          "Button",
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-theme-nested-theme.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-theme-switch-themes",
      "type": "registry:block",
      "title": "Theme — Switch Themes",
      "description": "Use state to switch the theme object passed to Theme and preview a different visual treatment.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-theme-switch-themes/ThemeSwitcher.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThemeSwitcher.tsx"
        },
        {
          "path": "registry/example-theme-switch-themes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-theme-switch-themes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/theme/switch-themes",
        "aliases": [],
        "exampleFor": "Theme",
        "category": "components/Theme",
        "componentsUsed": [
          "Theme",
          "Card",
          "Button",
          "Section",
          "Layout",
          "Selector",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-theme-switch-themes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-thumbnail-disabled",
      "type": "registry:block",
      "title": "Thumbnail — Disabled",
      "description": "Thumbnails in the disabled state with reduced opacity. The open and remove buttons stay focusable and announced as disabled, and call nothing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-thumbnail-disabled/ThumbnailDisabled.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThumbnailDisabled.tsx"
        },
        {
          "path": "registry/example-thumbnail-disabled/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-thumbnail-disabled.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/thumbnail/disabled",
        "aliases": [],
        "exampleFor": "Thumbnail",
        "category": "components/Thumbnail",
        "componentsUsed": [
          "Thumbnail",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-thumbnail-disabled.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-thumbnail-gallery",
      "type": "registry:block",
      "title": "Thumbnail — Gallery",
      "description": "A row of clickable thumbnails with labels that open a detail view. Use for image attachment lists where users need to preview and manage uploads.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-thumbnail-gallery/ThumbnailGallery.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThumbnailGallery.tsx"
        },
        {
          "path": "registry/example-thumbnail-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-thumbnail-gallery.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/thumbnail/gallery",
        "aliases": [],
        "exampleFor": "Thumbnail",
        "category": "components/Thumbnail",
        "componentsUsed": [
          "Thumbnail",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-thumbnail-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-thumbnail-removable",
      "type": "registry:block",
      "title": "Thumbnail — Removable",
      "description": "Thumbnails with a remove button overlay. The close button uses APCA luminance detection to stay visible on both dark and light images.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-thumbnail-removable/ThumbnailRemovable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThumbnailRemovable.tsx"
        },
        {
          "path": "registry/example-thumbnail-removable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-thumbnail-removable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/thumbnail/removable",
        "aliases": [],
        "exampleFor": "Thumbnail",
        "category": "components/Thumbnail",
        "componentsUsed": [
          "Thumbnail",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-thumbnail-removable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-thumbnail-states",
      "type": "registry:block",
      "title": "Thumbnail — States",
      "description": "All visual states side by side: image loaded, placeholder, skeleton loading, and upload overlay. Demonstrates the full lifecycle of a thumbnail from empty to loaded.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-thumbnail-states/ThumbnailStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ThumbnailStates.tsx"
        },
        {
          "path": "registry/example-thumbnail-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-thumbnail-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/thumbnail/states",
        "aliases": [],
        "exampleFor": "Thumbnail",
        "category": "components/Thumbnail",
        "componentsUsed": [
          "Thumbnail",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-thumbnail-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-time-input-constrained",
      "type": "registry:block",
      "title": "TimeInput — Constrained",
      "description": "Time inputs with min/max constraints limiting selection to specific windows. Use to prevent out-of-bounds selections for appointments, reservations, or shift scheduling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-time-input-constrained/TimeInputConstrained.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimeInputConstrained.tsx"
        },
        {
          "path": "registry/example-time-input-constrained/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-time-input-constrained.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/time-input/constrained",
        "aliases": [],
        "exampleFor": "TimeInput",
        "category": "components/TimeInput",
        "componentsUsed": [
          "TimeInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-time-input-constrained.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-time-input-formats",
      "type": "registry:block",
      "title": "TimeInput — Formats",
      "description": "12-hour, 24-hour, and seconds formats side by side. Use 12h for US-centric UIs, 24h for international or technical contexts, and seconds for precise timing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-time-input-formats/TimeInputFormats.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimeInputFormats.tsx"
        },
        {
          "path": "registry/example-time-input-formats/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-time-input-formats.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/time-input/formats",
        "aliases": [],
        "exampleFor": "TimeInput",
        "category": "components/TimeInput",
        "componentsUsed": [
          "TimeInput",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-time-input-formats.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-time-input-increment",
      "type": "registry:block",
      "title": "TimeInput — Increment",
      "description": "Time input with a custom step increment. Arrow keys jump by the specified interval (e.g. 15 minutes) for quick slot-based scheduling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-time-input-increment/TimeInputIncrement.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimeInputIncrement.tsx"
        },
        {
          "path": "registry/example-time-input-increment/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-time-input-increment.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/time-input/increment",
        "aliases": [],
        "exampleFor": "TimeInput",
        "category": "components/TimeInput",
        "componentsUsed": [
          "TimeInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-time-input-increment.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-time-input-states",
      "type": "registry:block",
      "title": "TimeInput — States",
      "description": "Default, disabled, error, warning, and success states. Use status messages to give users clear feedback about their time selection.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-time-input-states/TimeInputStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimeInputStates.tsx"
        },
        {
          "path": "registry/example-time-input-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-time-input-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/time-input/states",
        "aliases": [],
        "exampleFor": "TimeInput",
        "category": "components/TimeInput",
        "componentsUsed": [
          "TimeInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-time-input-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timer-formats",
      "type": "registry:block",
      "title": "Timer — Formats",
      "description": "Elapsed compact units and stopwatch clock notation shown from the same start time.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timer-formats/TimerFormats.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimerFormats.tsx"
        },
        {
          "path": "registry/example-timer-formats/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timer-formats.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timer/formats",
        "aliases": [],
        "exampleFor": "Timer",
        "category": "components/Timer",
        "componentsUsed": [
          "Timer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timer-formats.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timer-inline",
      "type": "registry:block",
      "title": "Timer — Inline",
      "description": "A Timer composed into status copy while inheriting the surrounding typography.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timer-inline/TimerInline.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimerInline.tsx"
        },
        {
          "path": "registry/example-timer-inline/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timer-inline.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timer/inline",
        "aliases": [],
        "exampleFor": "Timer",
        "category": "components/Timer",
        "componentsUsed": [
          "Timer",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timer-inline.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timer-typography",
      "type": "registry:block",
      "title": "Timer — Typography",
      "description": "Timer using its Timestamp-matched default typography and an emphasized override.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timer-typography/TimerTypography.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimerTypography.tsx"
        },
        {
          "path": "registry/example-timer-typography/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timer-typography.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timer/typography",
        "aliases": [],
        "exampleFor": "Timer",
        "category": "components/Timer",
        "componentsUsed": [
          "Timer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timer-typography.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timestamp-auto",
      "type": "registry:block",
      "title": "Timestamp — Auto",
      "description": "Auto format that shows relative time for recent dates and switches to the full date for older ones. The default choice for most use cases.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timestamp-auto/TimestampAutoFormat.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimestampAutoFormat.tsx"
        },
        {
          "path": "registry/example-timestamp-auto/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timestamp-auto.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timestamp/auto",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timestamp-auto.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timestamp-colors",
      "type": "registry:block",
      "title": "Timestamp — Colors",
      "description": "Timestamp rendered in each available color variant: primary, secondary, disabled, and active.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timestamp-colors/TimestampColors.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimestampColors.tsx"
        },
        {
          "path": "registry/example-timestamp-colors/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timestamp-colors.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timestamp/colors",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timestamp-colors.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timestamp-formats",
      "type": "registry:block",
      "title": "Timestamp — Formats",
      "description": "All display formats side by side: date, date_time, time, and their system equivalents. Use date and date_time for user-facing UI, system variants for logs and dev tools.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timestamp-formats/TimestampFormats.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimestampFormats.tsx"
        },
        {
          "path": "registry/example-timestamp-formats/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timestamp-formats.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timestamp/formats",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timestamp-formats.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timestamp-relative",
      "type": "registry:block",
      "title": "Timestamp — Relative",
      "description": "Relative time labels from seconds to months ago, with hover tooltips showing the full date. Use in feeds, comment threads, and activity logs.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timestamp-relative/TimestampRelativeFormat.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimestampRelativeFormat.tsx"
        },
        {
          "path": "registry/example-timestamp-relative/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timestamp-relative.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timestamp/relative",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timestamp-relative.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timestamp-timezone",
      "type": "registry:block",
      "title": "Timestamp — Timezone",
      "description": "Timestamps with the timezone abbreviation appended. Enable isTimezoneShown for audiences across time zones, like audit logs or team calendars.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timestamp-timezone/TimestampTimezone.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimestampTimezone.tsx"
        },
        {
          "path": "registry/example-timestamp-timezone/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timestamp-timezone.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timestamp/timezone",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timestamp-timezone.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-timestamp-tooltip-time-zones",
      "type": "registry:block",
      "title": "Timestamp — Tooltip time zones",
      "description": "Hover tooltips that show one instant across several time zones or formats. Use tooltipEntries when readers must compare zones, like an incident log carrying both the reader's time and the event's origin zone.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-timestamp-tooltip-time-zones/TimestampTooltipTimezones.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TimestampTooltipTimezones.tsx"
        },
        {
          "path": "registry/example-timestamp-tooltip-time-zones/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-timestamp-tooltip-time-zones.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/timestamp/tooltip-time-zones",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-timestamp-tooltip-time-zones.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toast-action",
      "type": "registry:block",
      "title": "Toast — Action",
      "description": "Persistent toasts with a trailing button or link so the user can act on the notification, like undoing a delete or viewing a report.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toast-action/ToastAction.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToastAction.tsx"
        },
        {
          "path": "registry/example-toast-action/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toast-action.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toast/action",
        "aliases": [],
        "exampleFor": "Toast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Button",
          "Link",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toast-action.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toast-deduplication",
      "type": "registry:block",
      "title": "Toast — Deduplication",
      "description": "Prevent duplicate toasts with uniqueID. Use ignore to keep the first toast, or overwrite to replace it with updated content like a progress percentage.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toast-deduplication/ToastDeduplication.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToastDeduplication.tsx"
        },
        {
          "path": "registry/example-toast-deduplication/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toast-deduplication.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toast/deduplication",
        "aliases": [],
        "exampleFor": "Toast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toast-deduplication.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toast-dismiss",
      "type": "registry:block",
      "title": "Toast — Dismiss",
      "description": "Show a persistent toast and dismiss it programmatically using the function returned by useToast. Use for long-running operations that need manual cleanup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toast-dismiss/ToastDismiss.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToastDismiss.tsx"
        },
        {
          "path": "registry/example-toast-dismiss/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toast-dismiss.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toast/dismiss",
        "aliases": [],
        "exampleFor": "Toast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toast-dismiss.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toast-stacking",
      "type": "registry:block",
      "title": "Toast — Stacking",
      "description": "Multiple toasts stacking vertically with smooth enter and exit animations. Click repeatedly to see how toasts queue and dismiss.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toast-stacking/ToastStacking.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToastStacking.tsx"
        },
        {
          "path": "registry/example-toast-stacking/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toast-stacking.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toast/stacking",
        "aliases": [],
        "exampleFor": "Toast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toast-stacking.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toast-types",
      "type": "registry:block",
      "title": "Toast — Types",
      "description": "Info and error toast variants side by side. Info toasts auto-dismiss after 5 seconds, error toasts persist until the user dismisses them.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toast-types/ToastTypes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToastTypes.tsx"
        },
        {
          "path": "registry/example-toast-types/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toast-types.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toast/types",
        "aliases": [],
        "exampleFor": "Toast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toast-types.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toggle-button-color",
      "type": "registry:block",
      "title": "ToggleButton — Color",
      "description": "Toggle buttons with colored icons in the pressed state. Shows accent-colored toolbar formatting and semantic reaction colors (yellow star, red heart, blue bookmark).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toggle-button-color/ToggleButtonColor.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToggleButtonColor.tsx"
        },
        {
          "path": "registry/example-toggle-button-color/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toggle-button-color.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toggle-button/color",
        "aliases": [],
        "exampleFor": "ToggleButton",
        "category": "components/ToggleButton",
        "componentsUsed": [
          "ToggleButton",
          "Layout",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toggle-button-color.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toggle-button-group-default",
      "type": "registry:block",
      "title": "ToggleButton — Group",
      "description": "Toggle button groups in single-select and multi-select modes. Single selection acts as a view mode switcher; multiple selection forms a formatting toolbar.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toggle-button-group-default/ToggleButtonGroup.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToggleButtonGroup.tsx"
        },
        {
          "path": "registry/example-toggle-button-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toggle-button-group-default.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toggle-button-group/default",
        "aliases": [],
        "exampleFor": "ToggleButtonGroup",
        "category": "components/ToggleButton",
        "componentsUsed": [
          "ToggleButton",
          "ToggleButtonGroup",
          "Layout",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toggle-button-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toggle-button-group-vertical",
      "type": "registry:block",
      "title": "ToggleButtonGroup — Vertical",
      "description": "A vertically stacked ToggleButtonGroup using the vertical orientation, shown with both single-select and multi-select behavior, ideal for sidebar-style option lists and vertical toolbars.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toggle-button-group-vertical/ToggleButtonGroupVertical.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToggleButtonGroupVertical.tsx"
        },
        {
          "path": "registry/example-toggle-button-group-vertical/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toggle-button-group-vertical.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toggle-button-group/vertical",
        "aliases": [],
        "exampleFor": "ToggleButtonGroup",
        "category": "components/ToggleButtonGroup",
        "componentsUsed": [
          "ToggleButton",
          "ToggleButtonGroup",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toggle-button-group-vertical.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toggle-button-icon-swap",
      "type": "registry:block",
      "title": "ToggleButton — Icon Swap",
      "description": "Icon-only toggle buttons that swap between outline and solid icons when pressed. Use for actions like favorite, bookmark, or mute where the icon itself communicates the state.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toggle-button-icon-swap/ToggleButtonIconSwap.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToggleButtonIconSwap.tsx"
        },
        {
          "path": "registry/example-toggle-button-icon-swap/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toggle-button-icon-swap.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toggle-button/icon-swap",
        "aliases": [],
        "exampleFor": "ToggleButton",
        "category": "components/ToggleButton",
        "componentsUsed": [
          "ToggleButton",
          "Layout",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toggle-button-icon-swap.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toggle-button-label",
      "type": "registry:block",
      "title": "ToggleButton — Label",
      "description": "Toggle buttons with visible text labels that show a font weight shift on press. Use when the icon alone is not enough to communicate the action.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toggle-button-label/ToggleButtonLabel.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToggleButtonLabel.tsx"
        },
        {
          "path": "registry/example-toggle-button-label/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toggle-button-label.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toggle-button/label",
        "aliases": [],
        "exampleFor": "ToggleButton",
        "category": "components/ToggleButton",
        "componentsUsed": [
          "ToggleButton",
          "ToggleButtonGroup",
          "Layout",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toggle-button-label.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toggle-button-states",
      "type": "registry:block",
      "title": "ToggleButton — States",
      "description": "Default, pressed, disabled, and loading states of a standalone toggle button. Shows how visual treatment changes across states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toggle-button-states/ToggleButtonStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToggleButtonStates.tsx"
        },
        {
          "path": "registry/example-toggle-button-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toggle-button-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toggle-button/states",
        "aliases": [],
        "exampleFor": "ToggleButton",
        "category": "components/ToggleButton",
        "componentsUsed": [
          "ToggleButton",
          "Layout",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toggle-button-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-token-clickable",
      "type": "registry:block",
      "title": "Token — Clickable",
      "description": "Interactive tokens that respond to clicks. Use for toggleable filters or tokens that open a detail view when selected.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-token-clickable/TokenClickable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenClickable.tsx"
        },
        {
          "path": "registry/example-token-clickable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-token-clickable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/token/clickable",
        "aliases": [],
        "exampleFor": "Token",
        "category": "components/Token",
        "componentsUsed": [
          "Token",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-token-clickable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-token-colors",
      "type": "registry:block",
      "title": "Token — Colors",
      "description": "All 11 color variants in default and disabled states. Use color to categorize entities or convey status at a glance.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-token-colors/TokenColors.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenColors.tsx"
        },
        {
          "path": "registry/example-token-colors/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-token-colors.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/token/colors",
        "aliases": [],
        "exampleFor": "Token",
        "category": "components/Token",
        "componentsUsed": [
          "Token",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-token-colors.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-token-end-content",
      "type": "registry:block",
      "title": "Token — End Content",
      "description": "Tokens with trailing content like a count badge or status indicator after the label. Use for notification counts, item quantities, or compact status info.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-token-end-content/TokenEndContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenEndContent.tsx"
        },
        {
          "path": "registry/example-token-end-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-token-end-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/token/end-content",
        "aliases": [],
        "exampleFor": "Token",
        "category": "components/Token",
        "componentsUsed": [
          "Token",
          "Badge",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-token-end-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-token-icon",
      "type": "registry:block",
      "title": "Token — Icon",
      "description": "Tokens with a leading icon that identifies the entity type. Use when the icon helps users recognize the token category faster, like a user icon for people or a tag icon for labels.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-token-icon/TokenIcon.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenIcon.tsx"
        },
        {
          "path": "registry/example-token-icon/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-token-icon.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/token/icon",
        "aliases": [],
        "exampleFor": "Token",
        "category": "components/Token",
        "componentsUsed": [
          "Token",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-token-icon.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-token-removable",
      "type": "registry:block",
      "title": "Token — Removable",
      "description": "Tokens with a dismiss button for selections the user can undo. Use in multi-select fields, active filters, or any list of user-chosen items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-token-removable/TokenRemovable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenRemovable.tsx"
        },
        {
          "path": "registry/example-token-removable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-token-removable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/token/removable",
        "aliases": [],
        "exampleFor": "Token",
        "category": "components/Token",
        "componentsUsed": [
          "Token",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-token-removable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-clear",
      "type": "registry:block",
      "title": "Tokenizer — Clear",
      "description": "Tokenizer with a built-in clear-all button for bulk removal of all selected tokens. On touch screens, clear through the sheet's Clear all.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-clear/TokenizerClear.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerClear.tsx"
        },
        {
          "path": "registry/example-tokenizer-clear/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-clear.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/clear",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-clear.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-creatable",
      "type": "registry:block",
      "title": "Tokenizer — Creatable",
      "description": "Free-text tokenizer for creating custom tags and a combined create-or-search pattern. Use when users need to enter values that may not exist in a predefined list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-creatable/TokenizerCreatable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerCreatable.tsx"
        },
        {
          "path": "registry/example-tokenizer-creatable/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-creatable.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/creatable",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-creatable.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-end-content",
      "type": "registry:block",
      "title": "Tokenizer — End Content",
      "description": "Tokenizer with an action button in the end slot. Use for inline actions like applying selections alongside the input.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-end-content/TokenizerEndContent.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerEndContent.tsx"
        },
        {
          "path": "registry/example-tokenizer-end-content/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-end-content.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/end-content",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-end-content.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-icon",
      "type": "registry:block",
      "title": "Tokenizer — Icon",
      "description": "Tokenizer with a leading search icon to visually reinforce the search behavior.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-icon/TokenizerIcon.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerIcon.tsx"
        },
        {
          "path": "registry/example-tokenizer-icon/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-icon.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/icon",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-icon.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-max-entries",
      "type": "registry:block",
      "title": "Tokenizer — Max Entries",
      "description": "Tokenizer with a maximum selection limit. The input hides automatically when the limit is reached, preventing further additions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-max-entries/TokenizerMaxEntries.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerMaxEntries.tsx"
        },
        {
          "path": "registry/example-tokenizer-max-entries/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-max-entries.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/max-entries",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-max-entries.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-overflow",
      "type": "registry:block",
      "title": "Tokenizer — Overflow",
      "description": "Tokenizer with overflow truncation when unfocused. Inline mode pushes content down on expand; layer mode overlays without shifting layout. Overflow modes apply to the inline field.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-overflow/TokenizerOverflow.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerOverflow.tsx"
        },
        {
          "path": "registry/example-tokenizer-overflow/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-overflow.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/overflow",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-overflow.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tokenizer-states",
      "type": "registry:block",
      "title": "Tokenizer — States",
      "description": "Tokenizer in disabled, error, warning, and success states. Use to communicate validation feedback or lock a selection from editing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tokenizer-states/TokenizerStates.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TokenizerStates.tsx"
        },
        {
          "path": "registry/example-tokenizer-states/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tokenizer-states.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tokenizer/states",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tokenizer-states.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toolbar-bulk-actions",
      "type": "registry:block",
      "title": "Toolbar — Bulk Actions",
      "description": "A compact toolbar with the muted variant for showing bulk selection actions. Use when the user selects multiple items in a list or table and needs quick access to batch operations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toolbar-bulk-actions/ToolbarBulkActions.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToolbarBulkActions.tsx"
        },
        {
          "path": "registry/example-toolbar-bulk-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toolbar-bulk-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toolbar/bulk-actions",
        "aliases": [],
        "exampleFor": "Toolbar",
        "category": "components/Toolbar",
        "componentsUsed": [
          "Toolbar",
          "Button",
          "Icon",
          "Badge",
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toolbar-bulk-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toolbar-card-header",
      "type": "registry:block",
      "title": "Toolbar — Card Header",
      "description": "A toolbar as a card header with a left-aligned title and icon actions on the right. Use Toolbar instead of LayoutHeader when your card header has interactive actions; Toolbar adds start/end slot layout, keyboard navigation, and automatic size cascading. If the header is just a title with no actions, a LayoutHeader or Section is enough.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toolbar-card-header/ToolbarCardHeader.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToolbarCardHeader.tsx"
        },
        {
          "path": "registry/example-toolbar-card-header/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toolbar-card-header.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toolbar/card-header",
        "aliases": [],
        "exampleFor": "Toolbar",
        "category": "components/Toolbar",
        "componentsUsed": [
          "Toolbar",
          "Button",
          "Icon",
          "Text",
          "Card",
          "Section"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toolbar-card-header.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toolbar-sizes",
      "type": "registry:block",
      "title": "Toolbar — Sizes",
      "description": "Small, medium, and large toolbars side by side. The size prop cascades to child buttons and inputs automatically. Use small in dense UIs like cards, medium for most cases, and large for spacious layouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toolbar-sizes/ToolbarSizes.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToolbarSizes.tsx"
        },
        {
          "path": "registry/example-toolbar-sizes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toolbar-sizes.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toolbar/sizes",
        "aliases": [],
        "exampleFor": "Toolbar",
        "category": "components/Toolbar",
        "componentsUsed": [
          "Toolbar",
          "Button",
          "Icon",
          "Text",
          "Layout",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toolbar-sizes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toolbar-tab-navigation",
      "type": "registry:block",
      "title": "Toolbar — Tab Navigation",
      "description": "A toolbar with tabs in the start slot and an action button at the end. Use as a card or section header when content is split into tabs with a primary action alongside.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toolbar-tab-navigation/ToolbarWithTabs.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToolbarWithTabs.tsx"
        },
        {
          "path": "registry/example-toolbar-tab-navigation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toolbar-tab-navigation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toolbar/tab-navigation",
        "aliases": [],
        "exampleFor": "Toolbar",
        "category": "components/Toolbar",
        "componentsUsed": [
          "Toolbar",
          "TabList",
          "Button",
          "Icon",
          "Card",
          "Section"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toolbar-tab-navigation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-toolbar-table-filter",
      "type": "registry:block",
      "title": "Toolbar — Table Filter",
      "description": "Filter bar above a table: a search box leads the row, each field beside it is a closed trigger that doubles as its own filter chip — the bare field name unset, the whole clause once set — and the clauses fold from the end into a count as the row narrows, followed by a live result count, a clear all, and a column picker. Use to search, filter, and narrow flat rows of records such as jobs, orders, tickets, or users.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0",
        "lucide-react@1.23.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-toolbar-table-filter/ToolbarTableFilter.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ToolbarTableFilter.jsx"
        },
        {
          "path": "registry/example-toolbar-table-filter/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/ToolbarTableFilter.astryx.d.mts"
        },
        {
          "path": "registry/example-toolbar-table-filter/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-toolbar-table-filter.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/toolbar/table-filter",
        "aliases": [],
        "exampleFor": "Toolbar",
        "category": "components/Toolbar",
        "componentsUsed": [
          "Toolbar",
          "Selector",
          "TextInput",
          "OverflowList",
          "Popover",
          "Button",
          "Icon",
          "Link",
          "Text",
          "CheckboxList",
          "Layout",
          "Section",
          "Table",
          "EmptyState"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-toolbar-table-filter.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tooltip-action-bar",
      "type": "registry:block",
      "title": "Tooltip — Action Bar",
      "description": "Tooltips on an action button bar with contextual descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tooltip-action-bar/TooltipActionBarTooltips.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TooltipActionBarTooltips.tsx"
        },
        {
          "path": "registry/example-tooltip-action-bar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tooltip-action-bar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tooltip/action-bar",
        "aliases": [],
        "exampleFor": "Tooltip",
        "category": "components/Tooltip",
        "componentsUsed": [
          "Tooltip",
          "Button",
          "HStack",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tooltip-action-bar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tooltip-hook-usage",
      "type": "registry:block",
      "title": "Tooltip — Hook Usage",
      "description": "Tooltip using the useTooltip hook for programmatic control.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tooltip-hook-usage/TooltipHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TooltipHookUsage.tsx"
        },
        {
          "path": "registry/example-tooltip-hook-usage/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tooltip-hook-usage.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tooltip/hook-usage",
        "aliases": [],
        "exampleFor": "Tooltip",
        "category": "components/Tooltip",
        "componentsUsed": [
          "Tooltip",
          "Button",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tooltip-hook-usage.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tooltip-inline-text",
      "type": "registry:block",
      "title": "Tooltip — Inline Text",
      "description": "Tooltips on inline text terms for definitions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tooltip-inline-text/TooltipInlineTextTooltips.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TooltipInlineTextTooltips.tsx"
        },
        {
          "path": "registry/example-tooltip-inline-text/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tooltip-inline-text.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tooltip/inline-text",
        "aliases": [],
        "exampleFor": "Tooltip",
        "category": "components/Tooltip",
        "componentsUsed": [
          "Tooltip",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tooltip-inline-text.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-centered-navigation",
      "type": "registry:block",
      "title": "TopNav — Centered Navigation",
      "description": "Navigation layout with center-aligned nav items flanked by a logo heading and end actions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-centered-navigation/TopNavCenteredNavigation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavCenteredNavigation.tsx"
        },
        {
          "path": "registry/example-top-nav-centered-navigation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-centered-navigation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav/centered-navigation",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "TopNav",
          "NavIcon",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-centered-navigation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-enterprise-dashboard",
      "type": "registry:block",
      "title": "TopNav — Enterprise Dashboard",
      "description": "Full-featured navigation bar with icon-labeled nav items, search, notifications, and a primary CTA.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-enterprise-dashboard/TopNavEnterpriseDashboard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavEnterpriseDashboard.tsx"
        },
        {
          "path": "registry/example-top-nav-enterprise-dashboard/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-enterprise-dashboard.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav/enterprise-dashboard",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "TopNav",
          "NavIcon",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-enterprise-dashboard.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-heading-basic",
      "type": "registry:block",
      "title": "TopNavHeading — Basic",
      "description": "A product heading with a logo inside a TopNav, linked to the home page. Use as the leading brand element of a top navigation bar.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-heading-basic/TopNavHeadingBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavHeadingBasic.tsx"
        },
        {
          "path": "registry/example-top-nav-heading-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-heading-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav-heading/basic",
        "aliases": [],
        "exampleFor": "TopNavHeading",
        "category": "components/TopNavHeading",
        "componentsUsed": [
          "TopNav",
          "TopNavHeading",
          "NavIcon",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-heading-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-hover-menu",
      "type": "registry:block",
      "title": "TopNav — Hover Menu",
      "description": "Navigation bar with a hover-triggered dropdown menu showing product items with icons and descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-hover-menu/TopNavHoverMenu.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavHoverMenu.tsx"
        },
        {
          "path": "registry/example-top-nav-hover-menu/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-hover-menu.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav/hover-menu",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "TopNav",
          "TopNavMenu",
          "NavIcon",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-hover-menu.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-item-basic",
      "type": "registry:block",
      "title": "TopNavItem — Basic",
      "description": "Navigation links inside a TopNav with one item marked as selected. Use for top-level pages of an application.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-item-basic/TopNavItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavItemBasic.tsx"
        },
        {
          "path": "registry/example-top-nav-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav-item/basic",
        "aliases": [],
        "exampleFor": "TopNavItem",
        "category": "components/TopNavItem",
        "componentsUsed": [
          "TopNav",
          "TopNavHeading",
          "TopNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-mega-menu",
      "type": "registry:block",
      "title": "TopNav — Mega Menu",
      "description": "Marketing-style navigation with a full-width mega menu featuring product items and a promotional featured card. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-mega-menu/TopNavMegaMenu.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavMegaMenu.tsx"
        },
        {
          "path": "registry/example-top-nav-mega-menu/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav/mega-menu",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "TopNav",
          "TopNavMegaMenu",
          "NavIcon",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-mega-menu-basic",
      "type": "registry:block",
      "title": "TopNavMegaMenu — Basic",
      "description": "A mega menu trigger inside a TopNav that opens a panel of rich link items. Use when a navigation section has multiple destinations worth describing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-mega-menu-basic/TopNavMegaMenuBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavMegaMenuBasic.tsx"
        },
        {
          "path": "registry/example-top-nav-mega-menu-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav-mega-menu/basic",
        "aliases": [],
        "exampleFor": "TopNavMegaMenu",
        "category": "components/TopNavMegaMenu",
        "componentsUsed": [
          "TopNav",
          "TopNavHeading",
          "TopNavItem",
          "TopNavMegaMenu",
          "TopNavMegaMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-mega-menu-featured-card-basic",
      "type": "registry:block",
      "title": "TopNavMegaMenuFeaturedCard — Basic",
      "description": "A promotional card with a title, description, and call-to-action link. Pass it to the featured slot of a TopNavMegaMenu to highlight announcements.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-mega-menu-featured-card-basic/TopNavMegaMenuFeaturedCardBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavMegaMenuFeaturedCardBasic.tsx"
        },
        {
          "path": "registry/example-top-nav-mega-menu-featured-card-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu-featured-card-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav-mega-menu-featured-card/basic",
        "aliases": [],
        "exampleFor": "TopNavMegaMenuFeaturedCard",
        "category": "components/TopNavMegaMenuFeaturedCard",
        "componentsUsed": [
          "TopNavMegaMenuFeaturedCard"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu-featured-card-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-mega-menu-item-basic",
      "type": "registry:block",
      "title": "TopNavMegaMenuItem — Basic",
      "description": "Rich link items with an icon, title, and description. Use inside the items slot of a TopNavMegaMenu to describe each destination.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-mega-menu-item-basic/TopNavMegaMenuItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavMegaMenuItemBasic.tsx"
        },
        {
          "path": "registry/example-top-nav-mega-menu-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav-mega-menu-item/basic",
        "aliases": [],
        "exampleFor": "TopNavMegaMenuItem",
        "category": "components/TopNavMegaMenuItem",
        "componentsUsed": [
          "TopNavMegaMenuItem",
          "Grid"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-mega-menu-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-menu-basic",
      "type": "registry:block",
      "title": "TopNavMenu — Basic",
      "description": "A dropdown menu inside a TopNav built from an items array with icons and descriptions. Use to group related destinations under a single trigger.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-menu-basic/TopNavMenuBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavMenuBasic.tsx"
        },
        {
          "path": "registry/example-top-nav-menu-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-menu-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav-menu/basic",
        "aliases": [],
        "exampleFor": "TopNavMenu",
        "category": "components/TopNavMenu",
        "componentsUsed": [
          "TopNav",
          "TopNavHeading",
          "TopNavItem",
          "TopNavMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-menu-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-multiple-dropdowns",
      "type": "registry:block",
      "title": "TopNav — Multiple Dropdowns",
      "description": "Navigation bar with multiple hover-triggered dropdown menus that auto-close when switching between them.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-multiple-dropdowns/TopNavMultipleDropdowns.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavMultipleDropdowns.tsx"
        },
        {
          "path": "registry/example-top-nav-multiple-dropdowns/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-multiple-dropdowns.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav/multiple-dropdowns",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "TopNav",
          "TopNavMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-multiple-dropdowns.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-top-nav-with-logo",
      "type": "registry:block",
      "title": "TopNav — With Logo",
      "description": "Navigation bar with a branded logo icon, heading link, nav items, and a profile action.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-top-nav-with-logo/TopNavWithLogo.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TopNavWithLogo.tsx"
        },
        {
          "path": "registry/example-top-nav-with-logo/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-top-nav-with-logo.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/top-nav/with-logo",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "TopNav",
          "NavIcon",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-top-nav-with-logo.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tree-list-file-tree-with-icons",
      "type": "registry:block",
      "title": "TreeList — File Tree With Icons",
      "description": "File browser tree with folder and document icons distinguishing directories from files.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tree-list-file-tree-with-icons/TreeListFileTreeWithIcons.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TreeListFileTreeWithIcons.tsx"
        },
        {
          "path": "registry/example-tree-list-file-tree-with-icons/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tree-list-file-tree-with-icons.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tree-list/file-tree-with-icons",
        "aliases": [],
        "exampleFor": "TreeList",
        "category": "components/TreeList",
        "componentsUsed": [
          "TreeList",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tree-list-file-tree-with-icons.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tree-list-interactive-settings",
      "type": "registry:block",
      "title": "TreeList — Interactive Settings",
      "description": "Settings tree with clickable items and a documentation link.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tree-list-interactive-settings/TreeListInteractiveSettings.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TreeListInteractiveSettings.tsx"
        },
        {
          "path": "registry/example-tree-list-interactive-settings/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tree-list-interactive-settings.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tree-list/interactive-settings",
        "aliases": [],
        "exampleFor": "TreeList",
        "category": "components/TreeList",
        "componentsUsed": [
          "TreeList",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tree-list-interactive-settings.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tree-list-mailbox-tree",
      "type": "registry:block",
      "title": "TreeList — Mailbox Tree",
      "description": "Email folder tree with unread badge counts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tree-list-mailbox-tree/TreeListMailboxTree.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TreeListMailboxTree.tsx"
        },
        {
          "path": "registry/example-tree-list-mailbox-tree/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tree-list-mailbox-tree.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tree-list/mailbox-tree",
        "aliases": [],
        "exampleFor": "TreeList",
        "category": "components/TreeList",
        "componentsUsed": [
          "TreeList",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tree-list-mailbox-tree.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tree-list-navigation-tree",
      "type": "registry:block",
      "title": "TreeList — Navigation Tree",
      "description": "Navigation tree with a selected item for the current page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tree-list-navigation-tree/TreeListNavigationTree.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TreeListNavigationTree.tsx"
        },
        {
          "path": "registry/example-tree-list-navigation-tree/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tree-list-navigation-tree.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tree-list/navigation-tree",
        "aliases": [],
        "exampleFor": "TreeList",
        "category": "components/TreeList",
        "componentsUsed": [
          "TreeList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tree-list-navigation-tree.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-tree-list-variants",
      "type": "registry:block",
      "title": "Tree List — Variants",
      "description": "The `variant` prop controls whether hierarchy guide lines are shown: `lineGuides` (default) draws connector lines between parent and child rows, while `noGuides` relies on indentation alone. It is orthogonal to `density`, which controls spacing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-tree-list-variants/TreeListVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TreeListVariants.tsx"
        },
        {
          "path": "registry/example-tree-list-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-tree-list-variants.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/tree-list/variants",
        "aliases": [],
        "exampleFor": "TreeList",
        "category": "components/TreeList",
        "componentsUsed": [
          "TreeList",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-tree-list-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-typeahead-item-basic",
      "type": "registry:block",
      "title": "TypeaheadItem — Basic",
      "description": "A typeahead whose results are rendered with TypeaheadItem, adding a secondary description below each label. Use inside renderItem to keep custom results visually consistent.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-typeahead-item-basic/TypeaheadItemBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TypeaheadItemBasic.tsx"
        },
        {
          "path": "registry/example-typeahead-item-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-typeahead-item-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/typeahead-item/basic",
        "aliases": [],
        "exampleFor": "TypeaheadItem",
        "category": "components/TypeaheadItem",
        "componentsUsed": [
          "Typeahead",
          "TypeaheadItem",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-typeahead-item-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-typeahead-limited-results",
      "type": "registry:block",
      "title": "Typeahead — Limited Results",
      "description": "Typeahead with a capped dropdown showing at most three results.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-typeahead-limited-results/TypeaheadLimitedResults.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TypeaheadLimitedResults.tsx"
        },
        {
          "path": "registry/example-typeahead-limited-results/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-typeahead-limited-results.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/typeahead/limited-results",
        "aliases": [],
        "exampleFor": "Typeahead",
        "category": "components/Typeahead",
        "componentsUsed": [
          "Typeahead",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-typeahead-limited-results.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-typeahead-search-field",
      "type": "registry:block",
      "title": "Typeahead — Search Field",
      "description": "Search input with icon and suggestions on focus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-typeahead-search-field/TypeaheadSearchField.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TypeaheadSearchField.tsx"
        },
        {
          "path": "registry/example-typeahead-search-field/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-typeahead-search-field.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/typeahead/search-field",
        "aliases": [],
        "exampleFor": "Typeahead",
        "category": "components/Typeahead",
        "componentsUsed": [
          "Typeahead",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-typeahead-search-field.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-typeahead-with-helper-text",
      "type": "registry:block",
      "title": "Typeahead — With Helper Text",
      "description": "Typeahead with a description below the label.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-typeahead-with-helper-text/TypeaheadWithHelperText.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TypeaheadWithHelperText.tsx"
        },
        {
          "path": "registry/example-typeahead-with-helper-text/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-typeahead-with-helper-text.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/typeahead/with-helper-text",
        "aliases": [],
        "exampleFor": "Typeahead",
        "category": "components/Typeahead",
        "componentsUsed": [
          "Typeahead",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-typeahead-with-helper-text.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-typeahead-with-validation",
      "type": "registry:block",
      "title": "Typeahead — With Validation",
      "description": "Typeahead with an error validation message.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-typeahead-with-validation/TypeaheadWithValidation.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TypeaheadWithValidation.tsx"
        },
        {
          "path": "registry/example-typeahead-with-validation/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-typeahead-with-validation.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/typeahead/with-validation",
        "aliases": [],
        "exampleFor": "Typeahead",
        "category": "components/Typeahead",
        "componentsUsed": [
          "Typeahead",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-typeahead-with-validation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-animator-playing-cards",
      "type": "registry:block",
      "title": "useAnimator — Playing cards",
      "description": "A playing card that follows a drag: a gentle release springs it back on its release velocity, and a quick flick throws it away with momentum before the next card is dealt. A Discard button moves it off from the keyboard, fading it in place under Reduce Motion, and the discard is announced. Built only on the public useAnimator hook.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-animator-playing-cards/AnimatorPlayingCards.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AnimatorPlayingCards.tsx"
        },
        {
          "path": "registry/example-use-animator-playing-cards/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-animator-playing-cards.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-animator/playing-cards",
        "aliases": [],
        "exampleFor": "useAnimator",
        "category": "components/useAnimator",
        "componentsUsed": [
          "Card",
          "Button",
          "Layout",
          "Text",
          "VisuallyHidden",
          "useAnimator"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-animator-playing-cards.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-announce-filter-result-count",
      "type": "registry:block",
      "title": "useAnnounce — Filter Result Count",
      "description": "A product filter that announces its result count with useAnnounce: once typing pauses for 500 ms, a screen reader hears \"3 results\" or \"No results\". The count has its own hasReplace instance, as the hook's docs advise for a changing value.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-announce-filter-result-count/useAnnounceHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useAnnounceHookUsage.tsx"
        },
        {
          "path": "registry/example-use-announce-filter-result-count/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-announce-filter-result-count.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-announce/filter-result-count",
        "aliases": [],
        "exampleFor": "useAnnounce",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "TextInput",
          "List",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-announce-filter-result-count.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-app-shell-mobile-custom-mobile-trigger",
      "type": "registry:block",
      "title": "useAppShellMobile — Custom Mobile Trigger",
      "description": "Custom mobile navigation trigger built with useAppShellMobile. The trigger consumes the surrounding AppShell context instead of rendering its own shell.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-app-shell-mobile-custom-mobile-trigger/AppShellMobileHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/AppShellMobileHookUsage.tsx"
        },
        {
          "path": "registry/example-use-app-shell-mobile-custom-mobile-trigger/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-app-shell-mobile-custom-mobile-trigger.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-app-shell-mobile/custom-mobile-trigger",
        "aliases": [],
        "exampleFor": "useAppShellMobile",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "Button",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-app-shell-mobile-custom-mobile-trigger.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-calendar-constraints-hotel-booking-range",
      "type": "registry:block",
      "title": "useCalendarConstraints — Hotel Booking Range",
      "description": "A hotel booking range picker enforcing season min/max dates, a 7-night maximum stay once check-in is picked, and a custom rule disabling closed Mondays.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-calendar-constraints-hotel-booking-range/useCalendarConstraintsHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useCalendarConstraintsHookUsage.tsx"
        },
        {
          "path": "registry/example-use-calendar-constraints-hotel-booking-range/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-calendar-constraints-hotel-booking-range.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-calendar-constraints/hotel-booking-range",
        "aliases": [],
        "exampleFor": "useCalendarConstraints",
        "category": "components/Calendar",
        "componentsUsed": [
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-calendar-constraints-hotel-booking-range.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-calendar-days-month-grid",
      "type": "registry:block",
      "title": "useCalendarDays — Month Grid",
      "description": "A compact custom month view: a seven-column table built from the weeks and dayNames that useCalendarDays returns, with only as many rows as the month needs. Days from the previous and next months are dimmed, and a Week starts on control (Sunday or Monday) reorders both the header and the grid.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-calendar-days-month-grid/useCalendarDaysHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useCalendarDaysHookUsage.tsx"
        },
        {
          "path": "registry/example-use-calendar-days-month-grid/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-calendar-days-month-grid.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-calendar-days/month-grid",
        "aliases": [],
        "exampleFor": "useCalendarDays",
        "category": "components/Calendar",
        "componentsUsed": [
          "SegmentedControl",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-calendar-days-month-grid.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-calendar-navigation-month-pager",
      "type": "registry:block",
      "title": "useCalendarNavigation — Month Pager",
      "description": "A calendar month pager with previous/next navigation buttons, localized month-year label, and cross-month arrow key navigation using pendingFocus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-calendar-navigation-month-pager/useCalendarNavigationHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useCalendarNavigationHookUsage.tsx"
        },
        {
          "path": "registry/example-use-calendar-navigation-month-pager/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-calendar-navigation-month-pager.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-calendar-navigation/month-pager",
        "aliases": [],
        "exampleFor": "useCalendarNavigation",
        "category": "components/Calendar",
        "componentsUsed": [
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-calendar-navigation-month-pager.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-clickable-container-clickable-project-card",
      "type": "registry:block",
      "title": "useClickableContainer — Clickable Project Card",
      "description": "A project card that useClickableContainer makes clickable anywhere: a click on the card follows its title link, while the Star button, the owner link and a text selection keep their own behavior, and Ctrl/Cmd+click or middle-click opens the project in a new tab.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-clickable-container-clickable-project-card/useClickableContainerHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useClickableContainerHookUsage.tsx"
        },
        {
          "path": "registry/example-use-clickable-container-clickable-project-card/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-clickable-container-clickable-project-card.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-clickable-container/clickable-project-card",
        "aliases": [],
        "exampleFor": "useClickableContainer",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "Link",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-clickable-container-clickable-project-card.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-clipboard-share-link",
      "type": "registry:block",
      "title": "useClipboard — Share Link",
      "description": "A share card that copies its invite link with useClipboard: the Copy button reads \"Copied\" while isCopied is true, a screen reader hears \"Link copied\", and a second press restarts the reset timer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-clipboard-share-link/useClipboardHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useClipboardHookUsage.tsx"
        },
        {
          "path": "registry/example-use-clipboard-share-link/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-clipboard-share-link.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-clipboard/share-link",
        "aliases": [],
        "exampleFor": "useClipboard",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "TextInput",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-clipboard-share-link.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-collapsible-custom-disclosure",
      "type": "registry:block",
      "title": "useCollapsible — Custom Disclosure",
      "description": "Custom disclosure UI built directly with useCollapsible for headless open/close state.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-collapsible-custom-disclosure/CollapsibleHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CollapsibleHookUsage.tsx"
        },
        {
          "path": "registry/example-use-collapsible-custom-disclosure/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-collapsible-custom-disclosure.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-collapsible/custom-disclosure",
        "aliases": [],
        "exampleFor": "useCollapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "Button",
          "Card",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-collapsible-custom-disclosure.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-collator-locale-aware-name-sort",
      "type": "registry:block",
      "title": "useCollator — Locale-aware Name Sort",
      "description": "A list of names sorted with the compare function from useCollator: accented and lowercase names land where a reader expects, and switching the provider locale to Swedish moves Å and Ö after Z.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-collator-locale-aware-name-sort/useCollatorHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useCollatorHookUsage.tsx"
        },
        {
          "path": "registry/example-use-collator-locale-aware-name-sort/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-collator-locale-aware-name-sort.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-collator/locale-aware-name-sort",
        "aliases": [],
        "exampleFor": "useCollator",
        "category": "components/Hooks",
        "componentsUsed": [
          "InternationalizationProvider",
          "Card",
          "SegmentedControl",
          "List",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-collator-locale-aware-name-sort.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-combobox-assign-to-field",
      "type": "registry:block",
      "title": "useCombobox — Assign To Field",
      "description": "An \"Assign to\" TextInput and a list of Item rows, with the field, listbox and option props from useCombobox spread onto them: typing filters a list of teammates, ArrowUp and ArrowDown move the active option while focus stays in the input, Enter picks it and Escape closes the list.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-combobox-assign-to-field/useComboboxHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useComboboxHookUsage.tsx"
        },
        {
          "path": "registry/example-use-combobox-assign-to-field/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-combobox-assign-to-field.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-combobox/assign-to-field",
        "aliases": [],
        "exampleFor": "useCombobox",
        "category": "components/Selector",
        "componentsUsed": [
          "Card",
          "TextInput",
          "Item",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-combobox-assign-to-field.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-container-reveal-reveal-on-hover-row-actions",
      "type": "registry:block",
      "title": "useContainerReveal — Reveal-on-hover Row Actions",
      "description": "File rows keep their edit/delete actions hidden at rest and reveal them on hover or keyboard focus via useContainerReveal; the actions stay mounted and in the tab order.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-container-reveal-reveal-on-hover-row-actions/useContainerRevealHookUsage.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useContainerRevealHookUsage.jsx"
        },
        {
          "path": "registry/example-use-container-reveal-reveal-on-hover-row-actions/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/useContainerRevealHookUsage.astryx.d.mts"
        },
        {
          "path": "registry/example-use-container-reveal-reveal-on-hover-row-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-container-reveal-reveal-on-hover-row-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-container-reveal/reveal-on-hover-row-actions",
        "aliases": [],
        "exampleFor": "useContainerReveal",
        "category": "components/Hooks",
        "componentsUsed": [
          "Item",
          "Button",
          "Icon",
          "Card",
          "Text",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-container-reveal-reveal-on-hover-row-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-drag-to-snap-points-playing-card-on-three-places",
      "type": "registry:block",
      "title": "useDragToSnapPoints — Playing card on three places",
      "description": "A playing card that a sideways drag moves between three places: a slow release settles on the nearest, a quick flick carries to the next, and a release moving back returns where it started. Buttons settle it from the keyboard, and the new place is announced. Built only on the public useDragToSnapPoints hook.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-drag-to-snap-points-playing-card-on-three-places/DragToSnapPointsCard.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/DragToSnapPointsCard.tsx"
        },
        {
          "path": "registry/example-use-drag-to-snap-points-playing-card-on-three-places/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-drag-to-snap-points-playing-card-on-three-places.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-drag-to-snap-points/playing-card-on-three-places",
        "aliases": [],
        "exampleFor": "useDragToSnapPoints",
        "category": "components/useDragToSnapPoints",
        "componentsUsed": [
          "Card",
          "Button",
          "Layout",
          "Text",
          "VisuallyHidden",
          "useDragToSnapPoints"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-drag-to-snap-points-playing-card-on-three-places.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-focus-trap-quick-edit-panel",
      "type": "registry:block",
      "title": "useFocusTrap — Quick Edit Panel",
      "description": "A custom quick-edit panel, not built on Dialog, that traps focus with useFocusTrap: focusFirst moves focus to its field on open, Tab and Shift+Tab stay inside it, Escape closes it through onEscape, and closing returns focus to the Quick edit button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-focus-trap-quick-edit-panel/useFocusTrapHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useFocusTrapHookUsage.tsx"
        },
        {
          "path": "registry/example-use-focus-trap-quick-edit-panel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-focus-trap-quick-edit-panel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-focus-trap/quick-edit-panel",
        "aliases": [],
        "exampleFor": "useFocusTrap",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "TextInput",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-focus-trap-quick-edit-panel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-grid-focus-color-swatch-grid",
      "type": "registry:block",
      "title": "useGridFocus — Color Swatch Grid",
      "description": "A color swatch picker in rows of eight with one Tab stop. useGridFocus moves focus with the arrow keys, Home and End, and Ctrl+Home and Ctrl+End. Each swatch is a button, so Enter or a click picks it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-grid-focus-color-swatch-grid/useGridFocusHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useGridFocusHookUsage.tsx"
        },
        {
          "path": "registry/example-use-grid-focus-color-swatch-grid/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-grid-focus-color-swatch-grid.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-grid-focus/color-swatch-grid",
        "aliases": [],
        "exampleFor": "useGridFocus",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-grid-focus-color-swatch-grid.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-hotkeys-search-and-help-shortcuts",
      "type": "registry:block",
      "title": "useHotkeys — Search and Help Shortcuts",
      "description": "Page shortcuts registered with useHotkeys: \"/\" focuses the search field and \"?\" opens the shortcut help, while typing either character in the field just types it. A switch turns the single-key shortcuts off through isDisabled.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-hotkeys-search-and-help-shortcuts/useHotkeysHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useHotkeysHookUsage.tsx"
        },
        {
          "path": "registry/example-use-hotkeys-search-and-help-shortcuts/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-hotkeys-search-and-help-shortcuts.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-hotkeys/search-and-help-shortcuts",
        "aliases": [],
        "exampleFor": "useHotkeys",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "TextInput",
          "Button",
          "Switch",
          "Dialog",
          "Kbd",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-hotkeys-search-and-help-shortcuts.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-hover-card-profile-preview",
      "type": "registry:block",
      "title": "useHoverCard — Profile Preview",
      "description": "Custom profile preview using useHoverCard with direct trigger and render control.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-hover-card-profile-preview/HoverCardHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/HoverCardHookUsage.tsx"
        },
        {
          "path": "registry/example-use-hover-card-profile-preview/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-hover-card-profile-preview.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-hover-card/profile-preview",
        "aliases": [],
        "exampleFor": "useHoverCard",
        "category": "components/HoverCard",
        "componentsUsed": [
          "HoverCard",
          "Button",
          "Text",
          "Layout",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-hover-card-profile-preview.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-icon-status-row",
      "type": "registry:block",
      "title": "useIcon — Status Row",
      "description": "A custom status row that draws the semantic success, warning and error icons with useIcon. The same row renders under the current theme and under a Theme whose icons override those three, and its icons change with no change to the component.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-icon-status-row/useIconHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useIconHookUsage.tsx"
        },
        {
          "path": "registry/example-use-icon-status-row/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-icon-status-row.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-icon/status-row",
        "aliases": [],
        "exampleFor": "useIcon",
        "category": "components/Icon",
        "componentsUsed": [
          "Theme",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-icon-status-row.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-image-mode-photo-caption",
      "type": "registry:block",
      "title": "useImageMode — Photo Caption",
      "description": "A photo banner with a caption over the sky. useImageMode samples only the strip under the caption and MediaTheme switches the caption between light and dark text from the result. A Beach photo switch swaps a night photo for a bright beach photo, and while the new photo loads the caption keeps the dark fallback. Astryx replaced 2 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-image-mode-photo-caption/useImageModeHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useImageModeHookUsage.tsx"
        },
        {
          "path": "registry/example-use-image-mode-photo-caption/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-image-mode-photo-caption.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-image-mode/photo-caption",
        "aliases": [],
        "exampleFor": "useImageMode",
        "category": "components/Hooks",
        "componentsUsed": [
          "AspectRatio",
          "MediaTheme",
          "Switch",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-image-mode-photo-caption.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-input-status-icon-coupon-code-status",
      "type": "registry:block",
      "title": "useInputStatusIcon — Coupon Code Status",
      "description": "A custom bordered coupon-code input whose status affordance comes from useInputStatusIcon. A wrong code shows the error status and SAVE20 shows success. Switching the variant moves between a plain glyph with a message below (attached), no icon on the field (detached), and a focusable button whose tooltip keyboard and screen-reader users can reach, with its aria-describedby id returned by the hook (tooltip).",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-input-status-icon-coupon-code-status/useInputStatusIconHookUsage.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useInputStatusIconHookUsage.jsx"
        },
        {
          "path": "registry/example-use-input-status-icon-coupon-code-status/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/useInputStatusIconHookUsage.astryx.d.mts"
        },
        {
          "path": "registry/example-use-input-status-icon-coupon-code-status/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-input-status-icon-coupon-code-status.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-input-status-icon/coupon-code-status",
        "aliases": [],
        "exampleFor": "useInputStatusIcon",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Field",
          "SegmentedControl",
          "Text",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-input-status-icon-coupon-code-status.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-interactive-role-one-tile-four-roles",
      "type": "registry:block",
      "title": "useInteractiveRole — One Tile, Four Roles",
      "description": "A polymorphic Tile used four ways: with an href it renders as a link, with an onClick as a button, with neither as plain content, and placed as a Popover trigger it becomes the trigger button through context — the resolution order in one place.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-interactive-role-one-tile-four-roles/useInteractiveRoleHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useInteractiveRoleHookUsage.tsx"
        },
        {
          "path": "registry/example-use-interactive-role-one-tile-four-roles/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-interactive-role-one-tile-four-roles.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-interactive-role/one-tile-four-roles",
        "aliases": [],
        "exampleFor": "useInteractiveRole",
        "category": "components/Hooks",
        "componentsUsed": [
          "Popover",
          "Card",
          "Text",
          "Layout",
          "Link"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-interactive-role-one-tile-four-roles.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-keyboard-hint-arrow-key-hint",
      "type": "registry:block",
      "title": "useKeyboardHint — Arrow-key Hint",
      "description": "A custom five-star rating with one Tab stop calls useKeyboardHint directly: tabbing into it shows a \"← → to navigate\" hint, the first arrow press dismisses it, and tabbing back in does not show it again.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-keyboard-hint-arrow-key-hint/useKeyboardHintHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useKeyboardHintHookUsage.tsx"
        },
        {
          "path": "registry/example-use-keyboard-hint-arrow-key-hint/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-keyboard-hint-arrow-key-hint.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-keyboard-hint/arrow-key-hint",
        "aliases": [],
        "exampleFor": "useKeyboardHint",
        "category": "components/Hooks",
        "componentsUsed": [
          "Button",
          "Icon",
          "Card",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-keyboard-hint-arrow-key-hint.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-lightbox-gallery-grid",
      "type": "registry:block",
      "title": "useLightbox — Gallery Grid",
      "description": "Photo gallery thumbnail grid using useLightbox for trigger props, keyboard navigation, and open state. Astryx replaced 6 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-lightbox-gallery-grid/LightboxHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/LightboxHookUsage.tsx"
        },
        {
          "path": "registry/example-use-lightbox-gallery-grid/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-lightbox-gallery-grid.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-lightbox/gallery-grid",
        "aliases": [],
        "exampleFor": "useLightbox",
        "category": "components/Lightbox",
        "componentsUsed": [
          "Lightbox",
          "Grid"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-lightbox-gallery-grid.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-link-component-article-cards",
      "type": "registry:block",
      "title": "useLinkComponent — Article Cards",
      "description": "A custom Article card renders its title link with the component useLinkComponent resolves: the as prop first, then the nearest LinkProvider, then a native anchor. Inside a LinkProvider wired to a client-side router, the title navigates without a page load and updates the router location. With as=\"a\" the title is a native anchor even inside the provider, and outside the provider it falls back to the next provider up or a native anchor.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-link-component-article-cards/useLinkComponentHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useLinkComponentHookUsage.tsx"
        },
        {
          "path": "registry/example-use-link-component-article-cards/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-link-component-article-cards.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-link-component/article-cards",
        "aliases": [],
        "exampleFor": "useLinkComponent",
        "category": "components/Link",
        "componentsUsed": [
          "LinkProvider",
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-link-component-article-cards.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-linkify-links-in-a-comment-thread",
      "type": "registry:block",
      "title": "useLinkify — Links in a Comment Thread",
      "description": "Plain-text comments where useLinkify turns the URL and the email address into Links, and a custom pattern turns issue references like #123 into tracker links — the patterns option in action. The comment without matches stays plain text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-linkify-links-in-a-comment-thread/useLinkifyHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useLinkifyHookUsage.tsx"
        },
        {
          "path": "registry/example-use-linkify-links-in-a-comment-thread/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-linkify-links-in-a-comment-thread.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-linkify/links-in-a-comment-thread",
        "aliases": [],
        "exampleFor": "useLinkify",
        "category": "components/Link",
        "componentsUsed": [
          "Link",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-linkify-links-in-a-comment-thread.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-list-focus-recent-files",
      "type": "registry:block",
      "title": "useListFocus — Recent Files",
      "description": "A \"Recent files\" list of buttons with keyboard navigation from useListFocus: ArrowUp and ArrowDown move between rows, Home and End jump to the first and last row, focus wraps at the ends, and only one row is in the tab order.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-list-focus-recent-files/useListFocusHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useListFocusHookUsage.tsx"
        },
        {
          "path": "registry/example-use-list-focus-recent-files/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-list-focus-recent-files.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-list-focus/recent-files",
        "aliases": [],
        "exampleFor": "useListFocus",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-list-focus-recent-files.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-locale-invoice-summary",
      "type": "registry:block",
      "title": "useLocale — Invoice Summary",
      "description": "An invoice summary that formats its date and amount with Intl using the locale from useLocale, so switching the provider from English to German changes \"Nov 2, 2026\" and \"$1,234.50\" to \"2. Nov. 2026\" and \"1.234,50 $\" with no second locale source.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-locale-invoice-summary/useLocaleHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useLocaleHookUsage.tsx"
        },
        {
          "path": "registry/example-use-locale-invoice-summary/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-locale-invoice-summary.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-locale/invoice-summary",
        "aliases": [],
        "exampleFor": "useLocale",
        "category": "components/Hooks",
        "componentsUsed": [
          "InternationalizationProvider",
          "Card",
          "SegmentedControl",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-locale-invoice-summary.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-merged-refs-auto-grow-text-area",
      "type": "registry:block",
      "title": "useMergedRefs — AutoGrowTextArea",
      "description": "An AutoGrowTextArea that forwards the caller's ref and also keeps its own ref to measure scrollHeight. The merged ref attaches both to the same textarea: it resizes itself while a parent button focuses it through the forwarded ref.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-merged-refs-auto-grow-text-area/useMergedRefsHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useMergedRefsHookUsage.tsx"
        },
        {
          "path": "registry/example-use-merged-refs-auto-grow-text-area/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-merged-refs-auto-grow-text-area.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-merged-refs/auto-grow-text-area",
        "aliases": [],
        "exampleFor": "useMergedRefs",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-merged-refs-auto-grow-text-area.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-multi-combobox-issue-labels",
      "type": "registry:block",
      "title": "useMultiCombobox — Issue Labels",
      "description": "A Labels field built on useMultiCombobox: typing filters the labels, the arrow keys move the active option while focus stays in the field, Enter or a click toggles a label and the list stays open, and selected labels show as removable tokens above the field.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-multi-combobox-issue-labels/useMultiComboboxHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useMultiComboboxHookUsage.tsx"
        },
        {
          "path": "registry/example-use-multi-combobox-issue-labels/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-multi-combobox-issue-labels.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-multi-combobox/issue-labels",
        "aliases": [],
        "exampleFor": "useMultiCombobox",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector",
          "Card",
          "TextInput",
          "Item",
          "Icon",
          "Token",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-multi-combobox-issue-labels.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-outline-from-markdown-docs-article",
      "type": "registry:block",
      "title": "useOutlineFromMarkdown — Docs Article",
      "description": "A docs-style article with an Outline next to it, built from the same Markdown string through useOutlineFromMarkdown. \"Add section\" appends a heading to the string, and a new entry that links to it appears in the outline.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-outline-from-markdown-docs-article/useOutlineFromMarkdownHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useOutlineFromMarkdownHookUsage.tsx"
        },
        {
          "path": "registry/example-use-outline-from-markdown-docs-article/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-outline-from-markdown-docs-article.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-outline-from-markdown/docs-article",
        "aliases": [],
        "exampleFor": "useOutlineFromMarkdown",
        "category": "components/Outline",
        "componentsUsed": [
          "Markdown",
          "Outline",
          "ScrollableArea",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-outline-from-markdown-docs-article.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-overflow-editor-toolbar",
      "type": "registry:block",
      "title": "useOverflow — Editor Toolbar",
      "description": "Resize the card: useOverflow moves the toolbar actions that do not fit into a More menu, and shows them again when the card gets wider.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-overflow-editor-toolbar/useOverflowHookUsage.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useOverflowHookUsage.jsx"
        },
        {
          "path": "registry/example-use-overflow-editor-toolbar/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/useOverflowHookUsage.astryx.d.mts"
        },
        {
          "path": "registry/example-use-overflow-editor-toolbar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-overflow-editor-toolbar.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-overflow/editor-toolbar",
        "aliases": [],
        "exampleFor": "useOverflow",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "DropdownMenu"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-overflow-editor-toolbar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-overlay-product-quick-view",
      "type": "registry:block",
      "title": "useOverlay — Product Quick View",
      "description": "A product card that is its own overlay container: useOverlay returns the ref and props to spread on the Card and a bottom strip to render once over the image. Hovering the card, or moving keyboard focus into it, slides in a Quick view button along the bottom of the image, and leaving hides it again. The image is a link that the strip leaves clickable above it, and Tab lands on it first so the next Tab reaches Quick view. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-overlay-product-quick-view/useOverlayHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useOverlayHookUsage.tsx"
        },
        {
          "path": "registry/example-use-overlay-product-quick-view/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-overlay-product-quick-view.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-overlay/product-quick-view",
        "aliases": [],
        "exampleFor": "useOverlay",
        "category": "components/Overlay",
        "componentsUsed": [
          "Overlay",
          "Card",
          "AspectRatio",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-overlay-product-quick-view.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-pan-gesture-a-draggable-box",
      "type": "registry:block",
      "title": "usePanGesture — A draggable box",
      "description": "The smallest pan example, in two forms side by side: the usePanGesture hook and the createPanGesture factory. The factory takes any element, React or not. Each card names its API, follows a drag from a finger, a mouse or a pen, and springs back, with the same StyleX styles. A starting point for a draggable tile, a swipe or any drag-and-release gesture.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-pan-gesture-a-draggable-box/PanDraggableBox.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PanDraggableBox.jsx"
        },
        {
          "path": "registry/example-use-pan-gesture-a-draggable-box/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/PanDraggableBox.astryx.d.mts"
        },
        {
          "path": "registry/example-use-pan-gesture-a-draggable-box/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-pan-gesture-a-draggable-box.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-pan-gesture/a-draggable-box",
        "aliases": [],
        "exampleFor": "usePanGesture",
        "category": "components/usePanGesture",
        "componentsUsed": [
          "Card",
          "Center",
          "HStack"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-pan-gesture-a-draggable-box.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-pan-gesture-a-playing-card-advanced",
      "type": "registry:block",
      "title": "usePanGesture — A playing card (advanced)",
      "description": "An advanced usePanGesture example: a playing card follows a drag, settles back on a gentle release and flies off on a quick flick, while a Discard button deals the next card from the keyboard and announces it. Drag, settle and throw are StyleX styles driven by React state. A pattern for swipe-to-dismiss, card decks and flick gestures.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-pan-gesture-a-playing-card-advanced/PanPlayingCard.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PanPlayingCard.jsx"
        },
        {
          "path": "registry/example-use-pan-gesture-a-playing-card-advanced/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/PanPlayingCard.astryx.d.mts"
        },
        {
          "path": "registry/example-use-pan-gesture-a-playing-card-advanced/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-pan-gesture-a-playing-card-advanced.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-pan-gesture/a-playing-card-advanced",
        "aliases": [],
        "exampleFor": "usePanGesture",
        "category": "components/usePanGesture",
        "componentsUsed": [
          "Button",
          "Card",
          "Center",
          "Text",
          "VStack"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-pan-gesture-a-playing-card-advanced.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-popover-quick-actions",
      "type": "registry:block",
      "title": "usePopover — Quick Actions",
      "description": "Custom quick-actions popover using usePopover for trigger refs, ARIA attributes, and focus trapping.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-popover-quick-actions/PopoverHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/PopoverHookUsage.tsx"
        },
        {
          "path": "registry/example-use-popover-quick-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-popover-quick-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-popover/quick-actions",
        "aliases": [],
        "exampleFor": "usePopover",
        "category": "components/Popover",
        "componentsUsed": [
          "Popover",
          "Button",
          "Text",
          "Layout",
          "Center"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-popover-quick-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-power-search-config-filtered-directory-table",
      "type": "registry:block",
      "title": "usePowerSearchConfig — Filtered Directory Table",
      "description": "A people directory with a PowerSearch bar over a Table: typed field definitions feed usePowerSearchConfig, returning the search config and an applyFilters helper that updates Table rows.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-power-search-config-filtered-directory-table/usePowerSearchConfigHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/usePowerSearchConfigHookUsage.tsx"
        },
        {
          "path": "registry/example-use-power-search-config-filtered-directory-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-power-search-config-filtered-directory-table.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-power-search-config/filtered-directory-table",
        "aliases": [],
        "exampleFor": "usePowerSearchConfig",
        "category": "components/PowerSearch",
        "componentsUsed": [
          "PowerSearch",
          "Table",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-power-search-config-filtered-directory-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-press-feedback-pressable-card",
      "type": "registry:block",
      "title": "usePressFeedback — Pressable Card",
      "description": "A Card made pressable with usePressFeedback: its marker and the interactionOverlayStyles backgroundImage overlay go straight on the Card, so a press darkens the card the way every Astryx pressable does; focusOutlineStyles.focusVisible gives it the shared Astryx focus ring for keyboard focus; and a click, Enter or Space flips it. Astryx replaced 1 demo content element with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-press-feedback-pressable-card/usePressFeedbackHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/usePressFeedbackHookUsage.tsx"
        },
        {
          "path": "registry/example-use-press-feedback-pressable-card/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-press-feedback-pressable-card.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-press-feedback/pressable-card",
        "aliases": [],
        "exampleFor": "usePressFeedback",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-press-feedback-pressable-card.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-scroll-lock-full-screen-mobile-menu",
      "type": "registry:block",
      "title": "useScrollLock — Full-screen Mobile Menu",
      "description": "A custom full-screen menu opened from a Menu button. useScrollLock pins the page behind it while it is open, so the page does not scroll or shift sideways, and closing the menu returns the reader to the same scroll position.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-scroll-lock-full-screen-mobile-menu/useScrollLockHookUsage.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useScrollLockHookUsage.jsx"
        },
        {
          "path": "registry/example-use-scroll-lock-full-screen-mobile-menu/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/useScrollLockHookUsage.astryx.d.mts"
        },
        {
          "path": "registry/example-use-scroll-lock-full-screen-mobile-menu/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-scroll-lock-full-screen-mobile-menu.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-scroll-lock/full-screen-mobile-menu",
        "aliases": [],
        "exampleFor": "useScrollLock",
        "category": "components/Hooks",
        "componentsUsed": [
          "Button",
          "Link",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-scroll-lock-full-screen-mobile-menu.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-scroll-overflow-filter-strip-edge-fades",
      "type": "registry:block",
      "title": "useScrollOverflow — Filter Strip Edge Fades",
      "description": "A row of active filters that scrolls sideways. useScrollOverflow reports which edge has hidden filters, and the strip fades only that edge: none while every filter fits, the end at the start, both mid-scroll and the start at the end. Adding or removing a filter updates the fades, and in a right-to-left layout the start edge is on the right.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-scroll-overflow-filter-strip-edge-fades/useScrollOverflowHookUsage.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useScrollOverflowHookUsage.jsx"
        },
        {
          "path": "registry/example-use-scroll-overflow-filter-strip-edge-fades/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/useScrollOverflowHookUsage.astryx.d.mts"
        },
        {
          "path": "registry/example-use-scroll-overflow-filter-strip-edge-fades/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-scroll-overflow-filter-strip-edge-fades.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-scroll-overflow/filter-strip-edge-fades",
        "aliases": [],
        "exampleFor": "useScrollOverflow",
        "category": "components/Hooks",
        "componentsUsed": [
          "Token",
          "Button",
          "Switch",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-scroll-overflow-filter-strip-edge-fades.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-scrollable-area-activity-log-panel",
      "type": "registry:block",
      "title": "useScrollableArea — Activity Log Panel",
      "description": "A fixed-height Activity log panel whose entries scroll up and down. useScrollableArea makes the panel a keyboard tab stop only when its entries overflow, reports which edges have more entries so a top or bottom shadow shows only there, and keeps a scroll that reaches the end from scrolling the page. Add entry flips the panel from not scrollable to scrollable.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-scrollable-area-activity-log-panel/useScrollableAreaHookUsage.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useScrollableAreaHookUsage.jsx"
        },
        {
          "path": "registry/example-use-scrollable-area-activity-log-panel/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/useScrollableAreaHookUsage.astryx.d.mts"
        },
        {
          "path": "registry/example-use-scrollable-area-activity-log-panel/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-scrollable-area-activity-log-panel.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-scrollable-area/activity-log-panel",
        "aliases": [],
        "exampleFor": "useScrollableArea",
        "category": "components/Hooks",
        "componentsUsed": [
          "Card",
          "Button",
          "Text",
          "Layout"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-scrollable-area-activity-log-panel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-snap-paging-onboarding-pages",
      "type": "registry:block",
      "title": "useSnapPaging — Onboarding Pages",
      "description": "Onboarding cards in a Carousel with hasSnap={useSnapPaging()}: under a finger or a trackpad swipe, each flick moves one view and rests on a card's start edge. A switch picks one view or one card per flick through the hook's pages option.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-snap-paging-onboarding-pages/CarouselSnapPaging.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/CarouselSnapPaging.tsx"
        },
        {
          "path": "registry/example-use-snap-paging-onboarding-pages/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-snap-paging-onboarding-pages.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-snap-paging/onboarding-pages",
        "aliases": [],
        "exampleFor": "useSnapPaging",
        "category": "components/Carousel",
        "componentsUsed": [
          "Carousel",
          "Card",
          "Layout",
          "Switch",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-snap-paging-onboarding-pages.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-streaming-text-streaming-response",
      "type": "registry:block",
      "title": "useStreamingText — Streaming Response",
      "description": "A chat-style reply card: while the response streams in bursts, useStreamingText reveals it steadily character by character; when streaming ends the full text snaps into place. Regenerate replays the stream.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-streaming-text-streaming-response/useStreamingTextHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useStreamingTextHookUsage.tsx"
        },
        {
          "path": "registry/example-use-streaming-text-streaming-response/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-streaming-text-streaming-response.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-streaming-text/streaming-response",
        "aliases": [],
        "exampleFor": "useStreamingText",
        "category": "components/Hooks",
        "componentsUsed": [
          "Button",
          "Card",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-streaming-text-streaming-response.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-column-resize-draggable-columns",
      "type": "registry:block",
      "title": "useTableColumnResize — Draggable Columns",
      "description": "A Table using useTableColumnResize. Drag the right edge of any column header to resize; widths are committed on release. The last proportional column flexes to fill remaining space.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-column-resize-draggable-columns/ColumnResizeHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/ColumnResizeHookUsage.tsx"
        },
        {
          "path": "registry/example-use-table-column-resize-draggable-columns/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-column-resize-draggable-columns.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-column-resize/draggable-columns",
        "aliases": [],
        "exampleFor": "useTableColumnResize",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-column-resize-draggable-columns.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-column-settings-state-column-visibility-picker",
      "type": "registry:block",
      "title": "useTableColumnSettingsState — Column Visibility Picker",
      "description": "A Table toolbar with a Columns menu of checkboxes: toggling Email updates active columns, Reset restores defaults, and the config is passed directly to useTableColumnSettings.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-column-settings-state-column-visibility-picker/useTableColumnSettingsStateHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useTableColumnSettingsStateHookUsage.tsx"
        },
        {
          "path": "registry/example-use-table-column-settings-state-column-visibility-picker/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-column-settings-state-column-visibility-picker.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-column-settings-state/column-visibility-picker",
        "aliases": [],
        "exampleFor": "useTableColumnSettingsState",
        "category": "components/Table",
        "componentsUsed": [
          "Button",
          "CheckboxInput",
          "Popover",
          "Table",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-column-settings-state-column-visibility-picker.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-grouped-rows-collapsible-groups",
      "type": "registry:block",
      "title": "useTableGroupedRows — Collapsible Groups",
      "description": "A table grouped into collapsible sections with useTableGroupedRows. Each group gets a full-width header with a chevron, label, and member count; click to collapse/expand.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-grouped-rows-collapsible-groups/TableGroupedRowsTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableGroupedRowsTable.tsx"
        },
        {
          "path": "registry/example-use-table-grouped-rows-collapsible-groups/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-grouped-rows-collapsible-groups.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-grouped-rows/collapsible-groups",
        "aliases": [],
        "exampleFor": "useTableGroupedRows",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-grouped-rows-collapsible-groups.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-row-expansion-tree-table",
      "type": "registry:block",
      "title": "useTableRowExpansion — Tree Table",
      "description": "A tree table using useTableRowExpansion with inherited columns. Child rows use the same columns as parents, indented by depth. Click the chevron or right-click to expand/collapse.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-row-expansion-tree-table/TableRowExpansionTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableRowExpansionTable.tsx"
        },
        {
          "path": "registry/example-use-table-row-expansion-tree-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-row-expansion-tree-table.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-row-expansion/tree-table",
        "aliases": [],
        "exampleFor": "useTableRowExpansion",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-row-expansion-tree-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-row-index-numbered-rows",
      "type": "registry:block",
      "title": "useTableRowIndex — Numbered Rows",
      "description": "A table with a prepended row-number column via useTableRowIndex. Numbering is monospaced, right-aligned, and follows the rows the table renders.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-row-index-numbered-rows/TableRowIndexTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableRowIndexTable.tsx"
        },
        {
          "path": "registry/example-use-table-row-index-numbered-rows/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-row-index-numbered-rows.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-row-index/numbered-rows",
        "aliases": [],
        "exampleFor": "useTableRowIndex",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-row-index-numbered-rows.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-row-status-semantic-and-custom-markers",
      "type": "registry:block",
      "title": "useTableRowStatus - Semantic and Custom Markers",
      "description": "A job table using both row-status paths: status resolves themed semantic glyphs and tones, while color stays a custom paint choice with an optional caller-selected icon or the stable dot.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-row-status-semantic-and-custom-markers/TableRowStatusTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableRowStatusTable.tsx"
        },
        {
          "path": "registry/example-use-table-row-status-semantic-and-custom-markers/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-row-status-semantic-and-custom-markers.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-row-status/semantic-and-custom-markers",
        "aliases": [],
        "exampleFor": "useTableRowStatus",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-row-status-semantic-and-custom-markers.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-selection-state-table-selection-in-the-leading-mark",
      "type": "registry:block",
      "title": "Table — Selection in the Leading Mark",
      "description": "Selection without a checkbox column: each item shows its avatar, and the checkbox takes the avatar slot while a mouse is over it, on keyboard focus, and everywhere once anything is selected; on touch screens it always shows. The state comes from useTableSelectionState, and the checkboxes render in the name column instead of the useTableSelection column, so checked items get no aria-selected or highlight; add them if needed.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-selection-state-table-selection-in-the-leading-mark/TableLeadingMarkSelection.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableLeadingMarkSelection.jsx"
        },
        {
          "path": "registry/example-use-table-selection-state-table-selection-in-the-leading-mark/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/TableLeadingMarkSelection.astryx.d.mts"
        },
        {
          "path": "registry/example-use-table-selection-state-table-selection-in-the-leading-mark/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-selection-state-table-selection-in-the-leading-mark.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-selection-state/table-selection-in-the-leading-mark",
        "aliases": [],
        "exampleFor": "useTableSelectionState",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "CheckboxInput",
          "Avatar"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-selection-state-table-selection-in-the-leading-mark.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-selection-table-bulk-actions",
      "type": "registry:block",
      "title": "Table: Bulk Actions",
      "description": "Controlled row selection with the reusable TableSelectionToolbar rendered in flow above the table. Product actions occupy the logical start; synchronized selection count and complete clear action occupy the logical end.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-selection-table-bulk-actions/TableBulkActionsTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableBulkActionsTable.tsx"
        },
        {
          "path": "registry/example-use-table-selection-table-bulk-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-selection-table-bulk-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-selection/table-bulk-actions",
        "aliases": [],
        "exampleFor": "useTableSelection",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "TableSelectionToolbar",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-selection-table-bulk-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-selection-table-floating-bulk-actions",
      "type": "registry:block",
      "title": "Table: Floating Bulk Actions",
      "description": "The reusable TableSelectionToolbar inside a capped, self-contained scroll region for a long non-sticky table below metric cards. The caller-owned sticky placement keeps actions 16px from the example scrollport without moving the table when selection changes.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-selection-table-floating-bulk-actions/TableFloatingBulkActionsTable.jsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableFloatingBulkActionsTable.jsx"
        },
        {
          "path": "registry/example-use-table-selection-table-floating-bulk-actions/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/examples/TableFloatingBulkActionsTable.astryx.d.mts"
        },
        {
          "path": "registry/example-use-table-selection-table-floating-bulk-actions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-selection-table-floating-bulk-actions.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-selection/table-floating-bulk-actions",
        "aliases": [],
        "exampleFor": "useTableSelection",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "TableSelectionToolbar",
          "Button",
          "ScrollableArea"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-selection-table-floating-bulk-actions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-sortable-state-multi-sort-orders",
      "type": "registry:block",
      "title": "useTableSortableState — Multi-Sort Orders",
      "description": "Orders with no sort code of their own: useTableSortableState owns the sort state, returns the sorted orders, and hands useTableSortable a ready config. Click Customer, then Shift-click Total, to sort by customer and then by total within each customer. A line above the orders reads the current sort state from the hook.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-sortable-state-multi-sort-orders/useTableSortableStateHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useTableSortableStateHookUsage.tsx"
        },
        {
          "path": "registry/example-use-table-sortable-state-multi-sort-orders/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-sortable-state-multi-sort-orders.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-sortable-state/multi-sort-orders",
        "aliases": [],
        "exampleFor": "useTableSortableState",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-sortable-state-multi-sort-orders.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-sticky-columns-pinned-columns",
      "type": "registry:block",
      "title": "useTableStickyColumns — Pinned Columns",
      "description": "A Table using useTableStickyColumns to pin the Name column to the start edge and Status to the end edge. Scroll horizontally; pinned columns stay in view with a soft shadow over the scrolling content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-sticky-columns-pinned-columns/StickyColumnsHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/StickyColumnsHookUsage.tsx"
        },
        {
          "path": "registry/example-use-table-sticky-columns-pinned-columns/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-sticky-columns-pinned-columns.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-sticky-columns/pinned-columns",
        "aliases": [],
        "exampleFor": "useTableStickyColumns",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-sticky-columns-pinned-columns.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-table-tree-data-tree-table",
      "type": "registry:block",
      "title": "useTableTreeData: Tree Table",
      "description": "A file-tree table built from nested data. useTableTreeState flattens the tree into the visible rows and owns the expanded set; useTableTreeData draws the per-level indent and the expand/collapse chevron in the tree column. The two hooks are designed to work together, so this one example covers both. hasExpandAllControl adds the expand-all/collapse-all toggle to the tree column header. Collapsed branches are unmounted, not hidden.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-table-tree-data-tree-table/TableTreeTable.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/TableTreeTable.tsx"
        },
        {
          "path": "registry/example-use-table-tree-data-tree-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-table-tree-data-tree-table.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-table-tree-data/tree-table",
        "aliases": [],
        "exampleFor": "useTableTreeData",
        "category": "components/Table",
        "componentsUsed": [
          "Table"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-table-tree-data-tree-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-theme-token-values",
      "type": "registry:block",
      "title": "useTheme — Token Values",
      "description": "Read resolved theme token values with useTheme for non-CSS consumers like SVG charts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-theme-token-values/useThemeHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useThemeHookUsage.tsx"
        },
        {
          "path": "registry/example-use-theme-token-values/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-theme-token-values.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-theme/token-values",
        "aliases": [],
        "exampleFor": "useTheme",
        "category": "components/Theme",
        "componentsUsed": [
          "Theme",
          "Card",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-theme-token-values.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-toast-settings-saved",
      "type": "registry:block",
      "title": "useToast — Settings Saved",
      "description": "Shows a toast from the function useToast returns: a \"Settings saved\" confirmation with an Undo action, a uniqueID so pressing the button again replaces the toast instead of stacking another, and an error toast when the request fails.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-toast-settings-saved/useToastHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useToastHookUsage.tsx"
        },
        {
          "path": "registry/example-use-toast-settings-saved/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-toast-settings-saved.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-toast/settings-saved",
        "aliases": [],
        "exampleFor": "useToast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Card",
          "TextInput",
          "Switch",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-toast-settings-saved.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-translator-load-more-footer",
      "type": "registry:block",
      "title": "useTranslator — Load More Footer",
      "description": "A \"Load more\" footer under a list that gets its button label and its \"Showing 3 of 9\" count from the function useTranslator returns, with app message keys supplied per locale through InternationalizationProvider, so switching the provider to French changes both strings.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-translator-load-more-footer/useTranslatorHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useTranslatorHookUsage.tsx"
        },
        {
          "path": "registry/example-use-translator-load-more-footer/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-translator-load-more-footer.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-translator/load-more-footer",
        "aliases": [],
        "exampleFor": "useTranslator",
        "category": "components/Hooks",
        "componentsUsed": [
          "InternationalizationProvider",
          "Card",
          "SegmentedControl",
          "List",
          "Text",
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-translator-load-more-footer.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-tree-focus-keyboard-file-tree",
      "type": "registry:block",
      "title": "useTreeFocus — Keyboard File Tree",
      "description": "A custom file tree built from plain rows with tree roles. useTreeFocus gives it the WAI-ARIA tree keyboard model: ArrowUp and ArrowDown move over the visible rows, ArrowRight opens a folder or moves into it, ArrowLeft closes it or moves to its parent, Home and End jump to the ends, a typed letter jumps to a matching name, Enter opens a file, and only one row is in the tab order.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-tree-focus-keyboard-file-tree/useTreeFocusHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useTreeFocusHookUsage.tsx"
        },
        {
          "path": "registry/example-use-tree-focus-keyboard-file-tree/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-tree-focus-keyboard-file-tree.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-tree-focus/keyboard-file-tree",
        "aliases": [],
        "exampleFor": "useTreeFocus",
        "category": "components/Hooks",
        "componentsUsed": [
          "Icon",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-tree-focus-keyboard-file-tree.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-use-typeahead-type-to-focus-a-country",
      "type": "registry:block",
      "title": "useTypeahead — Type to Focus a Country",
      "description": "A country list of buttons with useListFocus arrow keys and useTypeahead type-to-focus. Typing \"can\" focuses Canada, pressing \"b\" again and again cycles through Belgium, Brazil and Bulgaria, and \"e\" finds Éire with the accent ignored. The hook only reports the match through onMatch, and useListFocus moves focus.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-use-typeahead-type-to-focus-a-country/useTypeaheadHookUsage.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/useTypeaheadHookUsage.tsx"
        },
        {
          "path": "registry/example-use-typeahead-type-to-focus-a-country/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-use-typeahead-type-to-focus-a-country.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/use-typeahead/type-to-focus-a-country",
        "aliases": [],
        "exampleFor": "useTypeahead",
        "category": "components/Hooks",
        "componentsUsed": [
          "Button",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-use-typeahead-type-to-focus-a-country.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-v-stack-basic",
      "type": "registry:block",
      "title": "VStack — Basic",
      "description": "A heading and paragraphs stacked vertically with a consistent gap. Use VStack whenever siblings should flow top to bottom with even spacing.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-v-stack-basic/VStackBasic.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/VStackBasic.tsx"
        },
        {
          "path": "registry/example-v-stack-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-v-stack-basic.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/v-stack/basic",
        "aliases": [],
        "exampleFor": "VStack",
        "category": "components/VStack",
        "componentsUsed": [
          "VStack",
          "Text",
          "Heading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-v-stack-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-visually-hidden-live-region",
      "type": "registry:block",
      "title": "VisuallyHidden — Live Region",
      "description": "A polite aria-live region announces visual-only state changes to assistive technology.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-visually-hidden-live-region/VisuallyHiddenLiveRegion.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/VisuallyHiddenLiveRegion.tsx"
        },
        {
          "path": "registry/example-visually-hidden-live-region/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-visually-hidden-live-region.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/visually-hidden/live-region",
        "aliases": [],
        "exampleFor": "VisuallyHidden",
        "category": "components/VisuallyHidden",
        "componentsUsed": [
          "VisuallyHidden",
          "Button",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-visually-hidden-live-region.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-visually-hidden-structural-heading",
      "type": "registry:block",
      "title": "VisuallyHidden — Structural Heading",
      "description": "Give a visually implicit section an accessible name so screen-reader users can navigate to it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-visually-hidden-structural-heading/VisuallyHiddenStructuralHeading.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/VisuallyHiddenStructuralHeading.tsx"
        },
        {
          "path": "registry/example-visually-hidden-structural-heading/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-visually-hidden-structural-heading.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/visually-hidden/structural-heading",
        "aliases": [],
        "exampleFor": "VisuallyHidden",
        "category": "components/VisuallyHidden",
        "componentsUsed": [
          "VisuallyHidden",
          "Card",
          "HStack",
          "VStack",
          "Text",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-visually-hidden-structural-heading.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-visually-hidden-supplementary-context",
      "type": "registry:block",
      "title": "VisuallyHidden — Supplementary Context",
      "description": "Stat cards whose trend arrows get screen-reader-only text, so a change like +12% is read as an increase from last month. Use to make terse visual data accessible.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/example-visually-hidden-supplementary-context/VisuallyHiddenSupplementaryContext.tsx",
          "type": "registry:block",
          "target": "components/astryx/examples/VisuallyHiddenSupplementaryContext.tsx"
        },
        {
          "path": "registry/example-visually-hidden-supplementary-context/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/examples/.astryx/example-visually-hidden-supplementary-context.json"
        }
      ],
      "astryx": {
        "kind": "example",
        "path": "examples/visually-hidden/supplementary-context",
        "aliases": [],
        "exampleFor": "VisuallyHidden",
        "category": "components/VisuallyHidden",
        "componentsUsed": [
          "VisuallyHidden",
          "Card",
          "HStack",
          "VStack",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/examples/.astryx/example-visually-hidden-supplementary-context.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-alert-dialog-delete",
      "type": "registry:block",
      "title": "AlertDialog — Delete",
      "description": "A delete button that asks the user to confirm before deleting.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-alert-dialog-delete/AlertDialogDeleteConfirmation.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AlertDialogDeleteConfirmation.tsx"
        },
        {
          "path": "registry/showcase-alert-dialog-delete/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-alert-dialog-delete.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/alert-dialog/delete",
        "aliases": [],
        "exampleFor": "AlertDialog",
        "category": "components/AlertDialog",
        "componentsUsed": [
          "AlertDialog"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-alert-dialog-delete.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-app-shell-default",
      "type": "registry:block",
      "title": "App Shell",
      "description": "A basic app shell with content padding.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-app-shell-default/AppShellShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AppShellShowcase.tsx"
        },
        {
          "path": "registry/showcase-app-shell-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-app-shell-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/app-shell/default",
        "aliases": [],
        "exampleFor": "AppShell",
        "category": "components/AppShell",
        "componentsUsed": [
          "AppShell",
          "SideNav",
          "Heading",
          "Text",
          "VStack",
          "NavIcon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-app-shell-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-aspect-ratio-default",
      "type": "registry:block",
      "title": "Aspect Ratio",
      "description": "Three aspect ratio containers at equal height (1:1, 4:3, and 16:9), each showing an image with its ratio labeled below. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-aspect-ratio-default/AspectRatioShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AspectRatioShowcase.tsx"
        },
        {
          "path": "registry/showcase-aspect-ratio-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-aspect-ratio-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/aspect-ratio/default",
        "aliases": [],
        "exampleFor": "AspectRatio",
        "category": "components/AspectRatio",
        "componentsUsed": [
          "AspectRatio",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-aspect-ratio-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-avatar-default",
      "type": "registry:block",
      "title": "Avatar",
      "description": "Avatars at every size with an image, initials fallback, and a status dot. A quick visual reference for choosing the right size. Astryx replaced 4 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-avatar-default/AvatarShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AvatarShowcase.tsx"
        },
        {
          "path": "registry/showcase-avatar-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-avatar-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/avatar/default",
        "aliases": [],
        "exampleFor": "Avatar",
        "category": "components/Avatar",
        "componentsUsed": [
          "Avatar",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-avatar-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-avatar-group-default",
      "type": "registry:block",
      "title": "Avatar Group",
      "description": "Overlapping avatar rows with a sliced visible set and a server-side overflow count. Shows team members in a compact facepile layout.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-avatar-group-default/AvatarGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AvatarGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-avatar-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-avatar-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/avatar-group/default",
        "aliases": [],
        "exampleFor": "AvatarGroup",
        "category": "components/AvatarGroup",
        "componentsUsed": [
          "AvatarGroup",
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-avatar-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-avatar-group-overflow-default",
      "type": "registry:block",
      "title": "Avatar Group Overflow",
      "description": "Overflow indicators for hidden avatars, including the default +N label and custom count text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-avatar-group-overflow-default/AvatarGroupOverflowShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AvatarGroupOverflowShowcase.tsx"
        },
        {
          "path": "registry/showcase-avatar-group-overflow-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-avatar-group-overflow-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/avatar-group-overflow/default",
        "aliases": [],
        "exampleFor": "AvatarGroupOverflow",
        "category": "components/AvatarGroupOverflow",
        "componentsUsed": [
          "AvatarGroupOverflow",
          "AvatarGroup",
          "Avatar",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-avatar-group-overflow-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-avatar-status-dot-default",
      "type": "registry:block",
      "title": "Avatar Status Dot",
      "description": "AvatarStatusDot renders a presence indicator on an Avatar, with variants for positive, neutral, and negative states. The dot size automatically coordinates with the Avatar size.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-avatar-status-dot-default/AvatarStatusDotShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/AvatarStatusDotShowcase.tsx"
        },
        {
          "path": "registry/showcase-avatar-status-dot-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-avatar-status-dot-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/avatar-status-dot/default",
        "aliases": [],
        "exampleFor": "AvatarStatusDot",
        "category": "components/AvatarStatusDot",
        "componentsUsed": [
          "Avatar",
          "AvatarStatusDot"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-avatar-status-dot-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-badge-variants",
      "type": "registry:block",
      "title": "Badge — Variants",
      "description": "All semantic and color badge variants in a single view. Use semantic variants for status and color variants for categories.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-badge-variants/BadgeShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BadgeShowcase.tsx"
        },
        {
          "path": "registry/showcase-badge-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-badge-variants.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/badge/variants",
        "aliases": [],
        "exampleFor": "Badge",
        "category": "components/Badge",
        "componentsUsed": [
          "Badge",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-badge-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-banner-statuses",
      "type": "registry:block",
      "title": "Banner — Statuses",
      "description": "All four status banners stacked: info, success, warning, and error. A quick visual reference for choosing the right status.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-banner-statuses/BannerShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BannerShowcase.tsx"
        },
        {
          "path": "registry/showcase-banner-statuses/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-banner-statuses.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/banner/statuses",
        "aliases": [],
        "exampleFor": "Banner",
        "category": "components/Banner",
        "componentsUsed": [
          "Banner",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-banner-statuses.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-base-typeahead-custom-search-bar",
      "type": "registry:block",
      "title": "BaseTypeahead — Custom Search Bar",
      "description": "BaseTypeahead embedded inside a custom-styled wrapper. The wrapper provides its own border and icon chrome; anchorRef positions the dropdown relative to it. Use this pattern when Typeahead's built-in field layout does not fit your composition.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-base-typeahead-custom-search-bar/BaseTypeaheadCustomSearch.jsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BaseTypeaheadCustomSearch.jsx"
        },
        {
          "path": "registry/showcase-base-typeahead-custom-search-bar/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/showcases/BaseTypeaheadCustomSearch.astryx.d.mts"
        },
        {
          "path": "registry/showcase-base-typeahead-custom-search-bar/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-base-typeahead-custom-search-bar.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/base-typeahead/custom-search-bar",
        "aliases": [],
        "exampleFor": "BaseTypeahead",
        "category": "components/BaseTypeahead",
        "componentsUsed": [
          "BaseTypeahead",
          "Icon",
          "Layout",
          "Text"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-base-typeahead-custom-search-bar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-blockquote-default",
      "type": "registry:block",
      "title": "Blockquote — Showcase",
      "description": "Blockquote with and without citation. A quick visual reference for the blockquote component.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-blockquote-default/BlockquoteShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BlockquoteShowcase.tsx"
        },
        {
          "path": "registry/showcase-blockquote-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-blockquote-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/blockquote/default",
        "aliases": [],
        "exampleFor": "Blockquote",
        "category": "components/Blockquote",
        "componentsUsed": [
          "Blockquote",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-blockquote-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-bottom-sheet-default",
      "type": "registry:block",
      "title": "Bottom Sheet",
      "description": "A mobile filter surface that rises from the bottom edge.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-bottom-sheet-default/BottomSheetShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BottomSheetShowcase.tsx"
        },
        {
          "path": "registry/showcase-bottom-sheet-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-bottom-sheet-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/bottom-sheet/default",
        "aliases": [],
        "exampleFor": "BottomSheet",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "CheckboxList",
          "Divider",
          "Heading",
          "Section",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-bottom-sheet-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-bottom-sheet-switcher-default",
      "type": "registry:block",
      "title": "Bottom Sheet — Multi-step flow",
      "description": "A three-step flow of standalone sheets of different heights, driven by one state value: moving on replaces the open step in place. This is the replacement for the deprecated BottomSheetSwitcher.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-bottom-sheet-switcher-default/BottomSheetSwitcherShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BottomSheetSwitcherShowcase.tsx"
        },
        {
          "path": "registry/showcase-bottom-sheet-switcher-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-bottom-sheet-switcher-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/bottom-sheet-switcher/default",
        "aliases": [],
        "exampleFor": "BottomSheetSwitcher",
        "category": "components/BottomSheet",
        "componentsUsed": [
          "BottomSheet",
          "Button",
          "CheckboxList",
          "Divider",
          "Heading",
          "RadioList",
          "Section",
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-bottom-sheet-switcher-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-breadcrumb-item-default",
      "type": "registry:block",
      "title": "Breadcrumb Item",
      "description": "BreadcrumbItem represents a single step in a breadcrumb trail, supporting links, icons, current-page markers, and custom link components.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-breadcrumb-item-default/BreadcrumbItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BreadcrumbItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-breadcrumb-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-breadcrumb-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/breadcrumb-item/default",
        "aliases": [],
        "exampleFor": "BreadcrumbItem",
        "category": "components/BreadcrumbItem",
        "componentsUsed": [
          "Breadcrumbs",
          "BreadcrumbItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-breadcrumb-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-breadcrumbs-default",
      "type": "registry:block",
      "title": "Breadcrumbs",
      "description": "A breadcrumb trail showing page hierarchy with linked ancestors and a current page.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-breadcrumbs-default/BreadcrumbsShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/BreadcrumbsShowcase.tsx"
        },
        {
          "path": "registry/showcase-breadcrumbs-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-breadcrumbs-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/breadcrumbs/default",
        "aliases": [],
        "exampleFor": "Breadcrumbs",
        "category": "components/Breadcrumbs",
        "componentsUsed": [
          "Breadcrumbs"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-breadcrumbs-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-button-group-default",
      "type": "registry:block",
      "title": "Button Group",
      "description": "Astryx showcase: ButtonGroup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-button-group-default/ButtonGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ButtonGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-button-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-button-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/button-group/default",
        "aliases": [],
        "exampleFor": "ButtonGroup",
        "category": "components/ButtonGroup",
        "componentsUsed": [
          "Button",
          "ButtonGroup",
          "Icon",
          "IconButton",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-button-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-button-variants",
      "type": "registry:block",
      "title": "Button — Variants",
      "description": "All four button variants side by side: primary, secondary, ghost, and destructive. A quick visual reference for choosing the right variant.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-button-variants/ButtonShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ButtonShowcase.tsx"
        },
        {
          "path": "registry/showcase-button-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-button-variants.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/button/variants",
        "aliases": [],
        "exampleFor": "Button",
        "category": "components/Button",
        "componentsUsed": [
          "Button",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-button-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-calendar-default",
      "type": "registry:block",
      "title": "Calendar",
      "description": "An interactive single-date calendar with a selected date. Click any day to change the selection.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-calendar-default/CalendarShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CalendarShowcase.tsx"
        },
        {
          "path": "registry/showcase-calendar-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-calendar-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/calendar/default",
        "aliases": [],
        "exampleFor": "Calendar",
        "category": "components/Calendar",
        "componentsUsed": [
          "Calendar"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-calendar-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-card-default",
      "type": "registry:block",
      "title": "Card",
      "description": "A card with a heading and body text showing the default container style.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-card-default/CardShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CardShowcase.tsx"
        },
        {
          "path": "registry/showcase-card-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-card-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/card/default",
        "aliases": [],
        "exampleFor": "Card",
        "category": "components/Card",
        "componentsUsed": [
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-card-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-carousel-default",
      "type": "registry:block",
      "title": "Carousel",
      "description": "A horizontal carousel of cards with scroll-snap and navigation buttons. Scroll or click the arrows to browse.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-carousel-default/CarouselShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CarouselShowcase.tsx"
        },
        {
          "path": "registry/showcase-carousel-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-carousel-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/carousel/default",
        "aliases": [],
        "exampleFor": "Carousel",
        "category": "components/Carousel",
        "componentsUsed": [
          "Carousel",
          "Card",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-carousel-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-center-default",
      "type": "registry:block",
      "title": "Center",
      "description": "Content centered horizontally and vertically inside a fixed-height container.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-center-default/CenterShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CenterShowcase.tsx"
        },
        {
          "path": "registry/showcase-center-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-center-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/center/default",
        "aliases": [],
        "exampleFor": "Center",
        "category": "components/Center",
        "componentsUsed": [
          "Center",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-center-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-chat-composer-input-default",
      "type": "registry:block",
      "title": "Chat Composer Input",
      "description": "Astryx showcase: ChatComposerInput.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-chat-composer-input-default/ChatComposerInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ChatComposerInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-chat-composer-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-chat-composer-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/chat-composer-input/default",
        "aliases": [],
        "exampleFor": "ChatComposerInput",
        "category": "components/ChatComposerInput",
        "componentsUsed": [
          "ChatComposer",
          "ChatComposerInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-chat-composer-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-checkbox-input-default",
      "type": "registry:block",
      "title": "Checkbox Input",
      "description": "Interactive checkboxes showing checked, unchecked, and indeterminate states with descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-checkbox-input-default/CheckboxInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CheckboxInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-checkbox-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-checkbox-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/checkbox-input/default",
        "aliases": [],
        "exampleFor": "CheckboxInput",
        "category": "components/CheckboxInput",
        "componentsUsed": [
          "CheckboxInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-checkbox-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-checkbox-list-default",
      "type": "registry:block",
      "title": "Checkbox List",
      "description": "Astryx showcase: CheckboxList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-checkbox-list-default/CheckboxListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CheckboxListShowcase.tsx"
        },
        {
          "path": "registry/showcase-checkbox-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-checkbox-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/checkbox-list/default",
        "aliases": [],
        "exampleFor": "CheckboxList",
        "category": "components/CheckboxList",
        "componentsUsed": [
          "CheckboxList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-checkbox-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-checkbox-list-item-default",
      "type": "registry:block",
      "title": "Checkbox List Item",
      "description": "Checkbox list items with labels, descriptions, and different states including disabled.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-checkbox-list-item-default/CheckboxListItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CheckboxListItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-checkbox-list-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-checkbox-list-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/checkbox-list-item/default",
        "aliases": [],
        "exampleFor": "CheckboxListItem",
        "category": "components/CheckboxListItem",
        "componentsUsed": [
          "CheckboxList",
          "CheckboxListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-checkbox-list-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-citation-default",
      "type": "registry:block",
      "title": "Citation — Showcase",
      "description": "All citation variants at a glance: label chips and numbered badges, with and without icons and links.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-citation-default/CitationShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CitationShowcase.tsx"
        },
        {
          "path": "registry/showcase-citation-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-citation-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/citation/default",
        "aliases": [],
        "exampleFor": "Citation",
        "category": "components/Citation",
        "componentsUsed": [
          "Citation",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-citation-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-clickable-card-default",
      "type": "registry:block",
      "title": "Clickable Card",
      "description": "A clickable card that navigates on click. Nested interactive elements work independently.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-clickable-card-default/ClickableCardShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ClickableCardShowcase.tsx"
        },
        {
          "path": "registry/showcase-clickable-card-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-clickable-card-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/clickable-card/default",
        "aliases": [],
        "exampleFor": "ClickableCard",
        "category": "components/Card",
        "componentsUsed": [
          "ClickableCard",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-clickable-card-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-code-block-default",
      "type": "registry:block",
      "title": "Code Block",
      "description": "A syntax-highlighted TypeScript code block with line numbers, a title bar, and a copy button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-code-block-default/CodeBlockShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CodeBlockShowcase.tsx"
        },
        {
          "path": "registry/showcase-code-block-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-code-block-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/code-block/default",
        "aliases": [],
        "exampleFor": "CodeBlock",
        "category": "components/CodeBlock",
        "componentsUsed": [
          "CodeBlock"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-code-block-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-code-default",
      "type": "registry:block",
      "title": "Code",
      "description": "Inline code snippets inside a sentence showing how Code renders alongside body text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-code-default/CodeShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CodeShowcase.tsx"
        },
        {
          "path": "registry/showcase-code-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-code-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/code/default",
        "aliases": [],
        "exampleFor": "Code",
        "category": "components/Code",
        "componentsUsed": [
          "Code",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-code-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-collapsible-default",
      "type": "registry:block",
      "title": "Collapsible",
      "description": "An accordion group with three collapsible sections in single mode: opening one closes the others.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-collapsible-default/CollapsibleShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CollapsibleShowcase.tsx"
        },
        {
          "path": "registry/showcase-collapsible-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-collapsible-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/collapsible/default",
        "aliases": [],
        "exampleFor": "Collapsible",
        "category": "components/Collapsible",
        "componentsUsed": [
          "Collapsible",
          "CollapsibleGroup",
          "Text",
          "Card",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-collapsible-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-collapsible-group-default",
      "type": "registry:block",
      "title": "Collapsible Group",
      "description": "CollapsibleGroup coordinates its Collapsible children: with type=\"single\", opening one closes the others. No state or handlers in the example — the group owns which value is open and each child only declares its own. One Collapsible per Card, so each trigger keeps its default large type as the heading of its own surface.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-collapsible-group-default/CollapsibleGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CollapsibleGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-collapsible-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-collapsible-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/collapsible-group/default",
        "aliases": [],
        "exampleFor": "CollapsibleGroup",
        "category": "components/CollapsibleGroup",
        "componentsUsed": [
          "Collapsible",
          "CollapsibleGroup",
          "Card",
          "Text",
          "Stack"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-collapsible-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-default",
      "type": "registry:block",
      "title": "Command Palette",
      "description": "Basic command palette with static items and keyboard navigation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-default/CommandPaletteShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette/default",
        "aliases": [],
        "exampleFor": "CommandPalette",
        "category": "components/CommandPalette",
        "componentsUsed": [
          "CommandPalette"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-empty-default",
      "type": "registry:block",
      "title": "Command Palette Empty",
      "description": "Command palette empty state shown when no commands are available.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-empty-default/CommandPaletteEmptyShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteEmptyShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-empty-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-empty-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette-empty/default",
        "aliases": [],
        "exampleFor": "CommandPaletteEmpty",
        "category": "components/CommandPaletteEmpty",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteEmpty",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-empty-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-footer-default",
      "type": "registry:block",
      "title": "Command Palette Footer",
      "description": "Command palette footer with custom tip content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-footer-default/CommandPaletteFooterShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteFooterShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-footer-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-footer-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette-footer/default",
        "aliases": [],
        "exampleFor": "CommandPaletteFooter",
        "category": "components/CommandPaletteFooter",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteFooter",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-footer-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-group-default",
      "type": "registry:block",
      "title": "Command Palette Group",
      "description": "Command palette groups in both data-driven (auxiliaryData.group) and composed (CommandPaletteGroup + CommandPaletteItem) forms.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-group-default/CommandPaletteGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette-group/default",
        "aliases": [],
        "exampleFor": "CommandPaletteGroup",
        "category": "components/CommandPaletteGroup",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteGroup",
          "CommandPaletteItem",
          "CommandPaletteList",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-input-default",
      "type": "registry:block",
      "title": "Command Palette Input",
      "description": "Command palette search input with a custom placeholder and a keyboard shortcut hint in the endContent slot.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-input-default/CommandPaletteInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette-input/default",
        "aliases": [],
        "exampleFor": "CommandPaletteInput",
        "category": "components/CommandPaletteInput",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteInput",
          "Kbd"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-item-default",
      "type": "registry:block",
      "title": "Command Palette Item",
      "description": "An inline command palette whose items pair each command label with its keyboard shortcut through renderItem.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-item-default/CommandPaletteItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette-item/default",
        "aliases": [],
        "exampleFor": "CommandPaletteItem",
        "category": "components/CommandPaletteItem",
        "componentsUsed": [
          "CommandPalette",
          "CommandPaletteItem",
          "Kbd",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-command-palette-list-default",
      "type": "registry:block",
      "title": "Command Palette List",
      "description": "Scrollable command palette list with grouped items, including a highlighted item, composed without a full CommandPalette.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-command-palette-list-default/CommandPaletteListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/CommandPaletteListShowcase.tsx"
        },
        {
          "path": "registry/showcase-command-palette-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/command-palette-list/default",
        "aliases": [],
        "exampleFor": "CommandPaletteList",
        "category": "components/CommandPaletteList",
        "componentsUsed": [
          "CommandPaletteList",
          "CommandPaletteGroup",
          "CommandPaletteItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-command-palette-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-complex-selector-default",
      "type": "registry:block",
      "title": "Complex Selector",
      "description": "A two-axis picker: choose a fruit and a ripeness level from one control. ComplexSelector owns the trigger, popover, and focus restore while the custom grid owns its keyboard semantics.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-complex-selector-default/ComplexSelectorShowcase.jsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ComplexSelectorShowcase.jsx"
        },
        {
          "path": "registry/showcase-complex-selector-default/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/showcases/ComplexSelectorShowcase.astryx.d.mts"
        },
        {
          "path": "registry/showcase-complex-selector-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-complex-selector-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/complex-selector/default",
        "aliases": [],
        "exampleFor": "ComplexSelector",
        "category": "components/ComplexSelector",
        "componentsUsed": [
          "ComplexSelector",
          "Text"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-complex-selector-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-context-menu-default",
      "type": "registry:block",
      "title": "Context Menu",
      "description": "An adaptive context area that supports long-press on compact touch screens and right-click elsewhere.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-context-menu-default/ContextMenuShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ContextMenuShowcase.tsx"
        },
        {
          "path": "registry/showcase-context-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-context-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/context-menu/default",
        "aliases": [],
        "exampleFor": "ContextMenu",
        "category": "components/ContextMenu",
        "componentsUsed": [
          "ContextMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-context-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-context-menu-item-default",
      "type": "registry:block",
      "title": "Context Menu Item",
      "description": "Context menu with custom-rendered items using ContextMenuItem for icons and descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-context-menu-item-default/ContextMenuItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ContextMenuItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-context-menu-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-context-menu-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/context-menu-item/default",
        "aliases": [],
        "exampleFor": "ContextMenuItem",
        "category": "components/ContextMenuItem",
        "componentsUsed": [
          "ContextMenu",
          "ContextMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-context-menu-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-date-input-default",
      "type": "registry:block",
      "title": "Date Input",
      "description": "A date input field with a calendar popover. Type a date or click the calendar icon to pick one.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-date-input-default/DateInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DateInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-date-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-date-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/date-input/default",
        "aliases": [],
        "exampleFor": "DateInput",
        "category": "components/DateInput",
        "componentsUsed": [
          "DateInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-date-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-date-range-input-default",
      "type": "registry:block",
      "title": "Date Range Input",
      "description": "A date range picker with a button trigger and dual-month calendar popover with preset ranges.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-date-range-input-default/DateRangeInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DateRangeInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-date-range-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-date-range-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/date-range-input/default",
        "aliases": [],
        "exampleFor": "DateRangeInput",
        "category": "components/DateRangeInput",
        "componentsUsed": [
          "DateRangeInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-date-range-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-date-time-input-default",
      "type": "registry:block",
      "title": "Date Time Input",
      "description": "A combined date and time picker. Desktop opens a calendar popover with a time input; touch devices open a Date/Time bottom sheet.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-date-time-input-default/DateTimeInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DateTimeInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-date-time-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-date-time-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/date-time-input/default",
        "aliases": [],
        "exampleFor": "DateTimeInput",
        "category": "components/DateTimeInput",
        "componentsUsed": [
          "DateTimeInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-date-time-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-dialog-default",
      "type": "registry:block",
      "title": "Dialog",
      "description": "Modal dialog with a header, body content, and close button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-dialog-default/DialogShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DialogShowcase.tsx"
        },
        {
          "path": "registry/showcase-dialog-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-dialog-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/dialog/default",
        "aliases": [],
        "exampleFor": "Dialog",
        "category": "components/Dialog",
        "componentsUsed": [
          "Dialog",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-dialog-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-dialog-header-default",
      "type": "registry:block",
      "title": "Dialog Header",
      "description": "DialogHeader provides a structured header for dialogs with slots for title, subtitle, close button, and optional start or end content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-dialog-header-default/DialogHeaderShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DialogHeaderShowcase.tsx"
        },
        {
          "path": "registry/showcase-dialog-header-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-dialog-header-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/dialog-header/default",
        "aliases": [],
        "exampleFor": "DialogHeader",
        "category": "components/DialogHeader",
        "componentsUsed": [
          "Dialog",
          "DialogHeader"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-dialog-header-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-divider-variants",
      "type": "registry:block",
      "title": "Divider — Variants",
      "description": "Horizontal dividers in subtle and strong variants, plus a labeled divider. A quick visual reference for separator styles.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-divider-variants/DividerShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DividerShowcase.tsx"
        },
        {
          "path": "registry/showcase-divider-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-divider-variants.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/divider/variants",
        "aliases": [],
        "exampleFor": "Divider",
        "category": "components/Divider",
        "componentsUsed": [
          "Divider",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-divider-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-drawer-basic",
      "type": "registry:block",
      "title": "Basic",
      "description": "Open a modal drawer from a single trigger. The scrim dims the page; Escape, a scrim click, or the header close button closes it, and focus returns to the trigger.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-drawer-basic/DrawerShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DrawerShowcase.tsx"
        },
        {
          "path": "registry/showcase-drawer-basic/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-drawer-basic.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/drawer/basic",
        "aliases": [],
        "exampleFor": "Drawer",
        "category": "components/Drawer",
        "componentsUsed": [
          "Drawer",
          "Button",
          "Layout",
          "LayoutContent",
          "DrawerHeader",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-drawer-basic.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-drawer-header-default",
      "type": "registry:block",
      "title": "Drawer Header",
      "description": "DrawerHeader provides a structured header for drawers with slots for title, subtitle, close button, and optional start or end content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-drawer-header-default/DrawerHeaderShowcase.jsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DrawerHeaderShowcase.jsx"
        },
        {
          "path": "registry/showcase-drawer-header-default/astryx-types.d.mts",
          "type": "registry:file",
          "target": "components/astryx/showcases/DrawerHeaderShowcase.astryx.d.mts"
        },
        {
          "path": "registry/showcase-drawer-header-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-drawer-header-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/drawer-header/default",
        "aliases": [],
        "exampleFor": "DrawerHeader",
        "category": "components/DrawerHeader",
        "componentsUsed": [
          "DrawerHeader",
          "Layout",
          "LayoutContent",
          "Text"
        ],
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-drawer-header-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-dropdown-menu-default",
      "type": "registry:block",
      "title": "Dropdown Menu",
      "description": "A button that opens a dropdown menu with action items. The menu starts open for preview.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-dropdown-menu-default/DropdownMenuShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DropdownMenuShowcase.tsx"
        },
        {
          "path": "registry/showcase-dropdown-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-dropdown-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/dropdown-menu/default",
        "aliases": [],
        "exampleFor": "DropdownMenu",
        "category": "components/DropdownMenu",
        "componentsUsed": [
          "DropdownMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-dropdown-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-dropdown-menu-group-default",
      "type": "registry:block",
      "title": "Dropdown Menu Group",
      "description": "A compound-mode menu whose rows are titled in groups. Each DropdownMenuGroup renders a role=\"group\" named by its heading; arrow keys and typeahead skip the heading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-dropdown-menu-group-default/DropdownMenuGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DropdownMenuGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-dropdown-menu-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-dropdown-menu-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/dropdown-menu-group/default",
        "aliases": [],
        "exampleFor": "DropdownMenuGroup",
        "category": "components/DropdownMenuGroup",
        "componentsUsed": [
          "DropdownMenu",
          "DropdownMenuGroup",
          "DropdownMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-dropdown-menu-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-dropdown-menu-item-default",
      "type": "registry:block",
      "title": "Dropdown Menu Item",
      "description": "Dropdown menu with custom-rendered items using DropdownMenuItem for icons and descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-dropdown-menu-item-default/DropdownMenuItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/DropdownMenuItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-dropdown-menu-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-dropdown-menu-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/dropdown-menu-item/default",
        "aliases": [],
        "exampleFor": "DropdownMenuItem",
        "category": "components/DropdownMenuItem",
        "componentsUsed": [
          "DropdownMenu",
          "DropdownMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-dropdown-menu-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-empty-state-default",
      "type": "registry:block",
      "title": "Empty State",
      "description": "A no-results empty state with an icon, descriptive message, and a call-to-action button.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-empty-state-default/EmptyStateShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/EmptyStateShowcase.tsx"
        },
        {
          "path": "registry/showcase-empty-state-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-empty-state-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/empty-state/default",
        "aliases": [],
        "exampleFor": "EmptyState",
        "category": "components/EmptyState",
        "componentsUsed": [
          "EmptyState",
          "Button",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-empty-state-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-field-default",
      "type": "registry:block",
      "title": "Field",
      "description": "A form field wrapping a text input with a label, description, and validation status.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-field-default/FieldShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/FieldShowcase.tsx"
        },
        {
          "path": "registry/showcase-field-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-field-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/field/default",
        "aliases": [],
        "exampleFor": "Field",
        "category": "components/Field",
        "componentsUsed": [
          "Field",
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-field-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-field-label-default",
      "type": "registry:block",
      "title": "Field Label",
      "description": "Standalone field labels demonstrating required, optional, tooltip, and icon variations.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-field-label-default/FieldLabelShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/FieldLabelShowcase.tsx"
        },
        {
          "path": "registry/showcase-field-label-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-field-label-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/field-label/default",
        "aliases": [],
        "exampleFor": "FieldLabel",
        "category": "components/FieldLabel",
        "componentsUsed": [
          "Field",
          "FieldLabel"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-field-label-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-field-status-default",
      "type": "registry:block",
      "title": "Field Status",
      "description": "Field status messages in error, warning, and success states with attached and detached variants.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-field-status-default/FieldStatusShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/FieldStatusShowcase.tsx"
        },
        {
          "path": "registry/showcase-field-status-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-field-status-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/field-status/default",
        "aliases": [],
        "exampleFor": "FieldStatus",
        "category": "components/FieldStatus",
        "componentsUsed": [
          "FieldStatus",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-field-status-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-file-input-default",
      "type": "registry:block",
      "title": "File Input",
      "description": "Astryx showcase: FileInput.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-file-input-default/FileInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/FileInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-file-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-file-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/file-input/default",
        "aliases": [],
        "exampleFor": "FileInput",
        "category": "components/FileInput",
        "componentsUsed": [
          "FileInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-file-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-form-layout-default",
      "type": "registry:block",
      "title": "Form Layout",
      "description": "A vertical form layout with text input fields.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-form-layout-default/FormLayoutShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/FormLayoutShowcase.tsx"
        },
        {
          "path": "registry/showcase-form-layout-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-form-layout-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/form-layout/default",
        "aliases": [],
        "exampleFor": "FormLayout",
        "category": "components/FormLayout",
        "componentsUsed": [
          "FormLayout",
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-form-layout-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-grid-default",
      "type": "registry:block",
      "title": "Grid",
      "description": "Astryx showcase: Grid.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-grid-default/GridShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/GridShowcase.tsx"
        },
        {
          "path": "registry/showcase-grid-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-grid-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/grid/default",
        "aliases": [],
        "exampleFor": "Grid",
        "category": "components/Grid",
        "componentsUsed": [
          "Card",
          "Grid"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-grid-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-grid-span-default",
      "type": "registry:block",
      "title": "Grid Span",
      "description": "GridSpan lets a grid item span multiple columns or rows within an Grid, enabling masonry-style and asymmetric layouts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-grid-span-default/GridSpanShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/GridSpanShowcase.tsx"
        },
        {
          "path": "registry/showcase-grid-span-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-grid-span-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/grid-span/default",
        "aliases": [],
        "exampleFor": "GridSpan",
        "category": "components/GridSpan",
        "componentsUsed": [
          "Grid",
          "GridSpan"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-grid-span-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-h-stack-default",
      "type": "registry:block",
      "title": "H Stack",
      "description": "Demonstrates HStack arranging items horizontally with different gaps and alignments.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-h-stack-default/HStackShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/HStackShowcase.tsx"
        },
        {
          "path": "registry/showcase-h-stack-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-h-stack-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/h-stack/default",
        "aliases": [],
        "exampleFor": "HStack",
        "category": "components/HStack",
        "componentsUsed": [
          "Layout",
          "Badge",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-h-stack-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-heading-default",
      "type": "registry:block",
      "title": "Heading",
      "description": "Astryx showcase: Heading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-heading-default/HeadingShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/HeadingShowcase.tsx"
        },
        {
          "path": "registry/showcase-heading-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-heading-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/heading/default",
        "aliases": [],
        "exampleFor": "Heading",
        "category": "components/Heading",
        "componentsUsed": [
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-heading-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-hover-card-default",
      "type": "registry:block",
      "title": "Hover Card",
      "description": "A hover card that shows a user profile preview when hovering over a trigger button. Starts open for preview.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-hover-card-default/HoverCardShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/HoverCardShowcase.tsx"
        },
        {
          "path": "registry/showcase-hover-card-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-hover-card-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/hover-card/default",
        "aliases": [],
        "exampleFor": "HoverCard",
        "category": "components/HoverCard",
        "componentsUsed": [
          "HoverCard",
          "Button",
          "Layout",
          "Text",
          "Avatar"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-hover-card-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-icon-button-default",
      "type": "registry:block",
      "title": "Icon Button",
      "description": "An icon button with a wrench icon.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-icon-button-default/IconButtonShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/IconButtonShowcase.tsx"
        },
        {
          "path": "registry/showcase-icon-button-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-icon-button-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/icon-button/default",
        "aliases": [],
        "exampleFor": "IconButton",
        "category": "components/IconButton",
        "componentsUsed": [
          "IconButton",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-icon-button-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-icon-default",
      "type": "registry:block",
      "title": "Icon",
      "description": "Astryx showcase: Icon.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-icon-default/IconShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/IconShowcase.tsx"
        },
        {
          "path": "registry/showcase-icon-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-icon-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/icon/default",
        "aliases": [],
        "exampleFor": "Icon",
        "category": "components/Icon",
        "componentsUsed": [
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-icon-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-info-tip-default",
      "type": "registry:block",
      "title": "Info Tip",
      "description": "Astryx showcase: InfoTip.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-info-tip-default/InfoTipShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/InfoTipShowcase.tsx"
        },
        {
          "path": "registry/showcase-info-tip-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-info-tip-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/info-tip/default",
        "aliases": [],
        "exampleFor": "InfoTip",
        "category": "components/InfoTip",
        "componentsUsed": [
          "InfoTip",
          "HStack",
          "VStack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-info-tip-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-input-group-default",
      "type": "registry:block",
      "title": "Input Group",
      "description": "Astryx showcase: InputGroup.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-input-group-default/InputGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/InputGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-input-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-input-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/input-group/default",
        "aliases": [],
        "exampleFor": "InputGroup",
        "category": "components/InputGroup",
        "componentsUsed": [
          "InputGroup",
          "TextInput",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-input-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-item-default",
      "type": "registry:block",
      "title": "Item",
      "description": "Astryx showcase: Item.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-item-default/ItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/item/default",
        "aliases": [],
        "exampleFor": "Item",
        "category": "components/Item",
        "componentsUsed": [
          "Item",
          "Avatar",
          "Badge",
          "Icon",
          "Text",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-kbd-default",
      "type": "registry:block",
      "title": "Kbd",
      "description": "Astryx showcase: Kbd.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-kbd-default/KbdShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/KbdShowcase.tsx"
        },
        {
          "path": "registry/showcase-kbd-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-kbd-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/kbd/default",
        "aliases": [],
        "exampleFor": "Kbd",
        "category": "components/Kbd",
        "componentsUsed": [
          "Kbd"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-kbd-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-layout-content-default",
      "type": "registry:block",
      "title": "Layout Content",
      "description": "LayoutContent is the scrollable main content area within a Layout, providing automatic padding and scroll containment between the header and footer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-layout-content-default/LayoutContentShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LayoutContentShowcase.tsx"
        },
        {
          "path": "registry/showcase-layout-content-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-layout-content-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/layout-content/default",
        "aliases": [],
        "exampleFor": "LayoutContent",
        "category": "components/LayoutContent",
        "componentsUsed": [
          "Layout",
          "LayoutContent"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-layout-content-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-layout-default",
      "type": "registry:block",
      "title": "Layout",
      "description": "Astryx showcase: Layout.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-layout-default/LayoutShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LayoutShowcase.tsx"
        },
        {
          "path": "registry/showcase-layout-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-layout-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/layout/default",
        "aliases": [],
        "exampleFor": "Layout",
        "category": "components/Layout",
        "componentsUsed": [
          "Badge",
          "Button",
          "Layout",
          "List",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-layout-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-layout-footer-default",
      "type": "registry:block",
      "title": "Layout Footer",
      "description": "LayoutFooter is a fixed footer slot within a Layout, pinned to the bottom for persistent actions like form buttons or navigation.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-layout-footer-default/LayoutFooterShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LayoutFooterShowcase.tsx"
        },
        {
          "path": "registry/showcase-layout-footer-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-layout-footer-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/layout-footer/default",
        "aliases": [],
        "exampleFor": "LayoutFooter",
        "category": "components/LayoutFooter",
        "componentsUsed": [
          "Layout",
          "LayoutFooter"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-layout-footer-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-layout-header-default",
      "type": "registry:block",
      "title": "Layout Header",
      "description": "LayoutHeader is a fixed header slot within a Layout, pinned to the top for titles, navigation, and action buttons.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-layout-header-default/LayoutHeaderShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LayoutHeaderShowcase.tsx"
        },
        {
          "path": "registry/showcase-layout-header-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-layout-header-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/layout-header/default",
        "aliases": [],
        "exampleFor": "LayoutHeader",
        "category": "components/LayoutHeader",
        "componentsUsed": [
          "Layout",
          "LayoutHeader"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-layout-header-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-layout-panel-default",
      "type": "registry:block",
      "title": "Layout Panel",
      "description": "LayoutPanel is a sidebar slot within a Layout, used for navigation, detail views, or secondary content alongside the main content area.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-layout-panel-default/LayoutPanelShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LayoutPanelShowcase.tsx"
        },
        {
          "path": "registry/showcase-layout-panel-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-layout-panel-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/layout-panel/default",
        "aliases": [],
        "exampleFor": "LayoutPanel",
        "category": "components/LayoutPanel",
        "componentsUsed": [
          "Layout",
          "LayoutPanel"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-layout-panel-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-lightbox-default",
      "type": "registry:block",
      "title": "Lightbox",
      "description": "A fullscreen image viewer with caption. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-lightbox-default/LightboxShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LightboxShowcase.tsx"
        },
        {
          "path": "registry/showcase-lightbox-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-lightbox-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/lightbox/default",
        "aliases": [],
        "exampleFor": "Lightbox",
        "category": "components/Lightbox",
        "componentsUsed": [
          "Lightbox"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-lightbox-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-link-default",
      "type": "registry:block",
      "title": "Link",
      "description": "A standalone link.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-link-default/LinkShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/LinkShowcase.tsx"
        },
        {
          "path": "registry/showcase-link-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-link-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/link/default",
        "aliases": [],
        "exampleFor": "Link",
        "category": "components/Link",
        "componentsUsed": [
          "Link"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-link-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-list-default",
      "type": "registry:block",
      "title": "List",
      "description": "Astryx showcase: List.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-list-default/ListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ListShowcase.tsx"
        },
        {
          "path": "registry/showcase-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/list/default",
        "aliases": [],
        "exampleFor": "List",
        "category": "components/List",
        "componentsUsed": [
          "List"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-list-item-default",
      "type": "registry:block",
      "title": "List Item",
      "description": "List items with icons, descriptions, and end content slots demonstrating the full ListItem API.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-list-item-default/ListItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ListItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-list-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-list-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/list-item/default",
        "aliases": [],
        "exampleFor": "ListItem",
        "category": "components/ListItem",
        "componentsUsed": [
          "List",
          "ListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-list-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-markdown-default",
      "type": "registry:block",
      "title": "Markdown",
      "description": "Rich markdown content with headings, lists, and formatting.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-markdown-default/MarkdownShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MarkdownShowcase.tsx"
        },
        {
          "path": "registry/showcase-markdown-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-markdown-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/markdown/default",
        "aliases": [],
        "exampleFor": "Markdown",
        "category": "components/Markdown",
        "componentsUsed": [
          "Markdown"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-markdown-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-media-theme-media-overlay",
      "type": "registry:block",
      "title": "MediaTheme — Media Overlay",
      "description": "A compact media overlay showing MediaTheme adapting text, icons, badges, and button variants over an image-backed dark surface. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-media-theme-media-overlay/MediaThemeShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MediaThemeShowcase.tsx"
        },
        {
          "path": "registry/showcase-media-theme-media-overlay/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-media-theme-media-overlay.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/media-theme/media-overlay",
        "aliases": [],
        "exampleFor": "MediaTheme",
        "category": "components/MediaTheme",
        "componentsUsed": [
          "MediaTheme",
          "Section",
          "Layout",
          "Text",
          "Button",
          "Badge",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-media-theme-media-overlay.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-metadata-list-default",
      "type": "registry:block",
      "title": "Metadata List",
      "description": "Astryx showcase: MetadataList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-metadata-list-default/MetadataListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MetadataListShowcase.tsx"
        },
        {
          "path": "registry/showcase-metadata-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-metadata-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/metadata-list/default",
        "aliases": [],
        "exampleFor": "MetadataList",
        "category": "components/MetadataList",
        "componentsUsed": [
          "MetadataList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-metadata-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-metadata-list-item-default",
      "type": "registry:block",
      "title": "Metadata List Item",
      "description": "Metadata list items displaying labeled values in various formats including text, badges, and links.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-metadata-list-item-default/MetadataListItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MetadataListItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-metadata-list-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-metadata-list-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/metadata-list-item/default",
        "aliases": [],
        "exampleFor": "MetadataListItem",
        "category": "components/MetadataListItem",
        "componentsUsed": [
          "MetadataList",
          "MetadataListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-metadata-list-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-mobile-nav-default",
      "type": "registry:block",
      "title": "Mobile Nav",
      "description": "Astryx showcase: MobileNav.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-mobile-nav-default/MobileNavShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MobileNavShowcase.tsx"
        },
        {
          "path": "registry/showcase-mobile-nav-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-mobile-nav-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/mobile-nav/default",
        "aliases": [],
        "exampleFor": "MobileNav",
        "category": "components/MobileNav",
        "componentsUsed": [
          "Button",
          "Icon",
          "MobileNav",
          "SideNav"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-mobile-nav-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-mobile-nav-toggle-default",
      "type": "registry:block",
      "title": "Mobile Nav Toggle",
      "description": "Demonstrates MobileNavToggle as a standalone hamburger button for opening the mobile navigation drawer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-mobile-nav-toggle-default/MobileNavToggleShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MobileNavToggleShowcase.tsx"
        },
        {
          "path": "registry/showcase-mobile-nav-toggle-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-mobile-nav-toggle-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/mobile-nav-toggle/default",
        "aliases": [],
        "exampleFor": "MobileNavToggle",
        "category": "components/MobileNavToggle",
        "componentsUsed": [
          "MobileNav",
          "Button",
          "SideNav"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-mobile-nav-toggle-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-more-menu-default",
      "type": "registry:block",
      "title": "More Menu",
      "description": "A basic three-dot menu with simple action items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-more-menu-default/MoreMenuShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MoreMenuShowcase.tsx"
        },
        {
          "path": "registry/showcase-more-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-more-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/more-menu/default",
        "aliases": [],
        "exampleFor": "MoreMenu",
        "category": "components/MoreMenu",
        "componentsUsed": [
          "MoreMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-more-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-multi-selector-default",
      "type": "registry:block",
      "title": "Multi Selector",
      "description": "Astryx showcase: MultiSelector.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-multi-selector-default/MultiSelectorShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/MultiSelectorShowcase.tsx"
        },
        {
          "path": "registry/showcase-multi-selector-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-multi-selector-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/multi-selector/default",
        "aliases": [],
        "exampleFor": "MultiSelector",
        "category": "components/MultiSelector",
        "componentsUsed": [
          "MultiSelector"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-multi-selector-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-nav-icon-default",
      "type": "registry:block",
      "title": "Nav Icon",
      "description": "Circular icon containers for navigation headers with accent backgrounds.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-nav-icon-default/NavIconShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/NavIconShowcase.tsx"
        },
        {
          "path": "registry/showcase-nav-icon-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-nav-icon-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/nav-icon/default",
        "aliases": [],
        "exampleFor": "NavIcon",
        "category": "components/NavIcon",
        "componentsUsed": [
          "NavIcon",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-nav-icon-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-number-input-default",
      "type": "registry:block",
      "title": "Number Input",
      "description": "A number input for quantity entry.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-number-input-default/NumberInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/NumberInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-number-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-number-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/number-input/default",
        "aliases": [],
        "exampleFor": "NumberInput",
        "category": "components/NumberInput",
        "componentsUsed": [
          "NumberInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-number-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-outline-default",
      "type": "registry:block",
      "title": "Outline",
      "description": "A document outline with the active section highlighted by the sliding indicator track.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-outline-default/OutlineShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/OutlineShowcase.tsx"
        },
        {
          "path": "registry/showcase-outline-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-outline-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/outline/default",
        "aliases": [],
        "exampleFor": "Outline",
        "category": "components/Outline",
        "componentsUsed": [
          "Outline"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-outline-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-overflow-list-default",
      "type": "registry:block",
      "title": "Overflow List",
      "description": "A list of buttons that collapses overflowing items into a +N indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-overflow-list-default/OverflowListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/OverflowListShowcase.tsx"
        },
        {
          "path": "registry/showcase-overflow-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-overflow-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/overflow-list/default",
        "aliases": [],
        "exampleFor": "OverflowList",
        "category": "components/OverflowList",
        "componentsUsed": [
          "OverflowList",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-overflow-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-overlay-default",
      "type": "registry:block",
      "title": "Overlay",
      "description": "A media card with an always-visible scrim and centered action content. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-overlay-default/OverlayShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/OverlayShowcase.tsx"
        },
        {
          "path": "registry/showcase-overlay-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-overlay-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/overlay/default",
        "aliases": [],
        "exampleFor": "Overlay",
        "category": "components/Overlay",
        "componentsUsed": [
          "Overlay",
          "AspectRatio",
          "Button",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-overlay-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-pagination-variants",
      "type": "registry:block",
      "title": "Pagination — Variants",
      "description": "All four display variants stacked: dots, compact, count, and pages. A quick visual reference for choosing the right variant.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-pagination-variants/PaginationVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/PaginationVariants.tsx"
        },
        {
          "path": "registry/showcase-pagination-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-pagination-variants.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/pagination/variants",
        "aliases": [],
        "exampleFor": "Pagination",
        "category": "components/Pagination",
        "componentsUsed": [
          "Pagination",
          "Layout"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-pagination-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-popover-default",
      "type": "registry:block",
      "title": "Popover",
      "description": "Astryx showcase: Popover.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-popover-default/PopoverShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/PopoverShowcase.tsx"
        },
        {
          "path": "registry/showcase-popover-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-popover-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/popover/default",
        "aliases": [],
        "exampleFor": "Popover",
        "category": "components/Popover",
        "componentsUsed": [
          "Popover",
          "Button",
          "Layout",
          "Text",
          "Divider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-popover-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-power-search-default",
      "type": "registry:block",
      "title": "Power Search",
      "description": "Token-based filter bar with enum and text fields, pre-populated with sample filters.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-power-search-default/PowerSearchShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/PowerSearchShowcase.tsx"
        },
        {
          "path": "registry/showcase-power-search-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-power-search-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/power-search/default",
        "aliases": [],
        "exampleFor": "PowerSearch",
        "category": "components/PowerSearch",
        "componentsUsed": [
          "PowerSearch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-power-search-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-progress-bar-default",
      "type": "registry:block",
      "title": "Progress Bar",
      "description": "A progress bar filled to 60%.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-progress-bar-default/ProgressBarShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ProgressBarShowcase.tsx"
        },
        {
          "path": "registry/showcase-progress-bar-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-progress-bar-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/progress-bar/default",
        "aliases": [],
        "exampleFor": "ProgressBar",
        "category": "components/ProgressBar",
        "componentsUsed": [
          "ProgressBar"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-progress-bar-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-radio-list-default",
      "type": "registry:block",
      "title": "Radio List",
      "description": "Astryx showcase: RadioList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-radio-list-default/RadioListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/RadioListShowcase.tsx"
        },
        {
          "path": "registry/showcase-radio-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-radio-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/radio-list/default",
        "aliases": [],
        "exampleFor": "RadioList",
        "category": "components/RadioList",
        "componentsUsed": [
          "RadioList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-radio-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-radio-list-item-default",
      "type": "registry:block",
      "title": "Radio List Item",
      "description": "Radio list items with labels, descriptions, and different states including disabled.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-radio-list-item-default/RadioListItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/RadioListItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-radio-list-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-radio-list-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/radio-list-item/default",
        "aliases": [],
        "exampleFor": "RadioListItem",
        "category": "components/RadioListItem",
        "componentsUsed": [
          "RadioList",
          "RadioListItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-radio-list-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-scrollable-area-default",
      "type": "registry:block",
      "title": "Scrollable Area",
      "description": "A fixed-height file panel that scrolls on the block axis; the heading sits inside the viewport, so it scrolls away with the content.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-scrollable-area-default/ScrollableAreaShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ScrollableAreaShowcase.tsx"
        },
        {
          "path": "registry/showcase-scrollable-area-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-scrollable-area-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/scrollable-area/default",
        "aliases": [],
        "exampleFor": "ScrollableArea",
        "category": "components/ScrollableArea",
        "componentsUsed": [
          "ScrollableArea",
          "Card",
          "Grid"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-scrollable-area-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-section-variants",
      "type": "registry:block",
      "title": "Section — Variants",
      "description": "All three background variants stacked: section (default surface), muted, and transparent. A quick visual reference for choosing the right variant.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-section-variants/SectionVariants.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SectionVariants.tsx"
        },
        {
          "path": "registry/showcase-section-variants/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-section-variants.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/section/variants",
        "aliases": [],
        "exampleFor": "Section",
        "category": "components/Section",
        "componentsUsed": [
          "Section",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-section-variants.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-segmented-control-default",
      "type": "registry:block",
      "title": "Segmented Control",
      "description": "Astryx showcase: SegmentedControl.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-segmented-control-default/SegmentedControlShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SegmentedControlShowcase.tsx"
        },
        {
          "path": "registry/showcase-segmented-control-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-segmented-control-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/segmented-control/default",
        "aliases": [],
        "exampleFor": "SegmentedControl",
        "category": "components/SegmentedControl",
        "componentsUsed": [
          "SegmentedControl"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-segmented-control-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-segmented-control-item-default",
      "type": "registry:block",
      "title": "Segmented Control Item",
      "description": "Segmented control items with text labels and icons, including a disabled item.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-segmented-control-item-default/SegmentedControlItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SegmentedControlItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-segmented-control-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-segmented-control-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/segmented-control-item/default",
        "aliases": [],
        "exampleFor": "SegmentedControlItem",
        "category": "components/SegmentedControlItem",
        "componentsUsed": [
          "SegmentedControl",
          "SegmentedControlItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-segmented-control-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-selectable-card-default",
      "type": "registry:block",
      "title": "Selectable Card",
      "description": "A plan picker with single-select radio behavior. Cards show an accent border when selected.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-selectable-card-default/SelectableCardShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SelectableCardShowcase.tsx"
        },
        {
          "path": "registry/showcase-selectable-card-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-selectable-card-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/selectable-card/default",
        "aliases": [],
        "exampleFor": "SelectableCard",
        "category": "components/Card",
        "componentsUsed": [
          "SelectableCard",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-selectable-card-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-selector-default",
      "type": "registry:block",
      "title": "Selector",
      "description": "Astryx showcase: Selector.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-selector-default/SelectorShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SelectorShowcase.tsx"
        },
        {
          "path": "registry/showcase-selector-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-selector-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/selector/default",
        "aliases": [],
        "exampleFor": "Selector",
        "category": "components/Selector",
        "componentsUsed": [
          "Selector"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-selector-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-selector-option-default",
      "type": "registry:block",
      "title": "Selector Option",
      "description": "Selector with custom-rendered options using SelectorOption for icons and descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-selector-option-default/SelectorOptionShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SelectorOptionShowcase.tsx"
        },
        {
          "path": "registry/showcase-selector-option-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-selector-option-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/selector-option/default",
        "aliases": [],
        "exampleFor": "SelectorOption",
        "category": "components/SelectorOption",
        "componentsUsed": [
          "Selector",
          "SelectorOption"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-selector-option-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-side-nav-collapse-button-default",
      "type": "registry:block",
      "title": "Side Nav Collapse Button",
      "description": "Demonstrates SideNavCollapseButton inside a collapsible SideNav.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-side-nav-collapse-button-default/SideNavCollapseButtonShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SideNavCollapseButtonShowcase.tsx"
        },
        {
          "path": "registry/showcase-side-nav-collapse-button-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-collapse-button-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/side-nav-collapse-button/default",
        "aliases": [],
        "exampleFor": "SideNavCollapseButton",
        "category": "components/SideNavCollapseButton",
        "componentsUsed": [
          "SideNav",
          "SideNavCollapseButton",
          "SideNavItem",
          "SideNavSection"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-collapse-button-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-side-nav-default",
      "type": "registry:block",
      "title": "Side Nav",
      "description": "Astryx showcase: SideNav.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-side-nav-default/SideNavShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SideNavShowcase.tsx"
        },
        {
          "path": "registry/showcase-side-nav-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/side-nav/default",
        "aliases": [],
        "exampleFor": "SideNav",
        "category": "components/SideNav",
        "componentsUsed": [
          "SideNav"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-side-nav-heading-default",
      "type": "registry:block",
      "title": "Side Nav Heading",
      "description": "Demonstrates SideNavHeading with an app name, logo icon, superheading, and subheading.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-side-nav-heading-default/SideNavHeadingShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SideNavHeadingShowcase.tsx"
        },
        {
          "path": "registry/showcase-side-nav-heading-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-heading-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/side-nav-heading/default",
        "aliases": [],
        "exampleFor": "SideNavHeading",
        "category": "components/SideNavHeading",
        "componentsUsed": [
          "SideNav",
          "SideNavHeading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-heading-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-side-nav-item-default",
      "type": "registry:block",
      "title": "Side Nav Item",
      "description": "Demonstrates SideNavItem with selected, icon, disabled, and nested states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-side-nav-item-default/SideNavItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SideNavItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-side-nav-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/side-nav-item/default",
        "aliases": [],
        "exampleFor": "SideNavItem",
        "category": "components/SideNavItem",
        "componentsUsed": [
          "SideNav",
          "SideNavItem",
          "SideNavSection"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-side-nav-section-default",
      "type": "registry:block",
      "title": "Side Nav Section",
      "description": "Demonstrates SideNavSection with titled groups of navigation items.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-side-nav-section-default/SideNavSectionShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SideNavSectionShowcase.tsx"
        },
        {
          "path": "registry/showcase-side-nav-section-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-section-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/side-nav-section/default",
        "aliases": [],
        "exampleFor": "SideNavSection",
        "category": "components/SideNavSection",
        "componentsUsed": [
          "SideNav",
          "SideNavSection",
          "SideNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-side-nav-section-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-skeleton-default",
      "type": "registry:block",
      "title": "Skeleton",
      "description": "A skeleton loading placeholder.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-skeleton-default/SkeletonShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SkeletonShowcase.tsx"
        },
        {
          "path": "registry/showcase-skeleton-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-skeleton-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/skeleton/default",
        "aliases": [],
        "exampleFor": "Skeleton",
        "category": "components/Skeleton",
        "componentsUsed": [
          "Skeleton"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-skeleton-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-slider-default",
      "type": "registry:block",
      "title": "Slider",
      "description": "A slider control set to 50%.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-slider-default/SliderShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SliderShowcase.tsx"
        },
        {
          "path": "registry/showcase-slider-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-slider-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/slider/default",
        "aliases": [],
        "exampleFor": "Slider",
        "category": "components/Slider",
        "componentsUsed": [
          "Slider"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-slider-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-spinner-default",
      "type": "registry:block",
      "title": "Spinner",
      "description": "A large spinner indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-spinner-default/SpinnerShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SpinnerShowcase.tsx"
        },
        {
          "path": "registry/showcase-spinner-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-spinner-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/spinner/default",
        "aliases": [],
        "exampleFor": "Spinner",
        "category": "components/Spinner",
        "componentsUsed": [
          "Spinner"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-spinner-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-stack-directions",
      "type": "registry:block",
      "title": "Stack — Directions",
      "description": "Badges arranged horizontally and vertically in side-by-side cards.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-stack-directions/StackDirections.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/StackDirections.tsx"
        },
        {
          "path": "registry/showcase-stack-directions/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-stack-directions.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/stack/directions",
        "aliases": [],
        "exampleFor": "Stack",
        "category": "components/Stack",
        "componentsUsed": [
          "Layout",
          "Badge",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-stack-directions.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-stack-item-default",
      "type": "registry:block",
      "title": "Stack Item",
      "description": "StackItem can be used within HStack or VStack for more granular control over individual item sizing and alignment, but is optional; stack children work without it.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-stack-item-default/StackItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/StackItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-stack-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-stack-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/stack-item/default",
        "aliases": [],
        "exampleFor": "StackItem",
        "category": "components/StackItem",
        "componentsUsed": [
          "Stack",
          "StackItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-stack-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-status-dot-default",
      "type": "registry:block",
      "title": "Status Dot",
      "description": "A positive status dot indicator.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-status-dot-default/StatusDotShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/StatusDotShowcase.tsx"
        },
        {
          "path": "registry/showcase-status-dot-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-status-dot-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/status-dot/default",
        "aliases": [],
        "exampleFor": "StatusDot",
        "category": "components/StatusDot",
        "componentsUsed": [
          "StatusDot"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-status-dot-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-step-default",
      "type": "registry:block",
      "title": "Step",
      "description": "A single Step, with every part it can render: the indicator, the label with its optional marker and trailing endContent, and the description beneath. A Step never sets its own completed/current state. It declares its index and derives the rest from the parent Stepper, so one Step in one Stepper is a complete example.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-step-default/StepShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/StepShowcase.tsx"
        },
        {
          "path": "registry/showcase-step-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-step-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/step/default",
        "aliases": [],
        "exampleFor": "Step",
        "category": "components/Step",
        "componentsUsed": [
          "Stepper",
          "Step",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-step-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-stepper-checkout-progress",
      "type": "registry:block",
      "title": "Stepper — Checkout Progress",
      "description": "The default stepper: a horizontal track where every step owns an equal segment of the progress bar above its label. The default auto indicator resolves itself per step: a check once the step is done, a ring on the current step, a number for the ones still ahead. Click any step to jump.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-stepper-checkout-progress/StepperShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/StepperShowcase.tsx"
        },
        {
          "path": "registry/showcase-stepper-checkout-progress/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-stepper-checkout-progress.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/stepper/checkout-progress",
        "aliases": [],
        "exampleFor": "Stepper",
        "category": "components/Stepper",
        "componentsUsed": [
          "Stepper"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-stepper-checkout-progress.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-switch-default",
      "type": "registry:block",
      "title": "Switch",
      "description": "A toggle switch for enabling notifications.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-switch-default/SwitchShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SwitchShowcase.tsx"
        },
        {
          "path": "registry/showcase-switch-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-switch-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/switch/default",
        "aliases": [],
        "exampleFor": "Switch",
        "category": "components/Switch",
        "componentsUsed": [
          "Switch"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-switch-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-syntax-theme-compact-preset",
      "type": "registry:block",
      "title": "SyntaxTheme — Compact Preset",
      "description": "A concise code block rendered with the One Dark Pro syntax preset to show how SyntaxTheme changes highlighting colors without making the page long.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-syntax-theme-compact-preset/SyntaxThemeShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/SyntaxThemeShowcase.tsx"
        },
        {
          "path": "registry/showcase-syntax-theme-compact-preset/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-syntax-theme-compact-preset.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/syntax-theme/compact-preset",
        "aliases": [],
        "exampleFor": "SyntaxTheme",
        "category": "components/SyntaxTheme",
        "componentsUsed": [
          "SyntaxTheme",
          "CodeBlock",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-syntax-theme-compact-preset.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-tab-default",
      "type": "registry:block",
      "title": "Tab",
      "description": "Tab is an individual tab item within a TabList, supporting labels, icons, selected icons, and end content slots.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-tab-default/TabShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TabShowcase.tsx"
        },
        {
          "path": "registry/showcase-tab-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-tab-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/tab/default",
        "aliases": [],
        "exampleFor": "Tab",
        "category": "components/Tab",
        "componentsUsed": [
          "TabList",
          "Tab"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-tab-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-tab-list-default",
      "type": "registry:block",
      "title": "Tab List",
      "description": "Astryx showcase: TabList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-tab-list-default/TabListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TabListShowcase.tsx"
        },
        {
          "path": "registry/showcase-tab-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-tab-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/tab-list/default",
        "aliases": [],
        "exampleFor": "TabList",
        "category": "components/TabList",
        "componentsUsed": [
          "TabList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-tab-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-tab-menu-default",
      "type": "registry:block",
      "title": "Tab Menu",
      "description": "TabMenu is an overflow menu within a TabList that groups additional tab options into a dropdown, showing the selected option's label as the trigger text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-tab-menu-default/TabMenuShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TabMenuShowcase.tsx"
        },
        {
          "path": "registry/showcase-tab-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-tab-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/tab-menu/default",
        "aliases": [],
        "exampleFor": "TabMenu",
        "category": "components/TabMenu",
        "componentsUsed": [
          "TabList",
          "Tab",
          "TabMenu"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-tab-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-table-default",
      "type": "registry:block",
      "title": "Table",
      "description": "Data-driven table with proportional and pixel column widths and hover highlighting.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-table-default/TableShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TableShowcase.tsx"
        },
        {
          "path": "registry/showcase-table-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-table-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/table/default",
        "aliases": [],
        "exampleFor": "Table",
        "category": "components/Table",
        "componentsUsed": [
          "Table",
          "Card"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-table-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-text-area-default",
      "type": "registry:block",
      "title": "Text Area",
      "description": "A text area with placeholder text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-text-area-default/TextAreaShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TextAreaShowcase.tsx"
        },
        {
          "path": "registry/showcase-text-area-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-text-area-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/text-area/default",
        "aliases": [],
        "exampleFor": "TextArea",
        "category": "components/TextArea",
        "componentsUsed": [
          "TextArea"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-text-area-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-text-default",
      "type": "registry:block",
      "title": "Text",
      "description": "Astryx showcase: Text.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-text-default/TextShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TextShowcase.tsx"
        },
        {
          "path": "registry/showcase-text-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-text-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/text/default",
        "aliases": [],
        "exampleFor": "Text",
        "category": "components/Text",
        "componentsUsed": [
          "Stack",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-text-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-text-input-default",
      "type": "registry:block",
      "title": "Text Input",
      "description": "Astryx showcase: TextInput.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-text-input-default/TextInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TextInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-text-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-text-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/text-input/default",
        "aliases": [],
        "exampleFor": "TextInput",
        "category": "components/TextInput",
        "componentsUsed": [
          "TextInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-text-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-theme-distinct-themes",
      "type": "registry:block",
      "title": "Theme — Distinct Themes",
      "description": "Two visually distinct theme providers wrapping identical content to show how Theme changes the visual treatment of child components.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-theme-distinct-themes/ThemeShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ThemeShowcase.tsx"
        },
        {
          "path": "registry/showcase-theme-distinct-themes/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-theme-distinct-themes.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/theme/distinct-themes",
        "aliases": [],
        "exampleFor": "Theme",
        "category": "components/Theme",
        "componentsUsed": [
          "Theme",
          "Card",
          "Grid",
          "Section",
          "Layout",
          "Text",
          "Button",
          "Badge"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-theme-distinct-themes.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-thumbnail-default",
      "type": "registry:block",
      "title": "Thumbnail",
      "description": "A thumbnail with an image and label.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-thumbnail-default/ThumbnailShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ThumbnailShowcase.tsx"
        },
        {
          "path": "registry/showcase-thumbnail-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-thumbnail-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/thumbnail/default",
        "aliases": [],
        "exampleFor": "Thumbnail",
        "category": "components/Thumbnail",
        "componentsUsed": [
          "Thumbnail"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-thumbnail-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-time-input-default",
      "type": "registry:block",
      "title": "Time Input",
      "description": "A time input that uses the browser/OS picker on touch by default and Astryx typed entry on fine pointers.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-time-input-default/TimeInputShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TimeInputShowcase.tsx"
        },
        {
          "path": "registry/showcase-time-input-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-time-input-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/time-input/default",
        "aliases": [],
        "exampleFor": "TimeInput",
        "category": "components/TimeInput",
        "componentsUsed": [
          "TimeInput"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-time-input-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-timer-default",
      "type": "registry:block",
      "title": "Timer",
      "description": "Astryx showcase: Timer.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-timer-default/TimerShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TimerShowcase.tsx"
        },
        {
          "path": "registry/showcase-timer-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-timer-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/timer/default",
        "aliases": [],
        "exampleFor": "Timer",
        "category": "components/Timer",
        "componentsUsed": [
          "Timer",
          "Layout",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-timer-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-timestamp-default",
      "type": "registry:block",
      "title": "Timestamp",
      "description": "Astryx showcase: Timestamp.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-timestamp-default/TimestampShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TimestampShowcase.tsx"
        },
        {
          "path": "registry/showcase-timestamp-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-timestamp-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/timestamp/default",
        "aliases": [],
        "exampleFor": "Timestamp",
        "category": "components/Timestamp",
        "componentsUsed": [
          "Timestamp"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-timestamp-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-toast-default",
      "type": "registry:block",
      "title": "Toast",
      "description": "Imperative toast notifications triggered with useToast and rendered in the toast viewport.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-toast-default/ToastShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ToastShowcase.tsx"
        },
        {
          "path": "registry/showcase-toast-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-toast-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/toast/default",
        "aliases": [],
        "exampleFor": "Toast",
        "category": "components/Toast",
        "componentsUsed": [
          "Toast",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-toast-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-toggle-button-default",
      "type": "registry:block",
      "title": "Toggle Button",
      "description": "Astryx showcase: ToggleButton.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-toggle-button-default/ToggleButtonShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ToggleButtonShowcase.tsx"
        },
        {
          "path": "registry/showcase-toggle-button-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-toggle-button-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/toggle-button/default",
        "aliases": [],
        "exampleFor": "ToggleButton",
        "category": "components/ToggleButton",
        "componentsUsed": [
          "Icon",
          "Layout",
          "ToggleButton"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-toggle-button-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-toggle-button-group-default",
      "type": "registry:block",
      "title": "Toggle Button Group",
      "description": "ToggleButtonGroup manages a set of ToggleButtons with single-select or multi-select behavior for options like view modes or filters.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-toggle-button-group-default/ToggleButtonGroupShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ToggleButtonGroupShowcase.tsx"
        },
        {
          "path": "registry/showcase-toggle-button-group-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-toggle-button-group-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/toggle-button-group/default",
        "aliases": [],
        "exampleFor": "ToggleButtonGroup",
        "category": "components/ToggleButtonGroup",
        "componentsUsed": [
          "ToggleButton",
          "ToggleButtonGroup"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-toggle-button-group-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-token-default",
      "type": "registry:block",
      "title": "Token",
      "description": "Astryx showcase: Token.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-token-default/TokenShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TokenShowcase.tsx"
        },
        {
          "path": "registry/showcase-token-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-token-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/token/default",
        "aliases": [],
        "exampleFor": "Token",
        "category": "components/Token",
        "componentsUsed": [
          "Icon",
          "Layout",
          "Token"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-token-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-tokenizer-default",
      "type": "registry:block",
      "title": "Tokenizer",
      "description": "A tokenizer with preset tags and search source.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-tokenizer-default/TokenizerShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TokenizerShowcase.tsx"
        },
        {
          "path": "registry/showcase-tokenizer-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-tokenizer-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/tokenizer/default",
        "aliases": [],
        "exampleFor": "Tokenizer",
        "category": "components/Tokenizer",
        "componentsUsed": [
          "Tokenizer"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-tokenizer-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-toolbar-three-slot",
      "type": "registry:block",
      "title": "Toolbar — Three Slot",
      "description": "A toolbar with start, center, and end content using the three-column grid layout. Use when you need a centered title or heading with navigation and actions on either side.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-toolbar-three-slot/ToolbarThreeSlot.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/ToolbarThreeSlot.tsx"
        },
        {
          "path": "registry/showcase-toolbar-three-slot/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-toolbar-three-slot.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/toolbar/three-slot",
        "aliases": [],
        "exampleFor": "Toolbar",
        "category": "components/Toolbar",
        "componentsUsed": [
          "Toolbar",
          "Button",
          "Icon",
          "Text",
          "Card",
          "Section"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-toolbar-three-slot.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-tooltip-default",
      "type": "registry:block",
      "title": "Tooltip",
      "description": "Astryx showcase: Tooltip.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-tooltip-default/TooltipShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TooltipShowcase.tsx"
        },
        {
          "path": "registry/showcase-tooltip-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-tooltip-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/tooltip/default",
        "aliases": [],
        "exampleFor": "Tooltip",
        "category": "components/Tooltip",
        "componentsUsed": [
          "Tooltip",
          "Button"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-tooltip-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-default",
      "type": "registry:block",
      "title": "Top Nav",
      "description": "Astryx showcase: TopNav.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-default/TopNavShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav/default",
        "aliases": [],
        "exampleFor": "TopNav",
        "category": "components/TopNav",
        "componentsUsed": [
          "Button",
          "Icon",
          "TopNav"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-heading-default",
      "type": "registry:block",
      "title": "Top Nav Heading",
      "description": "Demonstrates TopNavHeading with a logo and text, both as a plain display and as a clickable link.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-heading-default/TopNavHeadingShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavHeadingShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-heading-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-heading-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav-heading/default",
        "aliases": [],
        "exampleFor": "TopNavHeading",
        "category": "components/TopNavHeading",
        "componentsUsed": [
          "TopNav",
          "TopNavHeading"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-heading-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-item-default",
      "type": "registry:block",
      "title": "Top Nav Item",
      "description": "Demonstrates TopNavItem with selected, icon, disabled, and default states.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-item-default/TopNavItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav-item/default",
        "aliases": [],
        "exampleFor": "TopNavItem",
        "category": "components/TopNavItem",
        "componentsUsed": [
          "TopNav",
          "TopNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-mega-menu-default",
      "type": "registry:block",
      "title": "Top Nav Mega Menu",
      "description": "Demonstrates TopNavMegaMenu with items and a featured card in the mega menu panel.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-mega-menu-default/TopNavMegaMenuShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavMegaMenuShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-mega-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-mega-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav-mega-menu/default",
        "aliases": [],
        "exampleFor": "TopNavMegaMenu",
        "category": "components/TopNavMegaMenu",
        "componentsUsed": [
          "TopNav",
          "TopNavMegaMenu",
          "TopNavMegaMenuItem",
          "TopNavMegaMenuFeaturedCard"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-mega-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-mega-menu-featured-card-default",
      "type": "registry:block",
      "title": "Top Nav Mega Menu Featured Card",
      "description": "Demonstrates TopNavMegaMenuFeaturedCard with a title, description, and CTA link inside a mega menu.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-mega-menu-featured-card-default/TopNavMegaMenuFeaturedCardShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavMegaMenuFeaturedCardShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-mega-menu-featured-card-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-mega-menu-featured-card-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav-mega-menu-featured-card/default",
        "aliases": [],
        "exampleFor": "TopNavMegaMenuFeaturedCard",
        "category": "components/TopNavMegaMenuFeaturedCard",
        "componentsUsed": [
          "TopNav",
          "TopNavMegaMenu",
          "TopNavMegaMenuFeaturedCard",
          "TopNavMegaMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-mega-menu-featured-card-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-mega-menu-item-default",
      "type": "registry:block",
      "title": "Top Nav Mega Menu Item",
      "description": "Demonstrates TopNavMegaMenuItem with icons, titles, and descriptions inside a mega menu.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-mega-menu-item-default/TopNavMegaMenuItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavMegaMenuItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-mega-menu-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-mega-menu-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav-mega-menu-item/default",
        "aliases": [],
        "exampleFor": "TopNavMegaMenuItem",
        "category": "components/TopNavMegaMenuItem",
        "componentsUsed": [
          "TopNav",
          "TopNavMegaMenu",
          "TopNavMegaMenuItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-mega-menu-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-top-nav-menu-default",
      "type": "registry:block",
      "title": "Top Nav Menu",
      "description": "Demonstrates TopNavMenu with a hover-triggered dropdown containing items with icons and descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-top-nav-menu-default/TopNavMenuShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TopNavMenuShowcase.tsx"
        },
        {
          "path": "registry/showcase-top-nav-menu-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-menu-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/top-nav-menu/default",
        "aliases": [],
        "exampleFor": "TopNavMenu",
        "category": "components/TopNavMenu",
        "componentsUsed": [
          "TopNav",
          "TopNavMenu",
          "TopNavItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-top-nav-menu-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-tree-list-default",
      "type": "registry:block",
      "title": "Tree List",
      "description": "Astryx showcase: TreeList.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-tree-list-default/TreeListShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TreeListShowcase.tsx"
        },
        {
          "path": "registry/showcase-tree-list-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-tree-list-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/tree-list/default",
        "aliases": [],
        "exampleFor": "TreeList",
        "category": "components/TreeList",
        "componentsUsed": [
          "TreeList"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-tree-list-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-typeahead-default",
      "type": "registry:block",
      "title": "Typeahead",
      "description": "Astryx showcase: Typeahead.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-typeahead-default/TypeaheadShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TypeaheadShowcase.tsx"
        },
        {
          "path": "registry/showcase-typeahead-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-typeahead-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/typeahead/default",
        "aliases": [],
        "exampleFor": "Typeahead",
        "category": "components/Typeahead",
        "componentsUsed": [
          "Typeahead"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-typeahead-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-typeahead-item-default",
      "type": "registry:block",
      "title": "Typeahead Item",
      "description": "Typeahead with custom item rendering using TypeaheadItem for avatars and descriptions.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-typeahead-item-default/TypeaheadItemShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/TypeaheadItemShowcase.tsx"
        },
        {
          "path": "registry/showcase-typeahead-item-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-typeahead-item-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/typeahead-item/default",
        "aliases": [],
        "exampleFor": "TypeaheadItem",
        "category": "components/TypeaheadItem",
        "componentsUsed": [
          "Typeahead",
          "TypeaheadItem"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-typeahead-item-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-v-stack-default",
      "type": "registry:block",
      "title": "V Stack",
      "description": "Demonstrates VStack arranging items vertically with different gaps.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-v-stack-default/VStackShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/VStackShowcase.tsx"
        },
        {
          "path": "registry/showcase-v-stack-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-v-stack-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/v-stack/default",
        "aliases": [],
        "exampleFor": "VStack",
        "category": "components/VStack",
        "componentsUsed": [
          "Layout",
          "Badge",
          "Text"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-v-stack-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "showcase-visually-hidden-default",
      "type": "registry:block",
      "title": "VisuallyHidden",
      "description": "Astryx showcase: VisuallyHidden.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/showcase-visually-hidden-default/VisuallyHiddenShowcase.tsx",
          "type": "registry:block",
          "target": "components/astryx/showcases/VisuallyHiddenShowcase.tsx"
        },
        {
          "path": "registry/showcase-visually-hidden-default/astryx-receipt.json",
          "type": "registry:file",
          "target": "components/astryx/showcases/.astryx/showcase-visually-hidden-default.json"
        }
      ],
      "astryx": {
        "kind": "showcase",
        "path": "showcases/visually-hidden/default",
        "aliases": [],
        "exampleFor": "VisuallyHidden",
        "category": "components/VisuallyHidden",
        "componentsUsed": [
          "VisuallyHidden",
          "IconButton",
          "Card",
          "HStack",
          "VStack",
          "Text",
          "Icon"
        ],
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "components/astryx/showcases/.astryx/showcase-visually-hidden-default.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-ai-chat",
      "type": "registry:page",
      "title": "AI Chat Conversation",
      "description": "Transcript of alternating turns carrying mixed rich content inline (markdown, code blocks, collapsible tool-call output) beside a resizable artifact panel that holds generated output while the stream keeps scrolling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-ai-chat/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/ai-chat/page.tsx"
        },
        {
          "path": "registry/template-ai-chat/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/ai-chat/.astryx/template-ai-chat.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/ai-chat",
        "aliases": [],
        "category": "AI Chat - Conversation",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/ai-chat/.astryx/template-ai-chat.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-ai-chat-landing",
      "type": "registry:page",
      "title": "AI Chat Landing",
      "description": "Zero-state entry surface centered on a single composer with suggestion chips instead of history, sized for the moment before any content exists. The empty counterpart to a transcript.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-ai-chat-landing/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/ai-chat-landing/page.tsx"
        },
        {
          "path": "registry/template-ai-chat-landing/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/ai-chat-landing/.astryx/template-ai-chat-landing.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/ai-chat-landing",
        "aliases": [],
        "category": "AI Chat - Landing",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/ai-chat-landing/.astryx/template-ai-chat-landing.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-canvas-editor",
      "type": "registry:page",
      "title": "Canvas Editor",
      "description": "Layered artboard workspace: document tabs over a layer rail, a fixed-size frame you zoom on a muted backdrop, and an inspector of position, type, and filter fields that retargets to the selected layer. Objects hold a coordinate rather than reflowing, so moving one never moves another. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@astryxdesign/theme-neutral@0.7.11",
        "@stylexjs/stylex@0.19.0",
        "lucide-react@1.23.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-canvas-editor/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/canvas-editor/page.jsx"
        },
        {
          "path": "registry/template-canvas-editor/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/canvas-editor/page.astryx.d.mts"
        },
        {
          "path": "registry/template-canvas-editor/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/canvas-editor/.astryx/template-canvas-editor.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/canvas-editor",
        "aliases": [],
        "category": "Tools - Canvas Editor",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/canvas-editor/.astryx/template-canvas-editor.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-centered-hero",
      "type": "registry:page",
      "title": "Centered Hero",
      "description": "Symmetrical centered stack (headline, short blurb, paired call-to-action buttons) resting on one wide full-bleed picture, with nothing on either flank competing. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-centered-hero/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/centered-hero/page.tsx"
        },
        {
          "path": "registry/template-centered-hero/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/centered-hero/.astryx/template-centered-hero.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/centered-hero",
        "aliases": [],
        "category": "Gallery - Hero",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/centered-hero/.astryx/template-centered-hero.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-checkout-wizard",
      "type": "registry:page",
      "title": "Checkout Wizard",
      "description": "Multi-step checkout, cart, order, and payment wizard with a running summary that recalculates as answers change. It adapts to its host width, renders the summary first on narrow surfaces, validates every forward path, and completes locally without sending payment. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-checkout-wizard/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/checkout-wizard/page.tsx"
        },
        {
          "path": "registry/template-checkout-wizard/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/checkout-wizard/.astryx/template-checkout-wizard.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/checkout-wizard",
        "aliases": [],
        "category": "Form - Checkout",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/checkout-wizard/.astryx/template-checkout-wizard.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-classic-gallery",
      "type": "registry:page",
      "title": "Classic Gallery",
      "description": "Uniform grid of equal-ratio media tiles under a centered intro, with filter tabs that narrow the set in place. Regular rhythm, unlike the variable-height masonry variant. Astryx replaced 10 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-classic-gallery/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/classic-gallery/page.tsx"
        },
        {
          "path": "registry/template-classic-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/classic-gallery/.astryx/template-classic-gallery.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/classic-gallery",
        "aliases": [],
        "category": "Gallery - Basic",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/classic-gallery/.astryx/template-classic-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-contact-form",
      "type": "registry:page",
      "title": "Contact Form",
      "description": "Flat single-column form mixing control types (text, pill toggles, dropdowns, long free-text) landing on one full-width submit. No steps, no branching, no summary rail.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-contact-form/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/contact-form/page.tsx"
        },
        {
          "path": "registry/template-contact-form/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/contact-form/.astryx/template-contact-form.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/contact-form",
        "aliases": [],
        "category": "Form - Basic",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/contact-form/.astryx/template-contact-form.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-course-detail",
      "type": "registry:page",
      "title": "Course Detail",
      "description": "Long-form sales page for a single offering, in two columns — read the pitch, then enroll from a sticky rail. The main column holds a preview poster with a fact row, an about block with skill chips, a module syllabus whose sections collapse module by module, an instructor card, reviews with a scored-aspects panel, and a FAQ; the rail holds the price, a self-paced or cohort start picker, and a weekly-pace slider that computes a finish date. The shape for any offering with a curriculum and a purchase panel — a course, class, masterclass, bootcamp, workshop, or training. Astryx replaced 6 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-course-detail/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/course-detail/page.tsx"
        },
        {
          "path": "registry/template-course-detail/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/course-detail/.astryx/template-course-detail.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/course-detail",
        "aliases": [],
        "category": "Content - Course Detail",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/course-detail/.astryx/template-course-detail.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard",
      "type": "registry:page",
      "title": "Analytics Dashboard",
      "description": "Three-band analytics: a row of headline tiles, then charts, then supporting tables, all re-reading from one global filter bar. Breadth over depth, a summary surface rather than a drill-down.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard/page.tsx"
        },
        {
          "path": "registry/template-dashboard/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard/.astryx/template-dashboard.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard",
        "aliases": [],
        "category": "Dashboard - Analytics",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard/.astryx/template-dashboard.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard-alert-rail",
      "type": "registry:page",
      "title": "Service Monitoring Dashboard",
      "description": "Always-on analytics with a triage rail: status-colored tiles with sparklines, multi-series time charts over a switchable window, and an independently scrolling alert column that folds into the content when narrow.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard-alert-rail/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard-alert-rail/page.jsx"
        },
        {
          "path": "registry/template-dashboard-alert-rail/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/dashboard-alert-rail/page.astryx.d.mts"
        },
        {
          "path": "registry/template-dashboard-alert-rail/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard-alert-rail/.astryx/template-dashboard-alert-rail.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard-alert-rail",
        "aliases": [],
        "category": "Dashboard - Monitoring",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard-alert-rail/.astryx/template-dashboard-alert-rail.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard-cohort-funnel",
      "type": "registry:page",
      "title": "Funnel & Cohort Dashboard",
      "description": "Analytics for sequence and retention questions, pairing two shapes a plain dashboard cannot hold: a staged funnel where each step reads as drop-off against the one before, and a two-axis cohort matrix rendered as a heatmap.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard-cohort-funnel/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard-cohort-funnel/page.jsx"
        },
        {
          "path": "registry/template-dashboard-cohort-funnel/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/dashboard-cohort-funnel/page.astryx.d.mts"
        },
        {
          "path": "registry/template-dashboard-cohort-funnel/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard-cohort-funnel/.astryx/template-dashboard-cohort-funnel.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard-cohort-funnel",
        "aliases": [],
        "category": "Dashboard - Funnel & Cohort",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard-cohort-funnel/.astryx/template-dashboard-cohort-funnel.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard-comparison",
      "type": "registry:page",
      "title": "Data Dashboard",
      "description": "Comparison-heavy analytics behind a persistent filter bar: tiles that each carry an inline sparkline and several period-over-period deltas, then segmented breakdowns underneath. Every number is shown against another number.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard-comparison/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard-comparison/page.jsx"
        },
        {
          "path": "registry/template-dashboard-comparison/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/dashboard-comparison/page.astryx.d.mts"
        },
        {
          "path": "registry/template-dashboard-comparison/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard-comparison/.astryx/template-dashboard-comparison.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard-comparison",
        "aliases": [],
        "category": "Dashboard - Comparison",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard-comparison/.astryx/template-dashboard-comparison.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard-composition",
      "type": "registry:page",
      "title": "Portfolio Dashboard",
      "description": "Analytics for a value-over-time question: balance and change tiles above a stacked area chart of composition through time, closing on a ranked table of the largest contributors.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard-composition/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard-composition/page.tsx"
        },
        {
          "path": "registry/template-dashboard-composition/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard-composition/.astryx/template-dashboard-composition.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard-composition",
        "aliases": [],
        "category": "Dashboard - Portfolio",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard-composition/.astryx/template-dashboard-composition.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard-progress",
      "type": "registry:page",
      "title": "Project Status Dashboard",
      "description": "Status analytics mixing progress and time-axis shapes: a completion donut, a horizontal timeline of dated bars against a today marker, a per-owner table with progress and status, an at-risk list, and a burndown.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard-progress/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard-progress/page.jsx"
        },
        {
          "path": "registry/template-dashboard-progress/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/dashboard-progress/page.astryx.d.mts"
        },
        {
          "path": "registry/template-dashboard-progress/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard-progress/.astryx/template-dashboard-progress.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard-progress",
        "aliases": [],
        "category": "Dashboard - Project Status",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard-progress/.astryx/template-dashboard-progress.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-dashboard-scorecard",
      "type": "registry:page",
      "title": "Executive Summary Dashboard",
      "description": "Report-shaped analytics with a prose rail beside the charts: a scorecard of headline numbers with period deltas and status coloring, goal-attainment bars, a trend grid, and a written commentary column that folds beneath the content when narrow.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-dashboard-scorecard/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/dashboard-scorecard/page.jsx"
        },
        {
          "path": "registry/template-dashboard-scorecard/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/dashboard-scorecard/page.astryx.d.mts"
        },
        {
          "path": "registry/template-dashboard-scorecard/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/dashboard-scorecard/.astryx/template-dashboard-scorecard.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/dashboard-scorecard",
        "aliases": [],
        "category": "Dashboard - Scorecard",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/dashboard-scorecard/.astryx/template-dashboard-scorecard.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-detail-page",
      "type": "registry:page",
      "title": "Order Detail",
      "description": "Single-record detail in two columns: a summary header with status and actions, a repeating line-item list, a totals block that sums it, and a chronological activity timeline in the rail. The shape for any record holding children plus a history: a customer order with shipping, an invoice, a transaction, or a job. Astryx replaced 5 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-detail-page/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/detail-page/page.tsx"
        },
        {
          "path": "registry/template-detail-page/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/detail-page/.astryx/template-detail-page.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/detail-page",
        "aliases": [],
        "category": "Content - Order Detail",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/detail-page/.astryx/template-detail-page.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-documentation",
      "type": "registry:page",
      "title": "Documentation Catalog",
      "description": "Reference landing that is pure wayfinding: a banner above a grid of category cards linking into sections, with no article content on the surface itself.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-documentation/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/documentation/page.tsx"
        },
        {
          "path": "registry/template-documentation/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/documentation/.astryx/template-documentation.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/documentation",
        "aliases": [],
        "category": "Content - Documentation Catalog",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/documentation/.astryx/template-documentation.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-documentation-design",
      "type": "registry:page",
      "title": "Documentation Design",
      "description": "Reference article alternating prose with live rendered examples: an interactive preview, a property table, paired do and don't comparisons, and copyable code blocks.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-documentation-design/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/documentation-design/page.tsx"
        },
        {
          "path": "registry/template-documentation-design/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/documentation-design/.astryx/template-documentation-design.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/documentation-design",
        "aliases": [],
        "category": "Content - Documentation Design",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/documentation-design/.astryx/template-documentation-design.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-documentation-technical",
      "type": "registry:page",
      "title": "Documentation Technical",
      "description": "Reference article ordered as sequential numbered steps with code at each stage, plus callout cards for prerequisites and onward links. A linear walkthrough rather than a browsable reference.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-documentation-technical/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/documentation-technical/page.tsx"
        },
        {
          "path": "registry/template-documentation-technical/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/documentation-technical/.astryx/template-documentation-technical.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/documentation-technical",
        "aliases": [],
        "category": "Content - Documentation Technical",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/documentation-technical/.astryx/template-documentation-technical.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-editor",
      "type": "registry:page",
      "title": "Page Editor",
      "description": "Three-pane authoring workspace: a source palette on one flank, a live canvas in the middle, and an inspector that retargets to whatever is selected. Drag and drop to reorder, edit to see it render immediately.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-editor/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/editor/page.tsx"
        },
        {
          "path": "registry/template-editor/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/editor/.astryx/template-editor.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/editor",
        "aliases": [],
        "category": "Tools - Page Editor",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/editor/.astryx/template-editor.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-file-explorer",
      "type": "registry:page",
      "title": "File Explorer",
      "description": "Hierarchical browser that drills through nested levels as adjacent columns rather than replacing the list each time, with breadcrumb history, switchable list and grid density, and a metadata pane for the selected node.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-file-explorer/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/file-explorer/page.tsx"
        },
        {
          "path": "registry/template-file-explorer/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/file-explorer/.astryx/template-file-explorer.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/file-explorer",
        "aliases": [],
        "category": "Tools - File Explorer",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/file-explorer/.astryx/template-file-explorer.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-form-two-column",
      "type": "registry:page",
      "title": "Two-column Form",
      "description": "Form split into two columns beneath a hero header: inputs on one flank, a persistent context panel opposite that stays put while the fields scroll. Flat, single submit, no steps. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-form-two-column/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/form-two-column/page.tsx"
        },
        {
          "path": "registry/template-form-two-column/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/form-two-column/.astryx/template-form-two-column.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/form-two-column",
        "aliases": [],
        "category": "Form - Two-column",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/form-two-column/.astryx/template-form-two-column.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-form-wizard",
      "type": "registry:page",
      "title": "Form Wizard",
      "description": "Linear multi-step form that moves through one panel at a time, with a horizontal progress track pinned above rather than running down a rail, so every step keeps the full content width for its fields. Only the current step renders, unlike an accordion where each section expands into one long scrolling form. Each advance is validated, and a step left broken stays flagged to jump back to.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-form-wizard/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/form-wizard/page.tsx"
        },
        {
          "path": "registry/template-form-wizard/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/form-wizard/.astryx/template-form-wizard.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/form-wizard",
        "aliases": [],
        "category": "Form - Wizard",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/form-wizard/.astryx/template-form-wizard.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-form-wizard-dialog",
      "type": "registry:page",
      "title": "Dialog Wizard",
      "description": "Step through a short flow in a dialog, overlay, or popup launched from the page underneath, which stays where it was. Compact step markers and a pinned action row inside a constrained width, rather than the full page a wizard usually gets. Best for two to four short steps — setup, invite, schedule, onboarding — where losing the context underneath would cost more than the flow is worth.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-form-wizard-dialog/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/form-wizard-dialog/page.tsx"
        },
        {
          "path": "registry/template-form-wizard-dialog/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/form-wizard-dialog/.astryx/template-form-wizard-dialog.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/form-wizard-dialog",
        "aliases": [],
        "category": "Form - Wizard Dialog",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/form-wizard-dialog/.astryx/template-form-wizard-dialog.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-form-wizard-inline",
      "type": "registry:page",
      "title": "Inline Wizard",
      "description": "Accordion wizard stacking every step in one column: the active step expands in place while finished ones collapse to a single line carrying their result and a way back in. Steps that run themselves expand into a nested stepper that ticks check by check and halts the column where one fails. Best when later steps depend on what earlier ones decided.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-form-wizard-inline/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/form-wizard-inline/page.tsx"
        },
        {
          "path": "registry/template-form-wizard-inline/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/form-wizard-inline/.astryx/template-form-wizard-inline.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/form-wizard-inline",
        "aliases": [],
        "category": "Form - Wizard Inline",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/form-wizard-inline/.astryx/template-form-wizard-inline.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-form-wizard-vertical",
      "type": "registry:page",
      "title": "Vertical Wizard",
      "description": "Multi-step wizard with the steps in a fixed left rail that stays visible while the form scrolls, plus a side panel whose guidance follows the focused field. Suits long or unequal steps carrying uploads, previews, and dense review metadata. As width tightens the guidance drops first, then the rail rotates into a horizontal stepper above the form. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-form-wizard-vertical/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/form-wizard-vertical/page.tsx"
        },
        {
          "path": "registry/template-form-wizard-vertical/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/form-wizard-vertical/.astryx/template-form-wizard-vertical.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/form-wizard-vertical",
        "aliases": [],
        "category": "Form - Wizard Vertical",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/form-wizard-vertical/.astryx/template-form-wizard-vertical.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-gallery-hero",
      "type": "registry:page",
      "title": "Gallery Hero",
      "description": "Centered stack (headline, short blurb, call-to-action buttons) resolving into a multi-image photo grid rather than one wide full-bleed picture, so the imagery reads as a set. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-gallery-hero/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/gallery-hero/page.tsx"
        },
        {
          "path": "registry/template-gallery-hero/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/gallery-hero/.astryx/template-gallery-hero.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/gallery-hero",
        "aliases": [],
        "category": "Gallery - Hero",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/gallery-hero/.astryx/template-gallery-hero.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-ide",
      "type": "registry:page",
      "title": "IDE",
      "description": "Dense multi-pane workspace of resizable, collapsible regions: a hierarchy tree on one flank, tabbed documents in the middle, a docked drawer along the bottom, an inspector opposite. Drag a divider to resize or collapse any of them.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-ide/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/ide/page.tsx"
        },
        {
          "path": "registry/template-ide/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/ide/.astryx/template-ide.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/ide",
        "aliases": [],
        "category": "Tools - IDE",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/ide/.astryx/template-ide.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-incident-console",
      "type": "registry:page",
      "title": "Incident Console",
      "description": "Dense row queue with an inspector: severity-coded rows grouped by status, a saved-search filter bar, a segmented status control, and a resizable detail pane for the selected row. Rows, not cards, sized for scanning volume.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-incident-console/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/incident-console/page.tsx"
        },
        {
          "path": "registry/template-incident-console/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/incident-console/.astryx/template-incident-console.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/incident-console",
        "aliases": [],
        "category": "Tools - Incident Console",
        "isReady": false,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/incident-console/.astryx/template-incident-console.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-kanban-board",
      "type": "registry:page",
      "title": "Kanban Board",
      "description": "Horizontal lanes of draggable cards where the column itself is the status, so drag and drop between lanes is the state change. Fixed columns, variable-height cards.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-kanban-board/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/kanban-board/page.jsx"
        },
        {
          "path": "registry/template-kanban-board/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/kanban-board/page.astryx.d.mts"
        },
        {
          "path": "registry/template-kanban-board/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/kanban-board/.astryx/template-kanban-board.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/kanban-board",
        "aliases": [],
        "category": "Tools - Kanban Board",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/kanban-board/.astryx/template-kanban-board.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-library",
      "type": "registry:page",
      "title": "Card Grid",
      "description": "Searchable, browsable card grid with filter tabs and a real empty state: uniform tiles organized by topic, narrowing in place, with no detail surface behind them. Astryx replaced 30 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-library/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/library/page.tsx"
        },
        {
          "path": "registry/template-library/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/library/.astryx/template-library.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/library",
        "aliases": [],
        "category": "Content - Card Grid",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/library/.astryx/template-library.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-login",
      "type": "registry:page",
      "title": "Basic Login",
      "description": "Minimal centered credential form on a plain ground: two fields and a submit, nothing competing for attention. The least-chrome entry surface.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-login/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/login/page.tsx"
        },
        {
          "path": "registry/template-login/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/login/.astryx/template-login.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/login",
        "aliases": [],
        "category": "Login - Basic",
        "isReady": true,
        "isHiddenFromOverview": true,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/login/.astryx/template-login.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-login-card",
      "type": "registry:page",
      "title": "Login Card",
      "description": "Credential form inside an elevated centered card, third-party provider buttons separated from the fields by a divider, secondary sign-up and legal links beneath.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-login-card/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/login-card/page.tsx"
        },
        {
          "path": "registry/template-login-card/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/login-card/.astryx/template-login-card.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/login-card",
        "aliases": [],
        "category": "Login - Card",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/login-card/.astryx/template-login-card.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-login-split",
      "type": "registry:page",
      "title": "Login Split",
      "description": "Credential form filling one half of a two-pane split, full-bleed media holding the other. Same fields as the card variant, but the layout carries brand imagery. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-login-split/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/login-split/page.tsx"
        },
        {
          "path": "registry/template-login-split/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/login-split/.astryx/template-login-split.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/login-split",
        "aliases": [],
        "category": "Login - Split",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/login-split/.astryx/template-login-split.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-login-sso",
      "type": "registry:page",
      "title": "Login SSO",
      "description": "Progressive credential flow that branches on input: the email domain resolves an identity provider and redirects, with a password path as fallback. Two-stage rather than one form. Astryx replaced 1 demo media reference with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-login-sso/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/login-sso/page.tsx"
        },
        {
          "path": "registry/template-login-sso/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/login-sso/.astryx/template-login-sso.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/login-sso",
        "aliases": [],
        "category": "Login - SSO",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/login-sso/.astryx/template-login-sso.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-messaging-shell",
      "type": "registry:page",
      "title": "Messaging Shell",
      "description": "Four-column nested navigation narrowing left to right (team workspace, channel list, message stream, thread panel) where each column scopes the next. Dense rows, zero cards.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-messaging-shell/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/messaging-shell/page.tsx"
        },
        {
          "path": "registry/template-messaging-shell/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/messaging-shell/.astryx/template-messaging-shell.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/messaging-shell",
        "aliases": [],
        "category": "Shell - Messaging",
        "isReady": false,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/messaging-shell/.astryx/template-messaging-shell.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-mixed-gallery",
      "type": "registry:page",
      "title": "Mixed Gallery",
      "description": "Masonry grid of variable-height tiles that pack against each other instead of cropping to a shared ratio, captioned per tile. Irregular rhythm, unlike the uniform gallery. Astryx replaced 5 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-mixed-gallery/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/mixed-gallery/page.tsx"
        },
        {
          "path": "registry/template-mixed-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/mixed-gallery/.astryx/template-mixed-gallery.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/mixed-gallery",
        "aliases": [],
        "category": "Gallery - Mixed",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/mixed-gallery/.astryx/template-mixed-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-payment-form",
      "type": "registry:page",
      "title": "Checkout Form",
      "description": "Long sectioned form running beside a summary that stays visible while the fields scroll and recalculates as they change, ending on a terminal confirm of the total. Sections run contact, address, delivery choice, then card details. Astryx replaced 3 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-payment-form/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/payment-form/page.tsx"
        },
        {
          "path": "registry/template-payment-form/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/payment-form/.astryx/template-payment-form.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/payment-form",
        "aliases": [],
        "category": "Form - Checkout",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/payment-form/.astryx/template-payment-form.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-product-detail",
      "type": "registry:page",
      "title": "Product Detail",
      "description": "Single-item detail pairing a media gallery with a selection column: variant swatches, a quantity stepper, primary and secondary commit actions, and collapsible specification sections below. Astryx replaced 7 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-product-detail/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/product-detail/page.tsx"
        },
        {
          "path": "registry/template-product-detail/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/product-detail/.astryx/template-product-detail.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/product-detail",
        "aliases": [],
        "category": "Content - Product Detail",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/product-detail/.astryx/template-product-detail.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-product-gallery",
      "type": "registry:page",
      "title": "Product Gallery",
      "description": "Uniform card grid where every tile carries media, title, supporting line, and a price. Browse-to-select only, with no filtering and no detail surface. Astryx replaced 6 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-product-gallery/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/product-gallery/page.tsx"
        },
        {
          "path": "registry/template-product-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/product-gallery/.astryx/template-product-gallery.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/product-gallery",
        "aliases": [],
        "category": "Gallery - Product",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/product-gallery/.astryx/template-product-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-settings",
      "type": "registry:page",
      "title": "Settings Form",
      "description": "Preferences as one continuously scrolling form, sections stacked in order with no navigation between them. The simplest settings shape: everything reachable by scrolling.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-settings/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/settings/page.tsx"
        },
        {
          "path": "registry/template-settings/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/settings/.astryx/template-settings.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/settings",
        "aliases": [],
        "category": "Settings - Form",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/settings/.astryx/template-settings.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-settings-dialog",
      "type": "registry:page",
      "title": "Settings Dialog",
      "description": "Preferences inside a modal container with searchable section navigation, so configuration happens without leaving whatever is underneath. Grouped toggles, live preview of appearance choices, rebindable shortcuts.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@astryxdesign/theme-neutral@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-settings-dialog/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/settings-dialog/page.jsx"
        },
        {
          "path": "registry/template-settings-dialog/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/settings-dialog/page.astryx.d.mts"
        },
        {
          "path": "registry/template-settings-dialog/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/settings-dialog/.astryx/template-settings-dialog.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/settings-dialog",
        "aliases": [],
        "category": "Settings - Dialog",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/settings-dialog/.astryx/template-settings-dialog.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-settings-sidebar",
      "type": "registry:page",
      "title": "Settings Panels",
      "description": "Preferences split into nav-switched panels: a persistent section list swaps the pane beside it, and rows edit in place rather than opening a separate form.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-settings-sidebar/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/settings-sidebar/page.tsx"
        },
        {
          "path": "registry/template-settings-sidebar/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/settings-sidebar/.astryx/template-settings-sidebar.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/settings-sidebar",
        "aliases": [],
        "category": "Settings - Panels",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/settings-sidebar/.astryx/template-settings-sidebar.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-shell-nav",
      "type": "registry:page",
      "title": "Shell Nav",
      "description": "Application frame combining both navigation axes: a top menu bar with command-palette search over a resizable hierarchy rail, wrapping placeholder content. For when one axis is not enough.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-shell-nav/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/shell-nav/page.tsx"
        },
        {
          "path": "registry/template-shell-nav/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/shell-nav/.astryx/template-shell-nav.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/shell-nav",
        "aliases": [],
        "category": "Shell - Top Nav + Left Sidebar",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/shell-nav/.astryx/template-shell-nav.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-shell-side-nav",
      "type": "registry:page",
      "title": "Side Nav",
      "description": "Application frame with a single collapsible, resizable left rail carrying grouped history and search, wrapping the main content. Vertical navigation only, no top bar.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-shell-side-nav/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/shell-side-nav/page.tsx"
        },
        {
          "path": "registry/template-shell-side-nav/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/shell-side-nav/.astryx/template-shell-side-nav.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/shell-side-nav",
        "aliases": [],
        "category": "Shell - Left Sidebar",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/shell-side-nav/.astryx/template-shell-side-nav.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-shell-top-nav",
      "type": "registry:page",
      "title": "Top Nav",
      "description": "Application frame with horizontal navigation only: a centered bar whose items open full-width mega-menu panels, over placeholder content that keeps the entire width. Astryx replaced 2 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-shell-top-nav/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/shell-top-nav/page.jsx"
        },
        {
          "path": "registry/template-shell-top-nav/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/shell-top-nav/page.astryx.d.mts"
        },
        {
          "path": "registry/template-shell-top-nav/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/shell-top-nav/.astryx/template-shell-top-nav.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/shell-top-nav",
        "aliases": [],
        "category": "Shell - Top Nav",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/shell-top-nav/.astryx/template-shell-top-nav.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-side-gallery",
      "type": "registry:page",
      "title": "Side Gallery",
      "description": "Asymmetric split section: a copy column of headline, supporting text, and links held against a clustered image collage opposite. Deliberately off-balance, unlike the centered hero. Astryx replaced 9 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-side-gallery/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/side-gallery/page.tsx"
        },
        {
          "path": "registry/template-side-gallery/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/side-gallery/.astryx/template-side-gallery.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/side-gallery",
        "aliases": [],
        "category": "Gallery - Side",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/side-gallery/.astryx/template-side-gallery.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table",
      "type": "registry:page",
      "title": "Simple Table",
      "description": "Flat row collection where columns sort, rows select into a bulk-action toolbar, and each row carries an overflow menu. Sortable but ungrouped, with no detail pane, the baseline shape.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/table/page.tsx"
        },
        {
          "path": "registry/template-table/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table/.astryx/template-table.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table",
        "aliases": [],
        "category": "Table - Basic",
        "isReady": false,
        "isHiddenFromOverview": true,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table/.astryx/template-table.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-collapsible",
      "type": "registry:page",
      "title": "Collapsible Table",
      "description": "Several tables on one page, each in a collapsible card with its own columns — for groups that do not share a schema, where one table would stand full of empty cells. One time range drives them all, and rows expand into a history chart. Accounts, integrations, sections, sort, expand, or collapse.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-collapsible/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/table-collapsible/page.jsx"
        },
        {
          "path": "registry/template-table-collapsible/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/table-collapsible/page.astryx.d.mts"
        },
        {
          "path": "registry/template-table-collapsible/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-collapsible/.astryx/template-table-collapsible.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-collapsible",
        "aliases": [],
        "category": "Table - Grouped",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-collapsible/.astryx/template-table-collapsible.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-comparison",
      "type": "registry:page",
      "title": "Comparison Table",
      "description": "Transposed matrix that puts candidates in the columns and criteria in grouped rows, with a pinned label column that survives horizontal scroll, columns you can swap or add, and best-in-row marks you can toggle. Compare, comparison, matrix, spec sheet, feature grid, pricing table, benchmark, frozen column, sticky column, or side-by-side.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0",
        "lucide-react@1.23.0",
        "recharts@3.9.2"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-comparison/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/table-comparison/page.jsx"
        },
        {
          "path": "registry/template-table-comparison/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/table-comparison/page.astryx.d.mts"
        },
        {
          "path": "registry/template-table-comparison/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-comparison/.astryx/template-table-comparison.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-comparison",
        "aliases": [],
        "category": "Table - Comparison",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-comparison/.astryx/template-table-comparison.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-filter",
      "type": "registry:page",
      "title": "Filterable Table",
      "description": "Flat row collection built around progressive filtering: a token bar that escalates into full query syntax, saved views that persist a filter set, column and grouping options, and a resizable detail pane.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0",
        "lucide-react@1.23.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-filter/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/table-filter/page.jsx"
        },
        {
          "path": "registry/template-table-filter/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/table-filter/page.astryx.d.mts"
        },
        {
          "path": "registry/template-table-filter/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-filter/.astryx/template-table-filter.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-filter",
        "aliases": [],
        "category": "Table - Filtering",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-filter/.astryx/template-table-filter.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-grouped",
      "type": "registry:page",
      "title": "Grouped Table",
      "description": "Row collection bundled into collapsible sections with per-group counts, so a long list reads as a handful of blocks that expand and collapse. Query filtering and a resizable inspector for the selected row.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-grouped/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/table-grouped/page.tsx"
        },
        {
          "path": "registry/template-table-grouped/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-grouped/.astryx/template-table-grouped.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-grouped",
        "aliases": [],
        "category": "Table - Grouped",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-grouped/.astryx/template-table-grouped.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-inbox",
      "type": "registry:page",
      "title": "Inbox Table",
      "description": "Two-pane message queue: the table indexes a reading pane rather than being the destination, with a divider you drag to resize. Rows stack when the table narrows, not the window; threads read as collapsible messages; replying opens a composer that leaves the list live. Astryx replaced 5 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-inbox/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/table-inbox/page.jsx"
        },
        {
          "path": "registry/template-table-inbox/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/table-inbox/page.astryx.d.mts"
        },
        {
          "path": "registry/template-table-inbox/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-inbox/.astryx/template-table-inbox.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-inbox",
        "aliases": [],
        "category": "Table - Split Pane",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-inbox/.astryx/template-table-inbox.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-page",
      "type": "registry:page",
      "title": "Searchable Table",
      "description": "Flat table of uniform rows under a block of record-level facts, narrowed three ways at once — a full-text search box, a scope toggle, and per-column popovers — with sortable and filterable columns, per-row hover detail, and totals derived from the visible rows that flag themselves as partial while a filter is on. The shape for one homogeneous list, not nested rows or groups with their own columns.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-page/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/table-page/page.tsx"
        },
        {
          "path": "registry/template-table-page/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-page/.astryx/template-table-page.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-page",
        "aliases": [],
        "category": "Table - Basic",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-page/.astryx/template-table-page.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-table-tree",
      "type": "registry:page",
      "title": "Tree Table",
      "description": "Hierarchical table where every parent row rolls up from its children — a code repository whose folders show the newest commit beneath them, beside a detail sidebar and a rendered README. Columns resize, siblings sort within their own level, arrow keys walk the rows, and search prunes the tree to matching branches.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0",
        "lucide-react@1.23.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-table-tree/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/table-tree/page.jsx"
        },
        {
          "path": "registry/template-table-tree/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/table-tree/page.astryx.d.mts"
        },
        {
          "path": "registry/template-table-tree/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/table-tree/.astryx/template-table-tree.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/table-tree",
        "aliases": [],
        "category": "Table - Tree/Hierarchical List",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/table-tree/.astryx/template-table-tree.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-theme-showcase",
      "type": "registry:page",
      "title": "Theme Showcase",
      "description": "Multi-surface comparison shell: preview palettes, typography, icons and control states across a storefront, checkout, chat and inventory on one responsive canvas. A theme preview and design-system showcase, with an embeddable content view for an existing app shell. Astryx replaced 6 demo media references with marked placeholders; put your own content there.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@stylexjs/stylex@0.19.0",
        "lucide-react@1.23.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-theme-showcase/page.tsx",
          "type": "registry:block",
          "target": "app/astryx/theme-showcase/page.tsx"
        },
        {
          "path": "registry/template-theme-showcase/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/theme-showcase/.astryx/template-theme-showcase.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/theme-showcase",
        "aliases": [],
        "category": "Shell - Top Nav",
        "isReady": true,
        "isHiddenFromOverview": true,
        "precompiledStylex": false,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/theme-showcase/.astryx/template-theme-showcase.json"
        }
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "template-work-item-detail",
      "type": "registry:page",
      "title": "Work Item Detail",
      "description": "Single work-item detail in two columns: a title with a status selector, a description, a subtask checklist with progress, an attachments block, and a comment and activity feed in the main column, plus a property rail with assignee, dates, labels, and linked items. The shape for any tracked item with children, properties, and a comment history — a task, ticket, issue, story, bug, card, request, or work item.",
      "author": "Astryx",
      "dependencies": [
        "@astryxdesign/core@0.7.11",
        "@heroicons/react@2.2.0",
        "@stylexjs/stylex@0.19.0"
      ],
      "css": {
        "@import \"@astryxdesign/core/reset.css\"": {},
        "@import \"@astryxdesign/core/astryx.css\"": {}
      },
      "files": [
        {
          "path": "registry/template-work-item-detail/page.jsx",
          "type": "registry:block",
          "target": "app/astryx/work-item-detail/page.jsx"
        },
        {
          "path": "registry/template-work-item-detail/astryx-types.d.mts",
          "type": "registry:file",
          "target": "app/astryx/work-item-detail/page.astryx.d.mts"
        },
        {
          "path": "registry/template-work-item-detail/astryx-receipt.json",
          "type": "registry:file",
          "target": "app/astryx/work-item-detail/.astryx/template-work-item-detail.json"
        }
      ],
      "astryx": {
        "kind": "page",
        "path": "templates/work-item-detail",
        "aliases": [],
        "category": "Content - Work Item Detail",
        "isReady": true,
        "isHiddenFromOverview": false,
        "precompiledStylex": true,
        "receipt": {
          "schemaVersion": 2,
          "target": "app/astryx/work-item-detail/.astryx/template-work-item-detail.json"
        }
      }
    }
  ]
}
