{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "homepage": "https://verno-studio.vercel.app/components",
  "items": [
    {
      "author": "Noppakorn Kaewsalabnil (https://www.pungrumpy.com)",
      "cssVars": {
        "dark": {
          "background-100": "oklch(0 0 0)",
          "background-200": "oklch(0.027 0 0)",
          "gray-100": "oklch(0.218 0 0)",
          "gray-200": "oklch(0.239 0 0)",
          "gray-300": "oklch(0.281 0 0)",
          "gray-400": "oklch(0.301 0 0)",
          "gray-500": "oklch(0.39 0 0)",
          "gray-600": "oklch(0.623 0 0)",
          "gray-700": "oklch(0.65 0 0)",
          "gray-800": "oklch(0.59 0 0)",
          "gray-900": "oklch(0.85 0 0)",
          "gray-1000": "oklch(0.946 0 0)",
          "gray-alpha-300": "oklch(1 0 0 / 0.13)",
          "gray-alpha-400": "oklch(1 0 0 / 0.14)",
          "gray-alpha-700": "oklch(1 0 0 / 0.54)",
          "blue-700": "oklch(71.7% 0.1648 250.794)",
          "red-700": "oklch(62.56% 0.2234 23.03)",
          "purple-700": "oklch(55.5% 0.2186 306.12)",
          "teal-700": "oklch(64.92% 0.1403 181.95)",
          "amber-700": "oklch(81.87% 0.1969 76.46)",
          "pink-700": "oklch(63.52% 0.2346 1.01)",
          "shadow-tint": "oklch(0 0 0 / 0.5)",
          "color-scheme": "dark"
        },
        "light": {
          "background-100": "oklch(1 0 0)",
          "background-200": "oklch(0.984 0 0)",
          "gray-100": "oklch(0.961 0 0)",
          "gray-200": "oklch(0.94 0 0)",
          "gray-300": "oklch(0.925 0 0)",
          "gray-400": "oklch(0.937 0 0)",
          "gray-500": "oklch(0.836 0 0)",
          "gray-600": "oklch(0.732 0 0)",
          "gray-700": "oklch(0.65 0 0)",
          "gray-800": "oklch(0.59 0 0)",
          "gray-900": "oklch(0.42 0 0)",
          "gray-1000": "oklch(0.205 0 0)",
          "gray-alpha-300": "oklch(0 0 0 / 0.1)",
          "gray-alpha-400": "oklch(0 0 0 / 0.08)",
          "gray-alpha-700": "oklch(0 0 0 / 0.44)",
          "blue-700": "oklch(57.61% 0.2508 258.23)",
          "red-700": "oklch(62.56% 0.2524 23.03)",
          "purple-700": "oklch(55.5% 0.3008 306.12)",
          "teal-700": "oklch(64.92% 0.1572 181.95)",
          "amber-700": "oklch(81.87% 0.1969 76.46)",
          "pink-700": "oklch(63.52% 0.238 1.01)",
          "shadow-tint": "oklch(0 0 0 / 0.04)",
          "background": "var(--background-100)",
          "foreground": "var(--gray-1000)",
          "card": "var(--background-100)",
          "card-foreground": "var(--gray-1000)",
          "popover": "var(--background-100)",
          "popover-foreground": "var(--gray-1000)",
          "primary": "var(--gray-1000)",
          "primary-foreground": "var(--background-100)",
          "secondary": "var(--gray-100)",
          "secondary-foreground": "var(--gray-1000)",
          "muted": "var(--gray-100)",
          "muted-foreground": "var(--gray-900)",
          "accent": "var(--gray-200)",
          "accent-foreground": "var(--gray-1000)",
          "destructive": "var(--red-700)",
          "destructive-foreground": "oklch(1 0 0)",
          "border": "var(--gray-alpha-400)",
          "border-strong": "var(--gray-alpha-700)",
          "input": "var(--gray-alpha-400)",
          "ring": "var(--blue-700)",
          "sidebar": "var(--background-100)",
          "sidebar-foreground": "var(--gray-1000)",
          "sidebar-primary": "var(--gray-1000)",
          "sidebar-primary-foreground": "var(--background-100)",
          "sidebar-accent": "var(--gray-200)",
          "sidebar-accent-foreground": "var(--gray-1000)",
          "sidebar-border": "var(--gray-alpha-400)",
          "sidebar-ring": "var(--blue-700)",
          "chart-1": "var(--blue-700)",
          "chart-2": "var(--purple-700)",
          "chart-3": "var(--teal-700)",
          "chart-4": "var(--amber-700)",
          "chart-5": "var(--pink-700)",
          "radius-small": "0.375rem",
          "radius": "0.5rem",
          "color-scheme": "light"
        },
        "theme": {
          "color-background-100": "var(--background-100)",
          "color-background-200": "var(--background-200)",
          "color-gray-100": "var(--gray-100)",
          "color-gray-200": "var(--gray-200)",
          "color-gray-300": "var(--gray-300)",
          "color-gray-400": "var(--gray-400)",
          "color-gray-500": "var(--gray-500)",
          "color-gray-600": "var(--gray-600)",
          "color-gray-700": "var(--gray-700)",
          "color-gray-800": "var(--gray-800)",
          "color-gray-900": "var(--gray-900)",
          "color-gray-1000": "var(--gray-1000)",
          "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-border-strong": "var(--border-strong)",
          "color-input": "var(--input)",
          "color-ring": "var(--ring)",
          "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-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)",
          "spacing": "0.25rem",
          "radius-sm": "var(--radius-small)",
          "radius-md": "var(--radius-small)",
          "radius-lg": "var(--radius)",
          "shadow-border": "0 0 0 1px var(--border)",
          "shadow-xs": "0 1px 2px 0 var(--shadow-tint)",
          "shadow-sm": "0 2px 4px 0 var(--shadow-tint)",
          "shadow-md": "0 4px 8px 0 var(--shadow-tint)",
          "shadow-lg": "0 8px 16px 0 var(--shadow-tint)",
          "text-xs": "0.8125rem",
          "text-xs--line-height": "1.125rem",
          "text-sm": "0.875rem",
          "text-sm--line-height": "1.25rem",
          "text-base": "1rem",
          "text-base--line-height": "1.5rem",
          "text-lg": "1.125rem",
          "text-lg--line-height": "1.75rem",
          "text-xl": "1.25rem",
          "text-xl--line-height": "1.625rem",
          "text-xl--letter-spacing": "-0.02em",
          "text-2xl": "1.5rem",
          "text-2xl--line-height": "2rem",
          "text-2xl--letter-spacing": "-0.04em",
          "text-3xl": "2rem",
          "text-3xl--line-height": "2.5rem",
          "text-3xl--letter-spacing": "-0.06em",
          "text-4xl": "2.5rem",
          "text-4xl--line-height": "3rem",
          "text-4xl--letter-spacing": "-0.06em",
          "text-5xl": "3rem",
          "text-5xl--line-height": "3.5rem",
          "text-5xl--letter-spacing": "-0.06em",
          "font-weight-heading": "450",
          "tracking-tighter": "-0.06em",
          "tracking-tight": "-0.04em",
          "tracking-snug": "-0.02em"
        }
      },
      "dependencies": [
        "tw-animate-css"
      ],
      "description": "The color scale plus the variables shadcn components read, so a component from either registry agrees with the other on what --background means.",
      "files": [],
      "name": "theme",
      "title": "Theme",
      "type": "registry:theme"
    },
    {
      "author": "Noppakorn Kaewsalabnil (https://www.pungrumpy.com)",
      "cssVars": {
        "dark": {
          "badge-amber": "oklch(81.87% 0.1969 76.46)",
          "badge-amber-subtle": "oklch(24.95% 0.0642 64.78)",
          "badge-amber-subtle-foreground": "oklch(77.21% 0.1991 64.28)",
          "badge-blue": "oklch(57.05% 0.2141 258.23)",
          "badge-blue-subtle": "oklch(25.45% 0.0811 255.8)",
          "badge-blue-subtle-foreground": "oklch(71.7% 0.1648 250.79)",
          "badge-gray": "oklch(0.562 0 0)",
          "badge-gray-subtle": "oklch(0.239 0 0)",
          "badge-gray-subtle-foreground": "oklch(0.946 0 0)",
          "badge-green": "oklch(54.61% 0.161 147.27)",
          "badge-green-subtle": "oklch(27.12% 0.0895 150.09)",
          "badge-green-subtle-foreground": "oklch(73.1% 0.2158 148.29)",
          "badge-pink": "oklch(59.37% 0.2346 1.01)",
          "badge-pink-subtle": "oklch(26.2% 0.0859 356.68)",
          "badge-pink-subtle-foreground": "oklch(69.36% 0.2223 3.91)",
          "badge-purple": "oklch(55.5% 0.2186 306.12)",
          "badge-purple-subtle": "oklch(25.91% 0.0921 314.41)",
          "badge-purple-subtle-foreground": "oklch(69.87% 0.2037 309.51)",
          "badge-red": "oklch(59.03% 0.2234 23.03)",
          "badge-red-subtle": "oklch(25.93% 0.0834 19.02)",
          "badge-red-subtle-foreground": "oklch(69.96% 0.2136 22.03)",
          "badge-teal": "oklch(55.05% 0.0983 181.95)",
          "badge-teal-subtle": "oklch(25.06% 0.062 178.76)",
          "badge-teal-subtle-foreground": "oklch(74.56% 0.1765 182.8)"
        },
        "light": {
          "badge-amber": "oklch(81.87% 0.1969 76.46)",
          "badge-amber-subtle": "oklch(96.81% 0.0495 90.24)",
          "badge-amber-subtle-foreground": "oklch(52.79% 0.1496 54.65)",
          "badge-blue": "oklch(57.61% 0.2508 258.23)",
          "badge-blue-subtle": "oklch(96.29% 0.0195 250.59)",
          "badge-blue-subtle-foreground": "oklch(53.18% 0.2399 256.99)",
          "badge-gray": "oklch(0.562 0 0)",
          "badge-gray-subtle": "oklch(0.94 0 0)",
          "badge-gray-subtle-foreground": "oklch(0.205 0 0)",
          "badge-green": "oklch(54.59% 0.1616 147.27)",
          "badge-green-subtle": "oklch(96.92% 0.037 147.15)",
          "badge-green-subtle-foreground": "oklch(51.75% 0.1453 147.65)",
          "badge-pink": "oklch(59.41% 0.238 1.01)",
          "badge-pink-subtle": "oklch(95.71% 0.0321 353.14)",
          "badge-pink-subtle-foreground": "oklch(53.5% 0.2058 2.84)",
          "badge-purple": "oklch(55.5% 0.3008 306.12)",
          "badge-purple-subtle": "oklch(96.73% 0.0228 309.8)",
          "badge-purple-subtle-foreground": "oklch(47.18% 0.2579 304)",
          "badge-red": "oklch(59.23% 0.2394 23.03)",
          "badge-red-subtle": "oklch(95.41% 0.0299 14.25)",
          "badge-red-subtle-foreground": "oklch(54.99% 0.232 25.29)",
          "badge-teal": "oklch(55.05% 0.0982 181.95)",
          "badge-teal-subtle": "oklch(97.06% 0.0347 180.66)",
          "badge-teal-subtle-foreground": "oklch(52.08% 0.1251 182.93)"
        },
        "theme": {
          "color-badge-amber": "var(--badge-amber)",
          "color-badge-amber-subtle": "var(--badge-amber-subtle)",
          "color-badge-amber-subtle-foreground": "var(--badge-amber-subtle-foreground)",
          "color-badge-blue": "var(--badge-blue)",
          "color-badge-blue-subtle": "var(--badge-blue-subtle)",
          "color-badge-blue-subtle-foreground": "var(--badge-blue-subtle-foreground)",
          "color-badge-gray": "var(--badge-gray)",
          "color-badge-gray-subtle": "var(--badge-gray-subtle)",
          "color-badge-gray-subtle-foreground": "var(--badge-gray-subtle-foreground)",
          "color-badge-green": "var(--badge-green)",
          "color-badge-green-subtle": "var(--badge-green-subtle)",
          "color-badge-green-subtle-foreground": "var(--badge-green-subtle-foreground)",
          "color-badge-pink": "var(--badge-pink)",
          "color-badge-pink-subtle": "var(--badge-pink-subtle)",
          "color-badge-pink-subtle-foreground": "var(--badge-pink-subtle-foreground)",
          "color-badge-purple": "var(--badge-purple)",
          "color-badge-purple-subtle": "var(--badge-purple-subtle)",
          "color-badge-purple-subtle-foreground": "var(--badge-purple-subtle-foreground)",
          "color-badge-red": "var(--badge-red)",
          "color-badge-red-subtle": "var(--badge-red-subtle)",
          "color-badge-red-subtle-foreground": "var(--badge-red-subtle-foreground)",
          "color-badge-teal": "var(--badge-teal)",
          "color-badge-teal-subtle": "var(--badge-teal-subtle)",
          "color-badge-teal-subtle-foreground": "var(--badge-teal-subtle-foreground)"
        }
      },
      "dependencies": [
        "class-variance-authority"
      ],
      "description": "A label for the metadata a reader scans rather than reads. Eight hues with a low-contrast pair each, plus inverted and the house gradient, in three sizes with room for an icon.",
      "files": [
        {
          "path": "components/badge.tsx",
          "type": "registry:ui"
        }
      ],
      "name": "badge",
      "registryDependencies": [
        "theme"
      ],
      "title": "Badge",
      "type": "registry:ui"
    },
    {
      "author": "Noppakorn Kaewsalabnil (https://www.pungrumpy.com)",
      "dependencies": [],
      "description": "A directory listing with collapsible folders, built from nested disclosures rather than a tree role.",
      "files": [
        {
          "path": "components/file-tree.tsx",
          "type": "registry:ui"
        }
      ],
      "name": "file-tree",
      "title": "File Tree",
      "type": "registry:ui"
    },
    {
      "author": "Noppakorn Kaewsalabnil (https://www.pungrumpy.com)",
      "cssVars": {
        "dark": {
          "json-key": "oklch(0.867 0.076 1.01)",
          "json-string": "oklch(0.835 0.15 181.95)",
          "json-number": "oklch(0.857 0.071 258.23)",
          "json-boolean": "oklch(0.86 0.124 76.46)",
          "json-highlight": "oklch(0.9 0.17 96)",
          "json-highlight-foreground": "oklch(0.205 0 0)"
        },
        "light": {
          "json-key": "oklch(0.522 0.212 1.01)",
          "json-string": "oklch(0.5 0.09 181.95)",
          "json-number": "oklch(0.515 0.193 258.23)",
          "json-boolean": "oklch(0.517 0.109 76.46)",
          "json-highlight": "oklch(0.9 0.17 96)",
          "json-highlight-foreground": "oklch(0.205 0 0)"
        },
        "theme": {
          "color-json-key": "var(--json-key)",
          "color-json-string": "var(--json-string)",
          "color-json-number": "var(--json-number)",
          "color-json-boolean": "var(--json-boolean)",
          "color-json-highlight": "var(--json-highlight)",
          "color-json-highlight-foreground": "var(--json-highlight-foreground)"
        }
      },
      "dependencies": [],
      "description": "A collapsible tree for inspecting a JSON payload, with syntax roles, search highlighting and the full ARIA tree keyboard model.",
      "files": [
        {
          "path": "components/json-view.tsx",
          "type": "registry:ui"
        }
      ],
      "name": "json-view",
      "title": "JSON View",
      "type": "registry:ui"
    },
    {
      "author": "Noppakorn Kaewsalabnil (https://www.pungrumpy.com)",
      "css": {
        "@keyframes spinner-atom-turn": {
          "to": {
            "transform": "rotateY(360deg)"
          }
        },
        "@keyframes spinner-orbit-in": {
          "from": {
            "opacity": "0"
          },
          "to": {
            "opacity": "0.35"
          }
        },
        "@keyframes spinner-orbit-pulse": {
          "0%, 100%": {
            "opacity": "0.35"
          },
          "50%": {
            "opacity": "0.08"
          }
        }
      },
      "dependencies": [
        "class-variance-authority"
      ],
      "description": "A wireframe atom that assembles itself and then turns in space: three orbits arrive one per beat, then the whole thing turns as one. Three sizes, in the current text color.",
      "files": [
        {
          "path": "components/spinner.tsx",
          "type": "registry:ui"
        }
      ],
      "name": "spinner",
      "registryDependencies": [
        "theme"
      ],
      "title": "Spinner",
      "type": "registry:ui"
    }
  ],
  "name": "vernostudio"
}
