{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "nasaq",
  "homepage": "https://docs.nasaqui.com",
  "items": [
    {
      "name": "nasaq",
      "type": "registry:style",
      "title": "Nasaq",
      "description": "The Nasaq preset: tokens for light and dark, brands, densities and expressions as CSS variables, the cn util, NasaqProvider and the theme script.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "preset"
      ],
      "docs": "Wrap your app in NasaqProvider (components/nasaq/nasaq-provider) and load the fonts you want: Inter, JetBrains Mono and an Arabic face. Guide: https://docs.nasaqui.com/?path=/story/docs-installation-shadcn-cli--page",
      "dependencies": [
        "clsx@2.1.1",
        "tailwind-merge@3.7.0",
        "@base-ui/react@1.8.0"
      ],
      "files": [
        {
          "path": "registry/nasaq/lib/utils.ts",
          "type": "registry:lib",
          "target": "lib/utils.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/tokens.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/tokens.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/hotkey.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/hotkey.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/commerce.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/commerce.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/delivery.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/delivery.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/click-sound.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/click-sound.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/marks.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/marks.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/mark-svg.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/mark-svg.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/manifests.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/manifests.ts"
        },
        {
          "path": "registry/nasaq/lib/nasaq/brands.ts",
          "type": "registry:lib",
          "target": "lib/nasaq/brands.ts"
        },
        {
          "path": "registry/nasaq/components/nasaq/nasaq-provider.tsx",
          "type": "registry:component",
          "target": "components/nasaq/nasaq-provider.tsx"
        },
        {
          "path": "registry/nasaq/components/nasaq/theme-script.ts",
          "type": "registry:component",
          "target": "components/nasaq/theme-script.ts"
        }
      ],
      "cssVars": {
        "theme": {
          "color-background": "var(--background)",
          "color-foreground": "var(--foreground)",
          "color-card": "var(--card)",
          "color-card-foreground": "var(--card-foreground)",
          "color-popover": "var(--popover)",
          "color-popover-foreground": "var(--popover-foreground)",
          "color-primary": "var(--primary)",
          "color-primary-foreground": "var(--primary-foreground)",
          "color-secondary": "var(--secondary)",
          "color-secondary-foreground": "var(--secondary-foreground)",
          "color-muted": "var(--muted)",
          "color-muted-foreground": "var(--muted-foreground)",
          "color-accent": "var(--accent)",
          "color-accent-foreground": "var(--accent-foreground)",
          "color-destructive": "var(--destructive)",
          "color-destructive-foreground": "var(--destructive-foreground)",
          "color-border": "var(--border)",
          "color-input": "var(--input)",
          "color-ring": "var(--ring)",
          "color-chart-1": "var(--chart-1)",
          "color-chart-2": "var(--chart-2)",
          "color-chart-3": "var(--chart-3)",
          "color-chart-4": "var(--chart-4)",
          "color-chart-5": "var(--chart-5)",
          "color-sidebar": "var(--sidebar)",
          "color-sidebar-foreground": "var(--sidebar-foreground)",
          "color-sidebar-primary": "var(--sidebar-primary)",
          "color-sidebar-primary-foreground": "var(--sidebar-primary-foreground)",
          "color-sidebar-accent": "var(--sidebar-accent)",
          "color-sidebar-accent-foreground": "var(--sidebar-accent-foreground)",
          "color-sidebar-border": "var(--sidebar-border)",
          "color-sidebar-ring": "var(--sidebar-ring)",
          "color-nq-bg": "var(--nq-bg)",
          "color-nq-surface": "var(--nq-surface)",
          "color-nq-surface-raised": "var(--nq-surface-raised)",
          "color-nq-surface-overlay": "var(--nq-surface-overlay)",
          "color-nq-surface-soft": "var(--nq-surface-soft)",
          "color-nq-line": "var(--nq-line)",
          "color-nq-line-strong": "var(--nq-line-strong)",
          "color-nq-fg": "var(--nq-fg)",
          "color-nq-fg-body": "var(--nq-fg-body)",
          "color-nq-fg-muted": "var(--nq-fg-muted)",
          "color-nq-accent": "var(--nq-accent)",
          "color-nq-accent-text": "var(--nq-accent-text)",
          "color-nq-focus": "var(--nq-focus)",
          "color-nq-success": "var(--nq-success)",
          "color-nq-success-text": "var(--nq-success-text)",
          "color-nq-warning": "var(--nq-warning)",
          "color-nq-warning-text": "var(--nq-warning-text)",
          "color-nq-danger": "var(--nq-danger)",
          "color-nq-danger-text": "var(--nq-danger-text)",
          "color-nq-danger-solid": "var(--nq-danger-solid)",
          "color-nq-on-danger": "var(--nq-on-danger)",
          "color-nq-info": "var(--nq-info)",
          "color-nq-info-text": "var(--nq-info-text)",
          "color-nq-hover": "var(--nq-hover)",
          "color-nq-selected": "var(--nq-selected)",
          "color-nq-success-soft": "var(--nq-success-soft)",
          "color-nq-warning-soft": "var(--nq-warning-soft)",
          "color-nq-danger-soft": "var(--nq-danger-soft)",
          "color-nq-info-soft": "var(--nq-info-soft)",
          "color-nq-elevated": "var(--nq-elevated)",
          "color-nq-ok": "var(--nq-ok)",
          "color-nq-ok-text": "var(--nq-ok-text)",
          "color-nq-warn": "var(--nq-warn)",
          "color-nq-warn-text": "var(--nq-warn-text)",
          "color-nq-brand": "var(--nq-brand)",
          "color-nq-action": "var(--nq-action)",
          "color-nq-on-action": "var(--nq-on-action)",
          "color-nq-primary-action": "var(--nq-primary-action)",
          "color-nq-tag-gray": "var(--nq-tag-gray)",
          "color-nq-tag-gray-soft": "var(--nq-tag-gray-soft)",
          "color-nq-tag-red": "var(--nq-tag-red)",
          "color-nq-tag-red-soft": "var(--nq-tag-red-soft)",
          "color-nq-tag-orange": "var(--nq-tag-orange)",
          "color-nq-tag-orange-soft": "var(--nq-tag-orange-soft)",
          "color-nq-tag-amber": "var(--nq-tag-amber)",
          "color-nq-tag-amber-soft": "var(--nq-tag-amber-soft)",
          "color-nq-tag-green": "var(--nq-tag-green)",
          "color-nq-tag-green-soft": "var(--nq-tag-green-soft)",
          "color-nq-tag-teal": "var(--nq-tag-teal)",
          "color-nq-tag-teal-soft": "var(--nq-tag-teal-soft)",
          "color-nq-tag-blue": "var(--nq-tag-blue)",
          "color-nq-tag-blue-soft": "var(--nq-tag-blue-soft)",
          "color-nq-tag-violet": "var(--nq-tag-violet)",
          "color-nq-tag-violet-soft": "var(--nq-tag-violet-soft)",
          "color-nq-tag-pink": "var(--nq-tag-pink)",
          "color-nq-tag-pink-soft": "var(--nq-tag-pink-soft)",
          "font-sans": "var(--nq-font-ui)",
          "font-mono": "var(--nq-font-mono)",
          "font-arabic": "var(--nq-font-arabic)",
          "radius-surface": "var(--nq-radius-surface)",
          "radius-card": "var(--nq-radius-card)",
          "radius-control": "var(--nq-radius-control)",
          "radius-floating": "var(--nq-radius-floating)",
          "radius-sm": "calc(var(--nq-radius-control) - 2px)",
          "radius-md": "var(--nq-radius-control)",
          "radius-lg": "var(--nq-radius-floating)",
          "text-display": "var(--nq-type-display-size)",
          "text-display--line-height": "var(--nq-type-display-line)",
          "text-display--font-weight": "var(--nq-type-display-weight)",
          "text-display--letter-spacing": "var(--nq-type-display-tracking)",
          "text-h1": "var(--nq-type-h1-size)",
          "text-h1--line-height": "var(--nq-type-h1-line)",
          "text-h1--font-weight": "var(--nq-type-h1-weight)",
          "text-h1--letter-spacing": "var(--nq-type-h1-tracking)",
          "text-h2": "var(--nq-type-h2-size)",
          "text-h2--line-height": "var(--nq-type-h2-line)",
          "text-h2--font-weight": "var(--nq-type-h2-weight)",
          "text-h2--letter-spacing": "var(--nq-type-h2-tracking)",
          "text-h3": "var(--nq-type-h3-size)",
          "text-h3--line-height": "var(--nq-type-h3-line)",
          "text-h3--font-weight": "var(--nq-type-h3-weight)",
          "text-h3--letter-spacing": "var(--nq-type-h3-tracking)",
          "text-body": "var(--nq-type-body-size)",
          "text-body--line-height": "var(--nq-type-body-line)",
          "text-body--font-weight": "var(--nq-type-body-weight)",
          "text-body--letter-spacing": "var(--nq-type-body-tracking)",
          "text-body-sm": "var(--nq-type-body-sm-size)",
          "text-body-sm--line-height": "var(--nq-type-body-sm-line)",
          "text-body-sm--font-weight": "var(--nq-type-body-sm-weight)",
          "text-body-sm--letter-spacing": "var(--nq-type-body-sm-tracking)",
          "text-label": "var(--nq-type-label-size)",
          "text-label--line-height": "var(--nq-type-label-line)",
          "text-label--font-weight": "var(--nq-type-label-weight)",
          "text-label--letter-spacing": "var(--nq-type-label-tracking)",
          "text-caption": "var(--nq-type-caption-size)",
          "text-caption--line-height": "var(--nq-type-caption-line)",
          "text-caption--font-weight": "var(--nq-type-caption-weight)",
          "text-caption--letter-spacing": "var(--nq-type-caption-tracking)",
          "text-eyebrow": "var(--nq-type-eyebrow-size)",
          "text-eyebrow--line-height": "var(--nq-type-eyebrow-line)",
          "text-eyebrow--font-weight": "var(--nq-type-eyebrow-weight)",
          "text-eyebrow--letter-spacing": "var(--nq-type-eyebrow-tracking)",
          "text-code": "var(--nq-type-code-size)",
          "text-code--line-height": "var(--nq-type-code-line)",
          "text-code--font-weight": "var(--nq-type-code-weight)",
          "text-code--letter-spacing": "var(--nq-type-code-tracking)",
          "spacing-control": "var(--nq-control)",
          "spacing-control-sm": "var(--nq-control-sm)",
          "spacing-row": "var(--nq-row)",
          "spacing-nav-row": "var(--nq-nav-row)",
          "spacing-page": "var(--nq-page-pad)",
          "spacing-header": "var(--nq-header)",
          "spacing-shell": "var(--nq-shell-pad)",
          "spacing-rail": "var(--nq-layout-rail)",
          "container-column": "var(--nq-layout-column)",
          "ease-nq": "var(--nq-ease)",
          "default-transition-duration": "var(--nq-duration-fast)"
        },
        "light": {
          "nq-bg": "#F0EBE1",
          "nq-surface": "#F7F4EC",
          "nq-surface-raised": "#FAF8F3",
          "nq-surface-overlay": "#FDFCF9",
          "nq-surface-soft": "#EDE7DB",
          "nq-line": "#DED5C4",
          "nq-line-strong": "#C7BEA9",
          "nq-fg": "#0E1A3C",
          "nq-fg-body": "#4A4438",
          "nq-fg-muted": "#6E6551",
          "nq-accent": "#C9A227",
          "nq-accent-text": "#7D6310",
          "nq-focus": "#0E1A3C",
          "nq-success": "#4E9A3E",
          "nq-success-text": "#33702A",
          "nq-warning": "#E0931A",
          "nq-warning-text": "#8A5300",
          "nq-danger": "#D9455F",
          "nq-danger-text": "#A8233B",
          "nq-danger-solid": "#A8233B",
          "nq-on-danger": "#FFFFFF",
          "nq-info": "#4A84E0",
          "nq-info-text": "#1F55A8",
          "nq-hover": "color-mix(in oklab, var(--nq-fg) 5%, transparent)",
          "nq-selected": "color-mix(in oklab, var(--nq-fg) 8%, transparent)",
          "nq-success-soft": "color-mix(in oklab, var(--nq-success) 12%, transparent)",
          "nq-warning-soft": "color-mix(in oklab, var(--nq-warning) 12%, transparent)",
          "nq-danger-soft": "color-mix(in oklab, var(--nq-danger) 12%, transparent)",
          "nq-info-soft": "color-mix(in oklab, var(--nq-info) 12%, transparent)",
          "nq-elevated": "var(--nq-surface-overlay)",
          "nq-ok": "var(--nq-success)",
          "nq-ok-text": "var(--nq-success-text)",
          "nq-warn": "var(--nq-warning)",
          "nq-warn-text": "var(--nq-warning-text)",
          "nq-tag-gray": "#66708A",
          "nq-tag-gray-soft": "color-mix(in oklab, #66708A 14%, transparent)",
          "nq-tag-red": "#C23A53",
          "nq-tag-red-soft": "color-mix(in oklab, #C23A53 14%, transparent)",
          "nq-tag-orange": "#D05F18",
          "nq-tag-orange-soft": "color-mix(in oklab, #D05F18 14%, transparent)",
          "nq-tag-amber": "#B58710",
          "nq-tag-amber-soft": "color-mix(in oklab, #B58710 14%, transparent)",
          "nq-tag-green": "#3F8A34",
          "nq-tag-green-soft": "color-mix(in oklab, #3F8A34 14%, transparent)",
          "nq-tag-teal": "#0F7C80",
          "nq-tag-teal-soft": "color-mix(in oklab, #0F7C80 14%, transparent)",
          "nq-tag-blue": "#2F6FCF",
          "nq-tag-blue-soft": "color-mix(in oklab, #2F6FCF 14%, transparent)",
          "nq-tag-violet": "#7B3FB0",
          "nq-tag-violet-soft": "color-mix(in oklab, #7B3FB0 14%, transparent)",
          "nq-tag-pink": "#C0438E",
          "nq-tag-pink-soft": "color-mix(in oklab, #C0438E 14%, transparent)",
          "color-scheme": "light"
        },
        "dark": {
          "nq-bg": "#0B1429",
          "nq-surface": "#0E1A3C",
          "nq-surface-raised": "#132147",
          "nq-surface-overlay": "#1B2A52",
          "nq-surface-soft": "#1A2747",
          "nq-line": "#25355C",
          "nq-line-strong": "#8A97B8",
          "nq-fg": "#F0EBE1",
          "nq-fg-body": "#C8D0E4",
          "nq-fg-muted": "#8A97B8",
          "nq-accent": "#C9A227",
          "nq-accent-text": "#C9A227",
          "nq-focus": "#F0EBE1",
          "nq-success": "#4E9A3E",
          "nq-success-text": "#6FBF5E",
          "nq-warning": "#E0931A",
          "nq-warning-text": "#F2B85C",
          "nq-danger": "#D9455F",
          "nq-danger-text": "#E8788C",
          "nq-danger-solid": "#E8788C",
          "nq-on-danger": "#0B1429",
          "nq-info": "#4A84E0",
          "nq-info-text": "#8DB4F5",
          "nq-hover": "color-mix(in oklab, var(--nq-fg) 6%, transparent)",
          "nq-selected": "color-mix(in oklab, var(--nq-fg) 10%, transparent)",
          "nq-success-soft": "color-mix(in oklab, var(--nq-success) 18%, transparent)",
          "nq-warning-soft": "color-mix(in oklab, var(--nq-warning) 18%, transparent)",
          "nq-danger-soft": "color-mix(in oklab, var(--nq-danger) 18%, transparent)",
          "nq-info-soft": "color-mix(in oklab, var(--nq-info) 18%, transparent)",
          "nq-elevated": "var(--nq-surface-overlay)",
          "nq-ok": "var(--nq-success)",
          "nq-ok-text": "var(--nq-success-text)",
          "nq-warn": "var(--nq-warning)",
          "nq-warn-text": "var(--nq-warning-text)",
          "nq-tag-gray": "#A3ADC6",
          "nq-tag-gray-soft": "color-mix(in oklab, #A3ADC6 22%, transparent)",
          "nq-tag-red": "#EE8398",
          "nq-tag-red-soft": "color-mix(in oklab, #EE8398 22%, transparent)",
          "nq-tag-orange": "#F09A5C",
          "nq-tag-orange-soft": "color-mix(in oklab, #F09A5C 22%, transparent)",
          "nq-tag-amber": "#E0BF55",
          "nq-tag-amber-soft": "color-mix(in oklab, #E0BF55 22%, transparent)",
          "nq-tag-green": "#7FCB6D",
          "nq-tag-green-soft": "color-mix(in oklab, #7FCB6D 22%, transparent)",
          "nq-tag-teal": "#5EC4C6",
          "nq-tag-teal-soft": "color-mix(in oklab, #5EC4C6 22%, transparent)",
          "nq-tag-blue": "#78A8F0",
          "nq-tag-blue-soft": "color-mix(in oklab, #78A8F0 22%, transparent)",
          "nq-tag-violet": "#B784D6",
          "nq-tag-violet-soft": "color-mix(in oklab, #B784D6 22%, transparent)",
          "nq-tag-pink": "#EF8FC8",
          "nq-tag-pink-soft": "color-mix(in oklab, #EF8FC8 22%, transparent)",
          "color-scheme": "dark"
        }
      },
      "css": {
        ":root": {
          "--nq-color-ink-300": "#C8D0E4",
          "--nq-color-ink-500": "#8A97B8",
          "--nq-color-ink-700": "#25355C",
          "--nq-color-ink-800": "#1A2747",
          "--nq-color-ink-825": "#1B2A52",
          "--nq-color-ink-850": "#18264A",
          "--nq-color-ink-875": "#132147",
          "--nq-color-ink-900": "#0E1A3C",
          "--nq-color-ink-950": "#0B1429",
          "--nq-color-ivory-25": "#FDFCF9",
          "--nq-color-ivory-50": "#FAF8F3",
          "--nq-color-ivory-100": "#F7F4EC",
          "--nq-color-ivory-200": "#F0EBE1",
          "--nq-color-ivory-300": "#EDE7DB",
          "--nq-color-ivory-400": "#DED5C4",
          "--nq-color-ivory-450": "#C7BEA9",
          "--nq-color-ivory-600": "#6E6551",
          "--nq-color-ivory-700": "#4A4438",
          "--nq-color-white": "#FFFFFF",
          "--nq-color-gold-500": "#C9A227",
          "--nq-color-gold-700": "#7D6310",
          "--nq-color-orange-600": "#E2661C",
          "--nq-color-green-300": "#6FBF5E",
          "--nq-color-green-500": "#4E9A3E",
          "--nq-color-green-700": "#33702A",
          "--nq-color-red-300": "#E8788C",
          "--nq-color-red-500": "#D9455F",
          "--nq-color-red-700": "#A8233B",
          "--nq-color-amber-300": "#F2B85C",
          "--nq-color-amber-500": "#E0931A",
          "--nq-color-amber-700": "#8A5300",
          "--nq-color-blue-300": "#8DB4F5",
          "--nq-color-blue-500": "#4A84E0",
          "--nq-color-blue-700": "#1F55A8",
          "--nq-space-1": "4px",
          "--nq-space-2": "8px",
          "--nq-space-3": "12px",
          "--nq-space-4": "16px",
          "--nq-space-6": "24px",
          "--nq-space-8": "32px",
          "--nq-space-12": "48px",
          "--nq-space-16": "64px",
          "--nq-space-hair": "2px",
          "--nq-layout-rail": "20px",
          "--nq-layout-pad": "28px",
          "--nq-layout-gap": "16px",
          "--nq-layout-column": "860px",
          "--nq-window-titlebar-darwin": "52px",
          "--nq-window-titlebar-win32": "40px",
          "--nq-window-titlebar-linux": "46px",
          "--nq-window-inset-darwin": "80px",
          "--nq-window-inset-win32": "138px",
          "--nq-window-inset-linux": "108px",
          "--nq-duration-fast": "150ms",
          "--nq-duration-sheet": "240ms",
          "--nq-font-sans": "Inter, \"IBM Plex Sans Arabic\", system-ui, -apple-system, \"Segoe UI\", sans-serif",
          "--nq-font-arabic": "\"IBM Plex Sans Arabic\", Inter, system-ui, -apple-system, \"Segoe UI\", sans-serif",
          "--nq-font-mono": "\"JetBrains Mono\", \"IBM Plex Sans Arabic\", ui-monospace, monospace",
          "--nq-ease": "cubic-bezier(0.2, 0, 0, 1)",
          "--nq-window-titlebar": "0px",
          "--nq-window-inset": "0px",
          "--nq-brand-l": "#15694A",
          "--nq-brand-d": "#4CC495",
          "--nq-action-l": "#15694A",
          "--nq-action-d": "#4CC495",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227",
          "--nq-type-display-size": "2.5rem",
          "--nq-type-display-line": "1.1",
          "--nq-type-display-weight": "500",
          "--nq-type-display-tracking": "0em",
          "--nq-type-h1-size": "1.875rem",
          "--nq-type-h1-line": "1.2",
          "--nq-type-h1-weight": "500",
          "--nq-type-h1-tracking": "0em",
          "--nq-type-h2-size": "1.5rem",
          "--nq-type-h2-line": "1.25",
          "--nq-type-h2-weight": "500",
          "--nq-type-h2-tracking": "0em",
          "--nq-type-h3-size": "1.1875rem",
          "--nq-type-h3-line": "1.3",
          "--nq-type-h3-weight": "500",
          "--nq-type-h3-tracking": "0em",
          "--nq-type-body-size": "0.9375rem",
          "--nq-type-body-line": "1.55",
          "--nq-type-body-weight": "400",
          "--nq-type-body-tracking": "0em",
          "--nq-type-body-sm-size": "0.8125rem",
          "--nq-type-body-sm-line": "1.5",
          "--nq-type-body-sm-weight": "400",
          "--nq-type-body-sm-tracking": "0em",
          "--nq-type-label-size": "0.8125rem",
          "--nq-type-label-line": "1.3",
          "--nq-type-label-weight": "500",
          "--nq-type-label-tracking": "0em",
          "--nq-type-caption-size": "0.75rem",
          "--nq-type-caption-line": "1.4",
          "--nq-type-caption-weight": "400",
          "--nq-type-caption-tracking": "0em",
          "--nq-type-eyebrow-size": "0.6875rem",
          "--nq-type-eyebrow-line": "1.4",
          "--nq-type-eyebrow-weight": "500",
          "--nq-type-eyebrow-tracking": "0.14em",
          "--nq-type-code-size": "0.8125rem",
          "--nq-type-code-line": "1.5",
          "--nq-type-code-weight": "400",
          "--nq-type-code-tracking": "0em",
          "--nq-font-ui": "var(--nq-font-sans)",
          "--nq-font-eyebrow": "var(--nq-font-mono)",
          "--nq-eyebrow-transform": "uppercase"
        },
        "[data-platform=\"darwin\"]": {
          "--nq-window-titlebar": "var(--nq-window-titlebar-darwin)",
          "--nq-window-inset": "var(--nq-window-inset-darwin)"
        },
        "[data-platform=\"win32\"]": {
          "--nq-window-titlebar": "var(--nq-window-titlebar-win32)",
          "--nq-window-inset": "var(--nq-window-inset-win32)"
        },
        "[data-platform=\"linux\"]": {
          "--nq-window-titlebar": "var(--nq-window-titlebar-linux)",
          "--nq-window-inset": "var(--nq-window-inset-linux)"
        },
        ":root, [data-theme=\"light\"]": {
          "--nq-bg": "#F0EBE1",
          "--nq-surface": "#F7F4EC",
          "--nq-surface-raised": "#FAF8F3",
          "--nq-surface-overlay": "#FDFCF9",
          "--nq-surface-soft": "#EDE7DB",
          "--nq-line": "#DED5C4",
          "--nq-line-strong": "#C7BEA9",
          "--nq-fg": "#0E1A3C",
          "--nq-fg-body": "#4A4438",
          "--nq-fg-muted": "#6E6551",
          "--nq-accent": "#C9A227",
          "--nq-accent-text": "#7D6310",
          "--nq-focus": "#0E1A3C",
          "--nq-success": "#4E9A3E",
          "--nq-success-text": "#33702A",
          "--nq-warning": "#E0931A",
          "--nq-warning-text": "#8A5300",
          "--nq-danger": "#D9455F",
          "--nq-danger-text": "#A8233B",
          "--nq-danger-solid": "#A8233B",
          "--nq-on-danger": "#FFFFFF",
          "--nq-info": "#4A84E0",
          "--nq-info-text": "#1F55A8",
          "--nq-hover": "color-mix(in oklab, var(--nq-fg) 5%, transparent)",
          "--nq-selected": "color-mix(in oklab, var(--nq-fg) 8%, transparent)",
          "--nq-success-soft": "color-mix(in oklab, var(--nq-success) 12%, transparent)",
          "--nq-warning-soft": "color-mix(in oklab, var(--nq-warning) 12%, transparent)",
          "--nq-danger-soft": "color-mix(in oklab, var(--nq-danger) 12%, transparent)",
          "--nq-info-soft": "color-mix(in oklab, var(--nq-info) 12%, transparent)",
          "--nq-elevated": "var(--nq-surface-overlay)",
          "--nq-ok": "var(--nq-success)",
          "--nq-ok-text": "var(--nq-success-text)",
          "--nq-warn": "var(--nq-warning)",
          "--nq-warn-text": "var(--nq-warning-text)",
          "--nq-tag-gray": "#66708A",
          "--nq-tag-gray-soft": "color-mix(in oklab, #66708A 14%, transparent)",
          "--nq-tag-red": "#C23A53",
          "--nq-tag-red-soft": "color-mix(in oklab, #C23A53 14%, transparent)",
          "--nq-tag-orange": "#D05F18",
          "--nq-tag-orange-soft": "color-mix(in oklab, #D05F18 14%, transparent)",
          "--nq-tag-amber": "#B58710",
          "--nq-tag-amber-soft": "color-mix(in oklab, #B58710 14%, transparent)",
          "--nq-tag-green": "#3F8A34",
          "--nq-tag-green-soft": "color-mix(in oklab, #3F8A34 14%, transparent)",
          "--nq-tag-teal": "#0F7C80",
          "--nq-tag-teal-soft": "color-mix(in oklab, #0F7C80 14%, transparent)",
          "--nq-tag-blue": "#2F6FCF",
          "--nq-tag-blue-soft": "color-mix(in oklab, #2F6FCF 14%, transparent)",
          "--nq-tag-violet": "#7B3FB0",
          "--nq-tag-violet-soft": "color-mix(in oklab, #7B3FB0 14%, transparent)",
          "--nq-tag-pink": "#C0438E",
          "--nq-tag-pink-soft": "color-mix(in oklab, #C0438E 14%, transparent)",
          "color-scheme": "light"
        },
        ".dark, [data-theme=\"dark\"]": {
          "--nq-bg": "#0B1429",
          "--nq-surface": "#0E1A3C",
          "--nq-surface-raised": "#132147",
          "--nq-surface-overlay": "#1B2A52",
          "--nq-surface-soft": "#1A2747",
          "--nq-line": "#25355C",
          "--nq-line-strong": "#8A97B8",
          "--nq-fg": "#F0EBE1",
          "--nq-fg-body": "#C8D0E4",
          "--nq-fg-muted": "#8A97B8",
          "--nq-accent": "#C9A227",
          "--nq-accent-text": "#C9A227",
          "--nq-focus": "#F0EBE1",
          "--nq-success": "#4E9A3E",
          "--nq-success-text": "#6FBF5E",
          "--nq-warning": "#E0931A",
          "--nq-warning-text": "#F2B85C",
          "--nq-danger": "#D9455F",
          "--nq-danger-text": "#E8788C",
          "--nq-danger-solid": "#E8788C",
          "--nq-on-danger": "#0B1429",
          "--nq-info": "#4A84E0",
          "--nq-info-text": "#8DB4F5",
          "--nq-hover": "color-mix(in oklab, var(--nq-fg) 6%, transparent)",
          "--nq-selected": "color-mix(in oklab, var(--nq-fg) 10%, transparent)",
          "--nq-success-soft": "color-mix(in oklab, var(--nq-success) 18%, transparent)",
          "--nq-warning-soft": "color-mix(in oklab, var(--nq-warning) 18%, transparent)",
          "--nq-danger-soft": "color-mix(in oklab, var(--nq-danger) 18%, transparent)",
          "--nq-info-soft": "color-mix(in oklab, var(--nq-info) 18%, transparent)",
          "--nq-elevated": "var(--nq-surface-overlay)",
          "--nq-ok": "var(--nq-success)",
          "--nq-ok-text": "var(--nq-success-text)",
          "--nq-warn": "var(--nq-warning)",
          "--nq-warn-text": "var(--nq-warning-text)",
          "--nq-tag-gray": "#A3ADC6",
          "--nq-tag-gray-soft": "color-mix(in oklab, #A3ADC6 22%, transparent)",
          "--nq-tag-red": "#EE8398",
          "--nq-tag-red-soft": "color-mix(in oklab, #EE8398 22%, transparent)",
          "--nq-tag-orange": "#F09A5C",
          "--nq-tag-orange-soft": "color-mix(in oklab, #F09A5C 22%, transparent)",
          "--nq-tag-amber": "#E0BF55",
          "--nq-tag-amber-soft": "color-mix(in oklab, #E0BF55 22%, transparent)",
          "--nq-tag-green": "#7FCB6D",
          "--nq-tag-green-soft": "color-mix(in oklab, #7FCB6D 22%, transparent)",
          "--nq-tag-teal": "#5EC4C6",
          "--nq-tag-teal-soft": "color-mix(in oklab, #5EC4C6 22%, transparent)",
          "--nq-tag-blue": "#78A8F0",
          "--nq-tag-blue-soft": "color-mix(in oklab, #78A8F0 22%, transparent)",
          "--nq-tag-violet": "#B784D6",
          "--nq-tag-violet-soft": "color-mix(in oklab, #B784D6 22%, transparent)",
          "--nq-tag-pink": "#EF8FC8",
          "--nq-tag-pink-soft": "color-mix(in oklab, #EF8FC8 22%, transparent)",
          "color-scheme": "dark"
        },
        "@media (prefers-color-scheme: dark)": {
          "[data-theme=\"system\"]": {
            "--nq-bg": "#0B1429",
            "--nq-surface": "#0E1A3C",
            "--nq-surface-raised": "#132147",
            "--nq-surface-overlay": "#1B2A52",
            "--nq-surface-soft": "#1A2747",
            "--nq-line": "#25355C",
            "--nq-line-strong": "#8A97B8",
            "--nq-fg": "#F0EBE1",
            "--nq-fg-body": "#C8D0E4",
            "--nq-fg-muted": "#8A97B8",
            "--nq-accent": "#C9A227",
            "--nq-accent-text": "#C9A227",
            "--nq-focus": "#F0EBE1",
            "--nq-success": "#4E9A3E",
            "--nq-success-text": "#6FBF5E",
            "--nq-warning": "#E0931A",
            "--nq-warning-text": "#F2B85C",
            "--nq-danger": "#D9455F",
            "--nq-danger-text": "#E8788C",
            "--nq-danger-solid": "#E8788C",
            "--nq-on-danger": "#0B1429",
            "--nq-info": "#4A84E0",
            "--nq-info-text": "#8DB4F5",
            "--nq-hover": "color-mix(in oklab, var(--nq-fg) 6%, transparent)",
            "--nq-selected": "color-mix(in oklab, var(--nq-fg) 10%, transparent)",
            "--nq-success-soft": "color-mix(in oklab, var(--nq-success) 18%, transparent)",
            "--nq-warning-soft": "color-mix(in oklab, var(--nq-warning) 18%, transparent)",
            "--nq-danger-soft": "color-mix(in oklab, var(--nq-danger) 18%, transparent)",
            "--nq-info-soft": "color-mix(in oklab, var(--nq-info) 18%, transparent)",
            "--nq-elevated": "var(--nq-surface-overlay)",
            "--nq-ok": "var(--nq-success)",
            "--nq-ok-text": "var(--nq-success-text)",
            "--nq-warn": "var(--nq-warning)",
            "--nq-warn-text": "var(--nq-warning-text)",
            "--nq-tag-gray": "#A3ADC6",
            "--nq-tag-gray-soft": "color-mix(in oklab, #A3ADC6 22%, transparent)",
            "--nq-tag-red": "#EE8398",
            "--nq-tag-red-soft": "color-mix(in oklab, #EE8398 22%, transparent)",
            "--nq-tag-orange": "#F09A5C",
            "--nq-tag-orange-soft": "color-mix(in oklab, #F09A5C 22%, transparent)",
            "--nq-tag-amber": "#E0BF55",
            "--nq-tag-amber-soft": "color-mix(in oklab, #E0BF55 22%, transparent)",
            "--nq-tag-green": "#7FCB6D",
            "--nq-tag-green-soft": "color-mix(in oklab, #7FCB6D 22%, transparent)",
            "--nq-tag-teal": "#5EC4C6",
            "--nq-tag-teal-soft": "color-mix(in oklab, #5EC4C6 22%, transparent)",
            "--nq-tag-blue": "#78A8F0",
            "--nq-tag-blue-soft": "color-mix(in oklab, #78A8F0 22%, transparent)",
            "--nq-tag-violet": "#B784D6",
            "--nq-tag-violet-soft": "color-mix(in oklab, #B784D6 22%, transparent)",
            "--nq-tag-pink": "#EF8FC8",
            "--nq-tag-pink-soft": "color-mix(in oklab, #EF8FC8 22%, transparent)",
            "color-scheme": "dark"
          },
          "[data-theme=\"system\"], [data-theme=\"system\"] [data-brand]": {
            "--nq-brand": "var(--nq-brand-d)",
            "--nq-action": "var(--nq-action-d)",
            "--nq-on-action": "var(--nq-on-action-d)",
            "--nq-primary-action": "var(--nq-action-d)"
          }
        },
        "[data-brand=\"nasaq\"]": {
          "--nq-brand-l": "#15694A",
          "--nq-brand-d": "#4CC495",
          "--nq-action-l": "#15694A",
          "--nq-action-d": "#4CC495",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"fadymondy\"]": {
          "--nq-brand-l": "#0E1A3C",
          "--nq-brand-d": "#F0EBE1",
          "--nq-action-l": "#E2661C",
          "--nq-action-d": "#E2661C",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"mahaam\"]": {
          "--nq-brand-l": "#8C3FB5",
          "--nq-brand-d": "#B784D6",
          "--nq-action-l": "#8C3FB5",
          "--nq-action-d": "#B784D6",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"zekra\"]": {
          "--nq-brand-l": "#6D4DE6",
          "--nq-brand-d": "#6D4DE6",
          "--nq-action-l": "#6D4DE6",
          "--nq-action-d": "#6D4DE6",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#FFFFFF",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"moharrik\"]": {
          "--nq-brand-l": "#00A0A8",
          "--nq-brand-d": "#2EC4CB",
          "--nq-action-l": "#00A0A8",
          "--nq-action-d": "#2EC4CB",
          "--nq-on-action-l": "#0B1429",
          "--nq-on-action-d": "#0B1429",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"seatfor\"]": {
          "--nq-brand-l": "#B8479B",
          "--nq-brand-d": "#B8479B",
          "--nq-action-l": "#E2661C",
          "--nq-action-d": "#E2661C",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"health-debug\"]": {
          "--nq-brand-l": "#B0243F",
          "--nq-brand-d": "#D9455F",
          "--nq-action-l": "#B0243F",
          "--nq-action-d": "#D9455F",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"circlexo\"]": {
          "--nq-brand-l": "#6FA8D6",
          "--nq-brand-d": "#6FA8D6",
          "--nq-action-l": "#3D7CAE",
          "--nq-action-d": "#6FA8D6",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"hosbah\"]": {
          "--nq-brand-l": "#2E6F9E",
          "--nq-brand-d": "#7FB0D6",
          "--nq-action-l": "#2E6F9E",
          "--nq-action-d": "#7FB0D6",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"orchestra\"]": {
          "--nq-brand-l": "#D97757",
          "--nq-brand-d": "#D97757",
          "--nq-action-l": "#D97757",
          "--nq-action-d": "#D97757",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#8C3B1F"
        },
        "[data-brand=\"togo\"]": {
          "--nq-brand-l": "#0E1A3C",
          "--nq-brand-d": "#F0EBE1",
          "--nq-action-l": "#1F8A99",
          "--nq-action-d": "#1F8A99",
          "--nq-on-action-l": "#0B1429",
          "--nq-on-action-d": "#0B1429",
          "--nq-accent-brand": "#1F8A99"
        },
        "[data-brand=\"matjar\"]": {
          "--nq-brand-l": "#0E7C66",
          "--nq-brand-d": "#2FCB9F",
          "--nq-action-l": "#0E7C66",
          "--nq-action-d": "#2FCB9F",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"sanduq\"]": {
          "--nq-brand-l": "#B7791F",
          "--nq-brand-d": "#E9B44C",
          "--nq-action-l": "#B7791F",
          "--nq-action-d": "#E9B44C",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#0E1A3C"
        },
        "[data-brand=\"mizan\"]": {
          "--nq-brand-l": "#1E3A5F",
          "--nq-brand-d": "#7FA7D9",
          "--nq-action-l": "#1E3A5F",
          "--nq-action-d": "#7FA7D9",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"qaima\"]": {
          "--nq-brand-l": "#B5400F",
          "--nq-brand-d": "#F0A062",
          "--nq-action-l": "#B5400F",
          "--nq-action-d": "#F0A062",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"makhzan\"]": {
          "--nq-brand-l": "#8D6E3F",
          "--nq-brand-d": "#D2B48C",
          "--nq-action-l": "#8D6E3F",
          "--nq-action-d": "#D2B48C",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        "[data-brand=\"mawared\"]": {
          "--nq-brand-l": "#A23B72",
          "--nq-brand-d": "#E07AAE",
          "--nq-action-l": "#A23B72",
          "--nq-action-d": "#E07AAE",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        },
        ":root, [data-brand], [data-theme=\"light\"]": {
          "--nq-brand": "var(--nq-brand-l)",
          "--nq-action": "var(--nq-action-l)",
          "--nq-on-action": "var(--nq-on-action-l)",
          "--nq-primary-action": "var(--nq-action-l)"
        },
        ".dark, [data-theme=\"dark\"], .dark [data-brand], [data-theme=\"dark\"] [data-brand]": {
          "--nq-brand": "var(--nq-brand-d)",
          "--nq-action": "var(--nq-action-d)",
          "--nq-on-action": "var(--nq-on-action-d)",
          "--nq-primary-action": "var(--nq-action-d)"
        },
        ":root, [data-expression=\"grid\"]": {
          "--nq-radius-surface": "0px",
          "--nq-radius-card": "0px",
          "--nq-radius-control": "6px",
          "--nq-radius-floating": "12px",
          "--nq-hatch": "1"
        },
        "[data-expression=\"native\"]": {
          "--nq-radius-surface": "0px",
          "--nq-radius-card": "10px",
          "--nq-radius-control": "8px",
          "--nq-radius-floating": "12px",
          "--nq-hatch": "0",
          "--nq-font-eyebrow": "var(--nq-font-ui)",
          "--nq-eyebrow-transform": "none",
          "--nq-type-eyebrow-size": "var(--nq-type-caption-size)",
          "--nq-type-eyebrow-tracking": "0em"
        },
        ":root, [data-density=\"compact\"]": {
          "--nq-control": "32px",
          "--nq-control-sm": "28px",
          "--nq-row": "40px",
          "--nq-nav-row": "32px",
          "--nq-page-pad": "24px",
          "--nq-control-pad": "12px",
          "--nq-header": "48px",
          "--nq-shell-pad": "12px"
        },
        "[data-density=\"comfortable\"]": {
          "--nq-control": "40px",
          "--nq-control-sm": "32px",
          "--nq-row": "48px",
          "--nq-nav-row": "36px",
          "--nq-page-pad": "28px",
          "--nq-control-pad": "16px",
          "--nq-header": "56px",
          "--nq-shell-pad": "16px"
        },
        "[data-density=\"dense\"]": {
          "--nq-control": "28px",
          "--nq-control-sm": "24px",
          "--nq-row": "32px",
          "--nq-nav-row": "28px",
          "--nq-page-pad": "16px",
          "--nq-control-pad": "8px",
          "--nq-header": "40px",
          "--nq-shell-pad": "8px"
        },
        "@media (pointer: coarse)": {
          ":root": {
            "--nq-touch-min": "44px"
          }
        },
        "[lang|=\"ar\"]": {
          "--nq-type-display-size": "2.5rem",
          "--nq-type-display-line": "1.5",
          "--nq-type-display-weight": "500",
          "--nq-type-display-tracking": "0em",
          "--nq-type-h1-size": "1.875rem",
          "--nq-type-h1-line": "1.6",
          "--nq-type-h1-weight": "500",
          "--nq-type-h1-tracking": "0em",
          "--nq-type-h2-size": "1.5rem",
          "--nq-type-h2-line": "1.6",
          "--nq-type-h2-weight": "500",
          "--nq-type-h2-tracking": "0em",
          "--nq-type-h3-size": "1.25rem",
          "--nq-type-h3-line": "1.7",
          "--nq-type-h3-weight": "500",
          "--nq-type-h3-tracking": "0em",
          "--nq-type-body-size": "1rem",
          "--nq-type-body-line": "1.85",
          "--nq-type-body-weight": "400",
          "--nq-type-body-tracking": "0em",
          "--nq-type-body-sm-size": "0.875rem",
          "--nq-type-body-sm-line": "1.8",
          "--nq-type-body-sm-weight": "400",
          "--nq-type-body-sm-tracking": "0em",
          "--nq-type-label-size": "0.875rem",
          "--nq-type-label-line": "1.6",
          "--nq-type-label-weight": "500",
          "--nq-type-label-tracking": "0em",
          "--nq-type-caption-size": "0.8125rem",
          "--nq-type-caption-line": "1.7",
          "--nq-type-caption-weight": "400",
          "--nq-type-caption-tracking": "0em",
          "--nq-type-eyebrow-size": "0.8125rem",
          "--nq-type-eyebrow-line": "1.7",
          "--nq-type-eyebrow-weight": "500",
          "--nq-type-eyebrow-tracking": "0em",
          "--nq-type-code-size": "0.8125rem",
          "--nq-type-code-line": "1.5",
          "--nq-type-code-weight": "400",
          "--nq-type-code-tracking": "0em",
          "--nq-font-ui": "var(--nq-font-arabic)",
          "--nq-font-eyebrow": "var(--nq-font-arabic)",
          "--nq-eyebrow-transform": "none"
        },
        ":root, [data-brand], [data-theme], .dark": {
          "--background": "var(--nq-bg)",
          "--foreground": "var(--nq-fg)",
          "--card": "var(--nq-surface)",
          "--card-foreground": "var(--nq-fg)",
          "--popover": "var(--nq-surface-overlay)",
          "--popover-foreground": "var(--nq-fg)",
          "--primary": "var(--nq-action)",
          "--primary-foreground": "var(--nq-on-action)",
          "--secondary": "var(--nq-surface-soft)",
          "--secondary-foreground": "var(--nq-fg)",
          "--muted": "var(--nq-surface-soft)",
          "--muted-foreground": "var(--nq-fg-muted)",
          "--accent": "var(--nq-hover)",
          "--accent-foreground": "var(--nq-fg)",
          "--destructive": "var(--nq-danger-solid)",
          "--destructive-foreground": "var(--nq-on-danger)",
          "--border": "var(--nq-line)",
          "--input": "var(--nq-line)",
          "--ring": "var(--nq-focus)",
          "--chart-1": "var(--nq-action)",
          "--chart-2": "var(--nq-accent)",
          "--chart-3": "var(--nq-tag-teal)",
          "--chart-4": "var(--nq-tag-violet)",
          "--chart-5": "var(--nq-tag-gray)",
          "--sidebar": "var(--nq-surface)",
          "--sidebar-foreground": "var(--nq-fg-body)",
          "--sidebar-primary": "var(--nq-action)",
          "--sidebar-primary-foreground": "var(--nq-on-action)",
          "--sidebar-accent": "var(--nq-selected)",
          "--sidebar-accent-foreground": "var(--nq-fg)",
          "--sidebar-border": "var(--nq-line)",
          "--sidebar-ring": "var(--nq-focus)",
          "--radius": "var(--nq-radius-control)",
          "--grid-bg": "var(--nq-bg)",
          "--grid-card": "var(--nq-surface)",
          "--grid-soft": "var(--nq-surface-soft)",
          "--grid-line": "var(--nq-line)",
          "--grid-fg": "var(--nq-fg)",
          "--grid-body": "var(--nq-fg-body)",
          "--grid-muted": "var(--nq-fg-muted)",
          "--grid-elevated": "var(--nq-surface-overlay)",
          "--grid-brand": "var(--nq-brand)",
          "--grid-action": "var(--nq-action)",
          "--grid-on-action": "var(--nq-on-action)",
          "--grid-brand-accent": "var(--nq-accent)",
          "--grid-ok": "var(--nq-success)",
          "--grid-warn": "var(--nq-warning)",
          "--grid-danger": "var(--nq-danger)",
          "--grid-info": "var(--nq-info)"
        },
        "@layer base": {
          "html": {
            "font-family": "var(--nq-font-ui)",
            "background-color": "var(--nq-bg)",
            "color": "var(--nq-fg)",
            "-webkit-font-smoothing": "antialiased",
            "text-rendering": "optimizeLegibility",
            "-webkit-text-size-adjust": "100%",
            "font-feature-settings": "\"calt\" 0"
          },
          "body": {
            "font-size": "var(--nq-type-body-size)",
            "line-height": "var(--nq-type-body-line)"
          },
          "*, ::before, ::after": {
            "border-color": "var(--nq-line)"
          },
          ":where(input, .tabular-nums, time, [data-numeric])": {
            "font-feature-settings": "\"calt\" 0, \"tnum\" 1"
          },
          "[lang|=\"ar\"]": {
            "letter-spacing": "0"
          },
          "@supports selector(::-webkit-scrollbar)": {
            "::-webkit-scrollbar": {
              "width": "10px",
              "height": "10px"
            },
            "::-webkit-scrollbar-track, ::-webkit-scrollbar-corner": {
              "background": "transparent"
            },
            "::-webkit-scrollbar-button": {
              "display": "none"
            },
            "::-webkit-scrollbar-thumb": {
              "border": "3px solid transparent",
              "border-radius": "999px",
              "background": "var(--nq-line-strong) padding-box"
            },
            "::-webkit-scrollbar-thumb:hover": {
              "background-color": "var(--nq-fg-muted)"
            }
          },
          "@supports not selector(::-webkit-scrollbar)": {
            "html": {
              "scrollbar-color": "var(--nq-line-strong) transparent"
            },
            ":where(*)": {
              "scrollbar-width": "thin"
            }
          },
          "::selection": {
            "background-color": "color-mix(in oklab, var(--nq-accent) 35%, transparent)"
          },
          ":focus-visible": {
            "outline-color": "var(--nq-focus)"
          },
          "@media (prefers-reduced-motion: reduce)": {
            "*, ::before, ::after": {
              "animation-duration": "0.01ms",
              "animation-iteration-count": "1",
              "transition-duration": "0.01ms"
            }
          }
        },
        "@utility shadow-floating": {
          "box-shadow": "0 1px 2px color-mix(in oklab, black 6%, transparent),\n    0 12px 32px -8px color-mix(in oklab, black 18%, transparent)",
          ".dark &, [data-theme=\"dark\"] &": {
            "box-shadow": "0 1px 2px color-mix(in oklab, black 30%, transparent),\n      0 16px 40px -8px color-mix(in oklab, black 55%, transparent)"
          }
        },
        "@utility hatch": {
          "background-image": "repeating-linear-gradient(315deg, var(--nq-line) 0 1px, transparent 1px 7px)",
          "[data-expression=\"native\"] &": {
            "background-image": "none"
          }
        },
        "@utility eyebrow": {
          "font-family": "var(--nq-font-eyebrow)",
          "font-size": "var(--nq-type-eyebrow-size)",
          "line-height": "var(--nq-type-eyebrow-line)",
          "font-weight": "var(--nq-type-eyebrow-weight)",
          "letter-spacing": "var(--nq-type-eyebrow-tracking)",
          "text-transform": "var(--nq-eyebrow-transform)",
          "color": "var(--nq-fg-muted)"
        },
        ".react-flow.nq-flow": {
          "--xy-background-color-default": "var(--nq-bg)",
          "--xy-background-pattern-dots-color-default": "var(--nq-line-strong)",
          "--xy-background-pattern-lines-color-default": "var(--nq-line)",
          "--xy-background-pattern-cross-color-default": "var(--nq-line)",
          "--xy-edge-stroke-default": "var(--nq-line-strong)",
          "--xy-edge-stroke-selected-default": "var(--nq-action)",
          "--xy-edge-stroke-width-default": "1.5",
          "--xy-connectionline-stroke-default": "var(--nq-action)",
          "--xy-connectionline-stroke-width-default": "1.5",
          "--xy-handle-background-color-default": "var(--nq-surface)",
          "--xy-minimap-background-color-default": "var(--nq-surface)",
          "--xy-minimap-mask-background-color-default": "color-mix(in oklab, var(--nq-bg) 70%, transparent)",
          "--xy-minimap-mask-stroke-color-default": "var(--nq-line-strong)",
          "--xy-minimap-node-background-color-default": "var(--nq-line-strong)",
          "--xy-selection-background-color-default": "color-mix(in oklab, var(--nq-action) 8%, transparent)",
          "--xy-selection-border-default": "1px dashed var(--nq-action)",
          "--xy-attribution-background-color-default": "transparent",
          "font-family": "var(--nq-font-ui)"
        },
        ".react-flow.nq-flow .react-flow__attribution": {
          "color": "var(--nq-fg-muted)",
          "font-size": "10px"
        },
        ".react-flow.nq-flow .react-flow__attribution a": {
          "color": "inherit"
        },
        ".react-flow.nq-flow .react-flow__minimap": {
          "border": "1px solid var(--nq-line)",
          "border-radius": "var(--nq-radius-control, 6px)",
          "overflow": "hidden"
        },
        ".react-flow.nq-flow .react-flow__node:focus-visible": {
          "outline": "2px solid var(--nq-focus)",
          "outline-offset": "2px",
          "border-radius": "var(--nq-radius-control, 6px)"
        },
        ".react-flow.nq-flow .nq-edge-live path.react-flow__edge-path": {
          "stroke-dasharray": "6 4",
          "animation": "nq-flow-dash 0.9s linear infinite"
        },
        "@keyframes nq-flow-dash": {
          "to": {
            "stroke-dashoffset": "-20"
          }
        },
        "@keyframes nq-auth-rise": {
          "from": {
            "opacity": "0",
            "transform": "translateY(var(--nq-auth-rise, 8px))"
          }
        },
        "@keyframes nq-auth-fade": {
          "from": {
            "opacity": "0"
          }
        },
        "[data-slot=\"auth-layout\"]": {
          "--nq-auth-ease": "var(--nq-ease, cubic-bezier(0.2, 0, 0, 1))"
        },
        "@property --nq-auth-x": {
          "syntax": "\"<length-percentage>\"",
          "inherits": "true",
          "initial-value": "50%"
        },
        "@property --nq-auth-y": {
          "syntax": "\"<length-percentage>\"",
          "inherits": "true",
          "initial-value": "40%"
        },
        "[data-slot=\"auth-backdrop\"]": {
          "--nq-auth-cell": "12px",
          "--nq-auth-dot": "color-mix(in oklab, var(--foreground) 8%, transparent)",
          "--nq-auth-lit": "color-mix(in oklab, var(--foreground) 40%, transparent)",
          "animation": "nq-auth-fade 900ms var(--nq-auth-ease) backwards"
        },
        ".dark [data-slot=\"auth-backdrop\"], [data-theme=\"dark\"] [data-slot=\"auth-backdrop\"]": {
          "--nq-auth-dot": "color-mix(in oklab, var(--foreground) 5%, transparent)",
          "--nq-auth-lit": "color-mix(in oklab, var(--foreground) 30%, transparent)"
        },
        "[data-slot=\"auth-backdrop\"] > *": {
          "position": "absolute",
          "inset": "0",
          "background-size": "var(--nq-auth-cell) var(--nq-auth-cell)",
          "background-position": "center"
        },
        "[data-auth-layer=\"cubes\"]": {
          "background-image": "conic-gradient(from 270deg at 2px 2px, var(--nq-auth-dot) 25%, transparent 0)"
        },
        "[data-auth-layer=\"pointer\"]": {
          "background-image": "conic-gradient(from 270deg at 2px 2px, var(--nq-auth-lit) 25%, transparent 0)",
          "mask-image": "radial-gradient(180px circle at var(--nq-auth-x) var(--nq-auth-y), black, transparent)",
          "opacity": "0",
          "transition": "--nq-auth-x 120ms ease-out,\n    --nq-auth-y 120ms ease-out,\n    opacity 300ms var(--nq-auth-ease)"
        },
        "[data-slot=\"auth-backdrop\"][data-pointer] [data-auth-layer=\"pointer\"]": {
          "opacity": "1"
        },
        "@media (prefers-reduced-motion: reduce)": {
          "[data-slot=\"auth-backdrop\"]": {
            "animation": "none"
          },
          "[data-auth-layer=\"pointer\"]": {
            "display": "none"
          },
          "[data-emblem-ring], [data-emblem-cell], [data-emblem-mark], [data-emblem-lock], [data-emblem-shackle]": {
            "animation": "none"
          },
          ".nq-net-draw": {
            "animation": "none",
            "stroke-dashoffset": "0"
          }
        },
        "@keyframes nq-emblem-in": {
          "from": {
            "opacity": "0",
            "scale": "0.4"
          }
        },
        "@keyframes nq-emblem-ripple": {
          "45%": {
            "filter": "brightness(1.35) saturate(1.2)",
            "opacity": "1",
            "scale": "1.4"
          }
        },
        "@keyframes nq-emblem-scan": {
          "0%, 100%": {
            "filter": "none"
          },
          "12%": {
            "filter": "brightness(1.35) saturate(1.2)",
            "opacity": "1",
            "scale": "1.35"
          }
        },
        "@keyframes nq-emblem-turn": {
          "to": {
            "rotate": "var(--nq-emblem-turn, 1turn)"
          }
        },
        "@keyframes nq-emblem-mark-out": {
          "from": {
            "opacity": "1",
            "scale": "1",
            "filter": "none"
          },
          "to": {
            "opacity": "0",
            "scale": "0.7",
            "filter": "blur(2px)"
          }
        },
        "@keyframes nq-emblem-lock-in": {
          "from": {
            "opacity": "0",
            "scale": "0.7",
            "filter": "blur(2px)"
          }
        },
        "@keyframes nq-emblem-shackle": {
          "from": {
            "translate": "0 -3.5px"
          }
        },
        "[data-emblem-ring]": {
          "transform-box": "fill-box",
          "transform-origin": "center",
          "animation": "nq-emblem-turn 120s linear infinite"
        },
        "[data-emblem-ring=\"1\"]": {
          "--nq-emblem-turn": "-1turn",
          "animation-duration": "150s"
        },
        "[data-emblem-ring=\"2\"]": {
          "animation-duration": "180s"
        },
        "[data-emblem-ring=\"3\"]": {
          "--nq-emblem-turn": "-1turn",
          "animation-duration": "220s"
        },
        "[data-emblem-cell]": {
          "transform-box": "fill-box",
          "transform-origin": "center",
          "animation": "nq-emblem-in 520ms var(--nq-auth-ease, ease-out) backwards,\n    nq-emblem-ripple 640ms ease-in-out",
          "animation-delay": "calc(160ms + var(--nq-emblem-t) * 520ms + var(--nq-emblem-ring) * 70ms),\n    calc(2000ms + var(--nq-emblem-ring) * 90ms)"
        },
        "[data-emblem-core][data-lock] [data-emblem-mark]": {
          "opacity": "0",
          "animation": "nq-emblem-mark-out 320ms var(--nq-auth-ease, ease-out) 1500ms backwards"
        },
        "[data-emblem-lock]": {
          "animation": "nq-emblem-lock-in 380ms var(--nq-auth-ease, ease-out) 1700ms backwards"
        },
        "[data-emblem-shackle]": {
          "animation": "nq-emblem-shackle 260ms cubic-bezier(0.5, 0, 0.75, 1.6) 1960ms backwards"
        },
        "[data-slot=\"auth-layout\"]:has([aria-busy=\"true\"]) [data-emblem-cell], [data-slot=\"auth-emblem\"][data-busy] [data-emblem-cell]": {
          "animation": "nq-emblem-scan 1400ms linear infinite",
          "animation-delay": "calc(var(--nq-emblem-t) * 1400ms - 1400ms + var(--nq-emblem-ring) * 40ms)"
        },
        "[data-slot=\"auth-layout\"] [data-auth-card]": {
          "--nq-auth-rise": "12px",
          "box-shadow": "0 24px 48px -24px color-mix(in oklab, var(--foreground) 18%, transparent)",
          "animation": "nq-auth-rise 560ms var(--nq-auth-ease) 80ms backwards"
        },
        "[data-slot=\"auth-layout-panel\"]": {
          "animation": "nq-auth-fade 700ms var(--nq-auth-ease) backwards"
        },
        ".dark [data-slot=\"auth-layout\"] [data-auth-card], [data-theme=\"dark\"] [data-slot=\"auth-layout\"] [data-auth-card]": {
          "box-shadow": "0 32px 64px -24px color-mix(in oklab, black 70%, transparent)"
        },
        "[data-auth-stagger] > :not(form, [data-slot=\"sign-in-flow\"]), [data-auth-stagger] > form > *, [data-slot=\"sign-in-flow-step\"] > :not(form), [data-slot=\"sign-in-flow-step\"] > form > *": {
          "animation": "nq-auth-rise 440ms var(--nq-auth-ease) backwards",
          "animation-delay": "calc(var(--nq-auth-base, 180ms) + (var(--nq-auth-i, 0) + var(--nq-auth-j, 0)) * 50ms)"
        },
        "[data-variant=\"split\"] [data-auth-stagger]": {
          "--nq-auth-base": "60ms"
        },
        "[data-auth-stagger] > :nth-child(2), [data-auth-stagger] > form > :nth-child(1)": {
          "--nq-auth-i": "1"
        },
        "[data-auth-stagger] > :nth-child(3), [data-auth-stagger] > form > :nth-child(2)": {
          "--nq-auth-i": "2"
        },
        "[data-auth-stagger] > :nth-child(4), [data-auth-stagger] > form > :nth-child(3)": {
          "--nq-auth-i": "3"
        },
        "[data-auth-stagger] > :nth-child(5), [data-auth-stagger] > form > :nth-child(4)": {
          "--nq-auth-i": "4"
        },
        "[data-auth-stagger] > :nth-child(6), [data-auth-stagger] > form > :nth-child(5)": {
          "--nq-auth-i": "5"
        },
        "[data-auth-stagger] > :nth-child(n + 7), [data-auth-stagger] > form > :nth-child(n + 6)": {
          "--nq-auth-i": "6"
        },
        "[data-slot=\"sign-in-flow-step\"] > :nth-child(2), [data-slot=\"sign-in-flow-step\"] > form > :nth-child(2)": {
          "--nq-auth-j": "1"
        },
        "[data-slot=\"sign-in-flow-step\"] > :nth-child(3), [data-slot=\"sign-in-flow-step\"] > form > :nth-child(3)": {
          "--nq-auth-j": "2"
        },
        "[data-slot=\"sign-in-flow-step\"] > :nth-child(n + 4), [data-slot=\"sign-in-flow-step\"] > form > :nth-child(n + 4)": {
          "--nq-auth-j": "3"
        },
        "[data-slot=\"sign-in-flow\"][data-moved]": {
          "--nq-auth-base": "0ms",
          "--nq-auth-i": "0",
          "--nq-auth-rise": "6px"
        },
        "[data-slot=\"auth-layout-footer\"]": {
          "animation": "nq-auth-fade 500ms var(--nq-auth-ease) 520ms backwards"
        },
        ".nq-net-draw": {
          "stroke-dasharray": "1",
          "stroke-dashoffset": "1",
          "animation": "nq-net-draw 0.6s var(--nq-ease, ease-out) forwards"
        },
        "@keyframes nq-net-draw": {
          "to": {
            "stroke-dashoffset": "0"
          }
        }
      }
    },
    {
      "name": "theme-nasaq",
      "type": "registry:theme",
      "title": "Nasaq theme: nasaq",
      "description": "Sets the nasaq brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#15694A",
          "--nq-brand-d": "#4CC495",
          "--nq-action-l": "#15694A",
          "--nq-action-d": "#4CC495",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-fadymondy",
      "type": "registry:theme",
      "title": "Nasaq theme: fadymondy",
      "description": "Sets the fadymondy brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#0E1A3C",
          "--nq-brand-d": "#F0EBE1",
          "--nq-action-l": "#E2661C",
          "--nq-action-d": "#E2661C",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-mahaam",
      "type": "registry:theme",
      "title": "Nasaq theme: mahaam",
      "description": "Sets the mahaam brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#8C3FB5",
          "--nq-brand-d": "#B784D6",
          "--nq-action-l": "#8C3FB5",
          "--nq-action-d": "#B784D6",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-zekra",
      "type": "registry:theme",
      "title": "Nasaq theme: zekra",
      "description": "Sets the zekra brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#6D4DE6",
          "--nq-brand-d": "#6D4DE6",
          "--nq-action-l": "#6D4DE6",
          "--nq-action-d": "#6D4DE6",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#FFFFFF",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-moharrik",
      "type": "registry:theme",
      "title": "Nasaq theme: moharrik",
      "description": "Sets the moharrik brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#00A0A8",
          "--nq-brand-d": "#2EC4CB",
          "--nq-action-l": "#00A0A8",
          "--nq-action-d": "#2EC4CB",
          "--nq-on-action-l": "#0B1429",
          "--nq-on-action-d": "#0B1429",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-seatfor",
      "type": "registry:theme",
      "title": "Nasaq theme: seatfor",
      "description": "Sets the seatfor brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#B8479B",
          "--nq-brand-d": "#B8479B",
          "--nq-action-l": "#E2661C",
          "--nq-action-d": "#E2661C",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-health-debug",
      "type": "registry:theme",
      "title": "Nasaq theme: health-debug",
      "description": "Sets the health-debug brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#B0243F",
          "--nq-brand-d": "#D9455F",
          "--nq-action-l": "#B0243F",
          "--nq-action-d": "#D9455F",
          "--nq-on-action-l": "#F0EBE1",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-circlexo",
      "type": "registry:theme",
      "title": "Nasaq theme: circlexo",
      "description": "Sets the circlexo brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#6FA8D6",
          "--nq-brand-d": "#6FA8D6",
          "--nq-action-l": "#3D7CAE",
          "--nq-action-d": "#6FA8D6",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-hosbah",
      "type": "registry:theme",
      "title": "Nasaq theme: hosbah",
      "description": "Sets the hosbah brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#2E6F9E",
          "--nq-brand-d": "#7FB0D6",
          "--nq-action-l": "#2E6F9E",
          "--nq-action-d": "#7FB0D6",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-orchestra",
      "type": "registry:theme",
      "title": "Nasaq theme: orchestra",
      "description": "Sets the orchestra brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#D97757",
          "--nq-brand-d": "#D97757",
          "--nq-action-l": "#D97757",
          "--nq-action-d": "#D97757",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#8C3B1F"
        }
      }
    },
    {
      "name": "theme-togo",
      "type": "registry:theme",
      "title": "Nasaq theme: togo",
      "description": "Sets the togo brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#0E1A3C",
          "--nq-brand-d": "#F0EBE1",
          "--nq-action-l": "#1F8A99",
          "--nq-action-d": "#1F8A99",
          "--nq-on-action-l": "#0B1429",
          "--nq-on-action-d": "#0B1429",
          "--nq-accent-brand": "#1F8A99"
        }
      }
    },
    {
      "name": "theme-matjar",
      "type": "registry:theme",
      "title": "Nasaq theme: matjar",
      "description": "Sets the matjar brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#0E7C66",
          "--nq-brand-d": "#2FCB9F",
          "--nq-action-l": "#0E7C66",
          "--nq-action-d": "#2FCB9F",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-sanduq",
      "type": "registry:theme",
      "title": "Nasaq theme: sanduq",
      "description": "Sets the sanduq brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#B7791F",
          "--nq-brand-d": "#E9B44C",
          "--nq-action-l": "#B7791F",
          "--nq-action-d": "#E9B44C",
          "--nq-on-action-l": "#0E1A3C",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#0E1A3C"
        }
      }
    },
    {
      "name": "theme-mizan",
      "type": "registry:theme",
      "title": "Nasaq theme: mizan",
      "description": "Sets the mizan brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#1E3A5F",
          "--nq-brand-d": "#7FA7D9",
          "--nq-action-l": "#1E3A5F",
          "--nq-action-d": "#7FA7D9",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-qaima",
      "type": "registry:theme",
      "title": "Nasaq theme: qaima",
      "description": "Sets the qaima brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#B5400F",
          "--nq-brand-d": "#F0A062",
          "--nq-action-l": "#B5400F",
          "--nq-action-d": "#F0A062",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-makhzan",
      "type": "registry:theme",
      "title": "Nasaq theme: makhzan",
      "description": "Sets the makhzan brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#8D6E3F",
          "--nq-brand-d": "#D2B48C",
          "--nq-action-l": "#8D6E3F",
          "--nq-action-d": "#D2B48C",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "theme-mawared",
      "type": "registry:theme",
      "title": "Nasaq theme: mawared",
      "description": "Sets the mawared brand and action colours as the default. Needs the nasaq preset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "theme"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "css": {
        ":root": {
          "--nq-brand-l": "#A23B72",
          "--nq-brand-d": "#E07AAE",
          "--nq-action-l": "#A23B72",
          "--nq-action-d": "#E07AAE",
          "--nq-on-action-l": "#FFFFFF",
          "--nq-on-action-d": "#0E1A3C",
          "--nq-accent-brand": "#C9A227"
        }
      }
    },
    {
      "name": "access-grants",
      "type": "registry:ui",
      "title": "Access Grants",
      "description": "Who and what can act for you. Authorized apps and agents per workspace with their scopes and revoke, delegated agent keys, and a matrix of agents by resource with no access, read or read and write.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/account-settings.json",
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/api-keys.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/access-grants.tsx",
          "type": "registry:ui",
          "target": "components/ui/access-grants.tsx"
        },
        {
          "path": "registry/nasaq/ui/access-rules.ts",
          "type": "registry:ui",
          "target": "components/ui/access-rules.ts"
        }
      ]
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "Stack of collapsible sections, one open at a time or several, with a rotating chevron and animated height. Wraps Base UI Accordion.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/accordion.tsx",
          "type": "registry:ui",
          "target": "components/ui/accordion.tsx"
        }
      ]
    },
    {
      "name": "account-settings",
      "type": "registry:ui",
      "title": "Account Settings",
      "description": "The account settings page layout. A title, a section nav (vertical on desktop, tabs on mobile) and a content area, plus SettingsSection blocks and a DangerZone with typed delete confirmation.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/account-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/account-settings.tsx"
        }
      ]
    },
    {
      "name": "accounting-ledger",
      "type": "registry:ui",
      "title": "Accounting Ledger",
      "description": "A chart of accounts, a balanced journal-entry editor, a trial balance and an account statement, in exact integer money.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/line-item-editor.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/accounting-ledger.tsx",
          "type": "registry:ui",
          "target": "components/ui/accounting-ledger.tsx"
        },
        {
          "path": "registry/nasaq/ui/accounting-math.ts",
          "type": "registry:ui",
          "target": "components/ui/accounting-math.ts"
        }
      ]
    },
    {
      "name": "active-sessions",
      "type": "registry:ui",
      "title": "Active Sessions",
      "description": "The devices signed in to an account, with device type, IP, place and last activity, the current device first, and sign out per device or for every other device behind a confirmation.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/active-sessions.tsx",
          "type": "registry:ui",
          "target": "components/ui/active-sessions.tsx"
        }
      ]
    },
    {
      "name": "activity-composer",
      "type": "registry:ui",
      "title": "Activity Composer",
      "description": "Log a note, call, meeting or task, then read the history with open tasks first. Tasks tick off in place.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/comment-thread.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/activity-composer.tsx",
          "type": "registry:ui",
          "target": "components/ui/activity-composer.tsx"
        },
        {
          "path": "registry/nasaq/ui/activity-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/activity-logic.ts"
        }
      ]
    },
    {
      "name": "address-input",
      "type": "registry:ui",
      "title": "Address Input",
      "description": "Address form with cascading country, city and area comboboxes (searchable in English or Arabic), street and detail fields and an embedded PhoneInput. Places come from a pluggable LocationsDataSource, by default the CircleXO hub.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/country-flag.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/phone-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/address-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/address-input.tsx"
        },
        {
          "path": "registry/nasaq/ui/locations-data.ts",
          "type": "registry:ui",
          "target": "components/ui/locations-data.ts"
        }
      ]
    },
    {
      "name": "admin-area",
      "type": "registry:ui",
      "title": "Admin Area",
      "description": "The admin frame. An icon rail plus sub-sidebar with ready-made admin navigation, an environment tag, an account button and an impersonation banner, plus AdminPage for the screen body.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/breadcrumb.json",
        "https://docs.nasaqui.com/r/icon-rail-sidebar.json",
        "https://docs.nasaqui.com/r/impersonation-banner.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/admin-area.tsx",
          "type": "registry:ui",
          "target": "components/ui/admin-area.tsx"
        }
      ]
    },
    {
      "name": "admin-tenants",
      "type": "registry:ui",
      "title": "Admin Tenants",
      "description": "The tenants and plans console for an admin area. A workspaces table with seat usage, change plan, suspend and reactivate, and a plan catalogue with an edit dialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/plan-card.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/admin-tenants.tsx",
          "type": "registry:ui",
          "target": "components/ui/admin-tenants.tsx"
        }
      ]
    },
    {
      "name": "admin-users",
      "type": "registry:ui",
      "title": "Admin Users",
      "description": "User management for an admin area. Summary tiles, a filterable users table, an add-user dialog and per-row actions to verify, disable, reset password, impersonate and edit roles.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/admin-users.tsx",
          "type": "registry:ui",
          "target": "components/ui/admin-users.tsx"
        }
      ]
    },
    {
      "name": "agent-persona-editor",
      "type": "registry:ui",
      "title": "Agent Persona Editor",
      "description": "Editor for an AI agent persona with name, tagline, colour, icon, traits, model, greeting and a markdown persona with write and preview tabs, section chips, counts, save and revert.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-model-picker.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/color-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon-picker.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/agent-persona-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/agent-persona-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/persona-math.ts",
          "type": "registry:ui",
          "target": "components/ui/persona-math.ts"
        }
      ]
    },
    {
      "name": "agent-steps",
      "type": "registry:ui",
      "title": "Agent Steps",
      "description": "The tool calls an agent made and a human-in-the-loop confirm before it acts. A step list with arguments, results and retry, plus a diff review with per-change ticks, risk, and Apply or Reject.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/version-history.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/agent-steps-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/agent-steps-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/agent-steps.tsx",
          "type": "registry:ui",
          "target": "components/ui/agent-steps.tsx"
        }
      ]
    },
    {
      "name": "ai-citations",
      "type": "registry:ui",
      "title": "Ai Citations",
      "description": "Show where an AI answer came from. Inline numbered markers that open a quote, source chips, evidence cards with the quoted passage, and a provenance line with model, latency, grounding and confidence.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/copilot-chat.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/ai-citations-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/ai-citations-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/ai-citations.tsx",
          "type": "registry:ui",
          "target": "components/ui/ai-citations.tsx"
        }
      ]
    },
    {
      "name": "ai-model-picker",
      "type": "registry:ui",
      "title": "Ai Model Picker",
      "description": "Choose the model, its reasoning effort and a required agent or skill, as cards or one compact toolbar row, plus a PersonaPicker with prompt starters and the compact AiModelSelect that CopilotChat uses.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/ai-model-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/ai-model-picker.tsx"
        },
        {
          "path": "registry/nasaq/ui/model-picker-math.ts",
          "type": "registry:ui",
          "target": "components/ui/model-picker-math.ts"
        }
      ]
    },
    {
      "name": "ai-states",
      "type": "registry:ui",
      "title": "Ai States",
      "description": "The states of an AI feature. Smart actions (sparkle button, split button, suggestion chips, Cmd or Ctrl J menu), loading (thinking indicator, shimmer, step labels), generating (streaming text with a caret, stop and regenerate, safe partial Markdown) and summarized (TL;DR card with key points, sources, confidence, feedback).",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/copilot-chat.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/ai-states-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/ai-states-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/ai-states.tsx",
          "type": "registry:ui",
          "target": "components/ui/ai-states.tsx"
        }
      ]
    },
    {
      "name": "ai-usage-cost",
      "type": "registry:ui",
      "title": "Ai Usage Cost",
      "description": "AI spend overview with total, token, billed, unbilled and marked-up client price tiles, a daily stacked cost chart and a by-model, product or run breakdown with token columns, plus a TokenCostMeter for one run.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/usage-meter.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/ai-usage-cost.tsx",
          "type": "registry:ui",
          "target": "components/ui/ai-usage-cost.tsx"
        },
        {
          "path": "registry/nasaq/ui/usage-cost-math.ts",
          "type": "registry:ui",
          "target": "components/ui/usage-cost-math.ts"
        }
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "Quiet inline notice with a tone (info, success, warning, danger), optional title, description, action and dismiss.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "class-variance-authority@0.7.1",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/alert.tsx",
          "type": "registry:ui",
          "target": "components/ui/alert.tsx"
        }
      ]
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "title": "Alert Dialog",
      "description": "Modal that interrupts to ask for an explicit answer before a consequential action, plus a ConfirmButton shorthand. Wraps Base UI AlertDialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/alert-dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/alert-dialog.tsx"
        }
      ]
    },
    {
      "name": "alerts",
      "type": "registry:ui",
      "title": "Alerts",
      "description": "Alert triage lists, AlertList and SecurityAlerts, with status tabs and counts, search, severity and source filters, sorting, acknowledge, resolve and reopen, and an expandable timeline per alert.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/alerts-format.ts",
          "type": "registry:ui",
          "target": "components/ui/alerts-format.ts"
        },
        {
          "path": "registry/nasaq/ui/alerts.tsx",
          "type": "registry:ui",
          "target": "components/ui/alerts.tsx"
        }
      ]
    },
    {
      "name": "analytics-connect",
      "type": "registry:ui",
      "title": "Analytics Connect",
      "description": "The connect-account empty state of an analytics page, built on IntegrationConnector, plus AnalyticsPageFrame, the shared page shell.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/integration-connector.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/analytics-connect.tsx",
          "type": "registry:ui",
          "target": "components/ui/analytics-connect.tsx"
        },
        {
          "path": "registry/nasaq/ui/analytics-page-frame.tsx",
          "type": "registry:ui",
          "target": "components/ui/analytics-page-frame.tsx"
        }
      ]
    },
    {
      "name": "api-keys",
      "type": "registry:ui",
      "title": "Api Keys",
      "description": "API key management with a create form (name, scopes, expiry), a one-time secret reveal with copy, a masked list with scopes and last used, and confirmed rotate and revoke, driven by async callbacks.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/api-keys.tsx",
          "type": "registry:ui",
          "target": "components/ui/api-keys.tsx"
        },
        {
          "path": "registry/nasaq/ui/format.ts",
          "type": "registry:ui",
          "target": "components/ui/format.ts"
        }
      ]
    },
    {
      "name": "api-reference",
      "type": "registry:ui",
      "title": "Api Reference",
      "description": "A reference page for API endpoints or MCP tools with scope, minimum role, an arguments table, an example call and result, and a card catalog of all tools.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chip-group.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/api-reference-format.ts",
          "type": "registry:ui",
          "target": "components/ui/api-reference-format.ts"
        },
        {
          "path": "registry/nasaq/ui/api-reference.tsx",
          "type": "registry:ui",
          "target": "components/ui/api-reference.tsx"
        }
      ]
    },
    {
      "name": "apm-page",
      "type": "registry:ui",
      "title": "Apm Page",
      "description": "An application performance page - latency percentiles, throughput, error rate with an SLO, slow endpoints and traces with a span waterfall.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/analytics-connect.json",
        "https://docs.nasaqui.com/r/apm-panels.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/apm-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/apm-page.tsx"
        }
      ]
    },
    {
      "name": "apm-panels",
      "type": "registry:ui",
      "title": "Apm Panels",
      "description": "Latency percentiles (p50, p95, p99), an error-rate panel with an SLO, a slow-endpoints table and a trace list with a span waterfall.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/apm-math.ts",
          "type": "registry:ui",
          "target": "components/ui/apm-math.ts"
        },
        {
          "path": "registry/nasaq/ui/apm-panels.tsx",
          "type": "registry:ui",
          "target": "components/ui/apm-panels.tsx"
        }
      ]
    },
    {
      "name": "app-shell",
      "type": "registry:ui",
      "title": "App Shell",
      "description": "The product frame every Nasaq app uses - resizable, collapsible sidebar at the inline start, sticky header, main area, mobile sheet, and the command registry.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/drawer.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-mark.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/app-shell.tsx",
          "type": "registry:ui",
          "target": "components/ui/app-shell.tsx"
        }
      ]
    },
    {
      "name": "app-update",
      "type": "registry:ui",
      "title": "App Update",
      "description": "An update pill with download progress, an update sheet with release notes and speed, a forced-update gate for unsupported builds, and an admin release manager with the minimum supported build.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/product-mark.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/table.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/app-update-format.ts",
          "type": "registry:ui",
          "target": "components/ui/app-update-format.ts"
        },
        {
          "path": "registry/nasaq/ui/app-update.tsx",
          "type": "registry:ui",
          "target": "components/ui/app-update.tsx"
        }
      ]
    },
    {
      "name": "appearance-pickers",
      "type": "registry:ui",
      "title": "Appearance Pickers",
      "description": "Pickers for how an app looks and reads. A gallery of named themes with mini previews, reading settings for text size, line width and spacing with a live sample, and a wallpaper picker with upload and dimming. They hold the choice; you apply and save it.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/slider.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/appearance-model.ts",
          "type": "registry:ui",
          "target": "components/ui/appearance-model.ts"
        },
        {
          "path": "registry/nasaq/ui/appearance-pickers.tsx",
          "type": "registry:ui",
          "target": "components/ui/appearance-pickers.tsx"
        }
      ]
    },
    {
      "name": "approval-queue",
      "type": "registry:ui",
      "title": "Approval Queue",
      "description": "A review queue of things waiting for a person to approve, reject with a reason, or convert to a task. It handles expiry, review criteria and redacted arguments.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/approval-queue-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/approval-queue-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/approval-queue.tsx",
          "type": "registry:ui",
          "target": "components/ui/approval-queue.tsx"
        }
      ]
    },
    {
      "name": "artifact-renderer",
      "type": "registry:ui",
      "title": "Artifact Renderer",
      "description": "Generative UI from a schema. Turns an agent's JSON into a card, table, chart, Markdown, code, stats, action buttons or picker, validated and safe. HTML is off by default and only shown in a sandboxed frame.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/table.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/artifact-renderer-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/artifact-renderer-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/artifact-renderer.tsx",
          "type": "registry:ui",
          "target": "components/ui/artifact-renderer.tsx"
        }
      ]
    },
    {
      "name": "ask-ai",
      "type": "registry:ui",
      "title": "Ask Ai",
      "description": "Ask AI about selected text with a popover that appears on selection, quick actions and a question box. Plus an inline AI insight card with finding, metric, reasoning, sources, confidence and next actions.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-citations.json",
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/ask-ai-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/ask-ai-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/ask-ai.tsx",
          "type": "registry:ui",
          "target": "components/ui/ask-ai.tsx"
        }
      ]
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "title": "Aspect Ratio",
      "description": "A box that keeps a fixed width-to-height ratio as it resizes, for video embeds, maps, cover images and thumbnails; direct img, video and iframe children fill it.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/aspect-ratio.tsx",
          "type": "registry:ui",
          "target": "components/ui/aspect-ratio.tsx"
        }
      ]
    },
    {
      "name": "attention",
      "type": "registry:ui",
      "title": "Attention",
      "description": "A short, domain-independent list of things the user should act on now (unread conversations, failed deployments, approvals, setup steps), ordered by urgency.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/attention.tsx",
          "type": "registry:ui",
          "target": "components/ui/attention.tsx"
        }
      ]
    },
    {
      "name": "audit-log",
      "type": "registry:ui",
      "title": "Audit Log",
      "description": "The audit log table. Filter by actor, action, entity, channel (web, API or MCP) and dates, open a row for the field-level before and after, and set how long entries are kept.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/audit-log.tsx",
          "type": "registry:ui",
          "target": "components/ui/audit-log.tsx"
        },
        {
          "path": "registry/nasaq/ui/audit-rules.ts",
          "type": "registry:ui",
          "target": "components/ui/audit-rules.ts"
        }
      ]
    },
    {
      "name": "auth-layout",
      "type": "registry:ui",
      "title": "Auth Layout",
      "description": "\"Page shell for sign-in and sign-up screens: a centred card or a split layout with a brand panel, a heading, and a footer slot.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/auth-layout.tsx",
          "type": "registry:ui",
          "target": "components/ui/auth-layout.tsx"
        },
        {
          "path": "registry/nasaq/ui/auth-utils.tsx",
          "type": "registry:ui",
          "target": "components/ui/auth-utils.tsx"
        }
      ]
    },
    {
      "name": "availability-editor",
      "type": "registry:ui",
      "title": "Availability Editor",
      "description": "Weekly hours per day with breaks, copy to other days, and vacations picked as date ranges, with overlap and range checks that block saving.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/availability-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/availability-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/availability-math.ts",
          "type": "registry:ui",
          "target": "components/ui/availability-math.ts"
        }
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "Person or workspace image with an initials fallback, in four sizes and circle or square shapes.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "class-variance-authority@0.7.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/avatar.tsx",
          "type": "registry:ui",
          "target": "components/ui/avatar.tsx"
        },
        {
          "path": "registry/nasaq/ui/initials.ts",
          "type": "registry:ui",
          "target": "components/ui/initials.ts"
        }
      ]
    },
    {
      "name": "avatar-upload",
      "type": "registry:ui",
      "title": "Avatar Upload",
      "description": "A profile photo with change, remove and a square crop editor (drag or arrow keys to pan, slider or +/- to zoom) drawn on a canvas. Pick by click, drop or paste. It hands your async callback a cropped File.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/slider.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/avatar-upload.tsx",
          "type": "registry:ui",
          "target": "components/ui/avatar-upload.tsx"
        },
        {
          "path": "registry/nasaq/ui/crop-math.ts",
          "type": "registry:ui",
          "target": "components/ui/crop-math.ts"
        }
      ]
    },
    {
      "name": "backlink-monitor",
      "type": "registry:ui",
      "title": "Backlink Monitor",
      "description": "\"Backlink monitoring: new, lost and toxic links, a gained and lost chart, referring domains, and disavow or mark-safe actions.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/backlink-math.ts",
          "type": "registry:ui",
          "target": "components/ui/backlink-math.ts"
        },
        {
          "path": "registry/nasaq/ui/backlink-monitor.tsx",
          "type": "registry:ui",
          "target": "components/ui/backlink-monitor.tsx"
        }
      ]
    },
    {
      "name": "backup-manager",
      "type": "registry:ui",
      "title": "Backup Manager",
      "description": "Backups in one place with a summary, history with progress, run now, download, delete, a restore that needs confirming, and a schedule and retention form with a preview of what would be pruned.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/backup-format.ts",
          "type": "registry:ui",
          "target": "components/ui/backup-format.ts"
        },
        {
          "path": "registry/nasaq/ui/backup-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/backup-manager.tsx"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "Small chip for a status, brand or accent label, or a user-defined tag in one of nine hues.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "class-variance-authority@0.7.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/badge.tsx"
        }
      ]
    },
    {
      "name": "barcode",
      "type": "registry:ui",
      "title": "Barcode",
      "description": "One-dimensional barcodes drawn as SVG with jsbarcode (Code 128, EAN-13, EAN-8, UPC-A, Code 39, ITF, Codabar, Pharmacode), with input validation that explains the problem, SVG and PNG download and a generator card.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "dependencies": [
        "jsbarcode@3.12.3",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/qr-code.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/barcode-format.ts",
          "type": "registry:ui",
          "target": "components/ui/barcode-format.ts"
        },
        {
          "path": "registry/nasaq/ui/barcode.tsx",
          "type": "registry:ui",
          "target": "components/ui/barcode.tsx"
        }
      ]
    },
    {
      "name": "blog-index",
      "type": "registry:ui",
      "title": "Blog Index",
      "description": "\"A blog landing page: featured post, search, category and tag filters, post cards with cover, date and reading time, and pagination.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chip-group.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/pagination.json",
        "https://docs.nasaqui.com/r/section-header.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/blog-index.tsx",
          "type": "registry:ui",
          "target": "components/ui/blog-index.tsx"
        },
        {
          "path": "registry/nasaq/ui/blog-model.ts",
          "type": "registry:ui",
          "target": "components/ui/blog-model.ts"
        }
      ]
    },
    {
      "name": "blog-post",
      "type": "registry:ui",
      "title": "Blog Post",
      "description": "\"A post page: cover, byline, reading progress bar, sticky table of contents with scroll-spy, rich Markdown body with callouts and code, share, tags, author, previous and next, related posts and a comments slot.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/blog-index.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/section-header.json",
        "https://docs.nasaqui.com/r/share-action.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/blog-post.tsx",
          "type": "registry:ui",
          "target": "components/ui/blog-post.tsx"
        }
      ]
    },
    {
      "name": "booking-flow",
      "type": "registry:ui",
      "title": "Booking Flow",
      "description": "Online booking flow with branch, service, doctor with ratings, day and time grid, guest or signed-in details, notes and files, payment choice, review and a QR ticket confirmation.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/booking-manage.json",
        "https://docs.nasaqui.com/r/booking-slots.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/rating.json",
        "https://docs.nasaqui.com/r/stepper.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/booking-flow.tsx",
          "type": "registry:ui",
          "target": "components/ui/booking-flow.tsx"
        },
        {
          "path": "registry/nasaq/ui/booking-math.ts",
          "type": "registry:ui",
          "target": "components/ui/booking-math.ts"
        },
        {
          "path": "registry/nasaq/ui/booking-types.ts",
          "type": "registry:ui",
          "target": "components/ui/booking-types.ts"
        }
      ]
    },
    {
      "name": "booking-manage",
      "type": "registry:ui",
      "title": "Booking Manage",
      "description": "A patient's own booking page - QR ticket with code, add to calendar, reschedule in a dialog and cancel with the late fee stated, all following a cancel and reschedule policy.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/booking-flow.json",
        "https://docs.nasaqui.com/r/booking-pipeline.json",
        "https://docs.nasaqui.com/r/booking-slots.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/qr-code.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/booking-manage.tsx",
          "type": "registry:ui",
          "target": "components/ui/booking-manage.tsx"
        }
      ]
    },
    {
      "name": "booking-pipeline",
      "type": "registry:ui",
      "title": "Booking Pipeline",
      "description": "Staff status pipeline for a booking - requested, confirmed, checked in, in visit and done, with next-action buttons, confirm on no-show and cancel, and a timeline of every move.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/booking-flow.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/stepper.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/booking-pipeline.tsx",
          "type": "registry:ui",
          "target": "components/ui/booking-pipeline.tsx"
        }
      ]
    },
    {
      "name": "booking-slots",
      "type": "registry:ui",
      "title": "Booking Slots",
      "description": "Day calendar beside a grid of time tiles grouped by morning, afternoon and evening, with available, full and held states, a legend and a jump to the next free day.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/booking-flow.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/booking-slots.tsx",
          "type": "registry:ui",
          "target": "components/ui/booking-slots.tsx"
        }
      ]
    },
    {
      "name": "brain-list",
      "type": "registry:ui",
      "title": "Brain List",
      "description": "Zekra-style list of AI brains as a table or cards with status, access, memory and source counts, members, tags and last activity, plus search, filters, bulk select and loading and empty states.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/brain-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/brain-list.tsx"
        }
      ]
    },
    {
      "name": "brand-guidelines",
      "type": "registry:ui",
      "title": "Brand Guidelines",
      "description": "A brand guidelines page with downloadable marks on light and dark grounds, copyable palette swatches, typography, do and dont rules and social cards. It shows only assets that are passed in or already in the repo.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-mark.json",
        "https://docs.nasaqui.com/r/text-utilities.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/brand-guidelines-data.ts",
          "type": "registry:ui",
          "target": "components/ui/brand-guidelines-data.ts"
        },
        {
          "path": "registry/nasaq/ui/brand-guidelines-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/brand-guidelines-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/brand-guidelines.tsx",
          "type": "registry:ui",
          "target": "components/ui/brand-guidelines.tsx"
        }
      ]
    },
    {
      "name": "brand-loaders",
      "type": "registry:ui",
      "title": "Brand Loaders",
      "description": "\"Loading states with a brand feel: a braille spinner, a benday dot-matrix progress fill, a loader that animates around a supplied logo, and a full-screen boot splash with an honest failure state.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/brand-loaders.tsx",
          "type": "registry:ui",
          "target": "components/ui/brand-loaders.tsx"
        },
        {
          "path": "registry/nasaq/ui/loader-frames.ts",
          "type": "registry:ui",
          "target": "components/ui/loader-frames.ts"
        }
      ]
    },
    {
      "name": "branding-provider",
      "type": "registry:ui",
      "title": "Branding Provider",
      "description": "Applies a tenant's brand colours at runtime from data (an org's settings, a white-label customer) over the active brand manifest, with readable on-brand text, a derived dark step and the tenant logo and name shared through useBranding.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/color-picker.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/branding-provider.tsx",
          "type": "registry:ui",
          "target": "components/ui/branding-provider.tsx"
        }
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "title": "Breadcrumb",
      "description": "Location trail for the app header - a nav landmark with an ordered list, links, a current page and directional separators.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/breadcrumb.tsx",
          "type": "registry:ui",
          "target": "components/ui/breadcrumb.tsx"
        }
      ]
    },
    {
      "name": "breakdown-table",
      "type": "registry:ui",
      "title": "Breakdown Table",
      "description": "A top-N table where each row carries a bar sized against the largest value, with share and change against the previous period.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/table.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/breakdown-table.tsx",
          "type": "registry:ui",
          "target": "components/ui/breakdown-table.tsx"
        }
      ]
    },
    {
      "name": "bundle-card",
      "type": "registry:ui",
      "title": "Bundle Card",
      "description": "\"Several apps sold together for less; shows the overlapping artwork stack, what it is for, the computed saving and the price against the separate total.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pricing"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/price.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/bundle-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/bundle-card.tsx"
        }
      ]
    },
    {
      "name": "business-reports",
      "type": "registry:ui",
      "title": "Business Reports",
      "description": "Four ready made business reports, profitability by project, an employee KPI dashboard, a CRM pipeline with a chart and table toggle and support inbox statistics. Each is a section you drop into a page.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart-extras.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/time-series-panel.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/business-reports-math.ts",
          "type": "registry:ui",
          "target": "components/ui/business-reports-math.ts"
        },
        {
          "path": "registry/nasaq/ui/business-reports.tsx",
          "type": "registry:ui",
          "target": "components/ui/business-reports.tsx"
        }
      ]
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "The action button, with five variants, five sizes and a built-in loading state. Wraps Base UI Button.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "class-variance-authority@0.7.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/button.tsx",
          "type": "registry:ui",
          "target": "components/ui/button.tsx"
        }
      ]
    },
    {
      "name": "button-group",
      "type": "registry:ui",
      "title": "Button Group",
      "description": "Buttons joined into one control with shared borders and only the outer corners rounded, horizontal or vertical, with a separator slot for split buttons.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/button-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/button-group.tsx"
        }
      ]
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "Month grid for picking a day or a date range. Native Date and Intl only; locale-aware week start, labels and RTL keyboard.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/calendar-math.ts",
          "type": "registry:ui",
          "target": "components/ui/calendar-math.ts"
        },
        {
          "path": "registry/nasaq/ui/calendar.tsx",
          "type": "registry:ui",
          "target": "components/ui/calendar.tsx"
        }
      ]
    },
    {
      "name": "campaign-composer",
      "type": "registry:ui",
      "title": "Campaign Composer",
      "description": "Compose an email or WhatsApp broadcast with a live audience count, a rich or plain editor, a preview, a test send, pre-send checks, a confirmation and a send progress bar.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "marketing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/email-templates.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/campaign-composer.tsx",
          "type": "registry:ui",
          "target": "components/ui/campaign-composer.tsx"
        },
        {
          "path": "registry/nasaq/ui/campaign-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/campaign-logic.ts"
        }
      ]
    },
    {
      "name": "canned-replies",
      "type": "registry:ui",
      "title": "Canned Replies",
      "description": "The library behind a reply composer's slash menu, with search, add, edit, duplicate and delete, variable buttons, a live preview and validation of duplicate shortcuts.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "chat"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/email-templates.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/canned-replies-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/canned-replies-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/canned-replies.tsx",
          "type": "registry:ui",
          "target": "components/ui/canned-replies.tsx"
        }
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "Bordered surface that groups one unit the user acts on or compares, with header, action, content and footer slots.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/card.tsx",
          "type": "registry:ui",
          "target": "components/ui/card.tsx"
        }
      ]
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "title": "Carousel",
      "description": "Swipeable slide carousel on Embla. Previous/next buttons, dots, direction-aware keyboard arrows, optional autoplay that respects reduced motion. Everything mirrors in RTL.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "embla-carousel-react@8.6.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/carousel.tsx",
          "type": "registry:ui",
          "target": "components/ui/carousel.tsx"
        }
      ]
    },
    {
      "name": "cash-collect",
      "type": "registry:ui",
      "title": "Cash Collect",
      "description": "A cash-on-delivery panel - order total plus delivery fee minus prepaid, the amount received, and live short, exact or change-due feedback, with quick amounts and confirm.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "delivery"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/cash-collect.tsx",
          "type": "registry:ui",
          "target": "components/ui/cash-collect.tsx"
        }
      ]
    },
    {
      "name": "catalog-store",
      "type": "registry:ui",
      "title": "Catalog Store",
      "description": "A store for installable things with search, category chips, sort, a card grid and a detail sheet with install and uninstall, reusable for workflow steps, plugins and apps.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chip-group.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/install-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/rating.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/catalog-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/catalog-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/catalog-store.tsx",
          "type": "registry:ui",
          "target": "components/ui/catalog-store.tsx"
        }
      ]
    },
    {
      "name": "cert-monitor",
      "type": "registry:ui",
      "title": "Cert Monitor",
      "description": "A TLS certificate monitor - a table of hosts with issuer, expiry date and a days-left badge that turns amber at 30 days and red at 7 or when expired, soonest first, with check again, renew and stop monitoring.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/cert-format.ts",
          "type": "registry:ui",
          "target": "components/ui/cert-format.ts"
        },
        {
          "path": "registry/nasaq/ui/cert-monitor.tsx",
          "type": "registry:ui",
          "target": "components/ui/cert-monitor.tsx"
        }
      ]
    },
    {
      "name": "change-password-form",
      "type": "registry:ui",
      "title": "Change Password Form",
      "description": "Change-password form with current, new (strength meter) and confirm fields, an option to sign out other sessions, client checks, server field errors and a success message, driven by one async onSubmit.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/password-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/change-password-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/change-password-form.tsx"
        }
      ]
    },
    {
      "name": "chart",
      "type": "registry:ui",
      "title": "Chart",
      "description": "Themed Recharts wrapper (shadcn style) with token colours, a Nasaq-formatted tooltip and legend, RTL axis helpers, plus tiny Sparkline and MiniBar for table cells and cards.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "charts"
      ],
      "dependencies": [
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/chart.tsx"
        }
      ]
    },
    {
      "name": "chart-extras",
      "type": "registry:ui",
      "title": "Chart Extras",
      "description": "Small charts that Recharts does not give you, a proportion bar with a legend of values, a progress ring, a centred funnel with step conversion and a table-row trend cell with a sparkline or mini bar.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "charts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/funnel-chart.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chart-extras-math.ts",
          "type": "registry:ui",
          "target": "components/ui/chart-extras-math.ts"
        },
        {
          "path": "registry/nasaq/ui/chart-extras.tsx",
          "type": "registry:ui",
          "target": "components/ui/chart-extras.tsx"
        }
      ]
    },
    {
      "name": "chat",
      "type": "registry:ui",
      "title": "Chat",
      "description": "Chat UI kit. A bottom-sticking message thread, messages with avatar, time, status and streaming, and an autosizing composer.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "chat"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chat.tsx",
          "type": "registry:ui",
          "target": "components/ui/chat.tsx"
        }
      ]
    },
    {
      "name": "chat-widget",
      "type": "registry:ui",
      "title": "Chat Widget",
      "description": "Floating customer chat for a website with a launcher and unread badge, a chat panel with greeting, quick questions, messages, typing and file attachments, and an offline leave-a-message form, driven by async callbacks.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "chat"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chat.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chat-widget.tsx",
          "type": "registry:ui",
          "target": "components/ui/chat-widget.tsx"
        }
      ]
    },
    {
      "name": "check-in-kiosk",
      "type": "registry:ui",
      "title": "Check In Kiosk",
      "description": "Self check-in kiosk - scan or type a booking code, or enter a phone number on a big keypad, find the booking, and print a queue ticket with a QR and an auto reset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/qr-code.json",
        "https://docs.nasaqui.com/r/waiting-screen.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/check-in-kiosk.tsx",
          "type": "registry:ui",
          "target": "components/ui/check-in-kiosk.tsx"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "A box for choices applied on submit and for selecting rows. Supports an indeterminate state for \"some selected\".",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/checkbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/checkbox.tsx"
        }
      ]
    },
    {
      "name": "checklist",
      "type": "registry:ui",
      "title": "Checklist",
      "description": "A checklist with one level of subtasks, a progress bar, attachments and a row menu. A parent follows its subtasks and ticking a parent ticks them all.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/checklist-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/checklist-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/checklist.tsx",
          "type": "registry:ui",
          "target": "components/ui/checklist.tsx"
        }
      ]
    },
    {
      "name": "checkout-steps",
      "type": "registry:ui",
      "title": "Checkout Steps",
      "description": "A five-step subscription checkout (plan, billing details, payment method, review, success) with a presentational card form, order summary and Intl money.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/plan-card.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stepper.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/card-format.ts",
          "type": "registry:ui",
          "target": "components/ui/card-format.ts"
        },
        {
          "path": "registry/nasaq/ui/checkout-steps.tsx",
          "type": "registry:ui",
          "target": "components/ui/checkout-steps.tsx"
        }
      ]
    },
    {
      "name": "chip-group",
      "type": "registry:ui",
      "title": "Chip Group",
      "description": "A single-select row of filter chips for categories or views; scrolls sideways on narrow screens instead of wrapping.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chip-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/chip-group.tsx"
        }
      ]
    },
    {
      "name": "chrome-extension-install",
      "type": "registry:ui",
      "title": "Chrome Extension Install",
      "description": "Three-step install flow for a Chrome extension (add from the Web Store, pin, sign in) with a detected state, re-check, sign-in action and a notice for unsupported browsers.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chrome-extension-install.tsx",
          "type": "registry:ui",
          "target": "components/ui/chrome-extension-install.tsx"
        }
      ]
    },
    {
      "name": "client-portal",
      "type": "registry:ui",
      "title": "Client Portal",
      "description": "What a customer sees of their project. A progress ring and hours against the budget, a read-only board, requests with a form, hours per week, sent invoices and an activity feed.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/invoice-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/client-portal-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/client-portal-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/client-portal.tsx",
          "type": "registry:ui",
          "target": "components/ui/client-portal.tsx"
        }
      ]
    },
    {
      "name": "clinic-dashboard",
      "type": "registry:ui",
      "title": "Clinic Dashboard",
      "description": "Front-desk overview with waiting count and longest wait, doctors on duty, room use, a card per room and a row per doctor, each state shown with an icon and a word.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "healthcare"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/waiting-screen.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/clinic-dashboard.tsx",
          "type": "registry:ui",
          "target": "components/ui/clinic-dashboard.tsx"
        },
        {
          "path": "registry/nasaq/ui/clinic-math.ts",
          "type": "registry:ui",
          "target": "components/ui/clinic-math.ts"
        }
      ]
    },
    {
      "name": "clinic-queue",
      "type": "registry:ui",
      "title": "Clinic Queue",
      "description": "The doctor's live patient queue - a big Call next button, who is called or in the room, and a table of everyone else with call, call again, skip, start, finish and put back actions.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "healthcare"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/waiting-screen.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/clinic-queue.tsx",
          "type": "registry:ui",
          "target": "components/ui/clinic-queue.tsx"
        }
      ]
    },
    {
      "name": "clinic-schedule",
      "type": "registry:ui",
      "title": "Clinic Schedule",
      "description": "A doctor's day on a timeline, with each appointment named and coloured by status, a summary by status, an in-visit card, the next patient with lateness and an overlap warning.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "healthcare"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/booking-flow.json",
        "https://docs.nasaqui.com/r/booking-pipeline.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/scheduler.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/clinic-schedule.tsx",
          "type": "registry:ui",
          "target": "components/ui/clinic-schedule.tsx"
        },
        {
          "path": "registry/nasaq/ui/schedule-math.ts",
          "type": "registry:ui",
          "target": "components/ui/schedule-math.ts"
        }
      ]
    },
    {
      "name": "code-block",
      "type": "registry:ui",
      "title": "Code Block",
      "description": "Syntax-highlighted code with filename header, line numbers, highlighted lines and a copy button; Shiki loads lazily. Also InlineCode.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "shiki@4.4.3"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/code-block.tsx",
          "type": "registry:ui",
          "target": "components/ui/code-block.tsx"
        }
      ]
    },
    {
      "name": "code-block-variants",
      "type": "registry:ui",
      "title": "Code Block Variants",
      "description": "Code in tabs (pnpm npm yarn, curl JS Python), a copy menu for AI assistants, and a one-line command with a direct copy button. Composes CodeBlock.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/code-block-variants-format.ts",
          "type": "registry:ui",
          "target": "components/ui/code-block-variants-format.ts"
        },
        {
          "path": "registry/nasaq/ui/code-block-variants.tsx",
          "type": "registry:ui",
          "target": "components/ui/code-block-variants.tsx"
        }
      ]
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "title": "Collapsible",
      "description": "Show/hide disclosure with an animated height-and-opacity panel. Wraps Base UI Collapsible.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/collapsible.tsx",
          "type": "registry:ui",
          "target": "components/ui/collapsible.tsx"
        }
      ]
    },
    {
      "name": "color-picker",
      "type": "registry:ui",
      "title": "Color Picker",
      "description": "Swatch trigger that opens a popover with a swatch grid (tag palette by default), a validated hex field and an optional native colour input.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/popover.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/color-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/color-picker.tsx"
        }
      ]
    },
    {
      "name": "combobox",
      "type": "registry:ui",
      "title": "Combobox",
      "description": "Searchable select for long lists, single or multiple (chips), with Arabic-aware filtering and an empty state. Wraps Base UI Combobox.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/combobox.tsx",
          "type": "registry:ui",
          "target": "components/ui/combobox.tsx"
        }
      ]
    },
    {
      "name": "command-palette",
      "type": "registry:ui",
      "title": "Command Palette",
      "description": "Spotlight-style ⌘K palette that ranks and renders every command registered in the app, with nested pages, async results and a SearchTrigger field.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "keyboard"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/text.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/command-palette.tsx",
          "type": "registry:ui",
          "target": "components/ui/command-palette.tsx"
        }
      ]
    },
    {
      "name": "commands",
      "type": "registry:ui",
      "title": "Commands",
      "description": "The command registry behind the palette - components register commands and async sources while mounted; Nasaq ranks, renders and binds shortcuts.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "keyboard"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/commands.tsx",
          "type": "registry:ui",
          "target": "components/ui/commands.tsx"
        }
      ]
    },
    {
      "name": "comment-thread",
      "type": "registry:ui",
      "title": "Comment Thread",
      "description": "Threaded comments with one reply level, mention chips, badges for agents and clients, a review badge for pending comments and a sign-in prompt.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "collaboration"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/mention-textarea.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/actions-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/actions-menu.tsx"
        },
        {
          "path": "registry/nasaq/ui/comment-thread-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/comment-thread-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/comment-thread.tsx",
          "type": "registry:ui",
          "target": "components/ui/comment-thread.tsx"
        }
      ]
    },
    {
      "name": "company-list",
      "type": "registry:ui",
      "title": "Company List",
      "description": "A list of companies as a table or cards with logo, domain, industry, location, contacts count, tags, owner and last activity, plus search, industry and tag and owner filters, bulk select, loading skeletons and an empty state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/company-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/company-list.tsx"
        }
      ]
    },
    {
      "name": "confirm-provider",
      "type": "registry:ui",
      "title": "Confirm Provider",
      "description": "One app-wide confirm dialog you can await from any handler, so `if (!(await confirm({ title }))) return;` replaces window.confirm with a styled, localised AlertDialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/confirm-provider.tsx",
          "type": "registry:ui",
          "target": "components/ui/confirm-provider.tsx"
        }
      ]
    },
    {
      "name": "connected-accounts",
      "type": "registry:ui",
      "title": "Connected Accounts",
      "description": "OAuth sign-in methods for an account, each provider with its official logo, the connected email or username, and Connect or Disconnect, and the last remaining sign-in method cannot be disconnected.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/connected-accounts.tsx",
          "type": "registry:ui",
          "target": "components/ui/connected-accounts.tsx"
        }
      ]
    },
    {
      "name": "contact-identities",
      "type": "registry:ui",
      "title": "Contact Identities",
      "description": "Every account one contact is reachable on (email, phone, WhatsApp, social) with a primary per channel, a link form that rejects duplicates, and a consent switch per channel.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/contact-identities-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/contact-identities-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/contact-identities.tsx",
          "type": "registry:ui",
          "target": "components/ui/contact-identities.tsx"
        }
      ]
    },
    {
      "name": "contact-list",
      "type": "registry:ui",
      "title": "Contact List",
      "description": "A list of contacts as a table or cards with avatar, company, stage, tags, owner and last activity, plus search, stage and tag and owner filters, bulk select, loading skeletons and an empty state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/contact-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/contact-list.tsx"
        }
      ]
    },
    {
      "name": "contact-merge",
      "type": "registry:ui",
      "title": "Contact Merge",
      "description": "Merge duplicate contacts by choosing a survivor, then choosing which value wins for every field that differs, with a live result summary and a confirmation step.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/contact-identities.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/contact-merge-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/contact-merge-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/contact-merge.tsx",
          "type": "registry:ui",
          "target": "components/ui/contact-merge.tsx"
        }
      ]
    },
    {
      "name": "content-table-editor",
      "type": "registry:ui",
      "title": "Content Table Editor",
      "description": "An editable table for structured content with typed columns, cell editing by keyboard, sorting, search, undo and redo, footer totals, validation, CSV export and a save state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/content-table-cell.tsx",
          "type": "registry:ui",
          "target": "components/ui/content-table-cell.tsx"
        },
        {
          "path": "registry/nasaq/ui/content-table-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/content-table-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/content-table-math.ts",
          "type": "registry:ui",
          "target": "components/ui/content-table-math.ts"
        },
        {
          "path": "registry/nasaq/ui/content-table-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/content-table-strings.ts"
        }
      ]
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "title": "Context Menu",
      "description": "Right-click (or long-press) menu for a region, with items, checkbox and radio items, groups, shortcuts and submenus. Wraps Base UI ContextMenu and shares DropdownMenu styling.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/context-actions-helpers.ts",
          "type": "registry:ui",
          "target": "components/ui/context-actions-helpers.ts"
        },
        {
          "path": "registry/nasaq/ui/context-actions.tsx",
          "type": "registry:ui",
          "target": "components/ui/context-actions.tsx"
        },
        {
          "path": "registry/nasaq/ui/context-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/context-menu.tsx"
        }
      ]
    },
    {
      "name": "cookie-consent",
      "type": "registry:ui",
      "title": "Cookie Consent",
      "description": "\"Cookie consent banner and preferences dialog with Consent Mode categories. Reject and Accept carry equal weight, and it holds no tracking code.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/consent-model.ts",
          "type": "registry:ui",
          "target": "components/ui/consent-model.ts"
        },
        {
          "path": "registry/nasaq/ui/cookie-consent.tsx",
          "type": "registry:ui",
          "target": "components/ui/cookie-consent.tsx"
        }
      ]
    },
    {
      "name": "copilot-chat",
      "type": "registry:ui",
      "title": "Copilot Chat",
      "description": "\"AI assistant chat with streamed Markdown answers, tool-call steps, sources, artifacts, follow-ups, context chips, file attachments, slash commands, toggles, history, a model picker and @mentions, as a side panel or a full page.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-model-picker.json",
        "https://docs.nasaqui.com/r/artifact-renderer.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chat.json",
        "https://docs.nasaqui.com/r/code-block-variants.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/mention-textarea.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/popover.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/copilot-chat-format.ts",
          "type": "registry:ui",
          "target": "components/ui/copilot-chat-format.ts"
        },
        {
          "path": "registry/nasaq/ui/copilot-chat.tsx",
          "type": "registry:ui",
          "target": "components/ui/copilot-chat.tsx"
        }
      ]
    },
    {
      "name": "copilot-dock",
      "type": "registry:ui",
      "title": "Copilot Dock",
      "description": "\"App-wide assistant: a launcher or an Ask bar that opens CopilotChat in a non-modal panel docked to either edge or the bottom, floating, or expanded to the page. Toggled with ⌘J / Ctrl+J.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copilot-chat.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/copilot-dock.tsx",
          "type": "registry:ui",
          "target": "components/ui/copilot-dock.tsx"
        }
      ]
    },
    {
      "name": "copilot-provider",
      "type": "registry:ui",
      "title": "Copilot Provider",
      "description": "\"Owns a copilot conversation: streams answers from your transport, stops, retries, keeps sessions, and lets any part of the app open the assistant with useCopilot().\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/artifact-renderer.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copilot-chat.json",
        "https://docs.nasaqui.com/r/copilot-dock.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/copilot-provider-state.ts",
          "type": "registry:ui",
          "target": "components/ui/copilot-provider-state.ts"
        },
        {
          "path": "registry/nasaq/ui/copilot-provider.tsx",
          "type": "registry:ui",
          "target": "components/ui/copilot-provider.tsx"
        }
      ]
    },
    {
      "name": "copy-button",
      "type": "registry:ui",
      "title": "Copy Button",
      "description": "Icon button that copies text to the clipboard and shows a check for 1.5 seconds, with a screen-reader announcement and a fallback; CopyField pairs it with a read-only, always left-to-right input for keys and URLs.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/copy-button.tsx",
          "type": "registry:ui",
          "target": "components/ui/copy-button.tsx"
        }
      ]
    },
    {
      "name": "countdown",
      "type": "registry:ui",
      "title": "Countdown",
      "description": "A drift-free countdown hook, a timer ring with phase colours, the mm:ss readout, cycle dots, and an idle-time prompt for time that passed while you were away.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/countdown-math.ts",
          "type": "registry:ui",
          "target": "components/ui/countdown-math.ts"
        },
        {
          "path": "registry/nasaq/ui/countdown.tsx",
          "type": "registry:ui",
          "target": "components/ui/countdown.tsx"
        },
        {
          "path": "registry/nasaq/ui/use-tick-loop.ts",
          "type": "registry:ui",
          "target": "components/ui/use-tick-loop.ts"
        }
      ]
    },
    {
      "name": "country-flag",
      "type": "registry:ui",
      "title": "Country Flag",
      "description": "A country's flag as an SVG (3:2, one line of text tall) from its ISO code. Looks the same on every platform, including Windows, where flag emoji do not render.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "country-flag-icons@1.6.20"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/country-flag.tsx",
          "type": "registry:ui",
          "target": "components/ui/country-flag.tsx"
        }
      ]
    },
    {
      "name": "country-select",
      "type": "registry:ui",
      "title": "Country Select",
      "description": "Searchable country combobox with SVG flags and names in English or Arabic. The value is the ISO 3166-1 alpha-2 code. Uses PHONE_COUNTRIES or a LocationsDataSource.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/address-input.json",
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/country-flag.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/phone-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/country-select.tsx",
          "type": "registry:ui",
          "target": "components/ui/country-select.tsx"
        }
      ]
    },
    {
      "name": "courier-card",
      "type": "registry:ui",
      "title": "Courier Card",
      "description": "A courier row for dispatch screens - avatar, availability, vehicle, distance and ETA from the pickup, cash float and active orders, with a selectable list wrapper.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "delivery"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/courier-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/courier-card.tsx"
        }
      ]
    },
    {
      "name": "cron-builder",
      "type": "registry:ui",
      "title": "Cron Builder",
      "description": "A schedule editor with simple settings or a cron expression, a plain-language reading in English and Arabic, field-level validation, and the next runs in a chosen time zone. Ships a schedule list with ran, failed and missed status.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/cron-builder.tsx",
          "type": "registry:ui",
          "target": "components/ui/cron-builder.tsx"
        },
        {
          "path": "registry/nasaq/ui/cron-schedule-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/cron-schedule-list.tsx"
        },
        {
          "path": "registry/nasaq/ui/cron.ts",
          "type": "registry:ui",
          "target": "components/ui/cron.ts"
        }
      ]
    },
    {
      "name": "currency-input",
      "type": "registry:ui",
      "title": "Currency Input",
      "description": "Money field whose value is an integer in minor units. The currency sets the decimals, Arabic and Western digits both parse, and the symbol sits where the locale puts it.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/currency-input-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/currency-input-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/currency-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/currency-input.tsx"
        }
      ]
    },
    {
      "name": "current-visit",
      "type": "registry:ui",
      "title": "Current Visit",
      "description": "The visit in progress - patient card with allergies, earlier visits, a running timer, notes, a prescription list with validation, follow-up choices and a finish that checks the record.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "healthcare"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/timeline.json",
        "https://docs.nasaqui.com/r/waiting-screen.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/current-visit.tsx",
          "type": "registry:ui",
          "target": "components/ui/current-visit.tsx"
        },
        {
          "path": "registry/nasaq/ui/visit-math.ts",
          "type": "registry:ui",
          "target": "components/ui/visit-math.ts"
        }
      ]
    },
    {
      "name": "daily-summary",
      "type": "registry:ui",
      "title": "Daily Summary",
      "description": "One day at a glance with water, meals by safety, caffeine by kind, focus sessions, shutdown violations, steps, sleep, energy, heart rate and weight, plus a day switcher.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "wellness"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/engine-card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/daily-summary-math.ts",
          "type": "registry:ui",
          "target": "components/ui/daily-summary-math.ts"
        },
        {
          "path": "registry/nasaq/ui/daily-summary.tsx",
          "type": "registry:ui",
          "target": "components/ui/daily-summary.tsx"
        }
      ]
    },
    {
      "name": "dashboard-board",
      "type": "registry:ui",
      "title": "Dashboard Board",
      "description": "A customisable dashboard grid where people drag to reorder cards, resize them, pin favourites, add or remove widgets and change each widget's settings, with an edit mode that saves or cancels as one change.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/board-math.ts",
          "type": "registry:ui",
          "target": "components/ui/board-math.ts"
        },
        {
          "path": "registry/nasaq/ui/dashboard-board.tsx",
          "type": "registry:ui",
          "target": "components/ui/dashboard-board.tsx"
        }
      ]
    },
    {
      "name": "data-privacy",
      "type": "registry:ui",
      "title": "Data Privacy",
      "description": "Your data rights. Request a copy of your data and follow it until it is ready to download, delete the account with a grace period, and the public page that cancels a scheduled deletion.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/account-settings.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/data-privacy.tsx",
          "type": "registry:ui",
          "target": "components/ui/data-privacy.tsx"
        },
        {
          "path": "registry/nasaq/ui/privacy-rules.ts",
          "type": "registry:ui",
          "target": "components/ui/privacy-rules.ts"
        }
      ]
    },
    {
      "name": "data-state",
      "type": "registry:ui",
      "title": "Data State",
      "description": "One wrapper for the states of a data view, in a fixed order of loading, signed out, service unavailable, error with retry, empty with an action, then the content.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/data-state.tsx",
          "type": "registry:ui",
          "target": "components/ui/data-state.tsx"
        }
      ]
    },
    {
      "name": "data-table",
      "type": "registry:ui",
      "title": "Data Table",
      "description": "The interactive layer on top of Table. A useDataTable hook plus opt-in pieces for sorting (multi-column), search, facet and range filters, column visibility, pinning and resizing, expandable rows, selection with bulk actions, row actions, keyboard navigation, pagination with page sizes, and loading, empty and error states.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/native-select.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/table.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/cell-edit-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/cell-edit-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/cell-editors.tsx",
          "type": "registry:ui",
          "target": "components/ui/cell-editors.tsx"
        },
        {
          "path": "registry/nasaq/ui/data-table-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/data-table-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/data-table.tsx",
          "type": "registry:ui",
          "target": "components/ui/data-table.tsx"
        }
      ]
    },
    {
      "name": "database-explorer",
      "type": "registry:ui",
      "title": "Database Explorer",
      "description": "A database browser with a schema and table tree, a SQL editor, a results grid with CSV export, table structure and query history. It has no connection of its own, you run the SQL.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tree-view.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/database-explorer.tsx",
          "type": "registry:ui",
          "target": "components/ui/database-explorer.tsx"
        },
        {
          "path": "registry/nasaq/ui/database-format.ts",
          "type": "registry:ui",
          "target": "components/ui/database-format.ts"
        }
      ]
    },
    {
      "name": "date-picker",
      "type": "registry:ui",
      "title": "Date Picker",
      "description": "Input-looking trigger that opens a Calendar in a popover to pick a date or a range, plus a segmented TimePicker. Field-aware, locale and RTL aware.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/date-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/date-picker.tsx"
        }
      ]
    },
    {
      "name": "delivery-tracker",
      "type": "registry:ui",
      "title": "Delivery Tracker",
      "description": "A customer-facing order tracker - five delivery steps with times, an ETA, the courier with call and message actions, a map slot, and cancelled or failed outcomes.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "delivery"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/delivery-tracker.tsx",
          "type": "registry:ui",
          "target": "components/ui/delivery-tracker.tsx"
        }
      ]
    },
    {
      "name": "deploy-view",
      "type": "registry:ui",
      "title": "Deploy View",
      "description": "A deploy run as ordered steps with status, live durations, expandable ANSI logs that follow the output, and retry for failed steps.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/terminal.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/deploy-view-format.ts",
          "type": "registry:ui",
          "target": "components/ui/deploy-view-format.ts"
        },
        {
          "path": "registry/nasaq/ui/deploy-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/deploy-view.tsx"
        }
      ]
    },
    {
      "name": "desktop-icons",
      "type": "registry:ui",
      "title": "Desktop Icons",
      "description": "\"Icons on a desktop surface. An auto grid, or free placement with drag and snap. Select, open, context menu and keyboard moves, with RTL built in.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/desktop-icons.tsx",
          "type": "registry:ui",
          "target": "components/ui/desktop-icons.tsx"
        }
      ]
    },
    {
      "name": "desktop-locations",
      "type": "registry:ui",
      "title": "Desktop Locations",
      "description": "Manage the folders a desktop app may use, such as Orchestra workspace roots. Add and remove folders, set read, write and index permissions per folder, see status and the default, plus a DesktopLocationPicker.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/desktop-locations.tsx",
          "type": "registry:ui",
          "target": "components/ui/desktop-locations.tsx"
        },
        {
          "path": "registry/nasaq/ui/location-path.ts",
          "type": "registry:ui",
          "target": "components/ui/location-path.ts"
        }
      ]
    },
    {
      "name": "desktop-login-screen",
      "type": "registry:ui",
      "title": "Desktop Login Screen",
      "description": "\"A desktop OS sign-in screen. Wallpaper, a clock with a greeting, and a card with the mark and the Nasaq LoginForm, plus optional power buttons.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/login-form.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/desktop-login-screen.tsx",
          "type": "registry:ui",
          "target": "components/ui/desktop-login-screen.tsx"
        }
      ]
    },
    {
      "name": "desktop-notification",
      "type": "registry:ui",
      "title": "Desktop Notification",
      "description": "Notification cards drawn like macOS and Windows system alerts for Electron apps and previews, a corner stack with auto dismiss, and the notification permission flow with a soft ask, waiting, granted and blocked steps.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/desktop-notification.tsx",
          "type": "registry:ui",
          "target": "components/ui/desktop-notification.tsx"
        }
      ]
    },
    {
      "name": "desktop-os-shell",
      "type": "registry:ui",
      "title": "Desktop Os Shell",
      "description": "A desktop for the browser with a wallpaper, menu bar, dock, launchpad and a window manager that drags, resizes, snaps, maximises and minimises. Windows are plain data.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/menubar.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/desktop-math.ts",
          "type": "registry:ui",
          "target": "components/ui/desktop-math.ts"
        },
        {
          "path": "registry/nasaq/ui/desktop-os-shell.tsx",
          "type": "registry:ui",
          "target": "components/ui/desktop-os-shell.tsx"
        },
        {
          "path": "registry/nasaq/ui/desktop-power-menu.ts",
          "type": "registry:ui",
          "target": "components/ui/desktop-power-menu.ts"
        }
      ]
    },
    {
      "name": "detail-layout",
      "type": "registry:ui",
      "title": "Detail Layout",
      "description": "A detail page for one thing (a plugin, a customer, a server). A sub-sidebar of tabs grouped in sections that becomes a tab bar on small screens, a header with icon, name, version, kind, status and recent activity, the active tab's content, and loading and error states.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/icon-picker.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/detail-layout-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/detail-layout-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/detail-layout.tsx",
          "type": "registry:ui",
          "target": "components/ui/detail-layout.tsx"
        }
      ]
    },
    {
      "name": "device-pairing",
      "type": "registry:ui",
      "title": "Device Pairing",
      "description": "\"Approve a device by code with its claims, IP and platform; show an OAuth device-code with a big copyable code and link; and hand a browser sign-in to a native app.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/otp-input.json",
        "https://docs.nasaqui.com/r/product-mark.json",
        "https://docs.nasaqui.com/r/qr-code.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/device-code.ts",
          "type": "registry:ui",
          "target": "components/ui/device-code.ts"
        },
        {
          "path": "registry/nasaq/ui/device-pairing.tsx",
          "type": "registry:ui",
          "target": "components/ui/device-pairing.tsx"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "Modal dialog for short focused tasks and confirmations, with backdrop, focus trap and a built-in close button. Wraps Base UI Dialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/close-button.tsx",
          "type": "registry:ui",
          "target": "components/ui/close-button.tsx"
        },
        {
          "path": "registry/nasaq/ui/dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/dialog.tsx"
        }
      ]
    },
    {
      "name": "dispatch-offer",
      "type": "registry:ui",
      "title": "Dispatch Offer",
      "description": "A courier-side job offer with pickup and drop-off, fee, cash to collect, distance, ETA and a ring that counts down to expiry, with accept and decline.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "delivery"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/countdown.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/dispatch-offer.tsx",
          "type": "registry:ui",
          "target": "components/ui/dispatch-offer.tsx"
        }
      ]
    },
    {
      "name": "dns-management",
      "type": "registry:ui",
      "title": "Dns Management",
      "description": "A DNS zone editor with a searchable records table (A, AAAA, CNAME, MX, TXT and more), an add and edit form with type-aware validation, TTL choices, a proxy toggle and confirmed delete.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/dns-format.ts",
          "type": "registry:ui",
          "target": "components/ui/dns-format.ts"
        },
        {
          "path": "registry/nasaq/ui/dns-management.tsx",
          "type": "registry:ui",
          "target": "components/ui/dns-management.tsx"
        }
      ]
    },
    {
      "name": "docs-shell",
      "type": "registry:ui",
      "title": "Docs Shell",
      "description": "The documentation layout with a tree sidebar, breadcrumb, copy page, callouts, an on this page rail that follows the reader and previous and next links.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/blog-index.json",
        "https://docs.nasaqui.com/r/blog-post.json",
        "https://docs.nasaqui.com/r/breadcrumb.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/text.json",
        "https://docs.nasaqui.com/r/tree-view.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/docs-model.ts",
          "type": "registry:ui",
          "target": "components/ui/docs-model.ts"
        },
        {
          "path": "registry/nasaq/ui/docs-shell.tsx",
          "type": "registry:ui",
          "target": "components/ui/docs-shell.tsx"
        }
      ]
    },
    {
      "name": "domains-manager",
      "type": "registry:ui",
      "title": "Domains Manager",
      "description": "Custom domains for a site - add a domain, see its DNS check state, check again, make one primary, remove with a confirm, with the CNAME target to copy. Also DomainChips, compact chips with a +N overflow chip.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/domains-format.ts",
          "type": "registry:ui",
          "target": "components/ui/domains-format.ts"
        },
        {
          "path": "registry/nasaq/ui/domains-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/domains-manager.tsx"
        }
      ]
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "title": "Drawer",
      "description": "Mobile bottom sheet on Base UI Dialog with a drag handle and swipe-down-to-close; snaps back below the threshold and respects reduced motion.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/drawer.tsx",
          "type": "registry:ui",
          "target": "components/ui/drawer.tsx"
        }
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "Action menu opened from a trigger, with items, checkbox and radio items, groups, shortcuts and submenus. Wraps Base UI Menu.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/dropdown-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/dropdown-menu.tsx"
        },
        {
          "path": "registry/nasaq/ui/menu-styles.ts",
          "type": "registry:ui",
          "target": "components/ui/menu-styles.ts"
        }
      ]
    },
    {
      "name": "editor-chrome",
      "type": "registry:ui",
      "title": "Editor Chrome",
      "description": "The frame around a document editor with a tab strip of open documents, a status bar for words, cursor and save state, and a backlinks and related panel.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/editor-chrome-model.ts",
          "type": "registry:ui",
          "target": "components/ui/editor-chrome-model.ts"
        },
        {
          "path": "registry/nasaq/ui/editor-chrome.tsx",
          "type": "registry:ui",
          "target": "components/ui/editor-chrome.tsx"
        }
      ]
    },
    {
      "name": "email-templates",
      "type": "registry:ui",
      "title": "Email Templates",
      "description": "Email template gallery with rendered thumbnails, an editor (name, category, subject, preview text, rich text body, variables) and a sandboxed live preview at desktop or phone width with test send.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/email-render.ts",
          "type": "registry:ui",
          "target": "components/ui/email-render.ts"
        },
        {
          "path": "registry/nasaq/ui/email-templates.tsx",
          "type": "registry:ui",
          "target": "components/ui/email-templates.tsx"
        }
      ]
    },
    {
      "name": "emoji-picker",
      "type": "registry:ui",
      "title": "Emoji Picker",
      "description": "Emoji picker in a popover, with search, categories, skin tones, RTL-aware keyboard navigation and lazily loaded emoji data.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "frimousse@0.4.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/popover.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/emoji-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/emoji-picker.tsx"
        }
      ]
    },
    {
      "name": "engine-card",
      "type": "registry:ui",
      "title": "Engine Card",
      "description": "One Health Debug protocol engine's live state as a card, with a state badge, the engine's readout and its log action. Seven engines, one component.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "wellness"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/engine-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/engine-card.tsx"
        },
        {
          "path": "registry/nasaq/ui/health-engines.ts",
          "type": "registry:ui",
          "target": "components/ui/health-engines.ts"
        },
        {
          "path": "registry/nasaq/ui/health-format.tsx",
          "type": "registry:ui",
          "target": "components/ui/health-format.tsx"
        }
      ]
    },
    {
      "name": "engine-details",
      "type": "registry:ui",
      "title": "Engine Details",
      "description": "One protocol engine's own page with its live card, per-day history, record timeline and the fixed protocol it follows.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "wellness"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/engine-card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/section-header.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/timeline.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/engine-details.tsx",
          "type": "registry:ui",
          "target": "components/ui/engine-details.tsx"
        },
        {
          "path": "registry/nasaq/ui/history-strip.tsx",
          "type": "registry:ui",
          "target": "components/ui/history-strip.tsx"
        }
      ]
    },
    {
      "name": "entity-list",
      "type": "registry:ui",
      "title": "Entity List",
      "description": "A list of records shown as a DataTable or as a grid of cards with a view toggle, search, multi-value facet filters, bulk select, row actions, loading skeletons, an error state and an empty state. The base for ContactList, CompanyList and ProjectList.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/entity-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/entity-list.tsx"
        },
        {
          "path": "registry/nasaq/ui/entity-parts.tsx",
          "type": "registry:ui",
          "target": "components/ui/entity-parts.tsx"
        }
      ]
    },
    {
      "name": "env-list",
      "type": "registry:ui",
      "title": "Env List",
      "description": "A .env manager with masked values, reveal and copy, add edit delete, import by pasting a .env, export, per-environment tabs and key validation.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/env-list-format.ts",
          "type": "registry:ui",
          "target": "components/ui/env-list-format.ts"
        },
        {
          "path": "registry/nasaq/ui/env-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/env-list.tsx"
        }
      ]
    },
    {
      "name": "error-pages",
      "type": "registry:ui",
      "title": "Error Pages",
      "description": "Full-page states for 404, 500, offline, maintenance, no access, unknown workspace and a module that is coming soon, with sensible actions, an error ID to quote and English and Arabic copy.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/error-pages-kinds.ts",
          "type": "registry:ui",
          "target": "components/ui/error-pages-kinds.ts"
        },
        {
          "path": "registry/nasaq/ui/error-pages.tsx",
          "type": "registry:ui",
          "target": "components/ui/error-pages.tsx"
        }
      ]
    },
    {
      "name": "error-tracking",
      "type": "registry:ui",
      "title": "Error Tracking",
      "description": "A list of captured errors with a frequency sparkline, and a detail view with stack trace, breadcrumbs, tags, captured screenshot, console and network, plus resolve and ignore.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/error-tracking-format.ts",
          "type": "registry:ui",
          "target": "components/ui/error-tracking-format.ts"
        },
        {
          "path": "registry/nasaq/ui/error-tracking.tsx",
          "type": "registry:ui",
          "target": "components/ui/error-tracking.tsx"
        }
      ]
    },
    {
      "name": "export-action",
      "type": "registry:ui",
      "title": "Export Action",
      "description": "A button or menu that exports table data as CSV, XLSX or JSON, and PDF through a callback, with column choice, a rows scope of selected, filtered or all, a progress state and pure serializers with no dependency.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "files"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/radio-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/export-action.tsx",
          "type": "registry:ui",
          "target": "components/ui/export-action.tsx"
        },
        {
          "path": "registry/nasaq/ui/export-formats.ts",
          "type": "registry:ui",
          "target": "components/ui/export-formats.ts"
        }
      ]
    },
    {
      "name": "extension-popup",
      "type": "registry:ui",
      "title": "Extension Popup",
      "description": "Browser extension surfaces, a popup with connect and pair, mini status cards, a pause switch and quick actions, plus an options page with a save bar.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/extension-popup.tsx",
          "type": "registry:ui",
          "target": "components/ui/extension-popup.tsx"
        }
      ]
    },
    {
      "name": "feature-flag-detail",
      "type": "registry:ui",
      "title": "Feature Flag Detail",
      "description": "\"One feature flag in full: on/off and percentage rollout per environment, targeting rules built with the rule builder, weighted variants, a kill switch and the audit history.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/feature-flags.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/rule-builder.json",
        "https://docs.nasaqui.com/r/slider.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/feature-flag-detail.tsx",
          "type": "registry:ui",
          "target": "components/ui/feature-flag-detail.tsx"
        },
        {
          "path": "registry/nasaq/ui/flag-audit.tsx",
          "type": "registry:ui",
          "target": "components/ui/flag-audit.tsx"
        }
      ]
    },
    {
      "name": "feature-flags",
      "type": "registry:ui",
      "title": "Feature Flags",
      "description": "\"A feature flag list with a key, an on/off switch per environment, rollout percentage, state and last update, plus the pure bucketing and evaluation logic behind percentage rollouts.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/rule-builder.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/feature-flags.tsx",
          "type": "registry:ui",
          "target": "components/ui/feature-flags.tsx"
        },
        {
          "path": "registry/nasaq/ui/flag-model.ts",
          "type": "registry:ui",
          "target": "components/ui/flag-model.ts"
        }
      ]
    },
    {
      "name": "feature-story",
      "type": "registry:ui",
      "title": "Feature Story",
      "description": "One feature told as copy plus a picture, side by side above 48rem of container width; alternate with reverse to build a product page.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/feature-story.tsx",
          "type": "registry:ui",
          "target": "components/ui/feature-story.tsx"
        }
      ]
    },
    {
      "name": "feedback-reporter",
      "type": "registry:ui",
      "title": "Feedback Reporter",
      "description": "The interface around the feedback dialog. A floating launcher as a pill, circle or edge tab that visitors can drag aside, a hub of reports already made on this page, a launcher configurator with install code, and a shake-to-report sheet for phones.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback-sdk"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/feedback-reporter-utils.ts",
          "type": "registry:ui",
          "target": "components/ui/feedback-reporter-utils.ts"
        },
        {
          "path": "registry/nasaq/ui/feedback-reporter.tsx",
          "type": "registry:ui",
          "target": "components/ui/feedback-reporter.tsx"
        }
      ]
    },
    {
      "name": "field",
      "type": "registry:ui",
      "title": "Field",
      "description": "Labelled form field (label, control, description, error) built on Base UI Field, with the Nasaq text Input and Textarea.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/field.tsx",
          "type": "registry:ui",
          "target": "components/ui/field.tsx"
        }
      ]
    },
    {
      "name": "file-explorer",
      "type": "registry:ui",
      "title": "File Explorer",
      "description": "A file browser with a folder tree, breadcrumbs, a sortable list or a grid, a preview pane, upload by button or drop, new folder and delete. It has no storage, your callbacks do the work.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "files"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/breadcrumb.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tree-view.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/file-explorer.tsx",
          "type": "registry:ui",
          "target": "components/ui/file-explorer.tsx"
        },
        {
          "path": "registry/nasaq/ui/file-format.ts",
          "type": "registry:ui",
          "target": "components/ui/file-format.ts"
        }
      ]
    },
    {
      "name": "file-upload",
      "type": "registry:ui",
      "title": "File Upload",
      "description": "Dropzone with type, size and count validation, a file list with per-file progress, remove and retry, and a single-image upload with a thumbnail. You run the upload; it holds the state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "files"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/file-upload.tsx",
          "type": "registry:ui",
          "target": "components/ui/file-upload.tsx"
        }
      ]
    },
    {
      "name": "finops-cost",
      "type": "registry:ui",
      "title": "Finops Cost",
      "description": "A cost page for servers with KPI tiles against last month, a budget meter, per-server price and CPU, memory and disk use with rightsizing hints, cost by category, and manual line items you can add and remove.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/finops-cost.tsx",
          "type": "registry:ui",
          "target": "components/ui/finops-cost.tsx"
        },
        {
          "path": "registry/nasaq/ui/finops-format.ts",
          "type": "registry:ui",
          "target": "components/ui/finops-format.ts"
        }
      ]
    },
    {
      "name": "focus-status",
      "type": "registry:ui",
      "title": "Focus Status",
      "description": "Focus presence, a header status chip with the time left, an avatar with an in-focus dot, and a do not disturb switch. focusStateOf derives the state from a pomodoro.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "productivity"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/countdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/focus-math.ts",
          "type": "registry:ui",
          "target": "components/ui/focus-math.ts"
        },
        {
          "path": "registry/nasaq/ui/focus-status.tsx",
          "type": "registry:ui",
          "target": "components/ui/focus-status.tsx"
        }
      ]
    },
    {
      "name": "forgot-password-form",
      "type": "registry:ui",
      "title": "Forgot Password Form",
      "description": "\"Request a password reset link by email, then a Check your inbox state with a resend countdown and a change-email link; en and ar built in.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/forgot-password-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/forgot-password-form.tsx"
        }
      ]
    },
    {
      "name": "form",
      "type": "registry:ui",
      "title": "Form",
      "description": "A form that wires errors to Nasaq fields by name, with useForm for values, validation, a pending submit and server errors mapped back onto fields, and FormField for label, control, description and error in one line.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/form.tsx",
          "type": "registry:ui",
          "target": "components/ui/form.tsx"
        }
      ]
    },
    {
      "name": "form-builder",
      "type": "registry:ui",
      "title": "Form Builder",
      "description": "Build an embeddable public form in English and Arabic. Add and order fields, write show hide or require rules, choose which sites may embed it, and copy the snippet.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "form-builders"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/public-form.json",
        "https://docs.nasaqui.com/r/rule-builder.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/form-builder.tsx",
          "type": "registry:ui",
          "target": "components/ui/form-builder.tsx"
        }
      ]
    },
    {
      "name": "funnel-builder",
      "type": "registry:ui",
      "title": "Funnel Builder",
      "description": "\"A form for building a funnel: name it, add steps from events or pages, reorder them and set the conversion time window.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/funnel-chart.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/funnel-builder.tsx",
          "type": "registry:ui",
          "target": "components/ui/funnel-builder.tsx"
        }
      ]
    },
    {
      "name": "funnel-chart",
      "type": "registry:ui",
      "title": "Funnel Chart",
      "description": "\"A marketing funnel chart with stages, counts, conversion and drop-off between steps, a breakdown by source or segment, and a list of saved funnels. Bars grow from the inline start, so it reads right to left in Arabic.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/funnel-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/funnel-chart.tsx"
        },
        {
          "path": "registry/nasaq/ui/funnel-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/funnel-list.tsx"
        },
        {
          "path": "registry/nasaq/ui/funnel-math.ts",
          "type": "registry:ui",
          "target": "components/ui/funnel-math.ts"
        }
      ]
    },
    {
      "name": "gamification",
      "type": "registry:ui",
      "title": "Gamification",
      "description": "A kit for progress and rewards. Leaderboard with period tabs, podium, movement arrows and your rank pinned, a badge grid with earned, in-progress and locked states and rarity, achievement card, XP and level progress, streak counter with calendar, reward cards and an unlock toast that respects reduced motion.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "gamification"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/gamification-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/gamification-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/gamification.tsx",
          "type": "registry:ui",
          "target": "components/ui/gamification.tsx"
        }
      ]
    },
    {
      "name": "geo-list",
      "type": "registry:ui",
      "title": "Geo List",
      "description": "Top countries with a flag, the localised country name, a bar, share and change. Built on BreakdownTable.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/geo-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/geo-list.tsx"
        }
      ]
    },
    {
      "name": "github-activity",
      "type": "registry:ui",
      "title": "Github Activity",
      "description": "A repository activity card with a merged timeline plus commits, pull requests, workflow runs and deployments, each with status, author and a link to GitHub, filterable, with refresh, deploy and re-run callbacks.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/deploy-view.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/github-activity-format.ts",
          "type": "registry:ui",
          "target": "components/ui/github-activity-format.ts"
        },
        {
          "path": "registry/nasaq/ui/github-activity.tsx",
          "type": "registry:ui",
          "target": "components/ui/github-activity.tsx"
        }
      ]
    },
    {
      "name": "glance-surfaces",
      "type": "registry:ui",
      "title": "Glance Surfaces",
      "description": "Glanceable surfaces, a tray or menu-bar popover, watch rows, home and lock-screen widget tiles and a widget gallery with a size picker.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/glance-surfaces.tsx",
          "type": "registry:ui",
          "target": "components/ui/glance-surfaces.tsx"
        }
      ]
    },
    {
      "name": "google-analytics-page",
      "type": "registry:ui",
      "title": "Google Analytics Page",
      "description": "A Google Analytics report - KPI tiles with comparison, traffic chart, live users, and tabs for sources, pages and audience, with a connect-account screen.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/analytics-connect.json",
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/geo-list.json",
        "https://docs.nasaqui.com/r/heatmap.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/realtime-counter.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/google-analytics-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/google-analytics-page.tsx"
        }
      ]
    },
    {
      "name": "graph-view",
      "type": "registry:ui",
      "title": "Graph View",
      "description": "One knowledge graph in four views, a live force-directed graph with draggable shaped nodes, a schema of columns with connectors, a card grid and a sortable list, with shared search, type filters and a node inspector.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "charts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/graph-layout.ts",
          "type": "registry:ui",
          "target": "components/ui/graph-layout.ts"
        },
        {
          "path": "registry/nasaq/ui/graph-schema.ts",
          "type": "registry:ui",
          "target": "components/ui/graph-schema.ts"
        },
        {
          "path": "registry/nasaq/ui/graph-shapes.ts",
          "type": "registry:ui",
          "target": "components/ui/graph-shapes.ts"
        },
        {
          "path": "registry/nasaq/ui/graph-sim.ts",
          "type": "registry:ui",
          "target": "components/ui/graph-sim.ts"
        },
        {
          "path": "registry/nasaq/ui/graph-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/graph-view.tsx"
        }
      ]
    },
    {
      "name": "health-reports",
      "type": "registry:ui",
      "title": "Health Reports",
      "description": "Health reports over a period with averages that skip missing days, a one-figure trend chart, meals and caffeine per day, and each engine's days on and off protocol.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "wellness"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/engine-card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/section-header.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/health-reports.tsx",
          "type": "registry:ui",
          "target": "components/ui/health-reports.tsx"
        },
        {
          "path": "registry/nasaq/ui/report-math.ts",
          "type": "registry:ui",
          "target": "components/ui/report-math.ts"
        }
      ]
    },
    {
      "name": "health-trackers",
      "type": "registry:ui",
      "title": "Health Trackers",
      "description": "Daily health trackers. A unit-count cup row, pinned quick-log strip, classified food catalogue, item builder with an entry-completeness ring and a flagged entries disclosure.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "wellness"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/countdown.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/text-utilities.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/health-trackers-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/health-trackers-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/health-trackers.tsx",
          "type": "registry:ui",
          "target": "components/ui/health-trackers.tsx"
        }
      ]
    },
    {
      "name": "heatmap",
      "type": "registry:ui",
      "title": "Heatmap",
      "description": "GitHub-style contribution grid. One cell per day, one column per week, five intensity levels of a token colour, a tooltip per day and a legend. Time runs right to left in RTL.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "charts"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/heatmap.tsx",
          "type": "registry:ui",
          "target": "components/ui/heatmap.tsx"
        }
      ]
    },
    {
      "name": "hooks",
      "type": "registry:ui",
      "title": "Hooks",
      "description": "Small client hooks used across apps; useDebounce and useDebouncedCallback for search and autosave, useMediaQuery and useIsMobile for responsive logic, and useInfiniteScroll for loading the next page near the end of a list.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/hooks.ts",
          "type": "registry:ui",
          "target": "components/ui/hooks.ts"
        }
      ]
    },
    {
      "name": "hotkey-recorder",
      "type": "registry:ui",
      "title": "Hotkey Recorder",
      "description": "A control that records a keyboard shortcut from the keys the user presses, reads the physical key so it works on an Arabic layout, refuses shortcuts the browser or OS keeps, warns about clashes, and a settings list of bindings with reset.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "keyboard"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/keyboard-shortcuts.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/hotkey-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/hotkey-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/hotkey-recorder.tsx",
          "type": "registry:ui",
          "target": "components/ui/hotkey-recorder.tsx"
        }
      ]
    },
    {
      "name": "hover-card",
      "type": "registry:ui",
      "title": "Hover Card",
      "description": "Rich preview card shown when a link is hovered or focused, for sighted pointer users. Wraps Base UI PreviewCard.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/hover-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/hover-card.tsx"
        }
      ]
    },
    {
      "name": "hr-attendance",
      "type": "registry:ui",
      "title": "Hr Attendance",
      "description": "An attendance marker with breaks, leave balances and requests that check overlap and balance, and payroll runs in whole minor units.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/hr-attendance.tsx",
          "type": "registry:ui",
          "target": "components/ui/hr-attendance.tsx"
        },
        {
          "path": "registry/nasaq/ui/hr-math.ts",
          "type": "registry:ui",
          "target": "components/ui/hr-math.ts"
        }
      ]
    },
    {
      "name": "icon",
      "type": "registry:ui",
      "title": "Icon",
      "description": "lucide icon wrapper that mirrors direction-bearing glyphs in RTL, plus the bidi helpers Ltr, Bdi, BidiText and isolate.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/icon.tsx",
          "type": "registry:ui",
          "target": "components/ui/icon.tsx"
        }
      ]
    },
    {
      "name": "icon-picker",
      "type": "registry:ui",
      "title": "Icon Picker",
      "description": "A popover or inline panel to choose a lucide icon with search in English and Arabic, categories, recent icons, a capped grid with show more and full keyboard navigation. Returns the icon name.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/popover.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/icon-catalog.ts",
          "type": "registry:ui",
          "target": "components/ui/icon-catalog.ts"
        },
        {
          "path": "registry/nasaq/ui/icon-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/icon-picker.tsx"
        },
        {
          "path": "registry/nasaq/ui/icon-search.ts",
          "type": "registry:ui",
          "target": "components/ui/icon-search.ts"
        }
      ]
    },
    {
      "name": "icon-rail-sidebar",
      "type": "registry:ui",
      "title": "Icon Rail Sidebar",
      "description": "Two-level navigation. A slim rail of icons picks the section and a sub-sidebar beside it lists that section's pages. Folds into a sheet on mobile.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/icon-rail-sidebar.tsx",
          "type": "registry:ui",
          "target": "components/ui/icon-rail-sidebar.tsx"
        }
      ]
    },
    {
      "name": "idle-lock",
      "type": "registry:ui",
      "title": "Idle Lock",
      "description": "\"Locks the app after a period of inactivity: a Still there countdown dialog first, then your LockScreen over the inert app.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/lock-screen.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/idle-lock.tsx",
          "type": "registry:ui",
          "target": "components/ui/idle-lock.tsx"
        }
      ]
    },
    {
      "name": "impersonation-banner",
      "type": "registry:ui",
      "title": "Impersonation Banner",
      "description": "A sticky bar that says you are viewing as another user, or previewing, with an exit button. It is a status region, pinned so it cannot scroll away, and AdminArea uses it.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/impersonation-banner.tsx",
          "type": "registry:ui",
          "target": "components/ui/impersonation-banner.tsx"
        }
      ]
    },
    {
      "name": "import-wizard",
      "type": "registry:ui",
      "title": "Import Wizard",
      "description": "A four step wizard that imports rows from a CSV or pasted text. It maps columns to fields, previews and validates rows, then commits the valid ones.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "files"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stepper.json",
        "https://docs.nasaqui.com/r/table.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/import-wizard-csv.ts",
          "type": "registry:ui",
          "target": "components/ui/import-wizard-csv.ts"
        },
        {
          "path": "registry/nasaq/ui/import-wizard.tsx",
          "type": "registry:ui",
          "target": "components/ui/import-wizard.tsx"
        }
      ]
    },
    {
      "name": "inbox",
      "type": "registry:ui",
      "title": "Inbox",
      "description": "Unified inbox for chat, email and WhatsApp with a filterable conversation list, thread, composer, contact panel, assignment, snooze, find in thread, voice notes, location sharing, saved replies, reactions, a docked chat launcher and live new message toasts, driven by callbacks.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "chat"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chat.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/emoji-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/mention-textarea.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/notification-item.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/inbox-composer.tsx",
          "type": "registry:ui",
          "target": "components/ui/inbox-composer.tsx"
        },
        {
          "path": "registry/nasaq/ui/inbox-format.ts",
          "type": "registry:ui",
          "target": "components/ui/inbox-format.ts"
        },
        {
          "path": "registry/nasaq/ui/inbox-media.tsx",
          "type": "registry:ui",
          "target": "components/ui/inbox-media.tsx"
        },
        {
          "path": "registry/nasaq/ui/inbox-menus.tsx",
          "type": "registry:ui",
          "target": "components/ui/inbox-menus.tsx"
        },
        {
          "path": "registry/nasaq/ui/inbox-message.tsx",
          "type": "registry:ui",
          "target": "components/ui/inbox-message.tsx"
        },
        {
          "path": "registry/nasaq/ui/inbox-panels.tsx",
          "type": "registry:ui",
          "target": "components/ui/inbox-panels.tsx"
        },
        {
          "path": "registry/nasaq/ui/inbox-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/inbox-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/inbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/inbox.tsx"
        }
      ]
    },
    {
      "name": "infolist",
      "type": "registry:ui",
      "title": "Infolist",
      "description": "A read-only description list for a record's detail page, turning enum and boolean values into badges, with links, copy buttons, sections, and a column layout.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/infolist.tsx",
          "type": "registry:ui",
          "target": "components/ui/infolist.tsx"
        }
      ]
    },
    {
      "name": "inline-edit",
      "type": "registry:ui",
      "title": "Inline Edit",
      "description": "Text that turns into an input in place with Save and Cancel, async save, validation by type, and keyboard and focus handling.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/inline-edit-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/inline-edit-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/inline-edit.tsx",
          "type": "registry:ui",
          "target": "components/ui/inline-edit.tsx"
        }
      ]
    },
    {
      "name": "input-group",
      "type": "registry:ui",
      "title": "Input Group",
      "description": "An input with leading and trailing addons (icon, text affix or button) inside one bordered control that matches Input height.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/input-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/input-group.tsx"
        }
      ]
    },
    {
      "name": "install-button",
      "type": "registry:ui",
      "title": "Install Button",
      "description": "The install call to action for an app; controlled through four states, with built-in English and Arabic labels, and a quiet \"Open\" once installed.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/install-button.tsx",
          "type": "registry:ui",
          "target": "components/ui/install-button.tsx"
        }
      ]
    },
    {
      "name": "install-prompt",
      "type": "registry:ui",
      "title": "Install Prompt",
      "description": "A PWA install dialog with a hook for the browser's install event and an iPhone walkthrough, plus a per-device push opt-in that reuses the notification permission prompt and lists subscribed devices.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "platforms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/desktop-notification.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/product-mark.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/install-prompt-platform.ts",
          "type": "registry:ui",
          "target": "components/ui/install-prompt-platform.ts"
        },
        {
          "path": "registry/nasaq/ui/install-prompt.tsx",
          "type": "registry:ui",
          "target": "components/ui/install-prompt.tsx"
        }
      ]
    },
    {
      "name": "integration-connector",
      "type": "registry:ui",
      "title": "Integration Connector",
      "description": "Connections page for OAuth services such as Google Analytics, Search Console, YouTube, GitHub and Slack, with cards, a scope consent dialog, account or property picker, status, reconnect and confirmed disconnect.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/integration-connector.tsx",
          "type": "registry:ui",
          "target": "components/ui/integration-connector.tsx"
        }
      ]
    },
    {
      "name": "interim-badge",
      "type": "registry:ui",
      "title": "Interim Badge",
      "description": "\"Marks content that is partial and still arriving: a streamed answer, a total before every source has reported, a draft figure. An outlined badge with a spinner and a word.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/interim-badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/interim-badge.tsx"
        }
      ]
    },
    {
      "name": "invite-accept",
      "type": "registry:ui",
      "title": "Invite Accept",
      "description": "The public accept-invitation page. It covers a valid invitation with accept and decline or sign in first, an expired one, one sent to another account, one already used and one that was cancelled.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/invite-accept.tsx",
          "type": "registry:ui",
          "target": "components/ui/invite-accept.tsx"
        }
      ]
    },
    {
      "name": "invoice-list",
      "type": "registry:ui",
      "title": "Invoice List",
      "description": "Invoices and payments tables with summary tiles, status filters, search, pagination and per-row download.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/invoice-view.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/invoice-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/invoice-list.tsx"
        }
      ]
    },
    {
      "name": "invoice-view",
      "type": "registry:ui",
      "title": "Invoice View",
      "description": "A printable invoice document with parties, line items, tax, discount, payments and balance, plus download, print and pay actions.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/invoice-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/invoice-view.tsx"
        }
      ]
    },
    {
      "name": "issue-board",
      "type": "registry:ui",
      "title": "Issue Board",
      "description": "A ready-made issue kanban. Issue cards with type, key, priority, labels, due date, votes, comments, attachments and assignee; search and assignee / reporter filters; a header with the count and New issue.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/catalog-store.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/issue-view.json",
        "https://docs.nasaqui.com/r/kanban-board.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/native-select.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/status-label-manager.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/issue-board-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/issue-board-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/issue-board.tsx",
          "type": "registry:ui",
          "target": "components/ui/issue-board.tsx"
        }
      ]
    },
    {
      "name": "issue-view",
      "type": "registry:ui",
      "title": "Issue View",
      "description": "One issue as a page or a quick-view drawer with an inline title, a rich description, a properties sidebar, checklist, sub-issues, linked pull requests, comments, activity, time and AI cost.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/activity-composer.json",
        "https://docs.nasaqui.com/r/ai-usage-cost.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checklist.json",
        "https://docs.nasaqui.com/r/comment-thread.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/github-activity.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/status-label-manager.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-tracker.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/issue-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/issue-card.tsx"
        },
        {
          "path": "registry/nasaq/ui/issue-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/issue-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/issue-marks.tsx",
          "type": "registry:ui",
          "target": "components/ui/issue-marks.tsx"
        },
        {
          "path": "registry/nasaq/ui/issue-properties.tsx",
          "type": "registry:ui",
          "target": "components/ui/issue-properties.tsx"
        },
        {
          "path": "registry/nasaq/ui/issue-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/issue-view.tsx"
        }
      ]
    },
    {
      "name": "kanban-board",
      "type": "registry:ui",
      "title": "Kanban Board",
      "description": "Controlled board of columns and draggable cards (dnd-kit sortable) with keyboard moves, localised announcements and RTL column flow.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/kanban-board.tsx",
          "type": "registry:ui",
          "target": "components/ui/kanban-board.tsx"
        }
      ]
    },
    {
      "name": "keyboard-shortcuts",
      "type": "registry:ui",
      "title": "Keyboard Shortcuts",
      "description": "A searchable reference of an app's keyboard shortcuts, grouped, drawn for the reader's keyboard (Command on a Mac, Ctrl elsewhere) with a Mac/Windows switch, plus a dialog that opens with the question mark key.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "keyboard"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/hotkey-recorder.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/text.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/keyboard-shortcuts.tsx",
          "type": "registry:ui",
          "target": "components/ui/keyboard-shortcuts.tsx"
        }
      ]
    },
    {
      "name": "keyword-planner",
      "type": "registry:ui",
      "title": "Keyword Planner",
      "description": "\"A keyword planning table with search intent, cluster, owning URL and cannibalization: which of your pages compete for the same keyword and which one to keep.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/keyword-planner.tsx",
          "type": "registry:ui",
          "target": "components/ui/keyword-planner.tsx"
        },
        {
          "path": "registry/nasaq/ui/planner-math.ts",
          "type": "registry:ui",
          "target": "components/ui/planner-math.ts"
        }
      ]
    },
    {
      "name": "keyword-tracker",
      "type": "registry:ui",
      "title": "Keyword Tracker",
      "description": "\"Rank tracking for a keyword list: position and change arrows, best position, URL, volume, difficulty, SERP features, history chart, top 3 / 10 / 100 buckets, add-keywords dialog and competitor comparison.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-series-panel.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/keyword-labels.ts",
          "type": "registry:ui",
          "target": "components/ui/keyword-labels.ts"
        },
        {
          "path": "registry/nasaq/ui/keyword-tracker.tsx",
          "type": "registry:ui",
          "target": "components/ui/keyword-tracker.tsx"
        },
        {
          "path": "registry/nasaq/ui/keyword-types.ts",
          "type": "registry:ui",
          "target": "components/ui/keyword-types.ts"
        },
        {
          "path": "registry/nasaq/ui/rank-math.ts",
          "type": "registry:ui",
          "target": "components/ui/rank-math.ts"
        },
        {
          "path": "registry/nasaq/ui/rank-parts.tsx",
          "type": "registry:ui",
          "target": "components/ui/rank-parts.tsx"
        }
      ]
    },
    {
      "name": "kill-switch",
      "type": "registry:ui",
      "title": "Kill Switch",
      "description": "One control that stops every automation with a required reason, plus a banner that shows the paused state and a list of paired browsers to unpair.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/kill-switch.tsx",
          "type": "registry:ui",
          "target": "components/ui/kill-switch.tsx"
        }
      ]
    },
    {
      "name": "knowledge-gaps",
      "type": "registry:ui",
      "title": "Knowledge Gaps",
      "description": "Queries a knowledge base could not answer, grouped as open, indexed or dismissed, with hit counts, first and last asked, and actions to mark indexed, dismiss or reopen.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/knowledge-gaps-math.ts",
          "type": "registry:ui",
          "target": "components/ui/knowledge-gaps-math.ts"
        },
        {
          "path": "registry/nasaq/ui/knowledge-gaps.tsx",
          "type": "registry:ui",
          "target": "components/ui/knowledge-gaps.tsx"
        }
      ]
    },
    {
      "name": "landing-page-editor",
      "type": "registry:ui",
      "title": "Landing Page Editor",
      "description": "Section-based landing page editor with an outline (add, reorder, hide, duplicate, delete), a live preview at desktop or phone width and forms for hero, features, FAQ, call to action and text sections plus page address, search fields and direction.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/landing-page-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/landing-page-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/landing-page.ts",
          "type": "registry:ui",
          "target": "components/ui/landing-page.ts"
        }
      ]
    },
    {
      "name": "lang-tag",
      "type": "registry:ui",
      "title": "Lang Tag",
      "description": "\"The language of a piece of content (not of the interface): a small coloured code tag beside a title, message or document, read aloud as the language's full name.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/lang-tag.tsx",
          "type": "registry:ui",
          "target": "components/ui/lang-tag.tsx"
        }
      ]
    },
    {
      "name": "leads-inbox",
      "type": "registry:ui",
      "title": "Leads Inbox",
      "description": "Inquiries from your forms with where each came from (UTM, referrer, Google click id), a stage pipeline with counts, a detail panel with reply and canned replies, and conversion into a CRM contact.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "crm"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/inbox.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/score-explainer.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/leads-inbox-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/leads-inbox-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/leads-inbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/leads-inbox.tsx"
        }
      ]
    },
    {
      "name": "legal-page",
      "type": "registry:ui",
      "title": "Legal Page",
      "description": "A legal document page with a switcher between documents, the updated date, a draft notice, numbered sections with copyable anchors and a section rail.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/blog-post.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/legal-model.ts",
          "type": "registry:ui",
          "target": "components/ui/legal-model.ts"
        },
        {
          "path": "registry/nasaq/ui/legal-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/legal-page.tsx"
        }
      ]
    },
    {
      "name": "limits-editor",
      "type": "registry:ui",
      "title": "Limits Editor",
      "description": "A per-resource limits form where each row is a number, Unlimited or Inherit, with optional price, overage price, per-key rate limit and spend cap, validation and change tracking.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/limits-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/limits-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/limits-math.ts",
          "type": "registry:ui",
          "target": "components/ui/limits-math.ts"
        }
      ]
    },
    {
      "name": "line-item-editor",
      "type": "registry:ui",
      "title": "Line Item Editor",
      "description": "Editable invoice or quote lines with a product picker that fills name, price and tax, free lines, quantity, discount and exact integer totals.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/line-item-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/line-item-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/line-item-fields.tsx",
          "type": "registry:ui",
          "target": "components/ui/line-item-fields.tsx"
        },
        {
          "path": "registry/nasaq/ui/line-item-math.ts",
          "type": "registry:ui",
          "target": "components/ui/line-item-math.ts"
        }
      ]
    },
    {
      "name": "lobby-display",
      "type": "registry:ui",
      "title": "Lobby Display",
      "description": "Large-screen now-serving board with one card per room, up next and recent calls, a clock, and a chime plus flash for each new call, sized from its own width.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/waiting-screen.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/lobby-display.tsx",
          "type": "registry:ui",
          "target": "components/ui/lobby-display.tsx"
        }
      ]
    },
    {
      "name": "local-payments",
      "type": "registry:ui",
      "title": "Local Payments",
      "description": "Manual payment methods such as InstaPay, mobile wallets and bank transfer with copy-ready details, a receipt upload and a verification state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/qr-code.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/local-payments.tsx",
          "type": "registry:ui",
          "target": "components/ui/local-payments.tsx"
        },
        {
          "path": "registry/nasaq/ui/payment-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/payment-logic.ts"
        }
      ]
    },
    {
      "name": "lock-screen",
      "type": "registry:ui",
      "title": "Lock Screen",
      "description": "\"OS-style lock screen over a wallpaper with a clock. Unlock by PIN keypad, password with an optional authenticator code, or biometrics, with a lockout after wrong tries and a quiet-mode gate.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/otp-input.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/lock-model.ts",
          "type": "registry:ui",
          "target": "components/ui/lock-model.ts"
        },
        {
          "path": "registry/nasaq/ui/lock-screen.tsx",
          "type": "registry:ui",
          "target": "components/ui/lock-screen.tsx"
        }
      ]
    },
    {
      "name": "log-viewer",
      "type": "registry:ui",
      "title": "Log Viewer",
      "description": "Virtualised log stream with level filters and counts, time ranges, timestamps, search with highlights and regex, follow tail, pause and resume, load older, server-side filtering, detail panel, copy and download.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/native-select.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/terminal.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/log-viewer-format.ts",
          "type": "registry:ui",
          "target": "components/ui/log-viewer-format.ts"
        },
        {
          "path": "registry/nasaq/ui/log-viewer.tsx",
          "type": "registry:ui",
          "target": "components/ui/log-viewer.tsx"
        }
      ]
    },
    {
      "name": "login-form",
      "type": "registry:ui",
      "title": "Login Form",
      "description": "\"Presentational sign-in form with email and password, magic link, remember me, provider buttons, passkey and a dev-only shortcut, built-in en and ar strings, linked errors and focus on the first invalid field.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/password-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/login-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/login-form.tsx"
        }
      ]
    },
    {
      "name": "loyalty-promo",
      "type": "registry:ui",
      "title": "Loyalty Promo",
      "description": "A loyalty card with tiers and expiring points, a points ledger, promo-code entry and management, and a customer visit history.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "gamification"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/gamification.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/qr-code.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/loyalty-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/loyalty-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/loyalty-promo.tsx",
          "type": "registry:ui",
          "target": "components/ui/loyalty-promo.tsx"
        }
      ]
    },
    {
      "name": "mail-settings",
      "type": "registry:ui",
      "title": "Mail Settings",
      "description": "SMTP settings with a write-only password and a test send that reports each step, plus mail domains with an SPF, DKIM and DMARC checklist, mailboxes with quota and aliases.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/mail-format.ts",
          "type": "registry:ui",
          "target": "components/ui/mail-format.ts"
        },
        {
          "path": "registry/nasaq/ui/mail-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/mail-settings.tsx"
        }
      ]
    },
    {
      "name": "map-monitor",
      "type": "registry:ui",
      "title": "Map Monitor",
      "description": "A map for watching live events. Region presets jump between places, a time-range filter narrows to recent events, and an alerts panel lists them by severity in step with the pins.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "charts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/map-view.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/map-monitor-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/map-monitor-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/map-monitor.tsx",
          "type": "registry:ui",
          "target": "components/ui/map-monitor.tsx"
        }
      ]
    },
    {
      "name": "map-view",
      "type": "registry:ui",
      "title": "Map View",
      "description": "A map of pins and routes without a map library, with layer toggles, a legend, zoom and pan by drag, wheel, buttons or keyboard, a location card and pin clustering; tiles come from a URL template you provide, and without one it draws a coordinate grid.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "charts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/map-geo.ts",
          "type": "registry:ui",
          "target": "components/ui/map-geo.ts"
        },
        {
          "path": "registry/nasaq/ui/map-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/map-view.tsx"
        }
      ]
    },
    {
      "name": "markdown",
      "type": "registry:ui",
      "title": "Markdown",
      "description": "Renders GitHub-flavoured Markdown in Nasaq typography, with bidi-aware blocks, CodeBlock for code and no raw HTML.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "typography"
      ],
      "dependencies": [
        "react-markdown@10.1.0",
        "remark-gfm@4.0.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/markdown.tsx",
          "type": "registry:ui",
          "target": "components/ui/markdown.tsx"
        }
      ]
    },
    {
      "name": "markdown-editor",
      "type": "registry:ui",
      "title": "Markdown Editor",
      "description": "A plain-text Markdown editor with a formatting toolbar, Ctrl/⌘ shortcuts and a Write / Preview / Split view rendered in Nasaq typography, controlled or uncontrolled, with a hidden input for form posts.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/notes.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/markdown-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/markdown-editor.tsx"
        }
      ]
    },
    {
      "name": "markdown-extras",
      "type": "registry:ui",
      "title": "Markdown Extras",
      "description": "Markdown with sortable and filterable tables, code blocks with line numbers and download, and a frontmatter table.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "react-markdown@10.1.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/export-action.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/table.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/markdown-extras-model.ts",
          "type": "registry:ui",
          "target": "components/ui/markdown-extras-model.ts"
        },
        {
          "path": "registry/nasaq/ui/markdown-extras.tsx",
          "type": "registry:ui",
          "target": "components/ui/markdown-extras.tsx"
        }
      ]
    },
    {
      "name": "marketing-sections",
      "type": "registry:ui",
      "title": "Marketing Sections",
      "description": "Building blocks for a product page. How it works steps, a feature grid, a closing call to action banner, credit packs, aurora and grid backgrounds, a hero with an app mockup and a scripted AI session that plays back. They sit beside the existing feature story, plan cards and testimonials.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/screenshot-frame.json",
        "https://docs.nasaqui.com/r/slider.json",
        "https://docs.nasaqui.com/r/text-effects.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/marketing-sections.tsx",
          "type": "registry:ui",
          "target": "components/ui/marketing-sections.tsx"
        },
        {
          "path": "registry/nasaq/ui/session-playback-model.ts",
          "type": "registry:ui",
          "target": "components/ui/session-playback-model.ts"
        }
      ]
    },
    {
      "name": "marketplace",
      "type": "registry:ui",
      "title": "Marketplace",
      "description": "A store with a featured strip, categories and search, a detail page with install header, tabs, sidebar and permissions, a publish form and a template gallery, built on the catalog store.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/catalog-store.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/chip-group.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/install-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/rating.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tag-input.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/marketplace-format.ts",
          "type": "registry:ui",
          "target": "components/ui/marketplace-format.ts"
        },
        {
          "path": "registry/nasaq/ui/marketplace.tsx",
          "type": "registry:ui",
          "target": "components/ui/marketplace.tsx"
        }
      ]
    },
    {
      "name": "mcp-connect",
      "type": "registry:ui",
      "title": "Mcp Connect",
      "description": "Install guide for an MCP server with per-client tabs for Claude Code, Claude Desktop, Cursor, VS Code and generic JSON, copyable snippets with a masked token, one-click deep links and a connection test.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/logos.tsx",
          "type": "registry:ui",
          "target": "components/ui/logos.tsx"
        },
        {
          "path": "registry/nasaq/ui/mcp-connect-apps.tsx",
          "type": "registry:ui",
          "target": "components/ui/mcp-connect-apps.tsx"
        },
        {
          "path": "registry/nasaq/ui/mcp-connect-sheet.tsx",
          "type": "registry:ui",
          "target": "components/ui/mcp-connect-sheet.tsx"
        },
        {
          "path": "registry/nasaq/ui/mcp-connect.tsx",
          "type": "registry:ui",
          "target": "components/ui/mcp-connect.tsx"
        },
        {
          "path": "registry/nasaq/ui/snippets.ts",
          "type": "registry:ui",
          "target": "components/ui/snippets.ts"
        }
      ]
    },
    {
      "name": "members-manager",
      "type": "registry:ui",
      "title": "Members Manager",
      "description": "Members and roles of a workspace. A searchable table with an inline role select limited to the roles you can grant, an invite by email dialog, pending invites with resend and revoke, transfer of ownership and leave, with the last owner protected.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "collaboration"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/profile-card.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tag-input.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/members-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/members-manager.tsx"
        },
        {
          "path": "registry/nasaq/ui/members-rules.ts",
          "type": "registry:ui",
          "target": "components/ui/members-rules.ts"
        }
      ]
    },
    {
      "name": "mention-textarea",
      "type": "registry:ui",
      "title": "Mention Textarea",
      "description": "Textarea that suggests people at the caret when you type @ (or another trigger) and reports the text plus a mentions array.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "collaboration"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/profile-card.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/mention-model.ts",
          "type": "registry:ui",
          "target": "components/ui/mention-model.ts"
        },
        {
          "path": "registry/nasaq/ui/mention-textarea.tsx",
          "type": "registry:ui",
          "target": "components/ui/mention-textarea.tsx"
        }
      ]
    },
    {
      "name": "menubar",
      "type": "registry:ui",
      "title": "Menubar",
      "description": "Desktop-app menu bar (File, Edit, View) on Base UI Menubar and Menu, with submenus, checkbox and radio items and Kbd shortcuts. Uses the same item styles as DropdownMenu.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/menubar.tsx",
          "type": "registry:ui",
          "target": "components/ui/menubar.tsx"
        }
      ]
    },
    {
      "name": "metric-tiles",
      "type": "registry:ui",
      "title": "Metric Tiles",
      "description": "A row of KPI tiles, each with the change against the previous period, a sparkline and optional selection to drive a chart.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/stat-card.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/analytics-math.ts",
          "type": "registry:ui",
          "target": "components/ui/analytics-math.ts"
        },
        {
          "path": "registry/nasaq/ui/analytics-shared.ts",
          "type": "registry:ui",
          "target": "components/ui/analytics-shared.ts"
        },
        {
          "path": "registry/nasaq/ui/metric-tiles.tsx",
          "type": "registry:ui",
          "target": "components/ui/metric-tiles.tsx"
        }
      ]
    },
    {
      "name": "mobile-nav-kit",
      "type": "registry:ui",
      "title": "Mobile Nav Kit",
      "description": "Mobile navigation, a bottom tab bar with badges, swipe-action list rows that also open a context menu, and a horizontally scrolling filter strip.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/mobile-nav-kit.tsx",
          "type": "registry:ui",
          "target": "components/ui/mobile-nav-kit.tsx"
        },
        {
          "path": "registry/nasaq/ui/mobile-nav-math.ts",
          "type": "registry:ui",
          "target": "components/ui/mobile-nav-math.ts"
        }
      ]
    },
    {
      "name": "model-routing-editor",
      "type": "registry:ui",
      "title": "Model Routing Editor",
      "description": "Admin editor for AI model routing with an automatic-routing switch, a task class to model and fallback route table, an active backend switch and provider or node registration with modality chips.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/model-routing-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/model-routing-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/routing-math.ts",
          "type": "registry:ui",
          "target": "components/ui/routing-math.ts"
        }
      ]
    },
    {
      "name": "native-select",
      "type": "registry:ui",
      "title": "Native Select",
      "description": "The browser's own select, styled like Input, with options as data or as option/optgroup children, a placeholder, two sizes and the Field label, description and invalid state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/native-select.tsx",
          "type": "registry:ui",
          "target": "components/ui/native-select.tsx"
        }
      ]
    },
    {
      "name": "navigation-menu",
      "type": "registry:ui",
      "title": "Navigation Menu",
      "description": "Marketing-site header menu on Base UI NavigationMenu, with chevron triggers, a shared animated panel, link lists and a featured card slot. Works in RTL.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/navigation-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/navigation-menu.tsx"
        }
      ]
    },
    {
      "name": "network-rules",
      "type": "registry:ui",
      "title": "Network Rules",
      "description": "A network rules editor with a firewall tab (allow or deny, protocol, port, source) and an HTTP rules tab (redirects, headers, basic auth, IP allow and deny). Edits are staged until Apply, with move, undo and a lockout warning.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/network-format.ts",
          "type": "registry:ui",
          "target": "components/ui/network-format.ts"
        },
        {
          "path": "registry/nasaq/ui/network-rules.tsx",
          "type": "registry:ui",
          "target": "components/ui/network-rules.tsx"
        }
      ]
    },
    {
      "name": "notes",
      "type": "registry:ui",
      "title": "Notes",
      "description": "A notes workspace with notebooks and tags, a list and a coloured board, search and sort, pinned and sealed notes, and an editor with a rich or Markdown body, backlinks, properties, word count, an autosave state, a context menu, an actions menu and keyboard shortcuts, driven by callbacks.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/color-picker.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/export-action.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/share-action.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tag-input.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tree-view.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/note-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/note-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/notes-dialogs.tsx",
          "type": "registry:ui",
          "target": "components/ui/notes-dialogs.tsx"
        },
        {
          "path": "registry/nasaq/ui/notes-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/notes-menu.tsx"
        },
        {
          "path": "registry/nasaq/ui/notes-model.ts",
          "type": "registry:ui",
          "target": "components/ui/notes-model.ts"
        },
        {
          "path": "registry/nasaq/ui/notes-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/notes-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/notes-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/notes-view.tsx"
        },
        {
          "path": "registry/nasaq/ui/notes.tsx",
          "type": "registry:ui",
          "target": "components/ui/notes.tsx"
        }
      ]
    },
    {
      "name": "notification-center",
      "type": "registry:ui",
      "title": "Notification Center",
      "description": "Bell button with an unread badge that opens notifications in a popover or a full-height side panel, with All and Unread tabs, mark all read, a header slot and an empty state. Controlled.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/notification-item.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/notification-center.tsx",
          "type": "registry:ui",
          "target": "components/ui/notification-center.tsx"
        }
      ]
    },
    {
      "name": "notification-item",
      "type": "registry:ui",
      "title": "Notification Item",
      "description": "One row of a notifications list, a full-width button with an actor avatar or icon, title, description, time and an unread marker.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/notification-item.tsx",
          "type": "registry:ui",
          "target": "components/ui/notification-item.tsx"
        }
      ]
    },
    {
      "name": "notification-preferences",
      "type": "registry:ui",
      "title": "Notification Preferences",
      "description": "The notification settings screen. A matrix of kinds by channel (email, push, WhatsApp, desktop), quiet hours, a daily cap with batching, a digest schedule and extra email or webhook destinations with a test send. Every change saves at once and rolls back if it fails.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/account-settings.json",
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/desktop-notification.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/notification-preferences.tsx",
          "type": "registry:ui",
          "target": "components/ui/notification-preferences.tsx"
        },
        {
          "path": "registry/nasaq/ui/notification-rules.ts",
          "type": "registry:ui",
          "target": "components/ui/notification-rules.ts"
        }
      ]
    },
    {
      "name": "numeric",
      "type": "registry:ui",
      "title": "Numeric",
      "description": "Locale-aware number and date formatting with a fixed digit set (Western by default), tabular figures and bidi isolation. Num, DateTime and their string helpers.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "typography"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/numeric.tsx",
          "type": "registry:ui",
          "target": "components/ui/numeric.tsx"
        }
      ]
    },
    {
      "name": "oauth-buttons",
      "type": "registry:ui",
      "title": "Oauth Buttons",
      "description": "\"Provider sign-in buttons for Google, GitHub, Apple and Microsoft with their official logos, stacked, in a grid or icon-only, with per-provider loading.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/oauth-buttons.tsx",
          "type": "registry:ui",
          "target": "components/ui/oauth-buttons.tsx"
        },
        {
          "path": "registry/nasaq/ui/oauth-logos.tsx",
          "type": "registry:ui",
          "target": "components/ui/oauth-logos.tsx"
        }
      ]
    },
    {
      "name": "oauth-consent",
      "type": "registry:ui",
      "title": "Oauth Consent",
      "description": "\"Authorization screen for a third-party app: app identity, signed-in account, requested scopes with sensitive badges, Allow and Deny, and the redirect host.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/oauth-consent.tsx",
          "type": "registry:ui",
          "target": "components/ui/oauth-consent.tsx"
        }
      ]
    },
    {
      "name": "onboarding-checklist",
      "type": "registry:ui",
      "title": "Onboarding Checklist",
      "description": "\"The in-app Get started card: x of y done with a progress bar, the next step highlighted, one action per open item and a dismiss.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "onboarding"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/onboarding-flow.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/onboarding-checklist.tsx",
          "type": "registry:ui",
          "target": "components/ui/onboarding-checklist.tsx"
        }
      ]
    },
    {
      "name": "onboarding-flow",
      "type": "registry:ui",
      "title": "Onboarding Flow",
      "description": "\"The flow after sign-up: welcome, profile, workspace, invites, preferences, first integration and a review, with skip, back and progress that resumes after a reload.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "onboarding"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar-upload.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/setup-wizard.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tag-input.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/onboarding-flow.tsx",
          "type": "registry:ui",
          "target": "components/ui/onboarding-flow.tsx"
        },
        {
          "path": "registry/nasaq/ui/onboarding-model.ts",
          "type": "registry:ui",
          "target": "components/ui/onboarding-model.ts"
        }
      ]
    },
    {
      "name": "otp-input",
      "type": "registry:ui",
      "title": "Otp Input",
      "description": "One-time-code entry with N boxes; paste fills every box, Backspace steps back, digits stay left-to-right in RTL.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/otp-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/otp-input.tsx"
        }
      ]
    },
    {
      "name": "page-actions",
      "type": "registry:ui",
      "title": "Page Actions",
      "description": "The header's action area. One visible primary action, the rest behind a \"More actions\" menu, and all of them in the command palette with their shortcuts bound.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/text.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/page-actions.tsx",
          "type": "registry:ui",
          "target": "components/ui/page-actions.tsx"
        }
      ]
    },
    {
      "name": "page-header",
      "type": "registry:ui",
      "title": "Page Header",
      "description": "\"The top of a page: breadcrumbs or a back link, the page title, a line of description, meta facts and the page's actions at the inline end.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/breadcrumb.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/page-header.tsx",
          "type": "registry:ui",
          "target": "components/ui/page-header.tsx"
        }
      ]
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "title": "Pagination",
      "description": "Numbered Pagination with ellipsis, CursorPager (previous/next with a \"Showing X-Y\" label) and LoadMore button with a loading state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/pagination.tsx",
          "type": "registry:ui",
          "target": "components/ui/pagination.tsx"
        }
      ]
    },
    {
      "name": "passkey-list",
      "type": "registry:ui",
      "title": "Passkey List",
      "description": "Manage the passkeys on an account with a list with device hint, created and last-used dates, add through an async callback, rename in place, remove with confirmation, an unsupported-browser notice and an empty state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/passkey-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/passkey-list.tsx"
        }
      ]
    },
    {
      "name": "password-input",
      "type": "registry:ui",
      "title": "Password Input",
      "description": "\"Password field built on InputGroup with a show/hide toggle (aria-pressed), an optional strength meter and an optional requirement checklist.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/password-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/password-input.tsx"
        },
        {
          "path": "registry/nasaq/ui/strength.ts",
          "type": "registry:ui",
          "target": "components/ui/strength.ts"
        }
      ]
    },
    {
      "name": "personal-widgets",
      "type": "registry:ui",
      "title": "Personal Widgets",
      "description": "\"Small widgets for a personal site: availability badge, local clock with working-hours state, social links, now list, stats, skills and weather.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/personal-model.ts",
          "type": "registry:ui",
          "target": "components/ui/personal-model.ts"
        },
        {
          "path": "registry/nasaq/ui/personal-widgets.tsx",
          "type": "registry:ui",
          "target": "components/ui/personal-widgets.tsx"
        }
      ]
    },
    {
      "name": "phone-input",
      "type": "registry:ui",
      "title": "Phone Input",
      "description": "Phone number field with a searchable country list (SVG flag, name in English or Arabic, calling code; Gulf and Arab countries first) and a digits input that groups the number as you type. The value is E.164.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "libphonenumber-js@1.13.14",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/country-flag.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/phone-data.ts",
          "type": "registry:ui",
          "target": "components/ui/phone-data.ts"
        },
        {
          "path": "registry/nasaq/ui/phone-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/phone-input.tsx"
        }
      ]
    },
    {
      "name": "placement-settings",
      "type": "registry:ui",
      "title": "Placement Settings",
      "description": "Where a plugin or module appears in the app shell. Sidebar, header, side panel, floating widget or hidden, as radio cards with a small picture of the shell; its order; and whether the app opens on it. Keeps a draft, shows what is unsaved and saves only what changed.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/placement-settings-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/placement-settings-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/placement-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/placement-settings.tsx"
        }
      ]
    },
    {
      "name": "plan-card",
      "type": "registry:ui",
      "title": "Plan Card",
      "description": "One pricing plan on a quiet surface, with the recommended plan brand-tinted; PlanGrid lays plans side by side.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pricing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/plan-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/plan-card.tsx"
        }
      ]
    },
    {
      "name": "plan-catalog-editor",
      "type": "registry:ui",
      "title": "Plan Catalog Editor",
      "description": "Admin editor for a product catalog (plans, features, apps, pay-as-you-go prices and bundles) that edits a draft and publishes it through a sync preview dry run and an apply step.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pricing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/admin-tenants.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/catalog-math.ts",
          "type": "registry:ui",
          "target": "components/ui/catalog-math.ts"
        },
        {
          "path": "registry/nasaq/ui/plan-catalog-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/plan-catalog-editor.tsx"
        }
      ]
    },
    {
      "name": "plugin-card",
      "type": "registry:ui",
      "title": "Plugin Card",
      "description": "A plugin in a catalogue or admin grid. Icon, name, version, kind, enabled state and last activity, a description, a headline count with a sparkline, and Page and Details actions; selectable as a checkbox card for bulk actions.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/icon-picker.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/plugin-card-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/plugin-card-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/plugin-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/plugin-card.tsx"
        }
      ]
    },
    {
      "name": "pomodoro",
      "type": "registry:ui",
      "title": "Pomodoro",
      "description": "A pomodoro with focus, short and long breaks. usePomodoro runs the cycle drift-free, PomodoroCard shows the ring, dots and linked task, and BreakLockScreen is the full-screen break.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "productivity"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/countdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/pomodoro-model.ts",
          "type": "registry:ui",
          "target": "components/ui/pomodoro-model.ts"
        },
        {
          "path": "registry/nasaq/ui/pomodoro.tsx",
          "type": "registry:ui",
          "target": "components/ui/pomodoro.tsx"
        }
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "Anchored floating panel opened by a click on a trigger, holding rich content such as text, forms or actions. Wraps Base UI Popover.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/popover.tsx",
          "type": "registry:ui",
          "target": "components/ui/popover.tsx"
        }
      ]
    },
    {
      "name": "pos-register",
      "type": "registry:ui",
      "title": "Pos Register",
      "description": "A touch point-of-sale register with a product grid, basket, held sales, split payment across cash card and wallet, cash-drawer session and walk-in sale, in exact integer money.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store-admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/line-item-editor.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/pos-math.ts",
          "type": "registry:ui",
          "target": "components/ui/pos-math.ts"
        },
        {
          "path": "registry/nasaq/ui/pos-register.tsx",
          "type": "registry:ui",
          "target": "components/ui/pos-register.tsx"
        }
      ]
    },
    {
      "name": "presentation-editor",
      "type": "registry:ui",
      "title": "Presentation Editor",
      "description": "A slide deck editor with a reorderable thumbnail rail, in place editing on layouts, presenter notes and a full screen deck player with keyboard and swipe navigation.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/deck-player.tsx",
          "type": "registry:ui",
          "target": "components/ui/deck-player.tsx"
        },
        {
          "path": "registry/nasaq/ui/presentation-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/presentation-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/presentation-math.ts",
          "type": "registry:ui",
          "target": "components/ui/presentation-math.ts"
        },
        {
          "path": "registry/nasaq/ui/presentation-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/presentation-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/slide-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/slide-view.tsx"
        }
      ]
    },
    {
      "name": "price",
      "type": "registry:ui",
      "title": "Price",
      "description": "A locale-formatted price with currency, billing period suffix, optional struck-through original and a built-in \"Free\" label.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pricing"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/price.tsx",
          "type": "registry:ui",
          "target": "components/ui/price.tsx"
        }
      ]
    },
    {
      "name": "pricing-table",
      "type": "registry:ui",
      "title": "Pricing Table",
      "description": "Plans from data with a Monthly / Yearly switch and working subscribe, upgrade and downgrade buttons, plus a feature comparison matrix and a compact plan picker.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pricing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/plan-card.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/pricing-table.tsx",
          "type": "registry:ui",
          "target": "components/ui/pricing-table.tsx"
        }
      ]
    },
    {
      "name": "product-artwork",
      "type": "registry:ui",
      "title": "Product Artwork",
      "description": "A product's official mark on a gradient field of its own brand colour, plus AppGlyph, a line-icon tile for modules that have no mark.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/product-artwork.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-artwork.tsx"
        }
      ]
    },
    {
      "name": "product-card",
      "type": "registry:ui",
      "title": "Product Card",
      "description": "\"Store card for a product (artwork, name, pitch, rating, price, install action) with no border; switches between tile and row by container width. Includes ProductGrid and a compact ProductList.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/product-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-card.tsx"
        }
      ]
    },
    {
      "name": "product-detail",
      "type": "registry:ui",
      "title": "Product Detail",
      "description": "\"A complete product page from one CommerceProduct: gallery with zoom and swipe, availability-aware variant picker, quantity, price with percent off, stock and delivery lines, add to cart, buy now, sticky mobile bar, size guide and content sections.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/accordion.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/breadcrumb.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/rating.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/pdp-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/pdp-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/pdp-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/pdp-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/product-detail.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-detail.tsx"
        },
        {
          "path": "registry/nasaq/ui/product-gallery.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-gallery.tsx"
        },
        {
          "path": "registry/nasaq/ui/quantity-stepper.tsx",
          "type": "registry:ui",
          "target": "components/ui/quantity-stepper.tsx"
        },
        {
          "path": "registry/nasaq/ui/size-guide.tsx",
          "type": "registry:ui",
          "target": "components/ui/size-guide.tsx"
        },
        {
          "path": "registry/nasaq/ui/variant-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/variant-picker.tsx"
        }
      ]
    },
    {
      "name": "product-mark",
      "type": "registry:ui",
      "title": "Product Mark",
      "description": "The official cube-lattice mark of a Nasaq brand, drawn from its MarkSpec, and ProductLogo (mark plus typeset name).",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/product-mark.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-mark.tsx"
        }
      ]
    },
    {
      "name": "product-onboarding",
      "type": "registry:ui",
      "title": "Product Onboarding",
      "description": "\"The first-run flow every Nasaq product shares: workspace → business basics → sample data → connect your AI → invite your team → done. Skippable and resumable from server state.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/mcp-connect.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/native-select.json",
        "https://docs.nasaqui.com/r/onboarding-flow.json",
        "https://docs.nasaqui.com/r/setup-wizard.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/onboarding-model.ts",
          "type": "registry:ui",
          "target": "components/ui/onboarding-model.ts"
        },
        {
          "path": "registry/nasaq/ui/product-onboarding.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-onboarding.tsx"
        }
      ]
    },
    {
      "name": "product-reviews",
      "type": "registry:ui",
      "title": "Product Reviews",
      "description": "\"Customer reviews for a product: rating summary with a histogram that filters, sort and filter chips, photo strip, helpful votes, seller replies, report, and a write-review form. Includes ProductQA for questions and answers.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/rating.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/product-qa.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-qa.tsx"
        },
        {
          "path": "registry/nasaq/ui/product-reviews.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-reviews.tsx"
        },
        {
          "path": "registry/nasaq/ui/review-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/review-form.tsx"
        },
        {
          "path": "registry/nasaq/ui/review-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/review-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/review-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/review-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/review-summary.tsx",
          "type": "registry:ui",
          "target": "components/ui/review-summary.tsx"
        }
      ]
    },
    {
      "name": "product-shell",
      "type": "registry:ui",
      "title": "Product Shell",
      "description": "\"The shell every Nasaq product shares: AppShell with the standard menu order (Dashboard → product groups → Reports → Integrations → Settings), workspace switcher, ⌘K, the Connect pill and a phone tab bar.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/command-palette.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/mobile-nav-kit.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/product-nav.ts",
          "type": "registry:ui",
          "target": "components/ui/product-nav.ts"
        },
        {
          "path": "registry/nasaq/ui/product-shell.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-shell.tsx"
        }
      ]
    },
    {
      "name": "product-switcher",
      "type": "registry:ui",
      "title": "Product Switcher",
      "description": "App launcher grid that shows each installed product's official mark, plus a sidebar products group and \"Switch to…\" palette commands.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-mark.json",
        "https://docs.nasaqui.com/r/sidebar-layout.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/product-switcher.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-switcher.tsx"
        }
      ]
    },
    {
      "name": "profile-card",
      "type": "registry:ui",
      "title": "Profile Card",
      "description": "\"A person's account card (avatar, name, role, presence, local time, team, quick actions) that opens from any avatar, name or mention on hover, focus or tap, plus the mention chip and presence dot it is built from.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/hover-card.json",
        "https://docs.nasaqui.com/r/mention-textarea.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/profile-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/profile-card.tsx"
        },
        {
          "path": "registry/nasaq/ui/profile-model.ts",
          "type": "registry:ui",
          "target": "components/ui/profile-model.ts"
        }
      ]
    },
    {
      "name": "profile-form",
      "type": "registry:ui",
      "title": "Profile Form",
      "description": "The profile settings form. Photo, display name, username with a live availability check, email with a verified badge, resend and a password-protected change, phone, bio, language and time zone, and a sticky Save / Discard bar that shows only when something changed.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar-upload.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/phone-input.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/separator.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/profile-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/profile-form.tsx"
        }
      ]
    },
    {
      "name": "profile-page",
      "type": "registry:ui",
      "title": "Profile Page",
      "description": "\"A two-column profile page: an identity column (avatar, name, handle, links, one action, bio, widgets) beside about, experience, skills, projects, writing and testimonials. The owner also sees their apps and account details.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/blog-index.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/feature-story.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/markdown.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/personal-widgets.json",
        "https://docs.nasaqui.com/r/product-switcher.json",
        "https://docs.nasaqui.com/r/section-header.json",
        "https://docs.nasaqui.com/r/separator.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/profile-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/profile-page.tsx"
        }
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "Progress bar for work under way (with an indeterminate state and tones) and Meter for a quantity against a limit that turns warning and danger past thresholds. Wraps Base UI Progress and Meter.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "class-variance-authority@0.7.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/progress.tsx"
        }
      ]
    },
    {
      "name": "project-list",
      "type": "registry:ui",
      "title": "Project List",
      "description": "A list of projects as a table or cards with status, progress, members, lead, due date and tags, plus search, status and client and member and tag filters, bulk select, loading skeletons and an empty state.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/project-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-list.tsx"
        }
      ]
    },
    {
      "name": "project-view",
      "type": "registry:ui",
      "title": "Project View",
      "description": "A project page with a header, progress and members, and tabs for overview, board, list, timeline, activity, time, AI cost, files, memory, vault, GitHub and settings.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/activity-composer.json",
        "https://docs.nasaqui.com/r/ai-usage-cost.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/comment-thread.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/env-list.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/github-activity.json",
        "https://docs.nasaqui.com/r/issue-view.json",
        "https://docs.nasaqui.com/r/kanban-board.json",
        "https://docs.nasaqui.com/r/members-manager.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/project-list.json",
        "https://docs.nasaqui.com/r/repository-picker.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/settings-sections.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status-label-manager.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-tracker.json",
        "https://docs.nasaqui.com/r/timeline.json",
        "https://docs.nasaqui.com/r/vault.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/project-feed.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-feed.tsx"
        },
        {
          "path": "registry/nasaq/ui/project-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/project-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/project-memory.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-memory.tsx"
        },
        {
          "path": "registry/nasaq/ui/project-overview.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-overview.tsx"
        },
        {
          "path": "registry/nasaq/ui/project-schedule.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-schedule.tsx"
        },
        {
          "path": "registry/nasaq/ui/project-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-settings.tsx"
        },
        {
          "path": "registry/nasaq/ui/project-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/project-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/project-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/project-view.tsx"
        }
      ]
    },
    {
      "name": "provider-switcher",
      "type": "registry:ui",
      "title": "Provider Switcher",
      "description": "\"Lists an app's swappable capabilities (data, queue, cache, storage…) with the backend each runs on, and switches backends at runtime.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/provider-switcher.tsx",
          "type": "registry:ui",
          "target": "components/ui/provider-switcher.tsx"
        }
      ]
    },
    {
      "name": "proxy-hosts",
      "type": "registry:ui",
      "title": "Proxy Hosts",
      "description": "A reverse-proxy host editor - a table of hosts with upstream, TLS mode and websockets, an enabled switch per host, and a dialog to add or edit one. Domains reuse DomainChips.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/domains-manager.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/proxy-format.ts",
          "type": "registry:ui",
          "target": "components/ui/proxy-format.ts"
        },
        {
          "path": "registry/nasaq/ui/proxy-hosts.tsx",
          "type": "registry:ui",
          "target": "components/ui/proxy-hosts.tsx"
        }
      ]
    },
    {
      "name": "public-form",
      "type": "registry:ui",
      "title": "Public Form",
      "description": "Renders a form definition for visitors, with rules that show hide or require fields, validation in Arabic and English, a hidden honeypot and a thank-you. Includes a ready contact form with a topic.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "form-builders"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/phone-input.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/rule-builder.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/form-model.ts",
          "type": "registry:ui",
          "target": "components/ui/form-model.ts"
        },
        {
          "path": "registry/nasaq/ui/public-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/public-form.tsx"
        }
      ]
    },
    {
      "name": "qr-code",
      "type": "registry:ui",
      "title": "Qr Code",
      "description": "QR code drawn as SVG in the browser with dot, rounded or square modules, three eye styles, a centre logo slot, token or prop colours and SVG or PNG download, plus a full generator card.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "uqr@0.1.3"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/download.ts",
          "type": "registry:ui",
          "target": "components/ui/download.ts"
        },
        {
          "path": "registry/nasaq/ui/qr-code.tsx",
          "type": "registry:ui",
          "target": "components/ui/qr-code.tsx"
        },
        {
          "path": "registry/nasaq/ui/qr-svg.ts",
          "type": "registry:ui",
          "target": "components/ui/qr-svg.ts"
        }
      ]
    },
    {
      "name": "quick-capture",
      "type": "registry:ui",
      "title": "Quick Capture",
      "description": "A capture window opened by a global shortcut to jot a note or clip a page, with tags, a destination and save with Ctrl or Cmd plus Enter.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "productivity"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/text.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/quick-capture-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/quick-capture-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/quick-capture.tsx",
          "type": "registry:ui",
          "target": "components/ui/quick-capture.tsx"
        }
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "Pick exactly one option from a short list, as plain radios or as bordered cards for plan-style choices.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/radio-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/radio-group.tsx"
        }
      ]
    },
    {
      "name": "rates-subscriptions",
      "type": "registry:ui",
      "title": "Rates Subscriptions",
      "description": "Effective-dated bill and cost rates, per-project recurring subscriptions with month-end clamping, and an organisation billing overview.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/cron-builder.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/rates-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/rates-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/rates-subscriptions.tsx",
          "type": "registry:ui",
          "target": "components/ui/rates-subscriptions.tsx"
        }
      ]
    },
    {
      "name": "rating",
      "type": "registry:ui",
      "title": "Rating",
      "description": "One star, the average score and an optional compact count (\"4.8 · 2.1K workspaces\"), with built-in English and Arabic screen reader text.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/rating.tsx",
          "type": "registry:ui",
          "target": "components/ui/rating.tsx"
        }
      ]
    },
    {
      "name": "realtime-counter",
      "type": "registry:ui",
      "title": "Realtime Counter",
      "description": "A live active-users card - a large count, a per-minute mini chart and ranked lists such as top pages and countries.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/realtime-counter.tsx",
          "type": "registry:ui",
          "target": "components/ui/realtime-counter.tsx"
        }
      ]
    },
    {
      "name": "register-form",
      "type": "registry:ui",
      "title": "Register Form",
      "description": "\"Presentational sign-up form with name, email, password with strength meter, confirmation, terms consent and provider buttons; en and ar built in.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/password-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/register-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/register-form.tsx"
        }
      ]
    },
    {
      "name": "relation-picker",
      "type": "registry:ui",
      "title": "Relation Picker",
      "description": "A field that points at another record and finds it by searching your API, storing ids and showing names, for one record or many, with create from typed text and loading, empty and error states.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/relation-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/relation-picker.tsx"
        }
      ]
    },
    {
      "name": "repeater",
      "type": "registry:ui",
      "title": "Repeater",
      "description": "A list of rows the user can add, remove, duplicate, reorder by drag or keyboard and collapse, with min and max limits. Bring your own row content.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "form-builders"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/repeater-math.ts",
          "type": "registry:ui",
          "target": "components/ui/repeater-math.ts"
        },
        {
          "path": "registry/nasaq/ui/repeater.tsx",
          "type": "registry:ui",
          "target": "components/ui/repeater.tsx"
        }
      ]
    },
    {
      "name": "report-editor",
      "type": "registry:ui",
      "title": "Report Editor",
      "description": "A block based report editor for headings, rich text, key figures, charts, tables and callouts, with a live preview and a read only print friendly report viewer.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/report-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/report-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/report-math.ts",
          "type": "registry:ui",
          "target": "components/ui/report-math.ts"
        },
        {
          "path": "registry/nasaq/ui/report-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/report-strings.ts"
        }
      ]
    },
    {
      "name": "report-filter-bar",
      "type": "registry:ui",
      "title": "Report Filter Bar",
      "description": "The controls around a report, a period and filter bar that lives in the URL, saved views that can be renamed and shared, a print-ready report sheet and an export menu for PDF and Markdown.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "analytics"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/export-action.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/time-range-picker.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/report-filter-bar.tsx",
          "type": "registry:ui",
          "target": "components/ui/report-filter-bar.tsx"
        },
        {
          "path": "registry/nasaq/ui/report-filter-math.ts",
          "type": "registry:ui",
          "target": "components/ui/report-filter-math.ts"
        },
        {
          "path": "registry/nasaq/ui/report-filter-url.ts",
          "type": "registry:ui",
          "target": "components/ui/report-filter-url.ts"
        }
      ]
    },
    {
      "name": "repository-picker",
      "type": "registry:ui",
      "title": "Repository Picker",
      "description": "Pick a GitHub repository and branch by searching through the app installation, with the official GitHub mark, debounced search, keyboard support and a Configure access link.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/repository-picker-format.ts",
          "type": "registry:ui",
          "target": "components/ui/repository-picker-format.ts"
        },
        {
          "path": "registry/nasaq/ui/repository-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/repository-picker.tsx"
        }
      ]
    },
    {
      "name": "research-run",
      "type": "registry:ui",
      "title": "Research Run",
      "description": "A research run with an ask box, live stage progress, an answer whose sentences cite numbered evidence, the evidence list, sources, confidence and failed or cancelled states with retry.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copilot-chat.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/research-run-math.ts",
          "type": "registry:ui",
          "target": "components/ui/research-run-math.ts"
        },
        {
          "path": "registry/nasaq/ui/research-run.tsx",
          "type": "registry:ui",
          "target": "components/ui/research-run.tsx"
        }
      ]
    },
    {
      "name": "reset-password-form",
      "type": "registry:ui",
      "title": "Reset Password Form",
      "description": "\"Choose a new password with a confirmation field, strength meter and optional policy checklist, then a Password changed or Link expired screen; en and ar built in.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/password-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/reset-password-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/reset-password-form.tsx"
        }
      ]
    },
    {
      "name": "resizable",
      "type": "registry:ui",
      "title": "Resizable",
      "description": "Split panes with drag handles and keyboard resize, built on react-resizable-panels, with RTL handled for horizontal groups.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0",
        "react-resizable-panels@4.14.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/resizable.tsx",
          "type": "registry:ui",
          "target": "components/ui/resizable.tsx"
        }
      ]
    },
    {
      "name": "rich-text-editor",
      "type": "registry:ui",
      "title": "Rich Text Editor",
      "description": "Tiptap-based rich text editor with a Nasaq toolbar, per-paragraph auto direction, HTML or JSON output and read-only mode.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "editors"
      ],
      "dependencies": [
        "@tiptap/extensions@3.31.3",
        "@tiptap/pm@3.31.3",
        "@tiptap/react@3.31.3",
        "@tiptap/starter-kit@3.31.3",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/separator.json",
        "https://docs.nasaqui.com/r/text.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/rich-text-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/rich-text-editor.tsx"
        }
      ]
    },
    {
      "name": "route-progress",
      "type": "registry:ui",
      "title": "Route Progress",
      "description": "A thin progress bar along the top edge for navigation and background jobs. It creeps while work runs, jumps to full when it ends, and a hook counts overlapping jobs.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/route-progress-math.ts",
          "type": "registry:ui",
          "target": "components/ui/route-progress-math.ts"
        },
        {
          "path": "registry/nasaq/ui/route-progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/route-progress.tsx"
        }
      ]
    },
    {
      "name": "route-stops",
      "type": "registry:ui",
      "title": "Route Stops",
      "description": "An ordered multi-order trip - pickups and drop-offs with done, current and failed states, cash per stop, a trip summary and a per-stop action slot.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "delivery"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/route-stops.tsx",
          "type": "registry:ui",
          "target": "components/ui/route-stops.tsx"
        }
      ]
    },
    {
      "name": "rule-builder",
      "type": "registry:ui",
      "title": "Rule Builder",
      "description": "An IFTTT style rule editor with an event trigger, nested all-of and any-of condition groups, and an ordered list of actions, read back as a plain-language sentence with the missing pieces listed.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/workflow-canvas.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/rule-builder.tsx",
          "type": "registry:ui",
          "target": "components/ui/rule-builder.tsx"
        },
        {
          "path": "registry/nasaq/ui/rule-model.ts",
          "type": "registry:ui",
          "target": "components/ui/rule-model.ts"
        }
      ]
    },
    {
      "name": "run-history",
      "type": "registry:ui",
      "title": "Run History",
      "description": "A runs list with status filter and search beside a run detail showing per-step state, timings, input, output, logs and screenshots, the failing step, a span timeline with attributes, and the raw payload.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/workflow-canvas.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/run-history.tsx",
          "type": "registry:ui",
          "target": "components/ui/run-history.tsx"
        },
        {
          "path": "registry/nasaq/ui/run-model.ts",
          "type": "registry:ui",
          "target": "components/ui/run-model.ts"
        }
      ]
    },
    {
      "name": "scheduler",
      "type": "registry:ui",
      "title": "Scheduler",
      "description": "Read-only day, week and month schedule with overlap-aware event blocks, plus SlotPicker, a booking-style Calendar and radio list of available times.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "productivity"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/scheduler-math.ts",
          "type": "registry:ui",
          "target": "components/ui/scheduler-math.ts"
        },
        {
          "path": "registry/nasaq/ui/scheduler.tsx",
          "type": "registry:ui",
          "target": "components/ui/scheduler.tsx"
        }
      ]
    },
    {
      "name": "schema-form",
      "type": "registry:ui",
      "title": "Schema Form",
      "description": "A form generated from a JSON Schema, with enums, booleans, dates, objects nested to any depth, lists of values and lists of objects (add, remove, reorder, collapse), foreign keys, show and hide rules by path, client validation and server field errors on nested paths.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "form-builders"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/public-form.json",
        "https://docs.nasaqui.com/r/relation-picker.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/rule-builder.json",
        "https://docs.nasaqui.com/r/schema-repeater.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tag-input.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/schema-fields.ts",
          "type": "registry:ui",
          "target": "components/ui/schema-fields.ts"
        },
        {
          "path": "registry/nasaq/ui/schema-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/schema-form.tsx"
        },
        {
          "path": "registry/nasaq/ui/schema-nodes.tsx",
          "type": "registry:ui",
          "target": "components/ui/schema-nodes.tsx"
        },
        {
          "path": "registry/nasaq/ui/schema-path.ts",
          "type": "registry:ui",
          "target": "components/ui/schema-path.ts"
        },
        {
          "path": "registry/nasaq/ui/schema-tree.ts",
          "type": "registry:ui",
          "target": "components/ui/schema-tree.ts"
        }
      ]
    },
    {
      "name": "schema-repeater",
      "type": "registry:ui",
      "title": "Schema Repeater",
      "description": "A Repeater whose rows are generated from a field schema (text, number, select, switch, date, nested repeater) with built-in validation in English and Arabic.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "form-builders"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/schema-repeater.tsx",
          "type": "registry:ui",
          "target": "components/ui/schema-repeater.tsx"
        },
        {
          "path": "registry/nasaq/ui/schema.ts",
          "type": "registry:ui",
          "target": "components/ui/schema.ts"
        }
      ]
    },
    {
      "name": "score-explainer",
      "type": "registry:ui",
      "title": "Score Explainer",
      "description": "A 0 to 100 score badge that opens the reasons behind it, one line per dimension with points, source chips, an inferred mark and confidence.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/progress.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/score-explainer-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/score-explainer-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/score-explainer.tsx",
          "type": "registry:ui",
          "target": "components/ui/score-explainer.tsx"
        }
      ]
    },
    {
      "name": "screenshot-frame",
      "type": "registry:ui",
      "title": "Screenshot Frame",
      "description": "Frames a product screenshot as a window, browser or phone in neutral greys; with a label it becomes one accessible image.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/screenshot-frame.tsx",
          "type": "registry:ui",
          "target": "components/ui/screenshot-frame.tsx"
        }
      ]
    },
    {
      "name": "scroll-area",
      "type": "registry:ui",
      "title": "Scroll Area",
      "description": "A bounded scroll container with a thin scrollbar on the inline-end edge, keyboard-scrollable and RTL-aware.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/scroll-area.tsx",
          "type": "registry:ui",
          "target": "components/ui/scroll-area.tsx"
        }
      ]
    },
    {
      "name": "search-console-page",
      "type": "registry:ui",
      "title": "Search Console Page",
      "description": "A Search Console report - clicks, impressions, CTR and position tiles that drive the chart, plus queries, pages, countries and devices.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/analytics-connect.json",
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/geo-list.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/search-performance-table.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/search-console-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/search-console-page.tsx"
        }
      ]
    },
    {
      "name": "search-performance-table",
      "type": "registry:ui",
      "title": "Search Performance Table",
      "description": "Queries or pages with clicks, impressions, CTR and average position, sortable, filterable and paginated, with change against the previous period.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/search-performance-table.tsx",
          "type": "registry:ui",
          "target": "components/ui/search-performance-table.tsx"
        }
      ]
    },
    {
      "name": "section-board",
      "type": "registry:ui",
      "title": "Section Board",
      "description": "An ordered set of sections, each generated by a prompt, a model and a few settings. View mode shows the content; edit mode reorders by drag or keyboard and edits each section in a dialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai-agents"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/section-board-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/section-board-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/section-board.tsx",
          "type": "registry:ui",
          "target": "components/ui/section-board.tsx"
        }
      ]
    },
    {
      "name": "section-header",
      "type": "registry:ui",
      "title": "Section Header",
      "description": "\"Title row of a page section: heading, one line of context and an optional action at the inline end. Separates sections without bordered cards.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "typography"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/section-header.tsx",
          "type": "registry:ui",
          "target": "components/ui/section-header.tsx"
        }
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "Pick one value from a short list. A Field-style trigger that opens a DropdownMenu-style list. Wraps Base UI Select.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/select.tsx",
          "type": "registry:ui",
          "target": "components/ui/select.tsx"
        }
      ]
    },
    {
      "name": "semantic-search",
      "type": "registry:ui",
      "title": "Semantic Search",
      "description": "Semantic memory search with a query box, mode and limit, results with facet chips, highlighted words and a score with a level word.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/semantic-search-math.ts",
          "type": "registry:ui",
          "target": "components/ui/semantic-search-math.ts"
        },
        {
          "path": "registry/nasaq/ui/semantic-search.tsx",
          "type": "registry:ui",
          "target": "components/ui/semantic-search.tsx"
        }
      ]
    },
    {
      "name": "seo-pages",
      "type": "registry:ui",
      "title": "Seo Pages",
      "description": "\"A pages list with SEO score, open-issue count, index status and Core Web Vitals, plus a per-page issue checklist with fix hints.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/web-vital-gauge.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/seo-issue-catalog.ts",
          "type": "registry:ui",
          "target": "components/ui/seo-issue-catalog.ts"
        },
        {
          "path": "registry/nasaq/ui/seo-pages-math.ts",
          "type": "registry:ui",
          "target": "components/ui/seo-pages-math.ts"
        },
        {
          "path": "registry/nasaq/ui/seo-pages.tsx",
          "type": "registry:ui",
          "target": "components/ui/seo-pages.tsx"
        }
      ]
    },
    {
      "name": "seo-preview",
      "type": "registry:ui",
      "title": "Seo Preview",
      "description": "\"How a page looks in Google (desktop and mobile) and as an Open Graph, X, WhatsApp and LinkedIn share card, with title and description length meters.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "seo"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/seo-math.ts",
          "type": "registry:ui",
          "target": "components/ui/seo-math.ts"
        },
        {
          "path": "registry/nasaq/ui/seo-preview.tsx",
          "type": "registry:ui",
          "target": "components/ui/seo-preview.tsx"
        }
      ]
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "title": "Separator",
      "description": "A 1px horizontal or vertical divider line in the border token. Wraps Base UI Separator.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "layout"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/separator.tsx",
          "type": "registry:ui",
          "target": "components/ui/separator.tsx"
        }
      ]
    },
    {
      "name": "server-admin",
      "type": "registry:ui",
      "title": "Server Admin",
      "description": "Four admin panels for one server. A systemd service list with start, stop and restart, a package updates panel, an SSH key manager with a servers by keys matrix, and a job queue monitor with retry and forget.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/server-admin-format.ts",
          "type": "registry:ui",
          "target": "components/ui/server-admin-format.ts"
        },
        {
          "path": "registry/nasaq/ui/server-admin.tsx",
          "type": "registry:ui",
          "target": "components/ui/server-admin.tsx"
        }
      ]
    },
    {
      "name": "server-card",
      "type": "registry:ui",
      "title": "Server Card",
      "description": "One server on a card - status, address, hardware, live CPU, memory and disk meters with a sparkline, last deploy, power controls that follow the state, snapshots to take, roll back and delete, and a resource limits editor.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "server-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/server-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/server-card.tsx"
        },
        {
          "path": "registry/nasaq/ui/server-format.ts",
          "type": "registry:ui",
          "target": "components/ui/server-format.ts"
        }
      ]
    },
    {
      "name": "session-expired",
      "type": "registry:ui",
      "title": "Session Expired",
      "description": "\"Re-authentication form for a session that ended: the same person, a password (and code) or a passkey away, with switch account and sign out.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/lock-screen.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/otp-input.json",
        "https://docs.nasaqui.com/r/password-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/session-expired.tsx",
          "type": "registry:ui",
          "target": "components/ui/session-expired.tsx"
        }
      ]
    },
    {
      "name": "settings-sections",
      "type": "registry:ui",
      "title": "Settings Sections",
      "description": "A settings page with grouped sections in a nav, search across every setting, and a sticky save bar that shows unsaved changes.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/settings-sections.tsx",
          "type": "registry:ui",
          "target": "components/ui/settings-sections.tsx"
        }
      ]
    },
    {
      "name": "setup-wizard",
      "type": "registry:ui",
      "title": "Setup Wizard",
      "description": "\"Multi-step first-run wizard with a server-decided completion gate, plus a guided connect step that waits live for an agent to enroll.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "onboarding"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/stepper.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/setup-model.ts",
          "type": "registry:ui",
          "target": "components/ui/setup-model.ts"
        },
        {
          "path": "registry/nasaq/ui/setup-wizard.tsx",
          "type": "registry:ui",
          "target": "components/ui/setup-wizard.tsx"
        }
      ]
    },
    {
      "name": "share-action",
      "type": "registry:ui",
      "title": "Share Action",
      "description": "A share button and dialog with copy link, email invites with a role, link access of restricted or anyone with the link, link expiry, the people who already have access and the native Web Share sheet where the browser offers it.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/share-action.tsx",
          "type": "registry:ui",
          "target": "components/ui/share-action.tsx"
        },
        {
          "path": "registry/nasaq/ui/share-helpers.ts",
          "type": "registry:ui",
          "target": "components/ui/share-helpers.ts"
        }
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "Side-over panel that slides from the inline-start, inline-end or bottom edge, with header, scrolling body and footer. Wraps Base UI Dialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "class-variance-authority@0.7.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/sheet.tsx",
          "type": "registry:ui",
          "target": "components/ui/sheet.tsx"
        }
      ]
    },
    {
      "name": "sidebar-layout",
      "type": "registry:ui",
      "title": "Sidebar Layout",
      "description": "Lets users reorder and hide sidebar items - a persisted layout hook, drag-to-reorder in the sidebar, and an accessible customize dialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/switch.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/sidebar-layout.tsx",
          "type": "registry:ui",
          "target": "components/ui/sidebar-layout.tsx"
        }
      ]
    },
    {
      "name": "sign-in-flow",
      "type": "registry:ui",
      "title": "Sign In Flow",
      "description": "\"Identifier-first sign-in: the email and the providers first, then the step your backend picks for that address (password, one-time code, sign-in link, SSO, sign-up or blocked), with two-factor and forgot password in place.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/forgot-password-form.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/oauth-buttons.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/two-factor-challenge.json",
        "https://docs.nasaqui.com/r/verify-otp-form.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/sign-in-flow.tsx",
          "type": "registry:ui",
          "target": "components/ui/sign-in-flow.tsx"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "Draggable single-value or range slider with marks, a Nasaq-formatted value label, disabled state and Field wiring. Wraps Base UI Slider.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/slider.tsx",
          "type": "registry:ui",
          "target": "components/ui/slider.tsx"
        }
      ]
    },
    {
      "name": "social-composer",
      "type": "registry:ui",
      "title": "Social Composer",
      "description": "One post for several social networks. Each target gets its own limit, counter, preview, media check and optional own version, and a metrics table reports how the posts did.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "marketing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/social-composer-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/social-composer-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/social-composer.tsx",
          "type": "registry:ui",
          "target": "components/ui/social-composer.tsx"
        }
      ]
    },
    {
      "name": "source-badge",
      "type": "registry:ui",
      "title": "Source Badge",
      "description": "Where a record came from (a plugin, an integration, a feed) as a small icon-and-name chip, with an icon-only compact form, a brand-coloured icon and an optional external link.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/source-badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/source-badge.tsx"
        }
      ]
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "title": "Spinner",
      "description": "Small rotating loader icon for inline pending work; decorative, stops under reduced motion.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/spinner.tsx",
          "type": "registry:ui",
          "target": "components/ui/spinner.tsx"
        }
      ]
    },
    {
      "name": "spotlight",
      "type": "registry:ui",
      "title": "Spotlight",
      "description": "\"Featured-product banner on the product's own artwork field, with mark, name, pitch and call to action; scopes the product's brand so one primary button takes its colour.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/product-artwork.json",
        "https://docs.nasaqui.com/r/product-mark.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/spotlight.tsx",
          "type": "registry:ui",
          "target": "components/ui/spotlight.tsx"
        }
      ]
    },
    {
      "name": "stat-card",
      "type": "registry:ui",
      "title": "Stat Card",
      "description": "KPI tile with a label, a large tabular figure, a good/bad delta, an optional sparkline and icon, a loading skeleton, and a responsive StatGrid.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/stat-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/stat-card.tsx"
        }
      ]
    },
    {
      "name": "states",
      "type": "registry:ui",
      "title": "States",
      "description": "Empty, error and loading states for a region (dashed frame with icon, title, description and actions; skeleton rows), plus the Skeleton primitive.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/states.tsx",
          "type": "registry:ui",
          "target": "components/ui/states.tsx"
        }
      ]
    },
    {
      "name": "status",
      "type": "registry:ui",
      "title": "Status",
      "description": "Inline status, an icon plus a label with no container; each of five tones has its own icon shape so it reads without colour.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/status.tsx",
          "type": "registry:ui",
          "target": "components/ui/status.tsx"
        }
      ]
    },
    {
      "name": "status-label-manager",
      "type": "registry:ui",
      "title": "Status Label Manager",
      "description": "An admin screen to manage workflow statuses grouped by stage and flat labels, with colour, reorder, edit and delete that warns when in use.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "work"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/color-picker.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/status-label-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/status-label-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/status-label-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/status-label-manager.tsx"
        }
      ]
    },
    {
      "name": "status-page",
      "type": "registry:ui",
      "title": "Status Page",
      "description": "The public status page - an overall banner, each service with a daily history bar and uptime, active and past incidents with their updates, and scheduled maintenance. No admin controls and no sign-in.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/timeline.json",
        "https://docs.nasaqui.com/r/uptime-monitors.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/status-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/status-page.tsx"
        }
      ]
    },
    {
      "name": "status-page-manager",
      "type": "registry:ui",
      "title": "Status Page Manager",
      "description": "Admin for the public status page - title, address and custom domain, which services show and in what order (staged until Save), and posting incidents that appear on the page.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/uptime-monitors.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/status-page-manager-format.ts",
          "type": "registry:ui",
          "target": "components/ui/status-page-manager-format.ts"
        },
        {
          "path": "registry/nasaq/ui/status-page-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/status-page-manager.tsx"
        }
      ]
    },
    {
      "name": "step-editor",
      "type": "registry:ui",
      "title": "Step Editor",
      "description": "A linear, sortable, nestable step list with forms generated from each step type, continue-on-failure, a parameters editor with secret values, a node picker for adding steps, problem checking and a test-run panel.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/repeater.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/workflow-canvas.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/step-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/step-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/step-model.ts",
          "type": "registry:ui",
          "target": "components/ui/step-model.ts"
        }
      ]
    },
    {
      "name": "stepper",
      "type": "registry:ui",
      "title": "Stepper",
      "description": "Ordered steps with markers and connectors, horizontal or vertical, with complete, current, upcoming and error states.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/stepper.tsx",
          "type": "registry:ui",
          "target": "components/ui/stepper.tsx"
        }
      ]
    },
    {
      "name": "stock-ledger",
      "type": "registry:ui",
      "title": "Stock Ledger",
      "description": "On-hand stock per warehouse computed from receive, issue and adjust movements, with a running-balance trail and a record dialog.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store-admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/line-item-editor.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/stock-ledger.tsx",
          "type": "registry:ui",
          "target": "components/ui/stock-ledger.tsx"
        },
        {
          "path": "registry/nasaq/ui/stock-math.ts",
          "type": "registry:ui",
          "target": "components/ui/stock-math.ts"
        }
      ]
    },
    {
      "name": "store-account",
      "type": "registry:ui",
      "title": "Store Account",
      "description": "The customer's store account. Order history with status filters and reorder, an order page with the tracking timeline and a carrier link, a return and refund request flow with RMA status, a wishlist with move to cart and back-in-stock notify, an address book and recently viewed products. The reorder, return and wishlist rules are pure and tested.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/file-upload.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/store-order-timeline.json",
        "https://docs.nasaqui.com/r/store-orders-admin.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/account-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/account-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/account-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/account-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/return-math.ts",
          "type": "registry:ui",
          "target": "components/ui/return-math.ts"
        },
        {
          "path": "registry/nasaq/ui/store-account-nav.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-account-nav.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-account-order.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-account-order.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-account.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-account.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-address-book.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-address-book.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-order-history.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-order-history.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-recently-viewed.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-recently-viewed.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-return-request.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-return-request.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-return-status.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-return-status.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-wishlist.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-wishlist.tsx"
        }
      ]
    },
    {
      "name": "store-cart",
      "type": "registry:ui",
      "title": "Store Cart",
      "description": "A mini cart drawer and a full cart page with quantity limits, undo, save for later, promo code, shipping estimate, savings and live announcements.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/carousel.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/loyalty-promo.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/product-card.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toast.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/cart-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/cart-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/cart-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/cart-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/store-cart.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-cart.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-image.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-image.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-money.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-money.tsx"
        },
        {
          "path": "registry/nasaq/ui/use-store-cart.ts",
          "type": "registry:ui",
          "target": "components/ui/use-store-cart.ts"
        }
      ]
    },
    {
      "name": "store-checkout",
      "type": "registry:ui",
      "title": "Store Checkout",
      "description": "One-page checkout for physical goods with contact, country-aware address, delivery, payment, summary sidebar and an order confirmation page.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/checkout-steps.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/local-payments.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/store-cart.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/address-rules.ts",
          "type": "registry:ui",
          "target": "components/ui/address-rules.ts"
        },
        {
          "path": "registry/nasaq/ui/checkout-machine.ts",
          "type": "registry:ui",
          "target": "components/ui/checkout-machine.ts"
        },
        {
          "path": "registry/nasaq/ui/checkout-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/checkout-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/store-checkout.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-checkout.tsx"
        }
      ]
    },
    {
      "name": "store-chrome",
      "type": "registry:ui",
      "title": "Store Chrome",
      "description": "\"The storefront frame: announcement bar, sticky header with mega menu, search autocomplete and cart count, and a footer with link columns, newsletter, payments slot, social links and language and currency switches.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/accordion.json",
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/navigation-menu.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/store-listing.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/chrome-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/chrome-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/store-chrome-model.ts",
          "type": "registry:ui",
          "target": "components/ui/store-chrome-model.ts"
        },
        {
          "path": "registry/nasaq/ui/store-chrome.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-chrome.tsx"
        }
      ]
    },
    {
      "name": "store-dashboard",
      "type": "registry:ui",
      "title": "Store Dashboard",
      "description": "Store admin home with sales, orders, average order value, conversion and returning customers against the previous period, a sales chart, conversion funnel, top products, categories, channels and cities, low stock alerts, recent orders and live visitors on a customisable board.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store-admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/chart-extras.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dashboard-board.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/funnel-chart.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/store-dashboard-math.ts",
          "type": "registry:ui",
          "target": "components/ui/store-dashboard-math.ts"
        },
        {
          "path": "registry/nasaq/ui/store-dashboard.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-dashboard.tsx"
        }
      ]
    },
    {
      "name": "store-listing",
      "type": "registry:ui",
      "title": "Store Listing",
      "description": "\"A storefront results page: facet sidebar with live counts, active chips, sort, grid and list views, pagination or load more, empty results with suggestions, a mobile filter sheet, plus the storefront product card, quick view and compare tray and table.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/pagination.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/rating.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/slider.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/listing-model.ts",
          "type": "registry:ui",
          "target": "components/ui/listing-model.ts"
        },
        {
          "path": "registry/nasaq/ui/listing-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/listing-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/store-compare.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-compare.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-listing.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-listing.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-product-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-product-card.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-quick-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-quick-view.tsx"
        }
      ]
    },
    {
      "name": "store-merch",
      "type": "registry:ui",
      "title": "Store Merch",
      "description": "\"Storefront home blocks: category tiles, hero and promo banners, a flash-deal strip with a live countdown and stock progress, a reusable product carousel for related and recently viewed items, and a brand strip.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/carousel.json",
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/store-listing.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/merch-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/merch-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/store-merch-model.ts",
          "type": "registry:ui",
          "target": "components/ui/store-merch-model.ts"
        },
        {
          "path": "registry/nasaq/ui/store-merch.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-merch.tsx"
        }
      ]
    },
    {
      "name": "store-order-timeline",
      "type": "registry:ui",
      "title": "Store Order Timeline",
      "description": "The order status timeline shared by the customer account and the store admin. The tracking variant draws placed, paid, shipped, out for delivery and delivered with times and a carrier link. The activity variant lists every event newest first and takes internal notes.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/timeline.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/order-labels.ts",
          "type": "registry:ui",
          "target": "components/ui/order-labels.ts"
        },
        {
          "path": "registry/nasaq/ui/store-order-timeline.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-order-timeline.tsx"
        },
        {
          "path": "registry/nasaq/ui/timeline-model.ts",
          "type": "registry:ui",
          "target": "components/ui/timeline-model.ts"
        }
      ]
    },
    {
      "name": "store-orders-admin",
      "type": "registry:ui",
      "title": "Store Orders Admin",
      "description": "Store admin orders. A data-table order list with status, payment and fulfilment chips, filters, saved views and bulk actions; an order detail with partial fulfilment and tracking, refunds by line or amount with restock, cancel, a notes timeline and customer cards; printable invoices and packing slips; abandoned carts with a recovery email. The refund, fulfilment and status maths is pure and tested.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store-admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/barcode.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/store-order-timeline.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/abandoned-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/abandoned-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/admin-strings.ts",
          "type": "registry:ui",
          "target": "components/ui/admin-strings.ts"
        },
        {
          "path": "registry/nasaq/ui/money.tsx",
          "type": "registry:ui",
          "target": "components/ui/money.tsx"
        },
        {
          "path": "registry/nasaq/ui/order-math.ts",
          "type": "registry:ui",
          "target": "components/ui/order-math.ts"
        },
        {
          "path": "registry/nasaq/ui/orders-list-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/orders-list-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/store-abandoned-carts.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-abandoned-carts.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-order-detail.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-order-detail.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-order-documents.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-order-documents.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-orders-admin.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-orders-admin.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-orders-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-orders-list.tsx"
        }
      ]
    },
    {
      "name": "store-products-admin",
      "type": "registry:ui",
      "title": "Store Products Admin",
      "description": "\"The merchant side of the catalogue: a product list with bulk edit, a product editor with a generated variant matrix, media manager and search preview, and a collections manager with manual and rule-based collections.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store-admin"
      ],
      "dependencies": [
        "@dnd-kit/core@6.3.1",
        "@dnd-kit/sortable@10.0.0",
        "@dnd-kit/utilities@3.2.2",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/rich-text-editor.json",
        "https://docs.nasaqui.com/r/rule-builder.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/seo-preview.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/collections-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/collections-manager.tsx"
        },
        {
          "path": "registry/nasaq/ui/media-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/media-manager.tsx"
        },
        {
          "path": "registry/nasaq/ui/product-admin-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/product-admin-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/product-admin-shared.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-admin-shared.tsx"
        },
        {
          "path": "registry/nasaq/ui/product-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/product-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/product-list.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-products-admin.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-products-admin.tsx"
        },
        {
          "path": "registry/nasaq/ui/variant-matrix.tsx",
          "type": "registry:ui",
          "target": "components/ui/variant-matrix.tsx"
        }
      ]
    },
    {
      "name": "store-settings",
      "type": "registry:ui",
      "title": "Store Settings",
      "description": "\"The merchant's store configuration: shipping zones and rates with local pickup, tax rates (inclusive or exclusive), discounts with a basket simulator, and gift cards with issue, ledger history and a checkout redeem field. Pure, tested logic for rate resolution, discount evaluation and gift card balances.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "store-admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/currency-input.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/sheet.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/discount-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/discount-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/discount-simulator.tsx",
          "type": "registry:ui",
          "target": "components/ui/discount-simulator.tsx"
        },
        {
          "path": "registry/nasaq/ui/discounts-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/discounts-manager.tsx"
        },
        {
          "path": "registry/nasaq/ui/gift-card-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/gift-card-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/gift-cards-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/gift-cards-manager.tsx"
        },
        {
          "path": "registry/nasaq/ui/shipping-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/shipping-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/shipping-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/shipping-settings.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-settings-shared.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-settings-shared.tsx"
        },
        {
          "path": "registry/nasaq/ui/store-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/store-settings.tsx"
        },
        {
          "path": "registry/nasaq/ui/tax-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/tax-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/tax-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/tax-settings.tsx"
        }
      ]
    },
    {
      "name": "subscription-landing",
      "type": "registry:ui",
      "title": "Subscription Landing",
      "description": "The three public pages of an email list, subscribe with explicit consent, confirm for double opt-in, and unsubscribe with an optional reason and a way back.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "marketing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/radio-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/subscription-landing-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/subscription-landing-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/subscription-landing.tsx",
          "type": "registry:ui",
          "target": "components/ui/subscription-landing.tsx"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "On/off toggle for a setting that applies immediately; the thumb mirrors in RTL.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/switch.tsx",
          "type": "registry:ui",
          "target": "components/ui/switch.tsx"
        }
      ]
    },
    {
      "name": "switchers",
      "type": "registry:ui",
      "title": "Switchers",
      "description": "Theme (light / dark / system) and language controls - a segmented switcher, a one-icon light/dark toggle with a click, a language dropdown, and menu-item variants for embedding in other menus.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/switchers.tsx",
          "type": "registry:ui",
          "target": "components/ui/switchers.tsx"
        }
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "Styled primitives for a native HTML table (rows, heads, cells, caption, footer) inside a horizontally scrolling container. No sorting, selection or pagination.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/table.tsx",
          "type": "registry:ui",
          "target": "components/ui/table.tsx"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "Switches between views of the same subject without leaving the page; segmented or underline style with a sliding indicator, built on Base UI Tabs.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/tabs.tsx",
          "type": "registry:ui",
          "target": "components/ui/tabs.tsx"
        }
      ]
    },
    {
      "name": "tag-input",
      "type": "registry:ui",
      "title": "Tag Input",
      "description": "Chips inside an input box. Enter or comma adds, Backspace removes the last, paste splits on commas and new lines; supports maxTags, validation, suggestions, and Field.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "forms"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/tag-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/tag-input.tsx"
        }
      ]
    },
    {
      "name": "terminal",
      "type": "registry:ui",
      "title": "Terminal",
      "description": "Terminal-style output with prompt lines, ANSI colours mapped to tokens, streaming, copy and follow-the-tail mode. Optional command input.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/follow-scroll.ts",
          "type": "registry:ui",
          "target": "components/ui/follow-scroll.ts"
        },
        {
          "path": "registry/nasaq/ui/terminal-ansi.ts",
          "type": "registry:ui",
          "target": "components/ui/terminal-ansi.ts"
        },
        {
          "path": "registry/nasaq/ui/terminal.tsx",
          "type": "registry:ui",
          "target": "components/ui/terminal.tsx"
        }
      ]
    },
    {
      "name": "test-run-stream",
      "type": "registry:ui",
      "title": "Test Run Stream",
      "description": "A test run that streams. Run and Stop, each step appearing and updating in place as the server reports it, a live elapsed time and summary, and what the run saved, with its raw data behind a toggle.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/test-run-stream-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/test-run-stream-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/test-run-stream.tsx",
          "type": "registry:ui",
          "target": "components/ui/test-run-stream.tsx"
        }
      ]
    },
    {
      "name": "testimonials",
      "type": "registry:ui",
      "title": "Testimonials",
      "description": "A public form for people to leave a testimonial with a rating and consent, and a display as masonry wall, equal grid or spotlight, with a menu for moderation.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/public-form.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/testimonials-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/testimonials-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/testimonials.tsx",
          "type": "registry:ui",
          "target": "components/ui/testimonials.tsx"
        }
      ]
    },
    {
      "name": "text",
      "type": "registry:ui",
      "title": "Text",
      "description": "Typography roles (display to code) as one polymorphic component, plus the Kbd keyboard-key chip.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "typography"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/text.tsx",
          "type": "registry:ui",
          "target": "components/ui/text.tsx"
        }
      ]
    },
    {
      "name": "text-effects",
      "type": "registry:ui",
      "title": "Text Effects",
      "description": "Small motion effects for words on marketing and product pages, a flipping phrase, a shimmer, a marquee, a word by word reveal and handwritten notes and marks. All of them hold still under reduced motion and never split Arabic into letters.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "typography"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/text-effects-model.ts",
          "type": "registry:ui",
          "target": "components/ui/text-effects-model.ts"
        },
        {
          "path": "registry/nasaq/ui/text-effects.tsx",
          "type": "registry:ui",
          "target": "components/ui/text-effects.tsx"
        }
      ]
    },
    {
      "name": "text-utilities",
      "type": "registry:ui",
      "title": "Text Utilities",
      "description": "Small text helpers for user content. Linkify safe links, bidi-isolated UserText, a translation toggle, scroll fades, an optimistic save button and progressive reveal.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/text-utilities-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/text-utilities-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/text-utilities.tsx",
          "type": "registry:ui",
          "target": "components/ui/text-utilities.tsx"
        }
      ]
    },
    {
      "name": "theme-presets",
      "type": "registry:ui",
      "title": "Theme Presets",
      "description": "\"Named themes (light or dark plus brand colours): Nasaq, purple, rose and emerald, each dark and light. A picker with live previews, useThemePreset to apply and remember the choice, overrides for tenant colours, and ThemePresetScope to preview a region.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "brand"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/appearance-pickers.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/theme-presets-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/theme-presets-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/theme-presets.tsx",
          "type": "registry:ui",
          "target": "components/ui/theme-presets.tsx"
        }
      ]
    },
    {
      "name": "time-fields",
      "type": "registry:ui",
      "title": "Time Fields",
      "description": "Fields for clock times and time zones. A 24 hour time you type into (930 becomes 09:30), a start and end span, a live clock for one zone and a time zone picker with a ticking clock on every row. Everything comes from Intl, no zone table is shipped.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/combobox.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/time-range-picker.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/time-fields-model.ts",
          "type": "registry:ui",
          "target": "components/ui/time-fields-model.ts"
        },
        {
          "path": "registry/nasaq/ui/time-fields.tsx",
          "type": "registry:ui",
          "target": "components/ui/time-fields.tsx"
        }
      ]
    },
    {
      "name": "time-range-picker",
      "type": "registry:ui",
      "title": "Time Range Picker",
      "description": "Picks the window a dashboard covers with relative presets (1h, 6h, 24h, 7d, 30d), a week navigator, custom days and an optional comparison period. The value is plain data that reads and writes to a URL, and days are read in a named time zone.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pickers"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/calendar.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/time-range-math.ts",
          "type": "registry:ui",
          "target": "components/ui/time-range-math.ts"
        },
        {
          "path": "registry/nasaq/ui/time-range-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/time-range-picker.tsx"
        }
      ]
    },
    {
      "name": "time-series-panel",
      "type": "registry:ui",
      "title": "Time Series Panel",
      "description": "A chart card for one metric at a time, with a previous-period comparison line, a metric switcher and threshold lines. Also exports PeriodToggle.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "recharts@3.10.1"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/time-series-panel.tsx",
          "type": "registry:ui",
          "target": "components/ui/time-series-panel.tsx"
        }
      ]
    },
    {
      "name": "time-tracker",
      "type": "registry:ui",
      "title": "Time Tracker",
      "description": "A running timer with project and task picker, manual time entries, an entries list grouped by day, and a day or week timesheet grid with totals.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "productivity"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/date-picker.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/time-math.ts",
          "type": "registry:ui",
          "target": "components/ui/time-math.ts"
        },
        {
          "path": "registry/nasaq/ui/time-tracker.tsx",
          "type": "registry:ui",
          "target": "components/ui/time-tracker.tsx"
        }
      ]
    },
    {
      "name": "timeline",
      "type": "registry:ui",
      "title": "Timeline",
      "description": "Vertical list of events with a rail on the inline-start side, an icon or avatar marker, title, description and relative time.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/timeline.tsx",
          "type": "registry:ui",
          "target": "components/ui/timeline.tsx"
        }
      ]
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "title": "Toast",
      "description": "Transient notifications. A themed, RTL-aware Sonner Toaster plus the re-exported toast() function.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "alerts"
      ],
      "dependencies": [
        "sonner@2.0.8"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/toast.tsx",
          "type": "registry:ui",
          "target": "components/ui/toast.tsx"
        }
      ]
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "title": "Toggle Group",
      "description": "Pressed-state buttons grouped as a segmented control, single or multiple selection, plus a standalone Toggle.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/toggle-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/toggle-group.tsx"
        }
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "Short supplementary label shown on hover and keyboard focus of a trigger. Shorthand plus composable parts over Base UI Tooltip.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "overlays"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/tooltip.tsx",
          "type": "registry:ui",
          "target": "components/ui/tooltip.tsx"
        }
      ]
    },
    {
      "name": "translations",
      "type": "registry:ui",
      "title": "Translations",
      "description": "\"App strings for the Nasaq locale: TranslationsProvider and useT() give t(key, vars) over your dictionaries, with nested and namespaced keys, interpolation, CLDR plurals, locale fallback, a remembered choice and seedLocale for server defaults.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "utilities"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/translations-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/translations-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/translations.tsx",
          "type": "registry:ui",
          "target": "components/ui/translations.tsx"
        }
      ]
    },
    {
      "name": "trash-bin",
      "type": "registry:ui",
      "title": "Trash Bin",
      "description": "The trash of an app, listing deleted items with who deleted them and a retention countdown, with restore, delete forever and empty trash behind confirmations, built on EntityList.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "files"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/entity-list.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/trash-bin.tsx",
          "type": "registry:ui",
          "target": "components/ui/trash-bin.tsx"
        },
        {
          "path": "registry/nasaq/ui/trash-math.ts",
          "type": "registry:ui",
          "target": "components/ui/trash-math.ts"
        }
      ]
    },
    {
      "name": "tree-view",
      "type": "registry:ui",
      "title": "Tree View",
      "description": "An accessible tree of nested items with expand and collapse, single or multiple selection, roving-tabindex keyboard navigation with typeahead, lazy children and RTL-aware arrow keys.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "@base-ui/react@1.8.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/icon.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/tree-helpers.ts",
          "type": "registry:ui",
          "target": "components/ui/tree-helpers.ts"
        },
        {
          "path": "registry/nasaq/ui/tree-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/tree-view.tsx"
        }
      ]
    },
    {
      "name": "trends-feed",
      "type": "registry:ui",
      "title": "Trends Feed",
      "description": "A feed of trending news topics with state tabs, day groups, score and reasons, outlets and expandable articles, plus a sources catalogue in three tiers that falls back to the next tier when one has nothing working.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "marketing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/collapsible.json",
        "https://docs.nasaqui.com/r/context-menu.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/trends-feed-math.ts",
          "type": "registry:ui",
          "target": "components/ui/trends-feed-math.ts"
        },
        {
          "path": "registry/nasaq/ui/trends-feed.tsx",
          "type": "registry:ui",
          "target": "components/ui/trends-feed.tsx"
        }
      ]
    },
    {
      "name": "two-factor-challenge",
      "type": "registry:ui",
      "title": "Two Factor Challenge",
      "description": "\"Second-factor step at sign-in: authenticator code or recovery code, trust this device, and a passkey alternative; en and ar built in.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/otp-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/two-factor-challenge.tsx",
          "type": "registry:ui",
          "target": "components/ui/two-factor-challenge.tsx"
        }
      ]
    },
    {
      "name": "two-factor-setup",
      "type": "registry:ui",
      "title": "Two Factor Setup",
      "description": "Presentational TOTP two-factor flow in three steps (scan the QR code or type the key, confirm a 6-digit code, save recovery codes) plus the enabled state with regenerate and disable, driven by async callbacks.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0",
        "uqr@0.1.3"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/otp-input.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/format.ts",
          "type": "registry:ui",
          "target": "components/ui/format.ts"
        },
        {
          "path": "registry/nasaq/ui/two-factor-setup.tsx",
          "type": "registry:ui",
          "target": "components/ui/two-factor-setup.tsx"
        }
      ]
    },
    {
      "name": "typing-terminal",
      "type": "registry:ui",
      "title": "Typing Terminal",
      "description": "\"A terminal that types commands and prints their output step by step, for hero sections and docs. Renders the full transcript first, for servers and reduced motion.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "website"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/terminal.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/typing-terminal.tsx",
          "type": "registry:ui",
          "target": "components/ui/typing-terminal.tsx"
        }
      ]
    },
    {
      "name": "upgrade-prompt",
      "type": "registry:ui",
      "title": "Upgrade Prompt",
      "description": "The in-app ways to ask for an upgrade — a promotion popup with plans and an offer countdown, a banner, a sidebar card, a feature gate and a Pro badge.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "pricing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/price.json",
        "https://docs.nasaqui.com/r/pricing-table.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/upgrade-prompt.tsx",
          "type": "registry:ui",
          "target": "components/ui/upgrade-prompt.tsx"
        }
      ]
    },
    {
      "name": "uptime-monitors",
      "type": "registry:ui",
      "title": "Uptime Monitors",
      "description": "The admin side of uptime - a table of monitors with status, a recent-checks bar, a 24h, 7d or 30d uptime badge, response time and last check, pause, resume, check now, edit and delete, plus incidents with their updates.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/timeline.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/uptime-format.ts",
          "type": "registry:ui",
          "target": "components/ui/uptime-format.ts"
        },
        {
          "path": "registry/nasaq/ui/uptime-monitors.tsx",
          "type": "registry:ui",
          "target": "components/ui/uptime-monitors.tsx"
        }
      ]
    },
    {
      "name": "usage-meter",
      "type": "registry:ui",
      "title": "Usage Meter",
      "description": "A quantity used against its limit (count, money or hours) with warning and danger thresholds, an unlimited state, budget burn with a pace projection, and a plan usage panel with an overage estimate strip.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "data-display"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/usage-math.ts",
          "type": "registry:ui",
          "target": "components/ui/usage-math.ts"
        },
        {
          "path": "registry/nasaq/ui/usage-meter.tsx",
          "type": "registry:ui",
          "target": "components/ui/usage-meter.tsx"
        }
      ]
    },
    {
      "name": "user-actions-menu",
      "type": "registry:ui",
      "title": "User Actions Menu",
      "description": "\"The admin actions for one account: edit email, roles and permissions, impersonate, set a password or send a reset link, send a sign-in link, and delete. A menu or a toolbar that owns its dialogs.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "admin"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/password-input.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/tag-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/user-actions-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/user-actions-menu.tsx"
        }
      ]
    },
    {
      "name": "user-menu",
      "type": "registry:ui",
      "title": "User Menu",
      "description": "Avatar menu at the bottom of the sidebar - identity, your account items, theme and language submenus, and sign out.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/profile-card.json",
        "https://docs.nasaqui.com/r/switchers.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/user-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/user-menu.tsx"
        }
      ]
    },
    {
      "name": "vault",
      "type": "registry:ui",
      "title": "Vault",
      "description": "A secrets manager UI with grouped secrets, masked values fetched only on reveal or copy, auto-hide, expiry badges, add, edit and delete, and an access log.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/vault-format.ts",
          "type": "registry:ui",
          "target": "components/ui/vault-format.ts"
        },
        {
          "path": "registry/nasaq/ui/vault.tsx",
          "type": "registry:ui",
          "target": "components/ui/vault.tsx"
        }
      ]
    },
    {
      "name": "verify-otp-form",
      "type": "registry:ui",
      "title": "Verify Otp Form",
      "description": "\"Verify an emailed or texted one-time code with auto-submit on the last digit, wrong-code clear and refocus, a masked destination and a resend countdown.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "auth"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/otp-input.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/verify-otp-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/verify-otp-form.tsx"
        }
      ]
    },
    {
      "name": "version-history",
      "type": "registry:ui",
      "title": "Version History",
      "description": "Saved versions newest first with a read-only preview, a line diff against the previous, current or any other version, and a confirmed restore that saves as a new version.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "files"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/diff.ts",
          "type": "registry:ui",
          "target": "components/ui/diff.ts"
        },
        {
          "path": "registry/nasaq/ui/version-history.tsx",
          "type": "registry:ui",
          "target": "components/ui/version-history.tsx"
        }
      ]
    },
    {
      "name": "view-toggle",
      "type": "registry:ui",
      "title": "View Toggle",
      "description": "\"Switches how a collection is shown (table, grid, board, list or calendar), with one view always pressed and optional persistence in localStorage.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "actions"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/tooltip.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/view-toggle.tsx",
          "type": "registry:ui",
          "target": "components/ui/view-toggle.tsx"
        }
      ]
    },
    {
      "name": "vitals",
      "type": "registry:ui",
      "title": "Vitals",
      "description": "Body readings from a scale or wearable with BMI and its category, plus progress towards the targets the person set.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "wellness"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/engine-card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/progress.json",
        "https://docs.nasaqui.com/r/stat-card.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/vitals-math.ts",
          "type": "registry:ui",
          "target": "components/ui/vitals-math.ts"
        },
        {
          "path": "registry/nasaq/ui/vitals.tsx",
          "type": "registry:ui",
          "target": "components/ui/vitals.tsx"
        }
      ]
    },
    {
      "name": "voice-call-overlay",
      "type": "registry:ui",
      "title": "Voice Call Overlay",
      "description": "Full-screen voice call with an AI agent showing who, how long, a level-driven visualiser, the listening, thinking or speaking state, live captions and mute, captions and hang-up controls.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/ai-states.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/voice-call-math.ts",
          "type": "registry:ui",
          "target": "components/ui/voice-call-math.ts"
        },
        {
          "path": "registry/nasaq/ui/voice-call-overlay.tsx",
          "type": "registry:ui",
          "target": "components/ui/voice-call-overlay.tsx"
        }
      ]
    },
    {
      "name": "vuln-report",
      "type": "registry:ui",
      "title": "Vuln Report",
      "description": "A vulnerability scan report - CVE counts per severity, the worst findings with the version that fixes them, the trend against the previous scan and a stacked history of the last scans.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "security"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/vuln-format.ts",
          "type": "registry:ui",
          "target": "components/ui/vuln-format.ts"
        },
        {
          "path": "registry/nasaq/ui/vuln-report.tsx",
          "type": "registry:ui",
          "target": "components/ui/vuln-report.tsx"
        }
      ]
    },
    {
      "name": "waiting-screen",
      "type": "registry:ui",
      "title": "Waiting Screen",
      "description": "Patient waiting screen with ticket, position, estimated wait, now serving, room, a live connection indicator and a called state, driven by pure queue math.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "bookings"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/queue-math.ts",
          "type": "registry:ui",
          "target": "components/ui/queue-math.ts"
        },
        {
          "path": "registry/nasaq/ui/use-now.ts",
          "type": "registry:ui",
          "target": "components/ui/use-now.ts"
        },
        {
          "path": "registry/nasaq/ui/waiting-screen.tsx",
          "type": "registry:ui",
          "target": "components/ui/waiting-screen.tsx"
        }
      ]
    },
    {
      "name": "wallet",
      "type": "registry:ui",
      "title": "Wallet",
      "description": "A balance card with top-up and withdraw dialogs and a grouped transaction list, all amounts through Intl.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/chart.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/radio-group.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/wallet-math.ts",
          "type": "registry:ui",
          "target": "components/ui/wallet-math.ts"
        },
        {
          "path": "registry/nasaq/ui/wallet.tsx",
          "type": "registry:ui",
          "target": "components/ui/wallet.tsx"
        }
      ]
    },
    {
      "name": "web-vital-gauge",
      "type": "registry:ui",
      "title": "Web Vital Gauge",
      "description": "A gauge for one Core Web Vital (LCP, INP, CLS, FCP, TTFB) with Google's good, needs-improvement and poor bands, the p75 value and the distribution of page loads.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/web-vital-gauge.tsx",
          "type": "registry:ui",
          "target": "components/ui/web-vital-gauge.tsx"
        },
        {
          "path": "registry/nasaq/ui/web-vitals-math.ts",
          "type": "registry:ui",
          "target": "components/ui/web-vitals-math.ts"
        }
      ]
    },
    {
      "name": "web-vitals-page",
      "type": "registry:ui",
      "title": "Web Vitals Page",
      "description": "A web vitals report - a Core Web Vitals verdict, gauges for LCP, INP, CLS, FCP and TTFB with distributions, a trend chart with Google's limits, and pages to fix.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "monitoring"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/analytics-connect.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/table.json",
        "https://docs.nasaqui.com/r/time-series-panel.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/web-vital-gauge.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/web-vitals-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/web-vitals-page.tsx"
        }
      ]
    },
    {
      "name": "webhooks-manager",
      "type": "registry:ui",
      "title": "Webhooks Manager",
      "description": "Manage outgoing webhooks with endpoints, event selection, a signing secret shown once, a per-endpoint test, a delivery log with replay, inbound sources with a poll interval, and a push endpoint card shown once.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "developer-tools"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/checkbox.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/copy-button.json",
        "https://docs.nasaqui.com/r/data-table.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/status.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/webhooks-format.ts",
          "type": "registry:ui",
          "target": "components/ui/webhooks-format.ts"
        },
        {
          "path": "registry/nasaq/ui/webhooks-manager.tsx",
          "type": "registry:ui",
          "target": "components/ui/webhooks-manager.tsx"
        }
      ]
    },
    {
      "name": "weighted-criteria-card",
      "type": "registry:ui",
      "title": "Weighted Criteria Card",
      "description": "\"A human-in-the-loop step: the assistant suggests criteria, the person switches each on or off, sets its weight, adds their own and confirms.\"",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/toggle-group.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/weighted-criteria-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/weighted-criteria-card.tsx"
        },
        {
          "path": "registry/nasaq/ui/weighted-criteria-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/weighted-criteria-logic.ts"
        }
      ]
    },
    {
      "name": "whatsapp-qr-connect",
      "type": "registry:ui",
      "title": "Whatsapp Qr Connect",
      "description": "Link a WhatsApp number by scanning a QR code, with numbered steps, a live countdown, automatic refresh when the code expires, and connected and disconnected states with a confirmed disconnect.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "integrations"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/card.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/qr-code.json",
        "https://docs.nasaqui.com/r/status.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/whatsapp-qr-connect.tsx",
          "type": "registry:ui",
          "target": "components/ui/whatsapp-qr-connect.tsx"
        }
      ]
    },
    {
      "name": "workflow-canvas",
      "type": "registry:ui",
      "title": "Workflow Canvas",
      "description": "Editable workflow graph with status nodes, a what-happens-next picker, a config side panel, minimap, validation, versions and an execution overlay with replay.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "@xyflow/react@12.12.0",
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/code-block.json",
        "https://docs.nasaqui.com/r/commands.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/popover.json",
        "https://docs.nasaqui.com/r/select.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/switch.json",
        "https://docs.nasaqui.com/r/tabs.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/canvas-labels.ts",
          "type": "registry:ui",
          "target": "components/ui/canvas-labels.ts"
        },
        {
          "path": "registry/nasaq/ui/canvas-parts.tsx",
          "type": "registry:ui",
          "target": "components/ui/canvas-parts.tsx"
        },
        {
          "path": "registry/nasaq/ui/config-panel.tsx",
          "type": "registry:ui",
          "target": "components/ui/config-panel.tsx"
        },
        {
          "path": "registry/nasaq/ui/field-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/field-editor.tsx"
        },
        {
          "path": "registry/nasaq/ui/node-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/node-picker.tsx"
        },
        {
          "path": "registry/nasaq/ui/runs-panel.tsx",
          "type": "registry:ui",
          "target": "components/ui/runs-panel.tsx"
        },
        {
          "path": "registry/nasaq/ui/status-glyph.tsx",
          "type": "registry:ui",
          "target": "components/ui/status-glyph.tsx"
        },
        {
          "path": "registry/nasaq/ui/versions-panel.tsx",
          "type": "registry:ui",
          "target": "components/ui/versions-panel.tsx"
        },
        {
          "path": "registry/nasaq/ui/workflow-canvas.tsx",
          "type": "registry:ui",
          "target": "components/ui/workflow-canvas.tsx"
        },
        {
          "path": "registry/nasaq/ui/workflow-model.ts",
          "type": "registry:ui",
          "target": "components/ui/workflow-model.ts"
        }
      ]
    },
    {
      "name": "workflow-marketplace",
      "type": "registry:ui",
      "title": "Workflow Marketplace",
      "description": "A store of workflow steps and ready-made presets with search, categories, a kind switch, a detail sheet and install, built on the shared catalog store.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/catalog-store.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/workflow-canvas.json",
        "https://docs.nasaqui.com/r/workflow-network.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/workflow-marketplace.tsx",
          "type": "registry:ui",
          "target": "components/ui/workflow-marketplace.tsx"
        }
      ]
    },
    {
      "name": "workflow-network",
      "type": "registry:ui",
      "title": "Workflow Network",
      "description": "Read-only process diagram of step cards joined by measured connectors, with decision, human and result kinds, that wraps by width and follows the reading direction.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/network-geometry.ts",
          "type": "registry:ui",
          "target": "components/ui/network-geometry.ts"
        },
        {
          "path": "registry/nasaq/ui/workflow-network.tsx",
          "type": "registry:ui",
          "target": "components/ui/workflow-network.tsx"
        }
      ]
    },
    {
      "name": "workflow-views",
      "type": "registry:ui",
      "title": "Workflow Views",
      "description": "One workflow shown three ways from the same nested steps. A numbered outline with loops and labelled branches, a pipeline diagram, and your editor, with a view switch that can remember the choice.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "workflow"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/states.json",
        "https://docs.nasaqui.com/r/toggle-group.json",
        "https://docs.nasaqui.com/r/workflow-network.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/workflow-views-logic.ts",
          "type": "registry:ui",
          "target": "components/ui/workflow-views-logic.ts"
        },
        {
          "path": "registry/nasaq/ui/workflow-views.tsx",
          "type": "registry:ui",
          "target": "components/ui/workflow-views.tsx"
        }
      ]
    },
    {
      "name": "workspace-settings",
      "type": "registry:ui",
      "title": "Workspace Settings",
      "description": "Create and manage workspaces. A first-run onboarding page, a create dialog for the workspace switcher, a list of your workspaces, and a settings page with rename, address, picture, leave and type-to-confirm delete.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "account"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/account-settings.json",
        "https://docs.nasaqui.com/r/alert-dialog.json",
        "https://docs.nasaqui.com/r/alert.json",
        "https://docs.nasaqui.com/r/auth-layout.json",
        "https://docs.nasaqui.com/r/avatar-upload.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/badge.json",
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/dialog.json",
        "https://docs.nasaqui.com/r/field.json",
        "https://docs.nasaqui.com/r/input-group.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json",
        "https://docs.nasaqui.com/r/states.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/workspace-settings.tsx",
          "type": "registry:ui",
          "target": "components/ui/workspace-settings.tsx"
        },
        {
          "path": "registry/nasaq/ui/workspace-slug.ts",
          "type": "registry:ui",
          "target": "components/ui/workspace-slug.ts"
        }
      ]
    },
    {
      "name": "workspace-switcher",
      "type": "registry:ui",
      "title": "Workspace Switcher",
      "description": "Organisation / team switcher for the top of the sidebar, with logo, plan line, an optional \"Add workspace\" item and room for extra menu items.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "navigation"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/app-shell.json",
        "https://docs.nasaqui.com/r/avatar.json",
        "https://docs.nasaqui.com/r/dropdown-menu.json",
        "https://docs.nasaqui.com/r/nasaq.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/workspace-switcher.tsx",
          "type": "registry:ui",
          "target": "components/ui/workspace-switcher.tsx"
        }
      ]
    },
    {
      "name": "ws-status",
      "type": "registry:ui",
      "title": "Ws Status",
      "description": "A realtime connection indicator showing live with latency, connecting, reconnecting with a countdown to the next try, and offline, as a pill, bare text or a banner with Retry now.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "feedback"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/button.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/spinner.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/ws-status-format.ts",
          "type": "registry:ui",
          "target": "components/ui/ws-status-format.ts"
        },
        {
          "path": "registry/nasaq/ui/ws-status.tsx",
          "type": "registry:ui",
          "target": "components/ui/ws-status.tsx"
        }
      ]
    },
    {
      "name": "youtube-channel-page",
      "type": "registry:ui",
      "title": "Youtube Channel Page",
      "description": "A YouTube channel report - views, watch time, subscribers and view duration with comparison, a chart, top videos, traffic sources and countries.",
      "author": "Fady Mondy (https://fadymondy.com)",
      "categories": [
        "marketing"
      ],
      "dependencies": [
        "lucide-react@1.48.0"
      ],
      "registryDependencies": [
        "https://docs.nasaqui.com/r/analytics-connect.json",
        "https://docs.nasaqui.com/r/breakdown-table.json",
        "https://docs.nasaqui.com/r/geo-list.json",
        "https://docs.nasaqui.com/r/metric-tiles.json",
        "https://docs.nasaqui.com/r/nasaq.json",
        "https://docs.nasaqui.com/r/numeric.json",
        "https://docs.nasaqui.com/r/tabs.json",
        "https://docs.nasaqui.com/r/time-series-panel.json"
      ],
      "files": [
        {
          "path": "registry/nasaq/ui/youtube-channel-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/youtube-channel-page.tsx"
        }
      ]
    }
  ]
}
