{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "ilinxa",
  "homepage": "https://ui.ilinxa.com",
  "items": [
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "data-table",
      "type": "registry:block",
      "title": "Data Table",
      "description": "A typed, composable table primitive with column accessors and per-cell rendering.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "table"
      ],
      "files": [
        {
          "path": "src/registry/components/data/data-table/data-table.tsx",
          "type": "registry:component",
          "target": "components/data-table/data-table.tsx"
        },
        {
          "path": "src/registry/components/data/data-table/index.ts",
          "type": "registry:component",
          "target": "components/data-table/index.ts"
        },
        {
          "path": "src/registry/components/data/data-table/types.ts",
          "type": "registry:component",
          "target": "components/data-table/types.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "data-table-fixtures",
      "type": "registry:block",
      "title": "Data Table — fixtures",
      "description": "Data Table plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/data-table"
      ],
      "files": [
        {
          "path": "src/registry/components/data/data-table/dummy-data.ts",
          "type": "registry:component",
          "target": "components/data-table/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "card-tree",
      "type": "registry:block",
      "title": "Card Tree",
      "description": "JSON-driven recursive card tree with a full structural editor — drag and drop, multi-select, permissions, search, validation, and undo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "graph-system"
      ],
      "registryDependencies": [
        "popover"
      ],
      "dependencies": [
        "lucide-react",
        "@dnd-kit/core",
        "@dnd-kit/sortable",
        "@dnd-kit/utilities"
      ],
      "files": [
        {
          "path": "src/registry/components/data/card-tree/card-tree.tsx",
          "type": "registry:component",
          "target": "components/card-tree/card-tree.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/index.ts",
          "type": "registry:component",
          "target": "components/card-tree/index.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/types.ts",
          "type": "registry:component",
          "target": "components/card-tree/types.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-bulk-selection.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-bulk-selection.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-collapse-state.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-collapse-state.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-dirty.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-dirty.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-dnd-config.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-dnd-config.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-edit-mode.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-edit-mode.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-permissions.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-permissions.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-search.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-search.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-selection.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-selection.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-tree-focus.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-tree-focus.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-tree-keyboard.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-tree-keyboard.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/hooks/use-undo.ts",
          "type": "registry:component",
          "target": "components/card-tree/hooks/use-undo.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/bulk-actions.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/bulk-actions.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/classify-key.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/classify-key.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/dnd-helpers.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/dnd-helpers.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/infer-type.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/infer-type.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/parse.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/parse.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/permissions.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/reducer.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/reducer.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/search.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/search.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/serialize.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/serialize.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/validate-edit.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/validate-edit.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/lib/validators.ts",
          "type": "registry:component",
          "target": "components/card-tree/lib/validators.ts"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/bulk-toolbar.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/bulk-toolbar.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/card-actions.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/card-actions.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/card-header.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/card-header.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/card-title-edit.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/card-title-edit.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/card.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/card.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/drag-handle.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/drag-handle.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/drop-indicator.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/drop-indicator.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/empty-tree.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/empty-tree.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/field-add.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/field-add.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/field-edit.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/field-edit.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/field-row.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/field-row.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/inline-error.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/inline-error.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/match-highlight.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/match-highlight.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/meta-edit.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/meta-edit.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/meta-inline.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/meta-inline.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/meta-popover.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/meta-popover.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/permission-tooltip.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/permission-tooltip.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-add-menu.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-add-menu.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-codearea.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-codearea.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-edit.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-edit.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-image.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-image.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-list.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-list.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-quote.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-quote.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/predefined-table.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/predefined-table.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/search-bar.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/search-bar.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree/parts/undo-toolbar.tsx",
          "type": "registry:component",
          "target": "components/card-tree/parts/undo-toolbar.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "card-tree-fixtures",
      "type": "registry:block",
      "title": "Card Tree — fixtures",
      "description": "Card Tree plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/card-tree"
      ],
      "files": [
        {
          "path": "src/registry/components/data/card-tree/dummy-data.ts",
          "type": "registry:component",
          "target": "components/card-tree/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "split-workspace",
      "type": "registry:block",
      "title": "Split Workspace",
      "description": "Splittable, mergeable canvas of editor areas — a dynamic layout primitive for dashboards, dev tools, and data apps.",
      "author": "ilinxa",
      "categories": [
        "layout"
      ],
      "registryDependencies": [
        "dropdown-menu",
        "scroll-area",
        "tabs"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/layout/split-workspace/split-workspace.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/split-workspace.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/index.ts",
          "type": "registry:component",
          "target": "components/split-workspace/index.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/types.ts",
          "type": "registry:component",
          "target": "components/split-workspace/types.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/hooks/use-area-context.ts",
          "type": "registry:component",
          "target": "components/split-workspace/hooks/use-area-context.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/hooks/use-area-focus.ts",
          "type": "registry:component",
          "target": "components/split-workspace/hooks/use-area-focus.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/hooks/use-breakpoint.ts",
          "type": "registry:component",
          "target": "components/split-workspace/hooks/use-breakpoint.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/hooks/use-corner-gesture.ts",
          "type": "registry:component",
          "target": "components/split-workspace/hooks/use-corner-gesture.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/hooks/use-edge-gesture.ts",
          "type": "registry:component",
          "target": "components/split-workspace/hooks/use-edge-gesture.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/hooks/use-keyboard-actions.ts",
          "type": "registry:component",
          "target": "components/split-workspace/hooks/use-keyboard-actions.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/lib/geometry.ts",
          "type": "registry:component",
          "target": "components/split-workspace/lib/geometry.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/lib/ids.ts",
          "type": "registry:component",
          "target": "components/split-workspace/lib/ids.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/lib/reducer.ts",
          "type": "registry:component",
          "target": "components/split-workspace/lib/reducer.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/lib/tree.ts",
          "type": "registry:component",
          "target": "components/split-workspace/lib/tree.ts"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/area-body.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/area-body.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/area-header.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/area-header.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/area.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/area.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/card-stack.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/card-stack.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/component-picker.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/component-picker.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/corner-handle.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/corner-handle.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/drag-overlay.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/drag-overlay.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/presets-tabs.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/presets-tabs.tsx"
        },
        {
          "path": "src/registry/components/layout/split-workspace/parts/split-divider.tsx",
          "type": "registry:component",
          "target": "components/split-workspace/parts/split-divider.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "split-workspace-fixtures",
      "type": "registry:block",
      "title": "Split Workspace — fixtures",
      "description": "Split Workspace plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "layout",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/split-workspace"
      ],
      "files": [
        {
          "path": "src/registry/components/layout/split-workspace/dummy-data.ts",
          "type": "registry:component",
          "target": "components/split-workspace/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "properties-form",
      "type": "registry:block",
      "title": "Properties Form",
      "description": "Schema-driven read and edit form for typed records — six field types, per-field permissions, sync validation, and a custom renderer slot.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system"
      ],
      "registryDependencies": [
        "button",
        "input",
        "switch",
        "select",
        "textarea",
        "tooltip"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/properties-form/properties-form.tsx",
          "type": "registry:component",
          "target": "components/properties-form/properties-form.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/index.ts",
          "type": "registry:component",
          "target": "components/properties-form/index.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/types.ts",
          "type": "registry:component",
          "target": "components/properties-form/types.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/error-summary.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/error-summary.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-boolean.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-boolean.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-date.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-date.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-error.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-error.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-number.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-number.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-row.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-row.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-select.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-select.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-string.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-string.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/field-textarea.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/field-textarea.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/permission-tooltip.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/permission-tooltip.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/parts/submit-actions.tsx",
          "type": "registry:component",
          "target": "components/properties-form/parts/submit-actions.tsx"
        },
        {
          "path": "src/registry/components/forms/properties-form/hooks/use-form-reducer.ts",
          "type": "registry:component",
          "target": "components/properties-form/hooks/use-form-reducer.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/hooks/use-id-factory.ts",
          "type": "registry:component",
          "target": "components/properties-form/hooks/use-id-factory.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/hooks/use-submit-spinner.ts",
          "type": "registry:component",
          "target": "components/properties-form/hooks/use-submit-spinner.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/lib/flatten.ts",
          "type": "registry:component",
          "target": "components/properties-form/lib/flatten.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/lib/format-value.ts",
          "type": "registry:component",
          "target": "components/properties-form/lib/format-value.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/lib/resolve-permission.ts",
          "type": "registry:component",
          "target": "components/properties-form/lib/resolve-permission.ts"
        },
        {
          "path": "src/registry/components/forms/properties-form/lib/validate.ts",
          "type": "registry:component",
          "target": "components/properties-form/lib/validate.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "properties-form-fixtures",
      "type": "registry:block",
      "title": "Properties Form — fixtures",
      "description": "Properties Form plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/properties-form"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/properties-form/dummy-data.ts",
          "type": "registry:component",
          "target": "components/properties-form/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "detail-panel",
      "type": "registry:block",
      "title": "Detail Panel",
      "description": "Selection-aware detail container with read and edit modes, lifecycle states, sticky header and footer actions, and a slot-based body.",
      "author": "ilinxa",
      "categories": [
        "feedback",
        "graph-system"
      ],
      "registryDependencies": [
        "button",
        "skeleton"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/feedback/detail-panel/detail-panel.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/detail-panel.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/index.ts",
          "type": "registry:component",
          "target": "components/detail-panel/index.ts"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/types.ts",
          "type": "registry:component",
          "target": "components/detail-panel/types.ts"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/hooks/use-detail-panel-mode.ts",
          "type": "registry:component",
          "target": "components/detail-panel/hooks/use-detail-panel-mode.ts"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/hooks/use-focus-restore.ts",
          "type": "registry:component",
          "target": "components/detail-panel/hooks/use-focus-restore.ts"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/lib/selection-key.ts",
          "type": "registry:component",
          "target": "components/detail-panel/lib/selection-key.ts"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-actions.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-actions.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-body.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-body.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-context.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-context.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-empty-state.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-empty-state.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-error.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-error.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-header.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-header.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/detail-panel-skeleton.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/detail-panel-skeleton.tsx"
        },
        {
          "path": "src/registry/components/feedback/detail-panel/parts/selection-announcer.tsx",
          "type": "registry:component",
          "target": "components/detail-panel/parts/selection-announcer.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "detail-panel-fixtures",
      "type": "registry:block",
      "title": "Detail Panel — fixtures",
      "description": "Detail Panel plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "feedback",
        "graph-system",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/detail-panel"
      ],
      "files": [
        {
          "path": "src/registry/components/feedback/detail-panel/dummy-data.ts",
          "type": "registry:component",
          "target": "components/detail-panel/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "empty-state",
      "type": "registry:block",
      "title": "Empty State",
      "description": "The designed answer for empty surfaces — icon or illustration, title, description, capability-gated actions, and a hint, across 6 variants and 3 sizes.",
      "author": "ilinxa",
      "categories": [
        "feedback"
      ],
      "registryDependencies": [
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/feedback/empty-state/empty-state.tsx",
          "type": "registry:component",
          "target": "components/empty-state/empty-state.tsx"
        },
        {
          "path": "src/registry/components/feedback/empty-state/types.ts",
          "type": "registry:component",
          "target": "components/empty-state/types.ts"
        },
        {
          "path": "src/registry/components/feedback/empty-state/index.ts",
          "type": "registry:component",
          "target": "components/empty-state/index.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "empty-state-fixtures",
      "type": "registry:block",
      "title": "Empty State — fixtures",
      "description": "Empty State plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "feedback",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/empty-state"
      ],
      "files": [
        {
          "path": "src/registry/components/feedback/empty-state/dummy-data.ts",
          "type": "registry:component",
          "target": "components/empty-state/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "filter-panel",
      "type": "registry:block",
      "title": "Filter Panel",
      "description": "Schema-driven filter panel — checkbox lists, toggles, text, and custom filter types with AND composition and debounced input.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system"
      ],
      "registryDependencies": [
        "button",
        "checkbox",
        "input",
        "switch",
        "tooltip"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/filter-panel/filter-panel.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/filter-panel.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/index.ts",
          "type": "registry:component",
          "target": "components/filter-panel/index.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/types.ts",
          "type": "registry:component",
          "target": "components/filter-panel/types.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/hooks/use-filtered-items.ts",
          "type": "registry:component",
          "target": "components/filter-panel/hooks/use-filtered-items.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/hooks/use-text-buffer.ts",
          "type": "registry:component",
          "target": "components/filter-panel/hooks/use-text-buffer.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/lib/apply-filters.ts",
          "type": "registry:component",
          "target": "components/filter-panel/lib/apply-filters.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/lib/default-is-empty.ts",
          "type": "registry:component",
          "target": "components/filter-panel/lib/default-is-empty.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/lib/validate-schema.ts",
          "type": "registry:component",
          "target": "components/filter-panel/lib/validate-schema.ts"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/clear-button.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/clear-button.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/filter-checkbox-list.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/filter-checkbox-list.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/filter-custom.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/filter-custom.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/filter-section.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/filter-section.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/filter-panel-footer.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/filter-panel-footer.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/filter-text.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/filter-text.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/filter-toggle.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/filter-toggle.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/mode-toggle.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/mode-toggle.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-panel/parts/solo-button.tsx",
          "type": "registry:component",
          "target": "components/filter-panel/parts/solo-button.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "filter-panel-fixtures",
      "type": "registry:block",
      "title": "Filter Panel — fixtures",
      "description": "Filter Panel plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/filter-panel"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/filter-panel/dummy-data.ts",
          "type": "registry:component",
          "target": "components/filter-panel/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "entity-picker",
      "type": "registry:block",
      "title": "Entity Picker",
      "description": "Searchable picker for typed entities — single or multi select, kind badges, chip cluster with removal, and custom render slots.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system"
      ],
      "registryDependencies": [
        "badge",
        "command",
        "popover"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/entity-picker/entity-picker.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/entity-picker.tsx"
        },
        {
          "path": "src/registry/components/forms/entity-picker/index.ts",
          "type": "registry:component",
          "target": "components/entity-picker/index.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/types.ts",
          "type": "registry:component",
          "target": "components/entity-picker/types.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/hooks/use-items-by-id.ts",
          "type": "registry:component",
          "target": "components/entity-picker/hooks/use-items-by-id.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/hooks/use-open-state.ts",
          "type": "registry:component",
          "target": "components/entity-picker/hooks/use-open-state.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/lib/default-match.ts",
          "type": "registry:component",
          "target": "components/entity-picker/lib/default-match.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/lib/normalize-value.ts",
          "type": "registry:component",
          "target": "components/entity-picker/lib/normalize-value.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/lib/selection-equality.ts",
          "type": "registry:component",
          "target": "components/entity-picker/lib/selection-equality.ts"
        },
        {
          "path": "src/registry/components/forms/entity-picker/parts/chip-cluster.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/parts/chip-cluster.tsx"
        },
        {
          "path": "src/registry/components/forms/entity-picker/parts/chip.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/parts/chip.tsx"
        },
        {
          "path": "src/registry/components/forms/entity-picker/parts/default-empty-state.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/parts/default-empty-state.tsx"
        },
        {
          "path": "src/registry/components/forms/entity-picker/parts/kind-badge.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/parts/kind-badge.tsx"
        },
        {
          "path": "src/registry/components/forms/entity-picker/parts/result-row.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/parts/result-row.tsx"
        },
        {
          "path": "src/registry/components/forms/entity-picker/parts/trigger-button.tsx",
          "type": "registry:component",
          "target": "components/entity-picker/parts/trigger-button.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "entity-picker-fixtures",
      "type": "registry:block",
      "title": "Entity Picker — fixtures",
      "description": "Entity Picker plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/entity-picker"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/entity-picker/dummy-data.ts",
          "type": "registry:component",
          "target": "components/entity-picker/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "markdown-editor",
      "type": "registry:block",
      "title": "Markdown Editor",
      "description": "CodeMirror 6 markdown editor with GFM, wikilink autocomplete, a slot-able toolbar, and edit, split, and preview modes.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system"
      ],
      "registryDependencies": [
        "badge",
        "button",
        "tabs",
        "tooltip"
      ],
      "dependencies": [
        "lucide-react",
        "marked",
        "@codemirror/state",
        "@codemirror/view",
        "@codemirror/commands",
        "@codemirror/language",
        "@codemirror/lang-markdown",
        "@codemirror/autocomplete",
        "@codemirror/search",
        "@lezer/markdown",
        "@lezer/highlight"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/markdown-editor/markdown-editor.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/markdown-editor.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/index.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/index.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/types.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/types.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/default-toolbar.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/default-toolbar.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/hooks/use-codemirror.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/hooks/use-codemirror.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/hooks/use-imperative-handle.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/hooks/use-imperative-handle.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/hooks/use-toolbar-state.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/hooks/use-toolbar-state.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/hooks/use-view-mode.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/hooks/use-view-mode.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/parse-markdown.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/parse-markdown.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/sync-annotation.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/sync-annotation.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/toolbar-actions.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/toolbar-actions.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/wikilink-grammar.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/wikilink-grammar.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/extensions/compartments.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/extensions/compartments.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/extensions/markdown-keymap.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/extensions/markdown-keymap.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/extensions/save-keymap.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/extensions/save-keymap.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/extensions/theme.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/extensions/theme.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/extensions/wikilink-autocomplete.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/extensions/wikilink-autocomplete.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/lib/extensions/wikilink.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/lib/extensions/wikilink.ts"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/parts/editor-pane.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/parts/editor-pane.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/parts/kind-badge.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/parts/kind-badge.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/parts/preview-pane.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/parts/preview-pane.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/parts/toolbar-button.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/parts/toolbar-button.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/parts/toolbar.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/parts/toolbar.tsx"
        },
        {
          "path": "src/registry/components/forms/markdown-editor/parts/view-toggle.tsx",
          "type": "registry:component",
          "target": "components/markdown-editor/parts/view-toggle.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "markdown-editor-fixtures",
      "type": "registry:block",
      "title": "Markdown Editor — fixtures",
      "description": "Markdown Editor plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "graph-system",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/markdown-editor"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/markdown-editor/dummy-data.ts",
          "type": "registry:component",
          "target": "components/markdown-editor/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "news-card",
      "type": "registry:block",
      "title": "News Card",
      "description": "Magazine-style news card in five sizes — role-aware editor and viewer modes, permissions matrix, badges, paywall and sensitivity gates.",
      "author": "ilinxa",
      "categories": [
        "data",
        "news"
      ],
      "registryDependencies": [
        "badge",
        "dropdown-menu",
        "@ilinxa/comment-thread"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/news-card/news-card.tsx",
          "type": "registry:component",
          "target": "components/news-card/news-card.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/index.ts",
          "type": "registry:component",
          "target": "components/news-card/index.ts"
        },
        {
          "path": "src/registry/components/data/news-card/types.ts",
          "type": "registry:component",
          "target": "components/news-card/types.ts"
        },
        {
          "path": "src/registry/components/data/news-card/hooks/use-relative-time.ts",
          "type": "registry:component",
          "target": "components/news-card/hooks/use-relative-time.ts"
        },
        {
          "path": "src/registry/components/data/news-card/lib/format-default.ts",
          "type": "registry:component",
          "target": "components/news-card/lib/format-default.ts"
        },
        {
          "path": "src/registry/components/data/news-card/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/news-card/lib/permissions.ts"
        },
        {
          "path": "src/registry/components/data/news-card/lib/defaults.tsx",
          "type": "registry:component",
          "target": "components/news-card/lib/defaults.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/featured.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/featured.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/large.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/large.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/medium.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/medium.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/small.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/small.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/list.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/list.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/news-badges.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/news-badges.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/status-badge.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/status-badge.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/visibility-badge.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/visibility-badge.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/sponsor-badge.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/sponsor-badge.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/live-update-line.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/live-update-line.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/news-author-byline.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/news-author-byline.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/news-publisher-row.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/news-publisher-row.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/news-paywall-gate.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/news-paywall-gate.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/content-sensitive-gate.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/content-sensitive-gate.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/quoted-article-card.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/quoted-article-card.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/news-engagement-counts.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/news-engagement-counts.tsx"
        },
        {
          "path": "src/registry/components/data/news-card/parts/news-kebab.tsx",
          "type": "registry:component",
          "target": "components/news-card/parts/news-kebab.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "news-card-fixtures",
      "type": "registry:block",
      "title": "News Card — fixtures",
      "description": "News Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "news",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/news-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/news-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/news-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "newsletter-signup",
      "type": "registry:block",
      "title": "Newsletter Signup",
      "description": "Newsletter signup card — inline email form or CTA-only variant, async status tracking, three tones, full i18n.",
      "author": "ilinxa",
      "categories": [
        "marketing"
      ],
      "registryDependencies": [
        "button",
        "input"
      ],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/marketing/newsletter-signup/newsletter-signup.tsx",
          "type": "registry:component",
          "target": "components/newsletter-signup/newsletter-signup.tsx"
        },
        {
          "path": "src/registry/components/marketing/newsletter-signup/index.ts",
          "type": "registry:component",
          "target": "components/newsletter-signup/index.ts"
        },
        {
          "path": "src/registry/components/marketing/newsletter-signup/types.ts",
          "type": "registry:component",
          "target": "components/newsletter-signup/types.ts"
        },
        {
          "path": "src/registry/components/marketing/newsletter-signup/parts/inline-form.tsx",
          "type": "registry:component",
          "target": "components/newsletter-signup/parts/inline-form.tsx"
        },
        {
          "path": "src/registry/components/marketing/newsletter-signup/parts/cta-only.tsx",
          "type": "registry:component",
          "target": "components/newsletter-signup/parts/cta-only.tsx"
        },
        {
          "path": "src/registry/components/marketing/newsletter-signup/parts/status-message.tsx",
          "type": "registry:component",
          "target": "components/newsletter-signup/parts/status-message.tsx"
        },
        {
          "path": "src/registry/components/marketing/newsletter-signup/parts/tone.ts",
          "type": "registry:component",
          "target": "components/newsletter-signup/parts/tone.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "newsletter-signup-fixtures",
      "type": "registry:block",
      "title": "Newsletter Signup — fixtures",
      "description": "Newsletter Signup plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "marketing",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/newsletter-signup"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/newsletter-signup/dummy-data.ts",
          "type": "registry:component",
          "target": "components/newsletter-signup/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "category-cloud",
      "type": "registry:block",
      "title": "Category Cloud",
      "description": "Flex-wrapped cloud of clickable category chips with optional counts — single-select, toggleable, controlled or uncontrolled.",
      "author": "ilinxa",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "badge"
      ],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/forms/category-cloud/category-cloud.tsx",
          "type": "registry:component",
          "target": "components/category-cloud/category-cloud.tsx"
        },
        {
          "path": "src/registry/components/forms/category-cloud/index.ts",
          "type": "registry:component",
          "target": "components/category-cloud/index.ts"
        },
        {
          "path": "src/registry/components/forms/category-cloud/types.ts",
          "type": "registry:component",
          "target": "components/category-cloud/types.ts"
        },
        {
          "path": "src/registry/components/forms/category-cloud/parts/category-chip.tsx",
          "type": "registry:component",
          "target": "components/category-cloud/parts/category-chip.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "category-cloud-fixtures",
      "type": "registry:block",
      "title": "Category Cloud — fixtures",
      "description": "Category Cloud plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/category-cloud"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/category-cloud/dummy-data.ts",
          "type": "registry:component",
          "target": "components/category-cloud/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "filter-bar",
      "type": "registry:block",
      "title": "Filter Bar",
      "description": "Composite filter bar — search, category pills, date-range picker, and results count, each independently controlled or hidden.",
      "author": "ilinxa",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "input",
        "button",
        "popover",
        "calendar"
      ],
      "dependencies": [
        "lucide-react",
        "react-day-picker",
        "date-fns"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/filter-bar/filter-bar.tsx",
          "type": "registry:component",
          "target": "components/filter-bar/filter-bar.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-bar/index.ts",
          "type": "registry:component",
          "target": "components/filter-bar/index.ts"
        },
        {
          "path": "src/registry/components/forms/filter-bar/types.ts",
          "type": "registry:component",
          "target": "components/filter-bar/types.ts"
        },
        {
          "path": "src/registry/components/forms/filter-bar/lib/format-default.ts",
          "type": "registry:component",
          "target": "components/filter-bar/lib/format-default.ts"
        },
        {
          "path": "src/registry/components/forms/filter-bar/parts/search-input.tsx",
          "type": "registry:component",
          "target": "components/filter-bar/parts/search-input.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-bar/parts/chip-row.tsx",
          "type": "registry:component",
          "target": "components/filter-bar/parts/chip-row.tsx"
        },
        {
          "path": "src/registry/components/forms/filter-bar/parts/date-range-picker.tsx",
          "type": "registry:component",
          "target": "components/filter-bar/parts/date-range-picker.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "filter-bar-fixtures",
      "type": "registry:block",
      "title": "Filter Bar — fixtures",
      "description": "Filter Bar plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/filter-bar"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/filter-bar/dummy-data.ts",
          "type": "registry:component",
          "target": "components/filter-bar/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "page-hero",
      "type": "registry:block",
      "title": "Page Hero",
      "description": "Full-bleed gradient hero band — badge, title, highlight, description, stats row, and a reveal-on-mount animation.",
      "author": "ilinxa",
      "categories": [
        "marketing",
        "news"
      ],
      "registryDependencies": [],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/page-hero/page-hero.tsx",
          "type": "registry:component",
          "target": "components/page-hero/page-hero.tsx"
        },
        {
          "path": "src/registry/components/marketing/page-hero/index.ts",
          "type": "registry:component",
          "target": "components/page-hero/index.ts"
        },
        {
          "path": "src/registry/components/marketing/page-hero/types.ts",
          "type": "registry:component",
          "target": "components/page-hero/types.ts"
        },
        {
          "path": "src/registry/components/marketing/page-hero/parts/hero-stats.tsx",
          "type": "registry:component",
          "target": "components/page-hero/parts/hero-stats.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "page-hero-fixtures",
      "type": "registry:block",
      "title": "Page Hero — fixtures",
      "description": "Page Hero plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "marketing",
        "news",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/page-hero"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/page-hero/dummy-data.ts",
          "type": "registry:component",
          "target": "components/page-hero/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "magazine-layout",
      "type": "registry:block",
      "title": "Magazine Layout",
      "description": "Slot-based magazine layout — hero, filter bar, sidebar, and a mixed-size article grid with infinite scroll and a filter hook.",
      "author": "ilinxa",
      "categories": [
        "layout",
        "news"
      ],
      "registryDependencies": [],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/layout/magazine-layout/magazine-layout.tsx",
          "type": "registry:component",
          "target": "components/magazine-layout/magazine-layout.tsx"
        },
        {
          "path": "src/registry/components/layout/magazine-layout/index.ts",
          "type": "registry:component",
          "target": "components/magazine-layout/index.ts"
        },
        {
          "path": "src/registry/components/layout/magazine-layout/types.ts",
          "type": "registry:component",
          "target": "components/magazine-layout/types.ts"
        },
        {
          "path": "src/registry/components/layout/magazine-layout/parts/magazine-tower.tsx",
          "type": "registry:component",
          "target": "components/magazine-layout/parts/magazine-tower.tsx"
        },
        {
          "path": "src/registry/components/layout/magazine-layout/parts/infinite-loader.tsx",
          "type": "registry:component",
          "target": "components/magazine-layout/parts/infinite-loader.tsx"
        },
        {
          "path": "src/registry/components/layout/magazine-layout/hooks/use-infinite-scroll.ts",
          "type": "registry:component",
          "target": "components/magazine-layout/hooks/use-infinite-scroll.ts"
        },
        {
          "path": "src/registry/components/layout/magazine-layout/hooks/use-magazine-filter.ts",
          "type": "registry:component",
          "target": "components/magazine-layout/hooks/use-magazine-filter.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "magazine-layout-fixtures",
      "type": "registry:block",
      "title": "Magazine Layout — fixtures",
      "description": "Magazine Layout plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "layout",
        "news",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/magazine-layout"
      ],
      "files": [
        {
          "path": "src/registry/components/layout/magazine-layout/dummy-data.ts",
          "type": "registry:component",
          "target": "components/magazine-layout/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "author-card",
      "type": "registry:block",
      "title": "Author Card",
      "description": "Person identity card — avatar, name, role, optional bio, optionally clickable.",
      "author": "ilinxa",
      "categories": [
        "marketing"
      ],
      "registryDependencies": [],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/author-card/author-card.tsx",
          "type": "registry:component",
          "target": "components/author-card/author-card.tsx"
        },
        {
          "path": "src/registry/components/marketing/author-card/index.ts",
          "type": "registry:component",
          "target": "components/author-card/index.ts"
        },
        {
          "path": "src/registry/components/marketing/author-card/types.ts",
          "type": "registry:component",
          "target": "components/author-card/types.ts"
        },
        {
          "path": "src/registry/components/marketing/author-card/parts/avatar.tsx",
          "type": "registry:component",
          "target": "components/author-card/parts/avatar.tsx"
        },
        {
          "path": "src/registry/components/marketing/author-card/parts/tone-resolver.ts",
          "type": "registry:component",
          "target": "components/author-card/parts/tone-resolver.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "author-card-fixtures",
      "type": "registry:block",
      "title": "Author Card — fixtures",
      "description": "Author Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "marketing",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/author-card"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/author-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/author-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "thumbnail-list",
      "type": "registry:block",
      "title": "Thumbnail List",
      "description": "Linked thumbnail list — small image, title, and meta line per row, each row one link target.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/thumbnail-list/thumbnail-list.tsx",
          "type": "registry:component",
          "target": "components/thumbnail-list/thumbnail-list.tsx"
        },
        {
          "path": "src/registry/components/data/thumbnail-list/index.ts",
          "type": "registry:component",
          "target": "components/thumbnail-list/index.ts"
        },
        {
          "path": "src/registry/components/data/thumbnail-list/types.ts",
          "type": "registry:component",
          "target": "components/thumbnail-list/types.ts"
        },
        {
          "path": "src/registry/components/data/thumbnail-list/parts/thumb-row.tsx",
          "type": "registry:component",
          "target": "components/thumbnail-list/parts/thumb-row.tsx"
        },
        {
          "path": "src/registry/components/data/thumbnail-list/parts/empty-state.tsx",
          "type": "registry:component",
          "target": "components/thumbnail-list/parts/empty-state.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "stat-card",
      "type": "registry:block",
      "title": "Stat Card",
      "description": "Single-metric dashboard card — value, label, delta, and a dependency-free SVG sparkline with polarity-aware coloring.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "skeleton"
      ],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/data/stat-card/stat-card.tsx",
          "type": "registry:component",
          "target": "components/stat-card/stat-card.tsx"
        },
        {
          "path": "src/registry/components/data/stat-card/index.ts",
          "type": "registry:component",
          "target": "components/stat-card/index.ts"
        },
        {
          "path": "src/registry/components/data/stat-card/types.ts",
          "type": "registry:component",
          "target": "components/stat-card/types.ts"
        },
        {
          "path": "src/registry/components/data/stat-card/parts/sparkline.tsx",
          "type": "registry:component",
          "target": "components/stat-card/parts/sparkline.tsx"
        },
        {
          "path": "src/registry/components/data/stat-card/lib/format-default.ts",
          "type": "registry:component",
          "target": "components/stat-card/lib/format-default.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "thumbnail-list-fixtures",
      "type": "registry:block",
      "title": "Thumbnail List — fixtures",
      "description": "Thumbnail List plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/thumbnail-list"
      ],
      "files": [
        {
          "path": "src/registry/components/data/thumbnail-list/dummy-data.ts",
          "type": "registry:component",
          "target": "components/thumbnail-list/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "stat-card-fixtures",
      "type": "registry:block",
      "title": "Stat Card — fixtures",
      "description": "Stat Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/stat-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/stat-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/stat-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "article-meta",
      "type": "registry:block",
      "title": "Article Meta",
      "description": "Icon-and-value metadata strip for article headers — author, date, read time, view count, or any custom pairs.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/article-meta/article-meta.tsx",
          "type": "registry:component",
          "target": "components/article-meta/article-meta.tsx"
        },
        {
          "path": "src/registry/components/data/article-meta/index.ts",
          "type": "registry:component",
          "target": "components/article-meta/index.ts"
        },
        {
          "path": "src/registry/components/data/article-meta/types.ts",
          "type": "registry:component",
          "target": "components/article-meta/types.ts"
        },
        {
          "path": "src/registry/components/data/article-meta/parts/meta-item.tsx",
          "type": "registry:component",
          "target": "components/article-meta/parts/meta-item.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "article-meta-fixtures",
      "type": "registry:block",
      "title": "Article Meta — fixtures",
      "description": "Article Meta plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/article-meta"
      ],
      "files": [
        {
          "path": "src/registry/components/data/article-meta/dummy-data.ts",
          "type": "registry:component",
          "target": "components/article-meta/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "share-bar",
      "type": "registry:block",
      "title": "Share Bar",
      "description": "Social share button row — nine built-in platforms, custom targets, and copy-link with success feedback.",
      "author": "ilinxa",
      "categories": [
        "marketing"
      ],
      "registryDependencies": [
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/share-bar/share-bar.tsx",
          "type": "registry:component",
          "target": "components/share-bar/share-bar.tsx"
        },
        {
          "path": "src/registry/components/marketing/share-bar/index.ts",
          "type": "registry:component",
          "target": "components/share-bar/index.ts"
        },
        {
          "path": "src/registry/components/marketing/share-bar/types.ts",
          "type": "registry:component",
          "target": "components/share-bar/types.ts"
        },
        {
          "path": "src/registry/components/marketing/share-bar/parts/share-button.tsx",
          "type": "registry:component",
          "target": "components/share-bar/parts/share-button.tsx"
        },
        {
          "path": "src/registry/components/marketing/share-bar/parts/templates.ts",
          "type": "registry:component",
          "target": "components/share-bar/parts/templates.ts"
        },
        {
          "path": "src/registry/components/marketing/share-bar/parts/icons.ts",
          "type": "registry:component",
          "target": "components/share-bar/parts/icons.ts"
        },
        {
          "path": "src/registry/components/marketing/share-bar/parts/brand-icons.tsx",
          "type": "registry:component",
          "target": "components/share-bar/parts/brand-icons.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "share-bar-fixtures",
      "type": "registry:block",
      "title": "Share Bar — fixtures",
      "description": "Share Bar plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "marketing",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/share-bar"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/share-bar/dummy-data.ts",
          "type": "registry:component",
          "target": "components/share-bar/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pricing-table",
      "type": "registry:block",
      "title": "Pricing Table",
      "description": "Pricing tiers side by side — monthly and annual toggle, highlighted tier, per-feature tooltips, and a comparison layout. RTL-safe, full i18n.",
      "author": "ilinxa",
      "categories": [
        "marketing"
      ],
      "registryDependencies": [
        "button",
        "tooltip"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/pricing-table/pricing-table.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/pricing-table.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/index.ts",
          "type": "registry:component",
          "target": "components/pricing-table/index.ts"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/types.ts",
          "type": "registry:component",
          "target": "components/pricing-table/types.ts"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/billing-toggle.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/parts/billing-toggle.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/comparison-table.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/parts/comparison-table.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/price-display.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/parts/price-display.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/tier-card.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/parts/tier-card.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/tier-cta.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/parts/tier-cta.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/tier-feature-row.tsx",
          "type": "registry:component",
          "target": "components/pricing-table/parts/tier-feature-row.tsx"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/format.ts",
          "type": "registry:component",
          "target": "components/pricing-table/parts/format.ts"
        },
        {
          "path": "src/registry/components/marketing/pricing-table/parts/tone.ts",
          "type": "registry:component",
          "target": "components/pricing-table/parts/tone.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pricing-table-fixtures",
      "type": "registry:block",
      "title": "Pricing Table — fixtures",
      "description": "Pricing Table plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "marketing",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/pricing-table"
      ],
      "files": [
        {
          "path": "src/registry/components/marketing/pricing-table/dummy-data.ts",
          "type": "registry:component",
          "target": "components/pricing-table/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "rich-text-editor",
      "type": "registry:block",
      "title": "Rich Text Editor",
      "description": "Plate-powered WYSIWYG editor and read-only viewer for long-form articles — code blocks, captioned images, floating toolbar, HTML export.",
      "author": "ilinxa",
      "categories": [
        "data",
        "richtext"
      ],
      "registryDependencies": [
        "button"
      ],
      "dependencies": [
        "platejs",
        "@platejs/basic-nodes",
        "@platejs/basic-styles",
        "@platejs/caption",
        "@platejs/code-block",
        "@platejs/indent",
        "@platejs/link",
        "@platejs/list",
        "@platejs/media",
        "@platejs/resizable",
        "@platejs/table",
        "@floating-ui/react",
        "lowlight",
        "highlight.js",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/rich-text-editor/rich-text-editor.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/rich-text-editor.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/rich-text-viewer.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/rich-text-viewer.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/index.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/index.ts"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/types.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/types.ts"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/plugins/editor-kit.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/plugins/editor-kit.ts"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/plugins/viewer-kit.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/plugins/viewer-kit.ts"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/parts/editor-toolbar.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/parts/editor-toolbar.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/parts/floating-toolbar.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/parts/floating-toolbar.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/parts/toolbar-buttons.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/parts/toolbar-buttons.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/parts/element-renderers.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/parts/element-renderers.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/parts/image-element.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/parts/image-element.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/parts/leaf-renderers.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/parts/leaf-renderers.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/static-elements/static-element-renderers.tsx",
          "type": "registry:component",
          "target": "components/rich-text-editor/static-elements/static-element-renderers.tsx"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/lib/lowlight-instance.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/lib/lowlight-instance.ts"
        },
        {
          "path": "src/registry/components/data/rich-text-editor/lib/serialize-html.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/lib/serialize-html.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "rich-text-editor-fixtures",
      "type": "registry:block",
      "title": "Rich Text Editor — fixtures",
      "description": "Rich Text Editor plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "richtext",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/rich-text-editor"
      ],
      "files": [
        {
          "path": "src/registry/components/data/rich-text-editor/dummy-data.ts",
          "type": "registry:component",
          "target": "components/rich-text-editor/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "event-card",
      "type": "registry:block",
      "title": "Event Card",
      "description": "Event preview card with six status states and four layouts — capacity-aware badges, overlay links, and soft-failure item handling.",
      "author": "ilinxa",
      "categories": [
        "data",
        "events"
      ],
      "registryDependencies": [
        "button",
        "progress"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/event-card/event-card.tsx",
          "type": "registry:component",
          "target": "components/event-card/event-card.tsx"
        },
        {
          "path": "src/registry/components/data/event-card/index.ts",
          "type": "registry:component",
          "target": "components/event-card/index.ts"
        },
        {
          "path": "src/registry/components/data/event-card/types.ts",
          "type": "registry:component",
          "target": "components/event-card/types.ts"
        },
        {
          "path": "src/registry/components/data/event-card/parts/grid.tsx",
          "type": "registry:component",
          "target": "components/event-card/parts/grid.tsx"
        },
        {
          "path": "src/registry/components/data/event-card/parts/feed.tsx",
          "type": "registry:component",
          "target": "components/event-card/parts/feed.tsx"
        },
        {
          "path": "src/registry/components/data/event-card/parts/list.tsx",
          "type": "registry:component",
          "target": "components/event-card/parts/list.tsx"
        },
        {
          "path": "src/registry/components/data/event-card/parts/compact.tsx",
          "type": "registry:component",
          "target": "components/event-card/parts/compact.tsx"
        },
        {
          "path": "src/registry/components/data/event-card/lib/event-status.ts",
          "type": "registry:component",
          "target": "components/event-card/lib/event-status.ts"
        },
        {
          "path": "src/registry/components/data/event-card/lib/format-default.ts",
          "type": "registry:component",
          "target": "components/event-card/lib/format-default.ts"
        },
        {
          "path": "src/registry/components/data/event-card/lib/image-fallback.tsx",
          "type": "registry:component",
          "target": "components/event-card/lib/image-fallback.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "schedule-list",
      "type": "registry:block",
      "title": "Schedule List",
      "description": "Time-anchored agenda list — time or range, title, optional description and icons, per-row links, framed or bare.",
      "author": "ilinxa",
      "categories": [
        "data",
        "events"
      ],
      "registryDependencies": [],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/schedule-list/schedule-list.tsx",
          "type": "registry:component",
          "target": "components/schedule-list/schedule-list.tsx"
        },
        {
          "path": "src/registry/components/data/schedule-list/index.ts",
          "type": "registry:component",
          "target": "components/schedule-list/index.ts"
        },
        {
          "path": "src/registry/components/data/schedule-list/types.ts",
          "type": "registry:component",
          "target": "components/schedule-list/types.ts"
        },
        {
          "path": "src/registry/components/data/schedule-list/parts/schedule-row.tsx",
          "type": "registry:component",
          "target": "components/schedule-list/parts/schedule-row.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "progress-timeline",
      "type": "registry:block",
      "title": "Progress Timeline",
      "description": "Horizontal progress bar with a current-position marker and start, state-aware center, and end captions — derives its state from three dates.",
      "author": "ilinxa",
      "categories": [
        "data",
        "events"
      ],
      "registryDependencies": [
        "progress"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/progress-timeline/progress-timeline.tsx",
          "type": "registry:component",
          "target": "components/progress-timeline/progress-timeline.tsx"
        },
        {
          "path": "src/registry/components/data/progress-timeline/index.ts",
          "type": "registry:component",
          "target": "components/progress-timeline/index.ts"
        },
        {
          "path": "src/registry/components/data/progress-timeline/types.ts",
          "type": "registry:component",
          "target": "components/progress-timeline/types.ts"
        },
        {
          "path": "src/registry/components/data/progress-timeline/lib/timeline-state.ts",
          "type": "registry:component",
          "target": "components/progress-timeline/lib/timeline-state.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "info-list",
      "type": "registry:block",
      "title": "Info List",
      "description": "Card-framed list of icon-prefixed rows — primary and secondary text, optional actions, per-row links, comfortable and compact variants.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/info-list/info-list.tsx",
          "type": "registry:component",
          "target": "components/info-list/info-list.tsx"
        },
        {
          "path": "src/registry/components/data/info-list/index.ts",
          "type": "registry:component",
          "target": "components/info-list/index.ts"
        },
        {
          "path": "src/registry/components/data/info-list/types.ts",
          "type": "registry:component",
          "target": "components/info-list/types.ts"
        },
        {
          "path": "src/registry/components/data/info-list/parts/info-row.tsx",
          "type": "registry:component",
          "target": "components/info-list/parts/info-row.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "people-grid",
      "type": "registry:block",
      "title": "People Grid",
      "description": "Responsive grid of person cards — avatar with initials fallback, name, title, per-card links, and a custom item renderer.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/data/people-grid/people-grid.tsx",
          "type": "registry:component",
          "target": "components/people-grid/people-grid.tsx"
        },
        {
          "path": "src/registry/components/data/people-grid/index.ts",
          "type": "registry:component",
          "target": "components/people-grid/index.ts"
        },
        {
          "path": "src/registry/components/data/people-grid/types.ts",
          "type": "registry:component",
          "target": "components/people-grid/types.ts"
        },
        {
          "path": "src/registry/components/data/people-grid/parts/person-card.tsx",
          "type": "registry:component",
          "target": "components/people-grid/parts/person-card.tsx"
        },
        {
          "path": "src/registry/components/data/people-grid/lib/get-initials.ts",
          "type": "registry:component",
          "target": "components/people-grid/lib/get-initials.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "registration-card",
      "type": "registry:block",
      "title": "Registration Card",
      "description": "Event registration status card — capacity progress, spots-left counter, status-aware call to action, and a share slot.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "progress",
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/registration-card/registration-card.tsx",
          "type": "registry:component",
          "target": "components/registration-card/registration-card.tsx"
        },
        {
          "path": "src/registry/components/data/registration-card/index.ts",
          "type": "registry:component",
          "target": "components/registration-card/index.ts"
        },
        {
          "path": "src/registry/components/data/registration-card/types.ts",
          "type": "registry:component",
          "target": "components/registration-card/types.ts"
        },
        {
          "path": "src/registry/components/data/registration-card/lib/registration-status.ts",
          "type": "registry:component",
          "target": "components/registration-card/lib/registration-status.ts"
        },
        {
          "path": "src/registry/components/data/registration-card/lib/format-default.ts",
          "type": "registry:component",
          "target": "components/registration-card/lib/format-default.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "expandable-text",
      "type": "registry:block",
      "title": "Expandable Text",
      "description": "Truncating text block that only shows its toggle when text actually overflows — configurable line clamp, controlled or uncontrolled.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/data/expandable-text/expandable-text.tsx",
          "type": "registry:component",
          "target": "components/expandable-text/expandable-text.tsx"
        },
        {
          "path": "src/registry/components/data/expandable-text/index.ts",
          "type": "registry:component",
          "target": "components/expandable-text/index.ts"
        },
        {
          "path": "src/registry/components/data/expandable-text/types.ts",
          "type": "registry:component",
          "target": "components/expandable-text/types.ts"
        },
        {
          "path": "src/registry/components/data/expandable-text/hooks/use-line-clamp-detect.ts",
          "type": "registry:component",
          "target": "components/expandable-text/hooks/use-line-clamp-detect.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "expandable-text-fixtures",
      "type": "registry:block",
      "title": "Expandable Text — fixtures",
      "description": "Expandable Text plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/expandable-text"
      ],
      "files": [
        {
          "path": "src/registry/components/data/expandable-text/dummy-data.ts",
          "type": "registry:component",
          "target": "components/expandable-text/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "video-player",
      "type": "registry:block",
      "title": "Video Player",
      "description": "Video element wrapper — autoplay-friendly defaults, slot-based controls, carousel-coordinated pause, and double-tap gestures.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/video-player/video-player.tsx",
          "type": "registry:component",
          "target": "components/video-player/video-player.tsx"
        },
        {
          "path": "src/registry/components/media/video-player/index.ts",
          "type": "registry:component",
          "target": "components/video-player/index.ts"
        },
        {
          "path": "src/registry/components/media/video-player/types.ts",
          "type": "registry:component",
          "target": "components/video-player/types.ts"
        },
        {
          "path": "src/registry/components/media/video-player/parts/video-element.tsx",
          "type": "registry:component",
          "target": "components/video-player/parts/video-element.tsx"
        },
        {
          "path": "src/registry/components/media/video-player/parts/default-controls.tsx",
          "type": "registry:component",
          "target": "components/video-player/parts/default-controls.tsx"
        },
        {
          "path": "src/registry/components/media/video-player/hooks/use-video-state.ts",
          "type": "registry:component",
          "target": "components/video-player/hooks/use-video-state.ts"
        },
        {
          "path": "src/registry/components/media/video-player/hooks/use-double-tap.ts",
          "type": "registry:component",
          "target": "components/video-player/hooks/use-double-tap.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "video-player-fixtures",
      "type": "registry:block",
      "title": "Video Player — fixtures",
      "description": "Video Player plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/video-player"
      ],
      "files": [
        {
          "path": "src/registry/components/media/video-player/dummy-data.ts",
          "type": "registry:component",
          "target": "components/video-player/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-carousel",
      "type": "registry:block",
      "title": "Media Carousel",
      "description": "Embla image and video carousel — gallery or linear variants, coordinated video pause for inactive slides.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "@ilinxa/video-player",
        "button"
      ],
      "dependencies": [
        "embla-carousel-react",
        "embla-carousel",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-carousel/media-carousel.tsx",
          "type": "registry:component",
          "target": "components/media-carousel/media-carousel.tsx"
        },
        {
          "path": "src/registry/components/media/media-carousel/index.ts",
          "type": "registry:component",
          "target": "components/media-carousel/index.ts"
        },
        {
          "path": "src/registry/components/media/media-carousel/types.ts",
          "type": "registry:component",
          "target": "components/media-carousel/types.ts"
        },
        {
          "path": "src/registry/components/media/media-carousel/parts/single-item.tsx",
          "type": "registry:component",
          "target": "components/media-carousel/parts/single-item.tsx"
        },
        {
          "path": "src/registry/components/media/media-carousel/parts/carousel-track.tsx",
          "type": "registry:component",
          "target": "components/media-carousel/parts/carousel-track.tsx"
        },
        {
          "path": "src/registry/components/media/media-carousel/parts/slide-renderer.tsx",
          "type": "registry:component",
          "target": "components/media-carousel/parts/slide-renderer.tsx"
        },
        {
          "path": "src/registry/components/media/media-carousel/parts/nav-buttons.tsx",
          "type": "registry:component",
          "target": "components/media-carousel/parts/nav-buttons.tsx"
        },
        {
          "path": "src/registry/components/media/media-carousel/parts/indicator-dots.tsx",
          "type": "registry:component",
          "target": "components/media-carousel/parts/indicator-dots.tsx"
        },
        {
          "path": "src/registry/components/media/media-carousel/hooks/use-embla-with-state.ts",
          "type": "registry:component",
          "target": "components/media-carousel/hooks/use-embla-with-state.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-carousel-fixtures",
      "type": "registry:block",
      "title": "Media Carousel — fixtures",
      "description": "Media Carousel plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/media-carousel"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-carousel/dummy-data.ts",
          "type": "registry:component",
          "target": "components/media-carousel/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "engagement-bar",
      "type": "registry:block",
      "title": "Engagement Bar",
      "description": "Social action row — like, comment, share, bookmark, custom actions, and a multi-reaction picker with realtime counts and burst animation.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "button",
        "avatar",
        "input",
        "popover"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/engagement-bar/engagement-bar.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/engagement-bar.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/index.ts",
          "type": "registry:component",
          "target": "components/engagement-bar/index.ts"
        },
        {
          "path": "src/registry/components/data/engagement-bar/types.ts",
          "type": "registry:component",
          "target": "components/engagement-bar/types.ts"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/action-button.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/action-button.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/like-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/like-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/comment-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/comment-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/share-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/share-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/bookmark-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/bookmark-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/view-count-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/view-count-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/custom-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/custom-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/engagement-heart-burst.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/engagement-heart-burst.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/engagement-heart-burst.css",
          "type": "registry:file",
          "target": "components/engagement-bar/parts/engagement-heart-burst.css"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/likers-strip.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/likers-strip.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/share-menu.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/share-menu.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/reaction-picker.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/reaction-picker.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/parts/reaction-action.tsx",
          "type": "registry:component",
          "target": "components/engagement-bar/parts/reaction-action.tsx"
        },
        {
          "path": "src/registry/components/data/engagement-bar/hooks/use-engagement-state.ts",
          "type": "registry:component",
          "target": "components/engagement-bar/hooks/use-engagement-state.ts"
        },
        {
          "path": "src/registry/components/data/engagement-bar/lib/format-count.ts",
          "type": "registry:component",
          "target": "components/engagement-bar/lib/format-count.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "engagement-bar-fixtures",
      "type": "registry:block",
      "title": "Engagement Bar — fixtures",
      "description": "Engagement Bar plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/engagement-bar"
      ],
      "files": [
        {
          "path": "src/registry/components/data/engagement-bar/dummy-data.ts",
          "type": "registry:component",
          "target": "components/engagement-bar/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "comment-thread",
      "type": "registry:block",
      "title": "Comment Thread",
      "description": "Recursive comment thread with composer, optimistic add, like, and delete, inline expansion past max depth, and realtime subscription hooks.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "@ilinxa/expandable-text",
        "@ilinxa/engagement-bar",
        "avatar",
        "button",
        "dropdown-menu",
        "textarea"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/comment-thread/comment-thread.tsx",
          "type": "registry:component",
          "target": "components/comment-thread/comment-thread.tsx"
        },
        {
          "path": "src/registry/components/data/comment-thread/index.ts",
          "type": "registry:component",
          "target": "components/comment-thread/index.ts"
        },
        {
          "path": "src/registry/components/data/comment-thread/types.ts",
          "type": "registry:component",
          "target": "components/comment-thread/types.ts"
        },
        {
          "path": "src/registry/components/data/comment-thread/parts/comment-node.tsx",
          "type": "registry:component",
          "target": "components/comment-thread/parts/comment-node.tsx"
        },
        {
          "path": "src/registry/components/data/comment-thread/parts/comment-composer.tsx",
          "type": "registry:component",
          "target": "components/comment-thread/parts/comment-composer.tsx"
        },
        {
          "path": "src/registry/components/data/comment-thread/parts/comment-kebab.tsx",
          "type": "registry:component",
          "target": "components/comment-thread/parts/comment-kebab.tsx"
        },
        {
          "path": "src/registry/components/data/comment-thread/parts/view-replies-link.tsx",
          "type": "registry:component",
          "target": "components/comment-thread/parts/view-replies-link.tsx"
        },
        {
          "path": "src/registry/components/data/comment-thread/parts/comment-empty-state.tsx",
          "type": "registry:component",
          "target": "components/comment-thread/parts/comment-empty-state.tsx"
        },
        {
          "path": "src/registry/components/data/comment-thread/hooks/use-comment-state.ts",
          "type": "registry:component",
          "target": "components/comment-thread/hooks/use-comment-state.ts"
        },
        {
          "path": "src/registry/components/data/comment-thread/hooks/use-autosize-textarea.ts",
          "type": "registry:component",
          "target": "components/comment-thread/hooks/use-autosize-textarea.ts"
        },
        {
          "path": "src/registry/components/data/comment-thread/lib/format-time.ts",
          "type": "registry:component",
          "target": "components/comment-thread/lib/format-time.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "comment-thread-fixtures",
      "type": "registry:block",
      "title": "Comment Thread — fixtures",
      "description": "Comment Thread plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/comment-thread"
      ],
      "files": [
        {
          "path": "src/registry/components/data/comment-thread/dummy-data.ts",
          "type": "registry:component",
          "target": "components/comment-thread/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "post-card",
      "type": "registry:block",
      "title": "Post Card",
      "description": "Social post composite in four layouts — text expansion, media carousel, engagement bar, and comment thread wired together.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "@ilinxa/expandable-text",
        "@ilinxa/video-player",
        "@ilinxa/media-carousel",
        "@ilinxa/engagement-bar",
        "@ilinxa/comment-thread",
        "avatar",
        "button",
        "card",
        "dropdown-menu"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/post-card/post-card.tsx",
          "type": "registry:component",
          "target": "components/post-card/post-card.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/index.ts",
          "type": "registry:component",
          "target": "components/post-card/index.ts"
        },
        {
          "path": "src/registry/components/data/post-card/types.ts",
          "type": "registry:component",
          "target": "components/post-card/types.ts"
        },
        {
          "path": "src/registry/components/data/post-card/parts/feed-variant.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/feed-variant.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/compact-variant.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/compact-variant.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/list-variant.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/list-variant.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/detail-variant.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/detail-variant.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/post-header.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/post-header.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/verified-badge.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/verified-badge.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/pinned-badge.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/pinned-badge.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/visibility-badge.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/visibility-badge.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/edited-suffix.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/edited-suffix.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/mention-text.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/mention-text.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/tag-chips.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/tag-chips.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/sensitive-gate.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/sensitive-gate.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/link-preview-card.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/link-preview-card.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/repost-of-card.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/repost-of-card.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/poll-widget.tsx",
          "type": "registry:component",
          "target": "components/post-card/parts/poll-widget.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/parts/variant-shared.ts",
          "type": "registry:component",
          "target": "components/post-card/parts/variant-shared.ts"
        },
        {
          "path": "src/registry/components/data/post-card/lib/defaults.tsx",
          "type": "registry:component",
          "target": "components/post-card/lib/defaults.tsx"
        },
        {
          "path": "src/registry/components/data/post-card/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/post-card/lib/permissions.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "post-card-fixtures",
      "type": "registry:block",
      "title": "Post Card — fixtures",
      "description": "Post Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/post-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/post-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/post-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-rail",
      "type": "registry:block",
      "title": "Story Rail",
      "description": "Horizontal story rail with unread gradient rings, drag-free skim scrolling, an add-story tile, and edge-fade gradients.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "avatar"
      ],
      "dependencies": [
        "lucide-react",
        "embla-carousel-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/story-rail/story-rail.tsx",
          "type": "registry:component",
          "target": "components/story-rail/story-rail.tsx"
        },
        {
          "path": "src/registry/components/data/story-rail/index.ts",
          "type": "registry:component",
          "target": "components/story-rail/index.ts"
        },
        {
          "path": "src/registry/components/data/story-rail/types.ts",
          "type": "registry:component",
          "target": "components/story-rail/types.ts"
        },
        {
          "path": "src/registry/components/data/story-rail/parts/story-thumbnail.tsx",
          "type": "registry:component",
          "target": "components/story-rail/parts/story-thumbnail.tsx"
        },
        {
          "path": "src/registry/components/data/story-rail/parts/add-story-thumbnail.tsx",
          "type": "registry:component",
          "target": "components/story-rail/parts/add-story-thumbnail.tsx"
        },
        {
          "path": "src/registry/components/data/story-rail/hooks/use-story-rail-state.ts",
          "type": "registry:component",
          "target": "components/story-rail/hooks/use-story-rail-state.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-rail-fixtures",
      "type": "registry:block",
      "title": "Story Rail — fixtures",
      "description": "Story Rail plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/story-rail"
      ],
      "files": [
        {
          "path": "src/registry/components/data/story-rail/dummy-data.ts",
          "type": "registry:component",
          "target": "components/story-rail/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-viewer",
      "type": "registry:block",
      "title": "Story Viewer",
      "description": "Full-screen story viewer — segmented progress, 3D cube transitions, finger-following swipe, tap zones, and an engagement overlay.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "@ilinxa/video-player",
        "@ilinxa/engagement-bar",
        "@ilinxa/comment-thread",
        "dialog",
        "avatar",
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/story-viewer/story-viewer.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/story-viewer.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/index.ts",
          "type": "registry:component",
          "target": "components/story-viewer/index.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/types.ts",
          "type": "registry:component",
          "target": "components/story-viewer/types.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/viewer-shell.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/viewer-shell.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/progress-bars.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/progress-bars.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/viewer-header.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/viewer-header.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/tap-zones.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/tap-zones.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/nav-arrows.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/nav-arrows.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/item-view.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/item-view.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/hooks/use-story-viewer-state.ts",
          "type": "registry:component",
          "target": "components/story-viewer/hooks/use-story-viewer-state.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/hooks/use-story-progress.ts",
          "type": "registry:component",
          "target": "components/story-viewer/hooks/use-story-progress.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/hooks/use-story-keyboard-nav.ts",
          "type": "registry:component",
          "target": "components/story-viewer/hooks/use-story-keyboard-nav.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/hooks/use-story-engagement-state.ts",
          "type": "registry:component",
          "target": "components/story-viewer/hooks/use-story-engagement-state.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/lib/format-time.ts",
          "type": "registry:component",
          "target": "components/story-viewer/lib/format-time.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/story-viewer/lib/permissions.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/lib/engagement-actions.ts",
          "type": "registry:component",
          "target": "components/story-viewer/lib/engagement-actions.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/engagement-overlay.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/engagement-overlay.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/reply-composer.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/reply-composer.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/owner-overlay.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/owner-overlay.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/kebab-panel.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/kebab-panel.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/lib/kebab.ts",
          "type": "registry:component",
          "target": "components/story-viewer/lib/kebab.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/link-cta.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/link-cta.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/hooks/use-long-press-pause.ts",
          "type": "registry:component",
          "target": "components/story-viewer/hooks/use-long-press-pause.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/comments-panel.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/comments-panel.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/bottom-sheet.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/bottom-sheet.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/share-panel.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/share-panel.tsx"
        },
        {
          "path": "src/registry/components/media/story-viewer/hooks/use-cube-transition.ts",
          "type": "registry:component",
          "target": "components/story-viewer/hooks/use-cube-transition.ts"
        },
        {
          "path": "src/registry/components/media/story-viewer/parts/story-cube-face.tsx",
          "type": "registry:component",
          "target": "components/story-viewer/parts/story-cube-face.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-viewer-fixtures",
      "type": "registry:block",
      "title": "Story Viewer — fixtures",
      "description": "Story Viewer plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/story-viewer"
      ],
      "files": [
        {
          "path": "src/registry/components/media/story-viewer/dummy-data.ts",
          "type": "registry:component",
          "target": "components/story-viewer/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "registration-card-fixtures",
      "type": "registry:block",
      "title": "Registration Card — fixtures",
      "description": "Registration Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/registration-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/registration-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/registration-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "people-grid-fixtures",
      "type": "registry:block",
      "title": "People Grid — fixtures",
      "description": "People Grid plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/people-grid"
      ],
      "files": [
        {
          "path": "src/registry/components/data/people-grid/dummy-data.ts",
          "type": "registry:component",
          "target": "components/people-grid/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "info-list-fixtures",
      "type": "registry:block",
      "title": "Info List — fixtures",
      "description": "Info List plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/info-list"
      ],
      "files": [
        {
          "path": "src/registry/components/data/info-list/dummy-data.tsx",
          "type": "registry:component",
          "target": "components/info-list/dummy-data.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "progress-timeline-fixtures",
      "type": "registry:block",
      "title": "Progress Timeline — fixtures",
      "description": "Progress Timeline plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "events",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/progress-timeline"
      ],
      "files": [
        {
          "path": "src/registry/components/data/progress-timeline/dummy-data.ts",
          "type": "registry:component",
          "target": "components/progress-timeline/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "schedule-list-fixtures",
      "type": "registry:block",
      "title": "Schedule List — fixtures",
      "description": "Schedule List plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "events",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/schedule-list"
      ],
      "files": [
        {
          "path": "src/registry/components/data/schedule-list/dummy-data.ts",
          "type": "registry:component",
          "target": "components/schedule-list/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "event-card-fixtures",
      "type": "registry:block",
      "title": "Event Card — fixtures",
      "description": "Event Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "events",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/event-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/event-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/event-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "project-card",
      "type": "registry:block",
      "title": "Project Card",
      "description": "Project and case-study card with editorial status states and grid or feature layouts — overlay links and soft-failure item handling.",
      "author": "ilinxa",
      "categories": [
        "data",
        "projects"
      ],
      "registryDependencies": [
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/project-card/project-card.tsx",
          "type": "registry:component",
          "target": "components/project-card/project-card.tsx"
        },
        {
          "path": "src/registry/components/data/project-card/index.ts",
          "type": "registry:component",
          "target": "components/project-card/index.ts"
        },
        {
          "path": "src/registry/components/data/project-card/types.ts",
          "type": "registry:component",
          "target": "components/project-card/types.ts"
        },
        {
          "path": "src/registry/components/data/project-card/parts/grid.tsx",
          "type": "registry:component",
          "target": "components/project-card/parts/grid.tsx"
        },
        {
          "path": "src/registry/components/data/project-card/parts/feature.tsx",
          "type": "registry:component",
          "target": "components/project-card/parts/feature.tsx"
        },
        {
          "path": "src/registry/components/data/project-card/lib/project-status.ts",
          "type": "registry:component",
          "target": "components/project-card/lib/project-status.ts"
        },
        {
          "path": "src/registry/components/data/project-card/lib/image-fallback.tsx",
          "type": "registry:component",
          "target": "components/project-card/lib/image-fallback.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "project-card-fixtures",
      "type": "registry:block",
      "title": "Project Card — fixtures",
      "description": "Project Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "projects",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/project-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/project-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/project-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "kanban-board",
      "type": "registry:block",
      "title": "Kanban Board",
      "description": "Drag-and-drop kanban board with swimlanes, tinted columns, per-column rules, and a renderer registry that hosts any card type.",
      "author": "ilinxa",
      "categories": [
        "data",
        "kanban",
        "drag-and-drop"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "dropdown-menu",
        "input",
        "popover",
        "textarea"
      ],
      "dependencies": [
        "@dnd-kit/core",
        "@dnd-kit/sortable",
        "@dnd-kit/utilities",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/kanban-board/kanban-board.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/kanban-board.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/index.ts",
          "type": "registry:component",
          "target": "components/kanban-board/index.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/types.ts",
          "type": "registry:component",
          "target": "components/kanban-board/types.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/lib/data.ts",
          "type": "registry:component",
          "target": "components/kanban-board/lib/data.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/lib/reducer.ts",
          "type": "registry:component",
          "target": "components/kanban-board/lib/reducer.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/kanban-board/lib/permissions.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/lib/ids.ts",
          "type": "registry:component",
          "target": "components/kanban-board/lib/ids.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/lib/palette.ts",
          "type": "registry:component",
          "target": "components/kanban-board/lib/palette.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/hooks/use-kanban-state.ts",
          "type": "registry:component",
          "target": "components/kanban-board/hooks/use-kanban-state.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/hooks/use-renderer-map.ts",
          "type": "registry:component",
          "target": "components/kanban-board/hooks/use-renderer-map.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/hooks/use-drag-handlers.ts",
          "type": "registry:component",
          "target": "components/kanban-board/hooks/use-drag-handlers.ts"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/board.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/board.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/column.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/column.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/column-header.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/column-header.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/column-body.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/column-body.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/column-collapsed.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/column-collapsed.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/column-footer.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/column-footer.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/add-column-button.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/add-column-button.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/swimlane-row.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/swimlane-row.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/swimlane-cell.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/swimlane-cell.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/item-shell.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/item-shell.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/item-renderer.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/item-renderer.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/missing-renderer.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/missing-renderer.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/inline-create-editor.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/inline-create-editor.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/inline-edit-editor.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/inline-edit-editor.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/color-picker.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/color-picker.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/drag-overlay.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/drag-overlay.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/kanban-card.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/kanban-card.tsx"
        },
        {
          "path": "src/registry/components/data/kanban-board/parts/kanban-note.tsx",
          "type": "registry:component",
          "target": "components/kanban-board/parts/kanban-note.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "kanban-board-fixtures",
      "type": "registry:block",
      "title": "Kanban Board — fixtures",
      "description": "Kanban Board plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "kanban",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/kanban-board"
      ],
      "files": [
        {
          "path": "src/registry/components/data/kanban-board/dummy-data.ts",
          "type": "registry:component",
          "target": "components/kanban-board/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "flow-canvas",
      "type": "registry:block",
      "title": "Flow Canvas",
      "description": "Node-and-edge canvas with typed ports, pluggable node renderers, edge and port-type registries, and JSON save and load — built on React Flow.",
      "author": "ilinxa",
      "categories": [
        "data",
        "flow",
        "canvas",
        "node-editor"
      ],
      "registryDependencies": [
        "button",
        "context-menu",
        "dialog",
        "textarea"
      ],
      "dependencies": [
        "@xyflow/react",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/flow-canvas/flow-canvas.css",
          "type": "registry:file",
          "target": "components/flow-canvas/flow-canvas.css"
        },
        {
          "path": "src/registry/components/data/flow-canvas/flow-canvas.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/flow-canvas.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/index.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/index.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/types.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/types.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/hooks/use-canvas-data.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/hooks/use-canvas-data.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/hooks/use-drop-pipeline.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/hooks/use-drop-pipeline.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/hooks/use-export.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/hooks/use-export.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/coerce-to-node-data.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/coerce-to-node-data.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/emit-sub-object-drag.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/emit-sub-object-drag.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/inflate-default-ports.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/inflate-default-ports.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/parse-json.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/parse-json.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/port-walker.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/port-walker.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/shallow.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/shallow.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/sub-object-paths.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/sub-object-paths.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/lib/update-node-data.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/lib/update-node-data.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/background.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/background.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/canvas-context-menu.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/canvas-context-menu.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/canvas.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/canvas.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/custom-json-node.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/custom-json-node.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/default-edge.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/default-edge.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/node-adapter.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/node-adapter.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/node-shell.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/node-shell.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/paste-dialog.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/paste-dialog.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/port-handle.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/port-handle.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/parts/ports-at.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/parts/ports-at.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/registries/canvas-context.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/registries/canvas-context.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/registries/edge-type-registry.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/registries/edge-type-registry.tsx"
        },
        {
          "path": "src/registry/components/data/flow-canvas/registries/port-type-registry.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/registries/port-type-registry.ts"
        },
        {
          "path": "src/registry/components/data/flow-canvas/registries/renderer-registry.tsx",
          "type": "registry:component",
          "target": "components/flow-canvas/registries/renderer-registry.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "flow-canvas-fixtures",
      "type": "registry:block",
      "title": "Flow Canvas — fixtures",
      "description": "Flow Canvas plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "flow",
        "canvas",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/flow-canvas"
      ],
      "files": [
        {
          "path": "src/registry/components/data/flow-canvas/dummy-data.ts",
          "type": "registry:component",
          "target": "components/flow-canvas/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pdf-viewer",
      "type": "registry:block",
      "title": "PDF Viewer",
      "description": "Drop-in PDF reader — toolbar, zoom, selectable text, drag-drop, and a themed context menu. No commercial SDK.",
      "author": "ilinxa",
      "categories": [
        "media",
        "pdf",
        "viewer"
      ],
      "registryDependencies": [
        "button",
        "context-menu",
        "dialog",
        "dropdown-menu",
        "input",
        "separator",
        "skeleton",
        "tooltip"
      ],
      "dependencies": [
        "react-pdf",
        "pdfjs-dist@5.4.296",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/pdf-viewer/pdf-viewer.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/pdf-viewer.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/index.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/index.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/types.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/types.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-viewer-context.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-viewer-context.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-document.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-document.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-zoom.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-zoom.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-page-tracker.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-page-tracker.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-virtualization.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-virtualization.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-keyboard.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-keyboard.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-drop.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-drop.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-selection.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-selection.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/hooks/use-pdf-print.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/hooks/use-pdf-print.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/lib/clamp-scale.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/lib/clamp-scale.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/lib/compute-fit-scale.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/lib/compute-fit-scale.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/lib/normalize-source.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/lib/normalize-source.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/lib/download.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/lib/download.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/lib/worker-config.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/lib/worker-config.ts"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-page.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-page.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-toolbar.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-toolbar.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-page-nav.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-page-nav.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-page-indicator.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-page-indicator.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-zoom-controls.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-zoom-controls.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-action-menu.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-action-menu.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-context-menu.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-context-menu.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-password-prompt.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-password-prompt.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-drop-overlay.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-drop-overlay.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-empty-state.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-empty-state.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-error-state.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-error-state.tsx"
        },
        {
          "path": "src/registry/components/media/pdf-viewer/parts/pdf-loading-state.tsx",
          "type": "registry:component",
          "target": "components/pdf-viewer/parts/pdf-loading-state.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pdf-viewer-fixtures",
      "type": "registry:block",
      "title": "PDF Viewer — fixtures",
      "description": "PDF Viewer plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "pdf",
        "viewer",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/pdf-viewer"
      ],
      "files": [
        {
          "path": "src/registry/components/media/pdf-viewer/dummy-data.ts",
          "type": "registry:component",
          "target": "components/pdf-viewer/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "file-tree",
      "type": "registry:block",
      "title": "File Tree",
      "description": "VS Code-style file tree — format-aware icons, full CRUD, drag-and-drop, lazy children, and multi-select.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "tree",
        "filesystem"
      ],
      "registryDependencies": [
        "alert-dialog",
        "button",
        "context-menu",
        "tooltip"
      ],
      "dependencies": [
        "@tanstack/react-virtual",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/file-tree/file-tree.tsx",
          "type": "registry:component",
          "target": "components/file-tree/file-tree.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/index.ts",
          "type": "registry:component",
          "target": "components/file-tree/index.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/types.ts",
          "type": "registry:component",
          "target": "components/file-tree/types.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-file-tree-context.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-file-tree-context.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-tree-state.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-tree-state.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-tree-flatten.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-tree-flatten.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-tree-keyboard.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-tree-keyboard.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-tree-drag.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-tree-drag.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-tree-virtual.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-tree-virtual.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/hooks/use-lazy-load.ts",
          "type": "registry:component",
          "target": "components/file-tree/hooks/use-lazy-load.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/lib/icons.tsx",
          "type": "registry:component",
          "target": "components/file-tree/lib/icons.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/lib/tree-utils.ts",
          "type": "registry:component",
          "target": "components/file-tree/lib/tree-utils.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/lib/validation.ts",
          "type": "registry:component",
          "target": "components/file-tree/lib/validation.ts"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-row.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-row.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-row-list.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-row-list.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-rename-input.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-rename-input.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-context-menu.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-context-menu.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-header.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-header.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-new-file-button.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-new-file-button.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-new-folder-button.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-new-folder-button.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-refresh-button.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-refresh-button.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-collapse-all-button.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-collapse-all-button.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-empty.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-empty.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-loading.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-loading.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-drag-overlay.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-drag-overlay.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-tree/parts/file-tree-delete-confirm.tsx",
          "type": "registry:component",
          "target": "components/file-tree/parts/file-tree-delete-confirm.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "file-tree-fixtures",
      "type": "registry:block",
      "title": "File Tree — fixtures",
      "description": "File Tree plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "tree",
        "filesystem",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/file-tree"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/file-tree/dummy-data.ts",
          "type": "registry:component",
          "target": "components/file-tree/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "file-clipboard",
      "type": "registry:block",
      "title": "File Clipboard primitive",
      "description": "Shared clipboard provider and hook that sync cut, copy, and paste across multiple file components mounted under one provider.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "filesystem",
        "primitive"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/_shared/file-clipboard.tsx",
          "type": "registry:component",
          "target": "components/_shared/file-clipboard.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "gamification-kit",
      "type": "registry:block",
      "title": "Gamification Kit",
      "description": "Shared helpers for team gamification components — a numeric clamp, name-to-initials resolution, and a stable latest-value ref hook.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "primitive"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/_shared/gamification-kit/clamp.ts",
          "type": "registry:component",
          "target": "components/_shared/gamification-kit/clamp.ts"
        },
        {
          "path": "src/registry/components/gamification/_shared/gamification-kit/initials.ts",
          "type": "registry:component",
          "target": "components/_shared/gamification-kit/initials.ts"
        },
        {
          "path": "src/registry/components/gamification/_shared/gamification-kit/use-latest-ref.ts",
          "type": "registry:component",
          "target": "components/_shared/gamification-kit/use-latest-ref.ts"
        },
        {
          "path": "src/registry/components/gamification/_shared/gamification-kit/index.ts",
          "type": "registry:component",
          "target": "components/_shared/gamification-kit/index.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "file-manager",
      "type": "registry:block",
      "title": "File Manager",
      "description": "Finder-style file browser — grid and list views, marquee multi-select, cut copy paste, drag-and-drop, and a shared clipboard primitive.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "filesystem",
        "explorer"
      ],
      "registryDependencies": [
        "alert-dialog",
        "button",
        "context-menu",
        "dropdown-menu",
        "input",
        "tooltip",
        "@ilinxa/file-clipboard"
      ],
      "dependencies": [
        "@tanstack/react-virtual",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/file-manager/file-manager.tsx",
          "type": "registry:component",
          "target": "components/file-manager/file-manager.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/index.ts",
          "type": "registry:component",
          "target": "components/file-manager/index.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/types.ts",
          "type": "registry:component",
          "target": "components/file-manager/types.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-file-manager-context.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-file-manager-context.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-current-folder.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-current-folder.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-navigation-history.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-navigation-history.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-selection.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-selection.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-clipboard.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-clipboard.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-sort-search.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-sort-search.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-visible-items.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-visible-items.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-lazy-load.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-lazy-load.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-marquee.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-marquee.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-drag.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-drag.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/hooks/use-keyboard.ts",
          "type": "registry:component",
          "target": "components/file-manager/hooks/use-keyboard.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/lib/icons.tsx",
          "type": "registry:component",
          "target": "components/file-manager/lib/icons.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/lib/tree-utils.ts",
          "type": "registry:component",
          "target": "components/file-manager/lib/tree-utils.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/lib/validation.ts",
          "type": "registry:component",
          "target": "components/file-manager/lib/validation.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/lib/path.ts",
          "type": "registry:component",
          "target": "components/file-manager/lib/path.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/lib/intersect.ts",
          "type": "registry:component",
          "target": "components/file-manager/lib/intersect.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/lib/format.ts",
          "type": "registry:component",
          "target": "components/file-manager/lib/format.ts"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-toolbar.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-toolbar.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-back-forward.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-back-forward.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-up-button.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-up-button.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-path-bar.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-path-bar.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-view-toggle.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-view-toggle.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-icon-size-control.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-icon-size-control.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-sort-menu.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-sort-menu.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-search-input.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-search-input.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-new-buttons.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-new-buttons.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-refresh-button.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-refresh-button.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-content-pane.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-content-pane.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-grid-view.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-grid-view.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-list-view.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-list-view.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-item.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-item.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-rename-input.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-rename-input.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-context-menu.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-context-menu.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-status-bar.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-status-bar.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-empty.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-empty.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-loading.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-loading.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-drag-overlay.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-drag-overlay.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-delete-confirm.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-delete-confirm.tsx"
        },
        {
          "path": "src/registry/components/navigation/file-manager/parts/file-manager-marquee.tsx",
          "type": "registry:component",
          "target": "components/file-manager/parts/file-manager-marquee.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "file-manager-fixtures",
      "type": "registry:block",
      "title": "File Manager — fixtures",
      "description": "File Manager plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "filesystem",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/file-manager"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/file-manager/dummy-data.ts",
          "type": "registry:component",
          "target": "components/file-manager/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "code-block",
      "type": "registry:block",
      "title": "Code Block",
      "description": "Code surface with view, edit, and terminal modes — Shiki highlighting, dual-theme CSS variables, and chrome presets for docs, chat, and terminal UIs.",
      "author": "ilinxa",
      "categories": [
        "code"
      ],
      "registryDependencies": [
        "button",
        "dialog",
        "tooltip"
      ],
      "dependencies": [
        "shiki@^4.0.2",
        "@codemirror/state@^6.6.0",
        "@codemirror/view@^6.41.1",
        "@codemirror/commands@^6.10.3",
        "@codemirror/language@^6.12.3",
        "@codemirror/autocomplete@^6.20.1",
        "@lezer/highlight@^1.2.3",
        "@codemirror/lang-javascript@^6.2.5",
        "@codemirror/lang-json@^6.0.2",
        "@codemirror/lang-python@^6.2.1",
        "@codemirror/lang-html@^6.4.11",
        "@codemirror/lang-css@^6.3.1",
        "@codemirror/lang-markdown@^6.5.0",
        "lucide-react@^1.11.0"
      ],
      "files": [
        {
          "path": "src/registry/components/code/code-block/code-block.tsx",
          "type": "registry:component",
          "target": "components/code-block/code-block.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/index.ts",
          "type": "registry:component",
          "target": "components/code-block/index.ts"
        },
        {
          "path": "src/registry/components/code/code-block/types.ts",
          "type": "registry:component",
          "target": "components/code-block/types.ts"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-header.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-header.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-filename.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-filename.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-lang-pill.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-lang-pill.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-copy-button.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-copy-button.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-expand-button.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-expand-button.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-wrap-button.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-wrap-button.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-download-button.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-download-button.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-traffic-lights.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-traffic-lights.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-footer.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-footer.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-empty.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-empty.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-streaming-cursor.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-streaming-cursor.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-collapse-fade.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-collapse-fade.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-annotation-marker.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-annotation-marker.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-line-numbers.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-line-numbers.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-body-view.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-body-view.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-body-edit.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-body-edit.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-body-terminal.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-body-terminal.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/parts/code-block-expand-modal.tsx",
          "type": "registry:component",
          "target": "components/code-block/parts/code-block-expand-modal.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/hooks/use-code-block-context.tsx",
          "type": "registry:component",
          "target": "components/code-block/hooks/use-code-block-context.tsx"
        },
        {
          "path": "src/registry/components/code/code-block/hooks/use-controllable-state.ts",
          "type": "registry:component",
          "target": "components/code-block/hooks/use-controllable-state.ts"
        },
        {
          "path": "src/registry/components/code/code-block/hooks/use-copy-to-clipboard.ts",
          "type": "registry:component",
          "target": "components/code-block/hooks/use-copy-to-clipboard.ts"
        },
        {
          "path": "src/registry/components/code/code-block/hooks/use-shiki-highlighter.ts",
          "type": "registry:component",
          "target": "components/code-block/hooks/use-shiki-highlighter.ts"
        },
        {
          "path": "src/registry/components/code/code-block/hooks/use-code-mirror.ts",
          "type": "registry:component",
          "target": "components/code-block/hooks/use-code-mirror.ts"
        },
        {
          "path": "src/registry/components/code/code-block/hooks/use-resolved-theme.ts",
          "type": "registry:component",
          "target": "components/code-block/hooks/use-resolved-theme.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/lang-resolution.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/lang-resolution.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/line-utils.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/line-utils.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/terminal-utils.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/terminal-utils.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/shiki-bundle.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/shiki-bundle.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/codemirror-langs.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/codemirror-langs.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/codemirror-theme.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/codemirror-theme.ts"
        },
        {
          "path": "src/registry/components/code/code-block/lib/streaming-cache.ts",
          "type": "registry:component",
          "target": "components/code-block/lib/streaming-cache.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "code-block-fixtures",
      "type": "registry:block",
      "title": "Code Block — fixtures",
      "description": "Code Block plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "code",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/code-block"
      ],
      "files": [
        {
          "path": "src/registry/components/code/code-block/dummy-data.ts",
          "type": "registry:component",
          "target": "components/code-block/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "json-form",
      "type": "registry:block",
      "title": "JSON Form",
      "description": "Schema-driven form engine — a field DSL compiled to Zod, 25 field types including rich text, conditional and computed fields, on React Hook Form.",
      "author": "ilinxa",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "radio-group",
        "slider",
        "label",
        "input",
        "textarea",
        "select",
        "checkbox",
        "switch",
        "command",
        "popover",
        "calendar",
        "button",
        "separator",
        "badge",
        "@ilinxa/code-block",
        "@ilinxa/rich-text-editor"
      ],
      "dependencies": [
        "react-hook-form@^7.75.0",
        "@hookform/resolvers@^5.2.2",
        "zod@^4.4.3",
        "lucide-react@^1.11.0"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/json-form/json-form.tsx",
          "type": "registry:component",
          "target": "components/json-form/json-form.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/json-form-context.tsx",
          "type": "registry:component",
          "target": "components/json-form/json-form-context.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/index.ts",
          "type": "registry:component",
          "target": "components/json-form/index.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/types.ts",
          "type": "registry:component",
          "target": "components/json-form/types.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-wrapper.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-wrapper.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-text.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-text.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-textarea.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-textarea.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-select.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-select.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-radio-group.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-radio-group.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-checkbox.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-checkbox.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-checkbox-group.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-checkbox-group.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-switch.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-switch.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-date.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-date.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-code.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-code.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-richtext.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-richtext.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-slider.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-slider.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-rating.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-rating.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-computed.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-computed.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-hidden.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-hidden.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-section.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-section.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-divider.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-divider.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/field-fallback.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/field-fallback.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/form-header.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/form-header.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/error-summary.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/error-summary.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/submit-button.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/submit-button.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/reset-button.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/reset-button.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/json-form-field.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/json-form-field.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/hooks/use-json-form.ts",
          "type": "registry:component",
          "target": "components/json-form/hooks/use-json-form.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/hooks/use-conditional.ts",
          "type": "registry:component",
          "target": "components/json-form/hooks/use-conditional.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/hooks/use-computed.ts",
          "type": "registry:component",
          "target": "components/json-form/hooks/use-computed.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/hooks/use-debounced-callback.ts",
          "type": "registry:component",
          "target": "components/json-form/hooks/use-debounced-callback.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/hooks/use-async-options.ts",
          "type": "registry:component",
          "target": "components/json-form/hooks/use-async-options.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/schema-compiler.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/schema-compiler.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/condition-evaluator.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/condition-evaluator.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/expression-parser.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/expression-parser.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/default-registry.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/default-registry.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/strings.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/strings.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/path.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/path.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/flatten-errors.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/flatten-errors.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/define-field-renderer.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/define-field-renderer.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/hooks/use-json-form-field-value.ts",
          "type": "registry:component",
          "target": "components/json-form/hooks/use-json-form-field-value.ts"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/json-form-devtools.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/json-form-devtools.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/parts/json-form-devtools-body.tsx",
          "type": "registry:component",
          "target": "components/json-form/parts/json-form-devtools-body.tsx"
        },
        {
          "path": "src/registry/components/forms/json-form/lib/validate-schema.ts",
          "type": "registry:component",
          "target": "components/json-form/lib/validate-schema.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "json-form-fixtures",
      "type": "registry:block",
      "title": "JSON Form — fixtures",
      "description": "JSON Form plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/json-form"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/json-form/dummy-data.ts",
          "type": "registry:component",
          "target": "components/json-form/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "signup-form",
      "type": "registry:block",
      "title": "Signup Form",
      "description": "Email and password signup with optional profile step, OAuth row, password strength meter, magic-link variant, consent gate, and honeypot.",
      "author": "ilinxa",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "input",
        "label",
        "button",
        "checkbox"
      ],
      "dependencies": [
        "react-hook-form@^7.75.0",
        "@hookform/resolvers@^5.2.2",
        "zod@^4.4.3",
        "lucide-react@^1.11.0"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/signup-form/signup-form.tsx",
          "type": "registry:component",
          "target": "components/signup-form/signup-form.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/signup-form.css",
          "type": "registry:component",
          "target": "components/signup-form/signup-form.css"
        },
        {
          "path": "src/registry/components/forms/signup-form/index.ts",
          "type": "registry:component",
          "target": "components/signup-form/index.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/types.ts",
          "type": "registry:component",
          "target": "components/signup-form/types.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/email-field.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/email-field.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/password-field.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/password-field.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/consent-checkbox.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/consent-checkbox.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/honeypot-field.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/honeypot-field.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/optional-fields-fieldset.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/optional-fields-fieldset.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/step-indicator.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/step-indicator.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/step-shell.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/step-shell.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/server-error.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/server-error.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/success-screen.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/success-screen.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/submit-row.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/submit-row.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/sign-in-link.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/sign-in-link.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/oauth-row.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/oauth-row.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/strength-meter.tsx",
          "type": "registry:component",
          "target": "components/signup-form/parts/strength-meter.tsx"
        },
        {
          "path": "src/registry/components/forms/signup-form/parts/labels.ts",
          "type": "registry:component",
          "target": "components/signup-form/parts/labels.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/hooks/use-signup-form.ts",
          "type": "registry:component",
          "target": "components/signup-form/hooks/use-signup-form.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/hooks/use-strength-meter.ts",
          "type": "registry:component",
          "target": "components/signup-form/hooks/use-strength-meter.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/hooks/use-form-step.ts",
          "type": "registry:component",
          "target": "components/signup-form/hooks/use-form-step.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/lib/build-schema.ts",
          "type": "registry:component",
          "target": "components/signup-form/lib/build-schema.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/lib/honeypot.ts",
          "type": "registry:component",
          "target": "components/signup-form/lib/honeypot.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/lib/oauth-providers.ts",
          "type": "registry:component",
          "target": "components/signup-form/lib/oauth-providers.ts"
        },
        {
          "path": "src/registry/components/forms/signup-form/lib/strength-calculator.ts",
          "type": "registry:component",
          "target": "components/signup-form/lib/strength-calculator.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "signup-form-fixtures",
      "type": "registry:block",
      "title": "Signup Form — fixtures",
      "description": "Signup Form plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "forms",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/signup-form"
      ],
      "files": [
        {
          "path": "src/registry/components/forms/signup-form/dummy-data.ts",
          "type": "registry:component",
          "target": "components/signup-form/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "card-tree-node",
      "type": "registry:block",
      "title": "Card Tree Node",
      "description": "Card-tree renderer for flow canvas nodes — read-only viewer, a consumer-owned edit dialog pattern, and a typed port editor strip.",
      "author": "ilinxa",
      "categories": [
        "data",
        "flow",
        "rich-content"
      ],
      "registryDependencies": [
        "popover",
        "select",
        "checkbox",
        "input",
        "label",
        "button",
        "@ilinxa/card-tree",
        "@ilinxa/flow-canvas"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/card-tree-node/index.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/index.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/types.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/types.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/lib/derive-flat-fields.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/lib/derive-flat-fields.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/lib/derive-title.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/lib/derive-title.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/lib/enumerate-subcards.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/lib/enumerate-subcards.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/lib/format-value.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/lib/format-value.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/lib/find-port-target.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/lib/find-port-target.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/lib/port-mutators.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/lib/port-mutators.ts"
        },
        {
          "path": "src/registry/components/data/card-tree-node/parts/flat-field-strip.tsx",
          "type": "registry:component",
          "target": "components/card-tree-node/parts/flat-field-strip.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree-node/parts/card-tree-viewer.tsx",
          "type": "registry:component",
          "target": "components/card-tree-node/parts/card-tree-viewer.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree-node/parts/subcard-block.tsx",
          "type": "registry:component",
          "target": "components/card-tree-node/parts/subcard-block.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree-node/parts/port-editor-add-popover.tsx",
          "type": "registry:component",
          "target": "components/card-tree-node/parts/port-editor-add-popover.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree-node/parts/port-editor-row.tsx",
          "type": "registry:component",
          "target": "components/card-tree-node/parts/port-editor-row.tsx"
        },
        {
          "path": "src/registry/components/data/card-tree-node/parts/port-editor-strip.tsx",
          "type": "registry:component",
          "target": "components/card-tree-node/parts/port-editor-strip.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "card-tree-node-fixtures",
      "type": "registry:block",
      "title": "Card Tree Node — fixtures",
      "description": "Card Tree Node plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "flow",
        "rich-content",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/card-tree-node"
      ],
      "files": [
        {
          "path": "src/registry/components/data/card-tree-node/dummy-data.ts",
          "type": "registry:component",
          "target": "components/card-tree-node/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "task-card",
      "type": "registry:block",
      "title": "Task Card",
      "description": "Schema-driven task card with time-aware color coding, popup and inline editing, clipboard and drag-drop payloads, and permission predicates.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "dialog",
        "dropdown-menu",
        "input",
        "label",
        "scroll-area",
        "select",
        "separator",
        "switch",
        "textarea",
        "tooltip"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/task-card/task-card.tsx",
          "type": "registry:component",
          "target": "components/task-card/task-card.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/index.ts",
          "type": "registry:component",
          "target": "components/task-card/index.ts"
        },
        {
          "path": "src/registry/components/data/task-card/types.ts",
          "type": "registry:component",
          "target": "components/task-card/types.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/time.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/time.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/normalize.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/normalize.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/ramp.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/ramp.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/color-engine.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/color-engine.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/permissions.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/json-io.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/json-io.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/clipboard.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/clipboard.ts"
        },
        {
          "path": "src/registry/components/data/task-card/lib/reducer.ts",
          "type": "registry:component",
          "target": "components/task-card/lib/reducer.ts"
        },
        {
          "path": "src/registry/components/data/task-card/hooks/use-card-context.ts",
          "type": "registry:component",
          "target": "components/task-card/hooks/use-card-context.ts"
        },
        {
          "path": "src/registry/components/data/task-card/hooks/use-color-engine.ts",
          "type": "registry:component",
          "target": "components/task-card/hooks/use-color-engine.ts"
        },
        {
          "path": "src/registry/components/data/task-card/hooks/use-keyboard.ts",
          "type": "registry:component",
          "target": "components/task-card/hooks/use-keyboard.ts"
        },
        {
          "path": "src/registry/components/data/task-card/parts/card.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/card.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/card-header.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/card-header.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/card-body.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/card-body.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/card-meta.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/card-meta.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/status-badge.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/status-badge.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/person-chip.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/person-chip.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/link-chip.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/link-chip.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/image-strip.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/image-strip.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/time-info.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/time-info.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/action-menu.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/action-menu.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/edit-popup.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/edit-popup.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/edit-inline.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/edit-inline.tsx"
        },
        {
          "path": "src/registry/components/data/task-card/parts/kanban-adapter.tsx",
          "type": "registry:component",
          "target": "components/task-card/parts/kanban-adapter.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "task-card-fixtures",
      "type": "registry:block",
      "title": "Task Card — fixtures",
      "description": "Task Card plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/task-card"
      ],
      "files": [
        {
          "path": "src/registry/components/data/task-card/dummy-data.ts",
          "type": "registry:component",
          "target": "components/task-card/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "task-tree",
      "type": "registry:block",
      "title": "Task Tree",
      "description": "Hierarchical task outline with multi-select, bulk operations, search and filter toolbar, dual drag-and-drop, and virtualization.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "checkbox",
        "dialog",
        "input",
        "popover",
        "select",
        "separator",
        "@ilinxa/task-card"
      ],
      "dependencies": [
        "lucide-react",
        "@dnd-kit/core",
        "@tanstack/react-virtual"
      ],
      "files": [
        {
          "path": "src/registry/components/data/task-tree/task-tree.tsx",
          "type": "registry:component",
          "target": "components/task-tree/task-tree.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/task-tree-with-editor.tsx",
          "type": "registry:component",
          "target": "components/task-tree/task-tree-with-editor.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/index.ts",
          "type": "registry:component",
          "target": "components/task-tree/index.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/types.ts",
          "type": "registry:component",
          "target": "components/task-tree/types.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/reducer.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/reducer.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/tree-walker.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/tree-walker.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/tree-mutators.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/tree-mutators.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/filter-items.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/filter-items.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/search-items.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/search-items.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/sort-items.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/sort-items.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/flatten-tree.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/flatten-tree.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/visible-items.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/visible-items.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/circular-drop.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/circular-drop.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/dnd-payload.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/dnd-payload.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/permissions.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/permissions.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/edge-zone.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/edge-zone.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/shallow.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/shallow.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/lib/default-status-options.ts",
          "type": "registry:component",
          "target": "components/task-tree/lib/default-status-options.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-task-tree-state.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-task-tree-state.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-task-tree-context.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-task-tree-context.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-controlled-mode.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-controlled-mode.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-tree-events.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-tree-events.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-selection.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-selection.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-debounced-callback.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-debounced-callback.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-status-option-by-value.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-status-option-by-value.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-tree-virtual.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-tree-virtual.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-tree-dnd-internal.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-tree-dnd-internal.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-tree-dnd-html5.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-tree-dnd-html5.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/hooks/use-tree-keyboard.ts",
          "type": "registry:component",
          "target": "components/task-tree/hooks/use-tree-keyboard.ts"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-chevron.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-chevron.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-status-indicator.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-status-indicator.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-checkbox.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-checkbox.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-name.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-name.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-description.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-description.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-person-label.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-person-label.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-row-content.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-row-content.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-list.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-list.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-row.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-row.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-grip.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-grip.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-drop-indicator.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-drop-indicator.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-drag-overlay.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-drag-overlay.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-toolbar.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-toolbar.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-search-input.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-search-input.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-sort-dropdown.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-sort-dropdown.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-filter-active-toggle.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-filter-active-toggle.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-filter-dropdown.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-filter-dropdown.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-bulk-action-bar.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-bulk-action-bar.tsx"
        },
        {
          "path": "src/registry/components/data/task-tree/parts/task-tree-empty-state.tsx",
          "type": "registry:component",
          "target": "components/task-tree/parts/task-tree-empty-state.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "task-tree-fixtures",
      "type": "registry:block",
      "title": "Task Tree — fixtures",
      "description": "Task Tree plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/task-tree"
      ],
      "files": [
        {
          "path": "src/registry/components/data/task-tree/dummy-data.ts",
          "type": "registry:component",
          "target": "components/task-tree/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "app-sidebar",
      "type": "registry:block",
      "title": "App Sidebar",
      "description": "App-shell sidebar with mobile drawer mode, twelve composition slots, prefab nav parts, and a headless state hook.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "app-shell"
      ],
      "registryDependencies": [
        "avatar",
        "button",
        "dropdown-menu",
        "sheet"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/app-sidebar/app-sidebar.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/app-sidebar.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/index.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/index.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/types.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/types.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/contexts/sidebar-nav-context.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/contexts/sidebar-nav-context.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/hooks/use-active-detection.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/hooks/use-active-detection.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/hooks/use-match-media.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/hooks/use-match-media.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/hooks/use-sidebar-nav-state.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/hooks/use-sidebar-nav-state.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/hooks/use-sidebar-reducer.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/hooks/use-sidebar-reducer.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/hooks/use-storage-sync.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/hooks/use-storage-sync.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/hooks/use-filtered-nav-sections.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/hooks/use-filtered-nav-sections.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/active-variant-classes.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/active-variant-classes.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/badge-format.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/badge-format.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/build-handle.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/build-handle.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/compute-active-item.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/compute-active-item.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/derive-avatar-fallback.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/derive-avatar-fallback.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/derive-css-vars.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/derive-css-vars.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/derive-visible-entries.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/derive-visible-entries.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/flatten-entries.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/flatten-entries.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/href-resolver.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/href-resolver.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/keyboard-handler.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/keyboard-handler.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/sidebar-reducer.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/sidebar-reducer.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/lib/storage-schema.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/lib/storage-schema.ts"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/default-link.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/default-link.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/icon.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/icon.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/nav-badge.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/nav-badge.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/nav-brand.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/nav-brand.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/nav-primary-action.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/nav-primary-action.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/nav-user.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/nav-user.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-empty-state.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-empty-state.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-loading-skeleton.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-loading-skeleton.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-nav-list.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-nav-list.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-nav-row.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-nav-row.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-nav-section.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-nav-section.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-nav-separator.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-nav-separator.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-nav-trigger.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-nav-trigger.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/sidebar-skip-link.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/sidebar-skip-link.tsx"
        },
        {
          "path": "src/registry/components/navigation/app-sidebar/parts/tooltip-wrapper.tsx",
          "type": "registry:component",
          "target": "components/app-sidebar/parts/tooltip-wrapper.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "app-sidebar-fixtures",
      "type": "registry:block",
      "title": "App Sidebar — fixtures",
      "description": "App Sidebar plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "app-shell",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/app-sidebar"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/app-sidebar/dummy-data.ts",
          "type": "registry:component",
          "target": "components/app-sidebar/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "account-switcher",
      "type": "registry:block",
      "title": "Account Switcher",
      "description": "Popover account and context switcher — active label trigger, switchable context list, and a footer slot for create or request actions.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "app-shell"
      ],
      "registryDependencies": [
        "popover",
        "separator"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/account-switcher/account-switcher.tsx",
          "type": "registry:component",
          "target": "components/account-switcher/account-switcher.tsx"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/index.ts",
          "type": "registry:component",
          "target": "components/account-switcher/index.ts"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/types.ts",
          "type": "registry:component",
          "target": "components/account-switcher/types.ts"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/hooks/use-controllable-state.ts",
          "type": "registry:component",
          "target": "components/account-switcher/hooks/use-controllable-state.ts"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/lib/enforce-unique-keys.ts",
          "type": "registry:component",
          "target": "components/account-switcher/lib/enforce-unique-keys.ts"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/lib/resolve-active-item.ts",
          "type": "registry:component",
          "target": "components/account-switcher/lib/resolve-active-item.ts"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/parts/empty-placeholder.tsx",
          "type": "registry:component",
          "target": "components/account-switcher/parts/empty-placeholder.tsx"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/parts/render-icon.tsx",
          "type": "registry:component",
          "target": "components/account-switcher/parts/render-icon.tsx"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/parts/switcher-item-row.tsx",
          "type": "registry:component",
          "target": "components/account-switcher/parts/switcher-item-row.tsx"
        },
        {
          "path": "src/registry/components/navigation/account-switcher/parts/switcher-trigger.tsx",
          "type": "registry:component",
          "target": "components/account-switcher/parts/switcher-trigger.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "account-switcher-fixtures",
      "type": "registry:block",
      "title": "Account Switcher — fixtures",
      "description": "Account Switcher plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "navigation",
        "app-shell",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/account-switcher"
      ],
      "files": [
        {
          "path": "src/registry/components/navigation/account-switcher/dummy-data.ts",
          "type": "registry:component",
          "target": "components/account-switcher/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-composer",
      "type": "registry:block",
      "title": "Story Composer",
      "description": "Instagram-style story creation surface — a locked 9:16 wrapper around the media editor.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "@ilinxa/media-editor",
        "@ilinxa/media-editor-capture",
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/story-composer/story-composer.tsx",
          "type": "registry:component",
          "target": "components/story-composer/story-composer.tsx"
        },
        {
          "path": "src/registry/components/media/story-composer/index.ts",
          "type": "registry:component",
          "target": "components/story-composer/index.ts"
        },
        {
          "path": "src/registry/components/media/story-composer/types.ts",
          "type": "registry:component",
          "target": "components/story-composer/types.ts"
        },
        {
          "path": "src/registry/components/media/story-composer/hooks/use-image-uploader.ts",
          "type": "registry:component",
          "target": "components/story-composer/hooks/use-image-uploader.ts"
        },
        {
          "path": "src/registry/components/media/story-composer/hooks/use-story-composer-state.ts",
          "type": "registry:component",
          "target": "components/story-composer/hooks/use-story-composer-state.ts"
        },
        {
          "path": "src/registry/components/media/story-composer/parts/composer-publish-bar.tsx",
          "type": "registry:component",
          "target": "components/story-composer/parts/composer-publish-bar.tsx"
        },
        {
          "path": "src/registry/components/media/story-composer/parts/publishing-progress-overlay.tsx",
          "type": "registry:component",
          "target": "components/story-composer/parts/publishing-progress-overlay.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-composer-fixtures",
      "type": "registry:block",
      "title": "Story Composer — fixtures",
      "description": "Story Composer plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/story-composer"
      ],
      "files": [
        {
          "path": "src/registry/components/media/story-composer/dummy-data.ts",
          "type": "registry:component",
          "target": "components/story-composer/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-editor",
      "type": "registry:block",
      "title": "Media Editor",
      "description": "Media capture and edit surface for photo, video, and text — capability dials and an Instagram-style chrome model.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "dialog",
        "alert-dialog",
        "popover",
        "button",
        "slider"
      ],
      "dependencies": [
        "konva",
        "react-konva",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-editor/media-editor.tsx",
          "type": "registry:component",
          "target": "components/media-editor/media-editor.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/index.ts",
          "type": "registry:component",
          "target": "components/media-editor/index.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/types.ts",
          "type": "registry:component",
          "target": "components/media-editor/types.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-drawing-stroke.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-drawing-stroke.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-history.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-history.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-konva-selection.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-konva-selection.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-konva-stage-size.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-konva-stage-size.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-media-editor-state.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-media-editor-state.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-pan-zoom.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-pan-zoom.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/built-in-stickers.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/built-in-stickers.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/composite-video.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/composite-video.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/defaults.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/defaults.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/dialog-size-for-aspect.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/dialog-size-for-aspect.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/export-blob.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/export-blob.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/initial-source-loader.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/initial-source-loader.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/konva-filters.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/konva-filters.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/mime-fallback.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/mime-fallback.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/presentation-resolver.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/presentation-resolver.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/resolve-crop-aspects.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/resolve-crop-aspects.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/color-swatch-picker.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/color-swatch-picker.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/discard-confirm-dialog.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/discard-confirm-dialog.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/editor-canvas.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/editor-canvas.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/editor-toolbar.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/editor-toolbar.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/mode-toggle-pill.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/mode-toggle-pill.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/text-only-canvas.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/text-only-canvas.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/tool-adjust-sliders.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/tool-adjust-sliders.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/tool-crop-overlay.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/tool-crop-overlay.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/tool-draw-controls.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/tool-draw-controls.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/tool-filter-strip.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/tool-filter-strip.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/tool-sticker-picker.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/tool-sticker-picker.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/tool-text-input.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/tool-text-input.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/video-trim-bar.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/video-trim-bar.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/hooks/use-capture-extension.ts",
          "type": "registry:component",
          "target": "components/media-editor/hooks/use-capture-extension.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/lib/validate-media-file.ts",
          "type": "registry:component",
          "target": "components/media-editor/lib/validate-media-file.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/parts/lazy-editor-canvas.tsx",
          "type": "registry:component",
          "target": "components/media-editor/parts/lazy-editor-canvas.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-editor-fixtures",
      "type": "registry:block",
      "title": "Media Editor — fixtures",
      "description": "Media Editor plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/media-editor"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-editor/dummy-data.ts",
          "type": "registry:component",
          "target": "components/media-editor/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-editor-capture",
      "type": "registry:block",
      "title": "Media Editor — Capture",
      "description": "Camera photo/video capture for Media Editor — permission flows, shutter control, multi-instance guard. Wire in via MediaEditor's capture prop.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "meta": {
        "featureOf": "media-editor",
        "budgetKB": 65
      },
      "registryDependencies": [
        "@ilinxa/media-editor",
        "button"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-editor/features/capture/index.ts",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/index.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/provider.tsx",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/provider.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/hooks/use-media-capture.ts",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/hooks/use-media-capture.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/hooks/use-camera-permissions.ts",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/hooks/use-camera-permissions.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/hooks/use-multi-instance-guard.ts",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/hooks/use-multi-instance-guard.ts"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/parts/editor-camera.tsx",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/parts/editor-camera.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/parts/camera-permission-prompt.tsx",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/parts/camera-permission-prompt.tsx"
        },
        {
          "path": "src/registry/components/media/media-editor/features/capture/parts/shutter-button.tsx",
          "type": "registry:component",
          "target": "components/media-editor/features/capture/parts/shutter-button.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "content-composer",
      "type": "registry:block",
      "title": "Content Composer",
      "description": "Multi-step content authoring shell — each content type is a JSON config composing form, rich text, and media editing steps.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "@ilinxa/json-form",
        "@ilinxa/rich-text-editor",
        "@ilinxa/media-editor",
        "@ilinxa/media-editor-capture",
        "@ilinxa/carousel-composer",
        "@ilinxa/news-card",
        "badge",
        "button",
        "command",
        "dialog",
        "input",
        "popover",
        "separator",
        "textarea"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/content-composer/content-composer.tsx",
          "type": "registry:component",
          "target": "components/content-composer/content-composer.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/index.ts",
          "type": "registry:component",
          "target": "components/content-composer/index.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/types.ts",
          "type": "registry:component",
          "target": "components/content-composer/types.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/adapters/adapter-registry.ts",
          "type": "registry:component",
          "target": "components/content-composer/adapters/adapter-registry.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/configs/news-composer.config.ts",
          "type": "registry:component",
          "target": "components/content-composer/configs/news-composer.config.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/configs/post-composer.config.ts",
          "type": "registry:component",
          "target": "components/content-composer/configs/post-composer.config.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/hooks/use-autosave.ts",
          "type": "registry:component",
          "target": "components/content-composer/hooks/use-autosave.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/hooks/use-body-dirty.ts",
          "type": "registry:component",
          "target": "components/content-composer/hooks/use-body-dirty.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/hooks/use-composer-context.ts",
          "type": "registry:component",
          "target": "components/content-composer/hooks/use-composer-context.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/hooks/use-composer-state.ts",
          "type": "registry:component",
          "target": "components/content-composer/hooks/use-composer-state.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/hooks/use-slot-handles.ts",
          "type": "registry:component",
          "target": "components/content-composer/hooks/use-slot-handles.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/assign-ref.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/assign-ref.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/clamp-media-sources.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/clamp-media-sources.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/gates.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/gates.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/hydration.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/hydration.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/phase-reducer.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/phase-reducer.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/publish-cta.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/publish-cta.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/reducer.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/reducer.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/substrates.tsx",
          "type": "registry:component",
          "target": "components/content-composer/lib/substrates.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/lib/upload.ts",
          "type": "registry:component",
          "target": "components/content-composer/lib/upload.ts"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/body-substrate-plaintext.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/body-substrate-plaintext.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/body-substrate-plate.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/body-substrate-plate.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/body-substrate.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/body-substrate.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/composer-dialog.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/composer-dialog.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/composer-shell.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/composer-shell.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/field-author-picker.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/field-author-picker.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/field-tags.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/field-tags.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/json-form-substrate.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/json-form-substrate.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/media-substrate.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/media-substrate.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/media-carousel-substrate.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/media-carousel-substrate.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/missing-substrate.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/missing-substrate.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/publish-bar.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/publish-bar.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/slot-mount.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/slot-mount.tsx"
        },
        {
          "path": "src/registry/components/media/content-composer/parts/step-indicator.tsx",
          "type": "registry:component",
          "target": "components/content-composer/parts/step-indicator.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "content-composer-fixtures",
      "type": "registry:block",
      "title": "Content Composer — fixtures",
      "description": "Content Composer plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/content-composer"
      ],
      "files": [
        {
          "path": "src/registry/components/media/content-composer/dummy-data.ts",
          "type": "registry:component",
          "target": "components/content-composer/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "carousel-composer",
      "type": "registry:block",
      "title": "Carousel Composer",
      "description": "Multi-item media post composer — drag in photos and videos, reorder them on a rail, and edit each through a shared editor panel.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "@ilinxa/media-editor",
        "button",
        "scroll-area"
      ],
      "dependencies": [
        "@dnd-kit/core",
        "@dnd-kit/sortable",
        "@dnd-kit/utilities",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/carousel-composer/carousel-composer.tsx",
          "type": "registry:component",
          "target": "components/carousel-composer/carousel-composer.tsx"
        },
        {
          "path": "src/registry/components/media/carousel-composer/index.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/index.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/types.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/types.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/hooks/use-carousel-state.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/hooks/use-carousel-state.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/hooks/use-controllable-state.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/hooks/use-controllable-state.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/lib/aspect.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/lib/aspect.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/lib/clamp-sources.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/lib/clamp-sources.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/lib/file-intake.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/lib/file-intake.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/lib/validate-media-file.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/lib/validate-media-file.ts"
        },
        {
          "path": "src/registry/components/media/carousel-composer/parts/media-dropzone.tsx",
          "type": "registry:component",
          "target": "components/carousel-composer/parts/media-dropzone.tsx"
        },
        {
          "path": "src/registry/components/media/carousel-composer/parts/preview-rail.tsx",
          "type": "registry:component",
          "target": "components/carousel-composer/parts/preview-rail.tsx"
        },
        {
          "path": "src/registry/components/media/carousel-composer/parts/rail-thumb.tsx",
          "type": "registry:component",
          "target": "components/carousel-composer/parts/rail-thumb.tsx"
        },
        {
          "path": "src/registry/components/media/carousel-composer/parts/main-preview.tsx",
          "type": "registry:component",
          "target": "components/carousel-composer/parts/main-preview.tsx"
        },
        {
          "path": "src/registry/components/media/carousel-composer/parts/edit-panel.tsx",
          "type": "registry:component",
          "target": "components/carousel-composer/parts/edit-panel.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "carousel-composer-fixtures",
      "type": "registry:block",
      "title": "Carousel Composer — fixtures",
      "description": "Carousel Composer plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/carousel-composer"
      ],
      "files": [
        {
          "path": "src/registry/components/media/carousel-composer/dummy-data.ts",
          "type": "registry:component",
          "target": "components/carousel-composer/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-library",
      "type": "registry:block",
      "title": "Media Library",
      "description": "Drive-style media library — folders and files, lazy loading, drag-drop upload, drag-to-move, context menus, and multi-type preview.",
      "author": "ilinxa",
      "categories": [
        "media"
      ],
      "registryDependencies": [
        "@ilinxa/file-tree",
        "@ilinxa/pdf-viewer",
        "@ilinxa/code-block",
        "@ilinxa/markdown-editor",
        "@ilinxa/video-player",
        "button",
        "context-menu",
        "dialog",
        "input",
        "progress",
        "skeleton"
      ],
      "dependencies": [
        "@dnd-kit/core",
        "date-fns",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-library/media-library.tsx",
          "type": "registry:component",
          "target": "components/media-library/media-library.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/index.ts",
          "type": "registry:component",
          "target": "components/media-library/index.ts"
        },
        {
          "path": "src/registry/components/media/media-library/types.ts",
          "type": "registry:component",
          "target": "components/media-library/types.ts"
        },
        {
          "path": "src/registry/components/media/media-library/hooks/use-controllable-state.ts",
          "type": "registry:component",
          "target": "components/media-library/hooks/use-controllable-state.ts"
        },
        {
          "path": "src/registry/components/media/media-library/hooks/use-lazy-children.ts",
          "type": "registry:component",
          "target": "components/media-library/hooks/use-lazy-children.ts"
        },
        {
          "path": "src/registry/components/media/media-library/hooks/use-media-library.ts",
          "type": "registry:component",
          "target": "components/media-library/hooks/use-media-library.ts"
        },
        {
          "path": "src/registry/components/media/media-library/hooks/use-selection.ts",
          "type": "registry:component",
          "target": "components/media-library/hooks/use-selection.ts"
        },
        {
          "path": "src/registry/components/media/media-library/hooks/use-text-content.ts",
          "type": "registry:component",
          "target": "components/media-library/hooks/use-text-content.ts"
        },
        {
          "path": "src/registry/components/media/media-library/hooks/use-upload.ts",
          "type": "registry:component",
          "target": "components/media-library/hooks/use-upload.ts"
        },
        {
          "path": "src/registry/components/media/media-library/lib/drag.ts",
          "type": "registry:component",
          "target": "components/media-library/lib/drag.ts"
        },
        {
          "path": "src/registry/components/media/media-library/lib/filter-category.ts",
          "type": "registry:component",
          "target": "components/media-library/lib/filter-category.ts"
        },
        {
          "path": "src/registry/components/media/media-library/lib/format.ts",
          "type": "registry:component",
          "target": "components/media-library/lib/format.ts"
        },
        {
          "path": "src/registry/components/media/media-library/lib/preview-kind.ts",
          "type": "registry:component",
          "target": "components/media-library/lib/preview-kind.ts"
        },
        {
          "path": "src/registry/components/media/media-library/parts/breadcrumbs.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/breadcrumbs.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/context-menu.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/context-menu.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/details-pane.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/details-pane.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/file-card.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/file-card.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/file-grid.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/file-grid.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/file-preview.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/file-preview.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/file-visuals.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/file-visuals.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/folder-card.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/folder-card.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/folder-row.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/folder-row.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/library-toolbar.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/library-toolbar.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/media-library-root.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/media-library-root.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/preview-lightbox.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/preview-lightbox.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/quota-bar.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/quota-bar.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/rename-input.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/rename-input.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/sidebar.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/sidebar.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/type-filters.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/type-filters.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/upload-overlay.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/upload-overlay.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/upload-progress.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/upload-progress.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/lazy-code-block.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/lazy-code-block.tsx"
        },
        {
          "path": "src/registry/components/media/media-library/parts/lazy-markdown-editor.tsx",
          "type": "registry:component",
          "target": "components/media-library/parts/lazy-markdown-editor.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-library-fixtures",
      "type": "registry:block",
      "title": "Media Library — fixtures",
      "description": "Media Library plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "media",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/media-library"
      ],
      "files": [
        {
          "path": "src/registry/components/media/media-library/dummy-data.ts",
          "type": "registry:component",
          "target": "components/media-library/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "blackboard",
      "type": "registry:block",
      "title": "Blackboard",
      "description": "Chalkboard-style team notes board — handwritten ink notes with pens, widths, pins, @mentions, auto-save, and lazy history loading.",
      "author": "ilinxa",
      "categories": [
        "data"
      ],
      "registryDependencies": [
        "button",
        "textarea"
      ],
      "dependencies": [
        "@fontsource/kalam",
        "@fontsource-variable/caveat",
        "@fontsource/patrick-hand",
        "@fontsource/shadows-into-light",
        "date-fns",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/blackboard/blackboard.tsx",
          "type": "registry:component",
          "target": "components/blackboard/blackboard.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/blackboard-fonts.ts",
          "type": "registry:component",
          "target": "components/blackboard/blackboard-fonts.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/index.ts",
          "type": "registry:component",
          "target": "components/blackboard/index.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/types.ts",
          "type": "registry:component",
          "target": "components/blackboard/types.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/hooks/use-autosave.ts",
          "type": "registry:component",
          "target": "components/blackboard/hooks/use-autosave.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/hooks/use-blackboard.ts",
          "type": "registry:component",
          "target": "components/blackboard/hooks/use-blackboard.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/hooks/use-blackboard-state.ts",
          "type": "registry:component",
          "target": "components/blackboard/hooks/use-blackboard-state.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/hooks/use-controllable-state.ts",
          "type": "registry:component",
          "target": "components/blackboard/hooks/use-controllable-state.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/hooks/use-lazy-older.ts",
          "type": "registry:component",
          "target": "components/blackboard/hooks/use-lazy-older.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/hooks/use-mentions.ts",
          "type": "registry:component",
          "target": "components/blackboard/hooks/use-mentions.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/lib/mentions.ts",
          "type": "registry:component",
          "target": "components/blackboard/lib/mentions.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/lib/palette.ts",
          "type": "registry:component",
          "target": "components/blackboard/lib/palette.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/lib/unread.ts",
          "type": "registry:component",
          "target": "components/blackboard/lib/unread.ts"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-background-editor.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-background-editor.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-composer.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-composer.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-note-item.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-note-item.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-note-stream.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-note-stream.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-notification-badge.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-notification-badge.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-pinned-row.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-pinned-row.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-root.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-root.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/blackboard-surface.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/blackboard-surface.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/board-background.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/board-background.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/chalk-width-picker.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/chalk-width-picker.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/handwriting-font-picker.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/handwriting-font-picker.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/handwritten-note.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/handwritten-note.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/ink-color-picker.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/ink-color-picker.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/mention-picker.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/mention-picker.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/mention-text.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/mention-text.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/note-composer.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/note-composer.tsx"
        },
        {
          "path": "src/registry/components/data/blackboard/parts/unread-count.tsx",
          "type": "registry:component",
          "target": "components/blackboard/parts/unread-count.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "blackboard-fixtures",
      "type": "registry:block",
      "title": "Blackboard — fixtures",
      "description": "Blackboard plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/blackboard"
      ],
      "files": [
        {
          "path": "src/registry/components/data/blackboard/dummy-data.ts",
          "type": "registry:component",
          "target": "components/blackboard/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "gantt-timeline",
      "type": "registry:block",
      "title": "Gantt Timeline",
      "description": "Editable Gantt timeline — per-task bars, collapsible summary rows, milestone diamonds, continuous zoom from hours to quarters, and a today line.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "context-menu",
        "input",
        "separator",
        "skeleton",
        "@ilinxa/task-card"
      ],
      "dependencies": [
        "lucide-react",
        "@tanstack/react-virtual",
        "@dnd-kit/core"
      ],
      "files": [
        {
          "path": "src/registry/components/data/gantt-timeline/gantt-timeline.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/gantt-timeline.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/index.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/index.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/types.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/types.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/lib/color.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/lib/color.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/lib/flatten.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/lib/flatten.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/lib/geometry.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/lib/geometry.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/lib/time-scale.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/lib/time-scale.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/lib/edit-mutations.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/lib/edit-mutations.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/lib/edit-permissions.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/lib/edit-permissions.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/hooks/use-color-tick.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/hooks/use-color-tick.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/hooks/use-gantt-context.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/hooks/use-gantt-context.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/hooks/use-gantt-viewport.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/hooks/use-gantt-viewport.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/hooks/use-gantt-virtual.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/hooks/use-gantt-virtual.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/hooks/use-gantt-edit.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/hooks/use-gantt-edit.ts"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/bar-tooltip-full.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/bar-tooltip-full.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-context-menu.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-context-menu.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-edit-popover.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-edit-popover.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-quick-composer.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-quick-composer.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-bars.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-bars.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-timeline-axis.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-timeline-axis.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-timeline-body.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-timeline-body.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-timeline-gutter.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-timeline-gutter.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-timeline-root.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-timeline-root.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-timeline-skeleton.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-timeline-skeleton.tsx"
        },
        {
          "path": "src/registry/components/data/gantt-timeline/parts/gantt-timeline-toolbar.tsx",
          "type": "registry:component",
          "target": "components/gantt-timeline/parts/gantt-timeline-toolbar.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "gantt-timeline-fixtures",
      "type": "registry:block",
      "title": "Gantt Timeline — fixtures",
      "description": "Gantt Timeline plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/gantt-timeline"
      ],
      "files": [
        {
          "path": "src/registry/components/data/gantt-timeline/dummy-data.ts",
          "type": "registry:component",
          "target": "components/gantt-timeline/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "event-calendar",
      "type": "registry:block",
      "title": "Event Calendar",
      "description": "Editable event calendar with month, week, day, and agenda views — multi-day spans, drag and resize editing, clipboard support, and keyboard navigation.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management"
      ],
      "registryDependencies": [
        "avatar",
        "badge",
        "button",
        "calendar",
        "popover",
        "skeleton",
        "@ilinxa/task-card"
      ],
      "dependencies": [
        "date-fns",
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/data/event-calendar/event-calendar.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/event-calendar.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/index.ts",
          "type": "registry:component",
          "target": "components/event-calendar/index.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/types.ts",
          "type": "registry:component",
          "target": "components/event-calendar/types.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/lib/classify.ts",
          "type": "registry:component",
          "target": "components/event-calendar/lib/classify.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/lib/color.ts",
          "type": "registry:component",
          "target": "components/event-calendar/lib/color.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/lib/date-range.ts",
          "type": "registry:component",
          "target": "components/event-calendar/lib/date-range.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/lib/occurrences.ts",
          "type": "registry:component",
          "target": "components/event-calendar/lib/occurrences.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/lib/segments.ts",
          "type": "registry:component",
          "target": "components/event-calendar/lib/segments.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/lib/lane-pack.ts",
          "type": "registry:component",
          "target": "components/event-calendar/lib/lane-pack.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/hooks/use-calendar-context.ts",
          "type": "registry:component",
          "target": "components/event-calendar/hooks/use-calendar-context.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/hooks/use-calendar-cursor.ts",
          "type": "registry:component",
          "target": "components/event-calendar/hooks/use-calendar-cursor.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/hooks/use-calendar-edit-extension.ts",
          "type": "registry:component",
          "target": "components/event-calendar/hooks/use-calendar-edit-extension.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/hooks/use-now-tick.ts",
          "type": "registry:component",
          "target": "components/event-calendar/hooks/use-now-tick.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-root.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-root.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-toolbar.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-toolbar.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-month-view.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-month-view.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-time-grid.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-time-grid.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-week-view.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-week-view.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-day-view.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-day-view.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-agenda-view.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-agenda-view.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-mini-nav.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-mini-nav.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-event.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-event.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/event-tooltip-full.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/event-tooltip-full.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-event-inspector.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-event-inspector.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/parts/calendar-skeleton.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/parts/calendar-skeleton.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "event-calendar-fixtures",
      "type": "registry:block",
      "title": "Event Calendar — fixtures",
      "description": "Event Calendar plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/event-calendar"
      ],
      "files": [
        {
          "path": "src/registry/components/data/event-calendar/dummy-data.ts",
          "type": "registry:component",
          "target": "components/event-calendar/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "event-calendar-editing",
      "type": "registry:block",
      "title": "Event Calendar — Editing",
      "description": "Drag-and-resize editing, quick-compose creation, keyboard mutations, cross-surface clipboard, and permission-gated actions for the event calendar.",
      "author": "ilinxa",
      "categories": [
        "data",
        "task-management"
      ],
      "meta": {
        "featureOf": "event-calendar",
        "budgetKB": 110
      },
      "registryDependencies": [
        "@ilinxa/event-calendar",
        "@ilinxa/task-card",
        "context-menu",
        "input",
        "button"
      ],
      "dependencies": [
        "date-fns",
        "lucide-react",
        "@dnd-kit/core",
        "@dnd-kit/utilities"
      ],
      "files": [
        {
          "path": "src/registry/components/data/event-calendar/features/editing/index.ts",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/index.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/provider.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/provider.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/hooks/use-calendar-edit.ts",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/hooks/use-calendar-edit.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/lib/edit-mutations.ts",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/lib/edit-mutations.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/lib/edit-permissions.ts",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/lib/edit-permissions.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/lib/paste-window.ts",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/lib/paste-window.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/lib/clipboard-effect.ts",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/lib/clipboard-effect.ts"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/lib/time-grid-gestures.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/lib/time-grid-gestures.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/parts/calendar-edit-affordances.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/parts/calendar-edit-affordances.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/parts/calendar-edit-overlays.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/parts/calendar-edit-overlays.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/parts/calendar-quick-composer.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/parts/calendar-quick-composer.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/parts/calendar-context-menu.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/parts/calendar-context-menu.tsx"
        },
        {
          "path": "src/registry/components/data/event-calendar/features/editing/parts/droppable-day-cell.tsx",
          "type": "registry:component",
          "target": "components/event-calendar/features/editing/parts/droppable-day-cell.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-progress-bar",
      "type": "registry:block",
      "title": "Team Progress Bar",
      "description": "Read-only team progress bar showing milestone completion — optional ticks and numeric readout, cooperative by design.",
      "author": "ilinxa",
      "categories": [
        "gamification"
      ],
      "registryDependencies": [
        "progress",
        "@ilinxa/gamification-kit"
      ],
      "dependencies": [],
      "files": [
        {
          "path": "src/registry/components/gamification/team-progress-bar/team-progress-bar.tsx",
          "type": "registry:component",
          "target": "components/team-progress-bar/team-progress-bar.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/index.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/index.ts"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/types.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/types.ts"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/lib/resolve-progress.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/lib/resolve-progress.ts"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/lib/event.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/lib/event.ts"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/hooks/use-team-progress-bar.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/hooks/use-team-progress-bar.ts"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/hooks/use-progress-telemetry.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/hooks/use-progress-telemetry.ts"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/parts/team-progress-bar-root.tsx",
          "type": "registry:component",
          "target": "components/team-progress-bar/parts/team-progress-bar-root.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/parts/team-progress-bar-track.tsx",
          "type": "registry:component",
          "target": "components/team-progress-bar/parts/team-progress-bar-track.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-progress-bar/parts/team-progress-bar-label.tsx",
          "type": "registry:component",
          "target": "components/team-progress-bar/parts/team-progress-bar-label.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-progress-bar-fixtures",
      "type": "registry:block",
      "title": "Team Progress Bar — fixtures",
      "description": "Team Progress Bar plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/team-progress-bar"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-progress-bar/dummy-data.ts",
          "type": "registry:component",
          "target": "components/team-progress-bar/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-trophy-shelf",
      "type": "registry:block",
      "title": "Team Trophy Shelf",
      "description": "Gallery of earned team badges with honest locked slots, an optional count header, and a brief skippable reveal for new badges.",
      "author": "ilinxa",
      "categories": [
        "gamification"
      ],
      "registryDependencies": [
        "tooltip",
        "badge",
        "separator",
        "@ilinxa/gamification-kit"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/team-trophy-shelf.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/team-trophy-shelf.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/index.ts",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/index.ts"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/types.ts",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/types.ts"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/lib/resolve.ts",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/lib/resolve.ts"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/lib/diff.ts",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/lib/diff.ts"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/hooks/use-team-trophy-shelf.ts",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/hooks/use-team-trophy-shelf.ts"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/parts/team-trophy-shelf-root.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/parts/team-trophy-shelf-root.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/parts/team-trophy-shelf-grid.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/parts/team-trophy-shelf-grid.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/parts/team-trophy-shelf-header.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/parts/team-trophy-shelf-header.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/parts/team-trophy-shelf-empty.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/parts/team-trophy-shelf-empty.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/parts/team-milestone-badge.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/parts/team-milestone-badge.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/parts/badge-award-overlay.tsx",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/parts/badge-award-overlay.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-trophy-shelf-fixtures",
      "type": "registry:block",
      "title": "Team Trophy Shelf — fixtures",
      "description": "Team Trophy Shelf plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/team-trophy-shelf"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-trophy-shelf/dummy-data.ts",
          "type": "registry:component",
          "target": "components/team-trophy-shelf/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-feedback-loop",
      "type": "registry:block",
      "title": "Team Feedback Loop",
      "description": "Non-blocking celebration layer — a brief skippable overlay when team progress advances, plus a gentle dismissible next-task nudge.",
      "author": "ilinxa",
      "categories": [
        "gamification"
      ],
      "registryDependencies": [
        "button",
        "@ilinxa/gamification-kit"
      ],
      "dependencies": [
        "canvas-confetti",
        "lucide-react"
      ],
      "devDependencies": [
        "@types/canvas-confetti"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-feedback-loop/team-feedback-loop.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/team-feedback-loop.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/index.ts",
          "type": "registry:component",
          "target": "components/team-feedback-loop/index.ts"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/types.ts",
          "type": "registry:component",
          "target": "components/team-feedback-loop/types.ts"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/lib/clamp.ts",
          "type": "registry:component",
          "target": "components/team-feedback-loop/lib/clamp.ts"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/hooks/use-team-feedback-context.ts",
          "type": "registry:component",
          "target": "components/team-feedback-loop/hooks/use-team-feedback-context.ts"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/parts/team-feedback-loop-root.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/parts/team-feedback-loop-root.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/parts/team-feedback-celebration.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/parts/team-feedback-celebration.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/parts/team-feedback-nudge.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/parts/team-feedback-nudge.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/parts/celebration-overlay.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/parts/celebration-overlay.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/parts/next-task-nudge.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/parts/next-task-nudge.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-feedback-loop/parts/confetti-burst.tsx",
          "type": "registry:component",
          "target": "components/team-feedback-loop/parts/confetti-burst.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-feedback-loop-fixtures",
      "type": "registry:block",
      "title": "Team Feedback Loop — fixtures",
      "description": "Team Feedback Loop plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/team-feedback-loop"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-feedback-loop/dummy-data.ts",
          "type": "registry:component",
          "target": "components/team-feedback-loop/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-challenge",
      "type": "registry:block",
      "title": "Team Challenge",
      "description": "Cooperative team challenge card — one shared goal, collective progress, a whole-team reward, and penalty-free opt-in.",
      "author": "ilinxa",
      "categories": [
        "gamification"
      ],
      "registryDependencies": [
        "progress",
        "avatar",
        "button",
        "badge",
        "skeleton",
        "@ilinxa/gamification-kit"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-challenge/team-challenge.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/team-challenge.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/index.ts",
          "type": "registry:component",
          "target": "components/team-challenge/index.ts"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/types.ts",
          "type": "registry:component",
          "target": "components/team-challenge/types.ts"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/lib/derive.ts",
          "type": "registry:component",
          "target": "components/team-challenge/lib/derive.ts"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/lib/events.ts",
          "type": "registry:component",
          "target": "components/team-challenge/lib/events.ts"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/hooks/use-team-challenge.ts",
          "type": "registry:component",
          "target": "components/team-challenge/hooks/use-team-challenge.ts"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-challenge-root.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-challenge-root.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-challenge-header.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-challenge-header.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-challenge-progress.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-challenge-progress.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-challenge-reward.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-challenge-reward.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-challenge-optin.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-challenge-optin.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-member-stack.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-member-stack.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-challenge/parts/team-challenge-skeleton.tsx",
          "type": "registry:component",
          "target": "components/team-challenge/parts/team-challenge-skeleton.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-challenge-fixtures",
      "type": "registry:block",
      "title": "Team Challenge — fixtures",
      "description": "Team Challenge plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/team-challenge"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-challenge/dummy-data.ts",
          "type": "registry:component",
          "target": "components/team-challenge/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-task-claim",
      "type": "registry:block",
      "title": "Team Task Claim",
      "description": "Task autonomy control — an open-for-anyone toggle, a volunteer claim button, and an assignee chip with neutral release and reassign.",
      "author": "ilinxa",
      "categories": [
        "gamification"
      ],
      "registryDependencies": [
        "switch",
        "button",
        "avatar",
        "popover",
        "command",
        "@ilinxa/gamification-kit"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-task-claim/team-task-claim.tsx",
          "type": "registry:component",
          "target": "components/team-task-claim/team-task-claim.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/index.ts",
          "type": "registry:component",
          "target": "components/team-task-claim/index.ts"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/types.ts",
          "type": "registry:component",
          "target": "components/team-task-claim/types.ts"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/lib/state.ts",
          "type": "registry:component",
          "target": "components/team-task-claim/lib/state.ts"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/lib/members.ts",
          "type": "registry:component",
          "target": "components/team-task-claim/lib/members.ts"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/parts/open-for-anyone-toggle.tsx",
          "type": "registry:component",
          "target": "components/team-task-claim/parts/open-for-anyone-toggle.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/parts/claim-button.tsx",
          "type": "registry:component",
          "target": "components/team-task-claim/parts/claim-button.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-task-claim/parts/assignee-chip.tsx",
          "type": "registry:component",
          "target": "components/team-task-claim/parts/assignee-chip.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-task-claim-fixtures",
      "type": "registry:block",
      "title": "Team Task Claim — fixtures",
      "description": "Team Task Claim plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/team-task-claim"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-task-claim/dummy-data.ts",
          "type": "registry:component",
          "target": "components/team-task-claim/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-quest-log",
      "type": "registry:block",
      "title": "Team Quest Log",
      "description": "Team quest overlay — an editable skippable quest name plus a milestone chapter timeline with done, current, and upcoming beats.",
      "author": "ilinxa",
      "categories": [
        "gamification"
      ],
      "registryDependencies": [
        "button",
        "input",
        "@ilinxa/gamification-kit"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-quest-log/team-quest-log.tsx",
          "type": "registry:component",
          "target": "components/team-quest-log/team-quest-log.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/index.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/index.ts"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/types.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/types.ts"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/lib/resolve-title.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/lib/resolve-title.ts"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/lib/derive-beats.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/lib/derive-beats.ts"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/hooks/use-team-quest-log.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/hooks/use-team-quest-log.ts"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/hooks/use-chapter-view-telemetry.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/hooks/use-chapter-view-telemetry.ts"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/parts/team-quest-log-root.tsx",
          "type": "registry:component",
          "target": "components/team-quest-log/parts/team-quest-log-root.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/parts/team-quest-name-editor.tsx",
          "type": "registry:component",
          "target": "components/team-quest-log/parts/team-quest-name-editor.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/parts/team-quest-chapters.tsx",
          "type": "registry:component",
          "target": "components/team-quest-log/parts/team-quest-chapters.tsx"
        },
        {
          "path": "src/registry/components/gamification/team-quest-log/parts/chapter-beat.tsx",
          "type": "registry:component",
          "target": "components/team-quest-log/parts/chapter-beat.tsx"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-quest-log-fixtures",
      "type": "registry:block",
      "title": "Team Quest Log — fixtures",
      "description": "Team Quest Log plus the dummy-data fixtures used by the docs-site demo.",
      "author": "ilinxa",
      "categories": [
        "gamification",
        "fixtures"
      ],
      "registryDependencies": [
        "@ilinxa/team-quest-log"
      ],
      "files": [
        {
          "path": "src/registry/components/gamification/team-quest-log/dummy-data.ts",
          "type": "registry:component",
          "target": "components/team-quest-log/dummy-data.ts"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "article-body-01",
      "type": "registry:block",
      "title": "Rich Text Editor (deprecated alias)",
      "description": "Deprecated alias — renamed to rich-text-editor in the 2026-08 naming canon. Install @ilinxa/rich-text-editor instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/rich-text-editor"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "rich-text-editor"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "calendar-01",
      "type": "registry:block",
      "title": "Event Calendar (deprecated alias)",
      "description": "Deprecated alias — renamed to event-calendar in the 2026-08 naming canon. Install @ilinxa/event-calendar instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/event-calendar"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "event-calendar"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "content-card-news-01",
      "type": "registry:block",
      "title": "News Card (deprecated alias)",
      "description": "Deprecated alias — renamed to news-card in the 2026-08 naming canon. Install @ilinxa/news-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/news-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "news-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "rich-card",
      "type": "registry:block",
      "title": "Card Tree (deprecated alias)",
      "description": "Deprecated alias — renamed to card-tree in the 2026-08 naming canon. Install @ilinxa/card-tree instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/card-tree"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "card-tree"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "rich-card-in-flow",
      "type": "registry:block",
      "title": "Card Tree Node (deprecated alias)",
      "description": "Deprecated alias — renamed to card-tree-node in the 2026-08 naming canon. Install @ilinxa/card-tree-node instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/card-tree-node"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "card-tree-node"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "thumb-list-01",
      "type": "registry:block",
      "title": "Thumbnail List (deprecated alias)",
      "description": "Deprecated alias — renamed to thumbnail-list in the 2026-08 naming canon. Install @ilinxa/thumbnail-list instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/thumbnail-list"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "thumbnail-list"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "todo-rich-card",
      "type": "registry:block",
      "title": "Task Card (deprecated alias)",
      "description": "Deprecated alias — renamed to task-card in the 2026-08 naming canon. Install @ilinxa/task-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/task-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "task-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "todo-tree",
      "type": "registry:block",
      "title": "Task Tree (deprecated alias)",
      "description": "Deprecated alias — renamed to task-tree in the 2026-08 naming canon. Install @ilinxa/task-tree instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/task-tree"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "task-tree"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "filter-stack",
      "type": "registry:block",
      "title": "Filter Panel (deprecated alias)",
      "description": "Deprecated alias — renamed to filter-panel in the 2026-08 naming canon. Install @ilinxa/filter-panel instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/filter-panel"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "filter-panel"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "registration-form-01",
      "type": "registry:block",
      "title": "Signup Form (deprecated alias)",
      "description": "Deprecated alias — renamed to signup-form in the 2026-08 naming canon. Install @ilinxa/signup-form instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/signup-form"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "signup-form"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "cooperative-challenge-01",
      "type": "registry:block",
      "title": "Team Challenge (deprecated alias)",
      "description": "Deprecated alias — renamed to team-challenge in the 2026-08 naming canon. Install @ilinxa/team-challenge instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/team-challenge"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "team-challenge"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "task-choice-control-01",
      "type": "registry:block",
      "title": "Team Task Claim (deprecated alias)",
      "description": "Deprecated alias — renamed to team-task-claim in the 2026-08 naming canon. Install @ilinxa/team-task-claim instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/team-task-claim"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "team-task-claim"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "grid-layout-news-01",
      "type": "registry:block",
      "title": "Magazine Layout (deprecated alias)",
      "description": "Deprecated alias — renamed to magazine-layout in the 2026-08 naming canon. Install @ilinxa/magazine-layout instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/magazine-layout"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "magazine-layout"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "workspace",
      "type": "registry:block",
      "title": "Split Workspace (deprecated alias)",
      "description": "Deprecated alias — renamed to split-workspace in the 2026-08 naming canon. Install @ilinxa/split-workspace instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/split-workspace"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "split-workspace"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "newsletter-card-01",
      "type": "registry:block",
      "title": "Newsletter Signup (deprecated alias)",
      "description": "Deprecated alias — renamed to newsletter-signup in the 2026-08 naming canon. Install @ilinxa/newsletter-signup instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/newsletter-signup"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "newsletter-signup"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "page-hero-news-01",
      "type": "registry:block",
      "title": "Page Hero (deprecated alias)",
      "description": "Deprecated alias — renamed to page-hero in the 2026-08 naming canon. Install @ilinxa/page-hero instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/page-hero"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "page-hero"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-carousel-editor-01",
      "type": "registry:block",
      "title": "Carousel Composer (deprecated alias)",
      "description": "Deprecated alias — renamed to carousel-composer in the 2026-08 naming canon. Install @ilinxa/carousel-composer instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/carousel-composer"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "carousel-composer"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "rich-sidebar",
      "type": "registry:block",
      "title": "App Sidebar (deprecated alias)",
      "description": "Deprecated alias — renamed to app-sidebar in the 2026-08 naming canon. Install @ilinxa/app-sidebar instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/app-sidebar"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "app-sidebar"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "gantt-timeline-01",
      "type": "registry:block",
      "title": "Gantt Timeline (deprecated alias)",
      "description": "Deprecated alias — renamed to gantt-timeline in the 2026-08 naming canon. Install @ilinxa/gantt-timeline instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/gantt-timeline"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "gantt-timeline"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "article-meta-01",
      "type": "registry:block",
      "title": "Article Meta (deprecated alias)",
      "description": "Deprecated alias — renamed to article-meta in the 2026-08 naming canon. Install @ilinxa/article-meta instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/article-meta"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "article-meta"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "blackboard-01",
      "type": "registry:block",
      "title": "Blackboard (deprecated alias)",
      "description": "Deprecated alias — renamed to blackboard in the 2026-08 naming canon. Install @ilinxa/blackboard instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/blackboard"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "blackboard"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "comment-thread-01",
      "type": "registry:block",
      "title": "Comment Thread (deprecated alias)",
      "description": "Deprecated alias — renamed to comment-thread in the 2026-08 naming canon. Install @ilinxa/comment-thread instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/comment-thread"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "comment-thread"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "engagement-bar-01",
      "type": "registry:block",
      "title": "Engagement Bar (deprecated alias)",
      "description": "Deprecated alias — renamed to engagement-bar in the 2026-08 naming canon. Install @ilinxa/engagement-bar instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/engagement-bar"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "engagement-bar"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "event-card-01",
      "type": "registry:block",
      "title": "Event Card (deprecated alias)",
      "description": "Deprecated alias — renamed to event-card in the 2026-08 naming canon. Install @ilinxa/event-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/event-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "event-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "expandable-text-01",
      "type": "registry:block",
      "title": "Expandable Text (deprecated alias)",
      "description": "Deprecated alias — renamed to expandable-text in the 2026-08 naming canon. Install @ilinxa/expandable-text instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/expandable-text"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "expandable-text"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "flow-canvas-01",
      "type": "registry:block",
      "title": "Flow Canvas (deprecated alias)",
      "description": "Deprecated alias — renamed to flow-canvas in the 2026-08 naming canon. Install @ilinxa/flow-canvas instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/flow-canvas"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "flow-canvas"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "info-list-01",
      "type": "registry:block",
      "title": "Info List (deprecated alias)",
      "description": "Deprecated alias — renamed to info-list in the 2026-08 naming canon. Install @ilinxa/info-list instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/info-list"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "info-list"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "kanban-board-01",
      "type": "registry:block",
      "title": "Kanban Board (deprecated alias)",
      "description": "Deprecated alias — renamed to kanban-board in the 2026-08 naming canon. Install @ilinxa/kanban-board instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/kanban-board"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "kanban-board"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "people-grid-01",
      "type": "registry:block",
      "title": "People Grid (deprecated alias)",
      "description": "Deprecated alias — renamed to people-grid in the 2026-08 naming canon. Install @ilinxa/people-grid instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/people-grid"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "people-grid"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "post-card-01",
      "type": "registry:block",
      "title": "Post Card (deprecated alias)",
      "description": "Deprecated alias — renamed to post-card in the 2026-08 naming canon. Install @ilinxa/post-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/post-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "post-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "progress-timeline-01",
      "type": "registry:block",
      "title": "Progress Timeline (deprecated alias)",
      "description": "Deprecated alias — renamed to progress-timeline in the 2026-08 naming canon. Install @ilinxa/progress-timeline instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/progress-timeline"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "progress-timeline"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "project-card-01",
      "type": "registry:block",
      "title": "Project Card (deprecated alias)",
      "description": "Deprecated alias — renamed to project-card in the 2026-08 naming canon. Install @ilinxa/project-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/project-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "project-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "registration-card-01",
      "type": "registry:block",
      "title": "Registration Card (deprecated alias)",
      "description": "Deprecated alias — renamed to registration-card in the 2026-08 naming canon. Install @ilinxa/registration-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/registration-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "registration-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "schedule-list-01",
      "type": "registry:block",
      "title": "Schedule List (deprecated alias)",
      "description": "Deprecated alias — renamed to schedule-list in the 2026-08 naming canon. Install @ilinxa/schedule-list instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/schedule-list"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "schedule-list"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-rail-01",
      "type": "registry:block",
      "title": "Story Rail (deprecated alias)",
      "description": "Deprecated alias — renamed to story-rail in the 2026-08 naming canon. Install @ilinxa/story-rail instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/story-rail"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "story-rail"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "category-cloud-01",
      "type": "registry:block",
      "title": "Category Cloud (deprecated alias)",
      "description": "Deprecated alias — renamed to category-cloud in the 2026-08 naming canon. Install @ilinxa/category-cloud instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/category-cloud"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "category-cloud"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "filter-bar-01",
      "type": "registry:block",
      "title": "Filter Bar (deprecated alias)",
      "description": "Deprecated alias — renamed to filter-bar in the 2026-08 naming canon. Install @ilinxa/filter-bar instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/filter-bar"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "filter-bar"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-feedback-loop-01",
      "type": "registry:block",
      "title": "Team Feedback Loop (deprecated alias)",
      "description": "Deprecated alias — renamed to team-feedback-loop in the 2026-08 naming canon. Install @ilinxa/team-feedback-loop instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/team-feedback-loop"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "team-feedback-loop"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-progress-bar-01",
      "type": "registry:block",
      "title": "Team Progress Bar (deprecated alias)",
      "description": "Deprecated alias — renamed to team-progress-bar in the 2026-08 naming canon. Install @ilinxa/team-progress-bar instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/team-progress-bar"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "team-progress-bar"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-quest-log-01",
      "type": "registry:block",
      "title": "Team Quest Log (deprecated alias)",
      "description": "Deprecated alias — renamed to team-quest-log in the 2026-08 naming canon. Install @ilinxa/team-quest-log instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/team-quest-log"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "team-quest-log"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "team-trophy-shelf-01",
      "type": "registry:block",
      "title": "Team Trophy Shelf (deprecated alias)",
      "description": "Deprecated alias — renamed to team-trophy-shelf in the 2026-08 naming canon. Install @ilinxa/team-trophy-shelf instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/team-trophy-shelf"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "team-trophy-shelf"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "author-card-01",
      "type": "registry:block",
      "title": "Author Card (deprecated alias)",
      "description": "Deprecated alias — renamed to author-card in the 2026-08 naming canon. Install @ilinxa/author-card instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/author-card"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "author-card"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pricing-table-01",
      "type": "registry:block",
      "title": "Pricing Table (deprecated alias)",
      "description": "Deprecated alias — renamed to pricing-table in the 2026-08 naming canon. Install @ilinxa/pricing-table instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/pricing-table"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "pricing-table"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "share-bar-01",
      "type": "registry:block",
      "title": "Share Bar (deprecated alias)",
      "description": "Deprecated alias — renamed to share-bar in the 2026-08 naming canon. Install @ilinxa/share-bar instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/share-bar"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "share-bar"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "content-composer-01",
      "type": "registry:block",
      "title": "Content Composer (deprecated alias)",
      "description": "Deprecated alias — renamed to content-composer in the 2026-08 naming canon. Install @ilinxa/content-composer instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/content-composer"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "content-composer"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-carousel-01",
      "type": "registry:block",
      "title": "Media Carousel (deprecated alias)",
      "description": "Deprecated alias — renamed to media-carousel in the 2026-08 naming canon. Install @ilinxa/media-carousel instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/media-carousel"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "media-carousel"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-editor-01",
      "type": "registry:block",
      "title": "Media Editor (deprecated alias)",
      "description": "Deprecated alias — renamed to media-editor in the 2026-08 naming canon. Install @ilinxa/media-editor instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/media-editor"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "media-editor"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "media-library-01",
      "type": "registry:block",
      "title": "Media Library (deprecated alias)",
      "description": "Deprecated alias — renamed to media-library in the 2026-08 naming canon. Install @ilinxa/media-library instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/media-library"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "media-library"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-composer-01",
      "type": "registry:block",
      "title": "Story Composer (deprecated alias)",
      "description": "Deprecated alias — renamed to story-composer in the 2026-08 naming canon. Install @ilinxa/story-composer instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/story-composer"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "story-composer"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "story-viewer-01",
      "type": "registry:block",
      "title": "Story Viewer (deprecated alias)",
      "description": "Deprecated alias — renamed to story-viewer in the 2026-08 naming canon. Install @ilinxa/story-viewer instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/story-viewer"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "story-viewer"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "video-player-01",
      "type": "registry:block",
      "title": "Video Player (deprecated alias)",
      "description": "Deprecated alias — renamed to video-player in the 2026-08 naming canon. Install @ilinxa/video-player instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/video-player"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "video-player"
      }
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "account-switcher-01",
      "type": "registry:block",
      "title": "Account Switcher (deprecated alias)",
      "description": "Deprecated alias — renamed to account-switcher in the 2026-08 naming canon. Install @ilinxa/account-switcher instead; this alias will be removed after a grace window.",
      "author": "ilinxa",
      "categories": [
        "deprecated"
      ],
      "registryDependencies": [
        "@ilinxa/account-switcher"
      ],
      "meta": {
        "deprecated": true,
        "replacedBy": "account-switcher"
      }
    }
  ]
}
