{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "shadcn-command-menu",
  "type": "registry:component",
  "title": "Shadcn Command Menu",
  "description": "A responsive shadcn's adapted command menu component that automatically adapts to screen size - drawer on mobile, modal on desktop.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "button",
    "separator",
    "https://revola.sameerjs.com/r/responsive-command.json"
  ],
  "files": [
    {
      "path": "registry/cmdk/examples/shadcn-command-menu.tsx",
      "content": "\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { useRouter } from \"next/navigation\";\r\n\r\nimport { ArrowRight, CornerDownLeftIcon } from \"lucide-react\";\r\n\r\nimport { Button } from \"@/components/ui/button\";\r\nimport {\r\n  ResponsiveCommand,\r\n  ResponsiveCommandEmpty,\r\n  ResponsiveCommandGroup,\r\n  ResponsiveCommandInput,\r\n  ResponsiveCommandItem,\r\n  ResponsiveCommandList,\r\n} from \"@/components/ui/responsive-command\";\r\nimport {\r\n  ResponsiveDialog,\r\n  ResponsiveDialogContent,\r\n  ResponsiveDialogDescription,\r\n  ResponsiveDialogHeader,\r\n  ResponsiveDialogTitle,\r\n  ResponsiveDialogTrigger,\r\n} from \"@/components/ui/revola\";\r\nimport { Separator } from \"@/components/ui/separator\";\r\nimport { type Color, type ColorPalette } from \"@/lib/colors\";\r\nimport { source, type Tree } from \"@/lib/source\";\r\nimport { cn } from \"@/lib/utils\";\r\n\r\nimport { useIsMac } from \"@/hooks/use-is-mac\";\r\nimport { useMutationObserver } from \"@/hooks/use-mutation-observer\";\r\n\r\ntype TreeNode = (typeof source.pageTree)[\"children\"][number];\r\n\r\nfunction copyToClipboardWithoutMeta(value: string) {\r\n  navigator.clipboard.writeText(value);\r\n}\r\n\r\ntype SimplifiedGroup = {\r\n  name: string;\r\n  children: Array<{\r\n    type: \"page\";\r\n    name: string;\r\n    url: string;\r\n    icon?: React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;\r\n  }>;\r\n};\r\n\r\ntype CommandMenuProps = {\r\n  tree: Tree[\"pageTree\"];\r\n  colors: ColorPalette[];\r\n};\r\n\r\n// Transform the mixed tree structure into simplified groups\r\nfunction simplifyTreeStructure(tree: TreeNode[]): SimplifiedGroup[] {\r\n  const groups: SimplifiedGroup[] = [];\r\n  let currentGroup: SimplifiedGroup | null = null;\r\n\r\n  for (const item of tree) {\r\n    switch (item.type) {\r\n      case \"separator\": {\r\n        currentGroup = {\r\n          name: item.name?.toString() || \"Untitled\",\r\n          children: [],\r\n        };\r\n        groups.push(currentGroup);\r\n        break;\r\n      }\r\n      case \"page\": {\r\n        if (currentGroup) {\r\n          currentGroup.children.push({\r\n            type: \"page\",\r\n            name: item.name?.toString() || \"Untitled\",\r\n            url: item.url,\r\n            ...(item.icon && { icon: item.icon }),\r\n          });\r\n        } else {\r\n          groups.push({\r\n            name: item.name?.toString() || \"Untitled\",\r\n            children: [\r\n              {\r\n                type: \"page\",\r\n                name: item.name?.toString() || \"Untitled\",\r\n                url: item.url,\r\n                ...(item.icon && { icon: item.icon }),\r\n              },\r\n            ],\r\n          });\r\n        }\r\n        break;\r\n      }\r\n      case \"folder\": {\r\n        const folderPages = item.children?.filter((child) => child.type === \"page\" && \"url\" in child) || [];\r\n\r\n        groups.push({\r\n          name: item.name?.toString() || \"Untitled\",\r\n          children: folderPages.map((page) => ({\r\n            type: \"page\" as const,\r\n            name: page.name?.toString() || \"Untitled\",\r\n            url: (page as any).url,\r\n            ...(page.icon && { icon: page.icon }),\r\n          })),\r\n        });\r\n\r\n        currentGroup = null;\r\n        break;\r\n      }\r\n      default:\r\n        return groups;\r\n    }\r\n  }\r\n\r\n  return groups;\r\n}\r\n\r\nexport default function CommandMenu({ tree, colors }: CommandMenuProps) {\r\n  const [open, setOpen] = React.useState(false);\r\n  const [copyPayload, setCopyPayload] = React.useState(\"\");\r\n  const [selectedType, setSelectedType] = React.useState<\"color\" | \"page\" | null>(null);\r\n\r\n  const isMac = useIsMac();\r\n  const router = useRouter();\r\n\r\n  const handlePageHighlight = React.useCallback(() => {\r\n    setSelectedType(\"page\");\r\n    setCopyPayload(\"\");\r\n  }, [setSelectedType, setCopyPayload]);\r\n\r\n  const handleColorHighlight = React.useCallback(\r\n    (color: Color) => {\r\n      setSelectedType(\"color\");\r\n      setCopyPayload(color.className);\r\n    },\r\n    [setSelectedType, setCopyPayload]\r\n  );\r\n\r\n  const runCommand = React.useCallback((command: () => unknown) => {\r\n    setOpen(false);\r\n    command();\r\n  }, []);\r\n\r\n  React.useEffect(() => {\r\n    const down = (e: KeyboardEvent) => {\r\n      if ((e.key === \"k\" && (e.metaKey || e.ctrlKey)) || e.key === \"/\") {\r\n        if (\r\n          (e.target instanceof HTMLElement && e.target.isContentEditable) ||\r\n          e.target instanceof HTMLInputElement ||\r\n          e.target instanceof HTMLTextAreaElement ||\r\n          e.target instanceof HTMLSelectElement\r\n        ) {\r\n          return;\r\n        }\r\n\r\n        e.preventDefault();\r\n        setOpen((open) => !open);\r\n      }\r\n\r\n      if (e.key === \"c\" && (e.metaKey || e.ctrlKey)) {\r\n        runCommand(() => {\r\n          if (selectedType === \"color\" || selectedType === \"page\") {\r\n            copyToClipboardWithoutMeta(copyPayload);\r\n          }\r\n        });\r\n      }\r\n    };\r\n\r\n    document.addEventListener(\"keydown\", down);\r\n    return () => document.removeEventListener(\"keydown\", down);\r\n  }, [copyPayload, runCommand, selectedType]);\r\n\r\n  const listRef = React.useRef<HTMLDivElement>(null);\r\n  const scrollId = React.useRef<ReturnType<typeof setTimeout>>(null);\r\n\r\n  const simplifiedTree = simplifyTreeStructure(tree.children);\r\n\r\n  return (\r\n    <ResponsiveDialog shouldScaleBackground={false} open={open} onOpenChange={setOpen}>\r\n      <ResponsiveDialogTrigger asChild>\r\n        <Button\r\n          variant=\"secondary\"\r\n          className={cn(\r\n            \"relative h-11 w-full justify-start rounded-lg bg-secondary pl-2.5 font-normal text-secondary-foreground/60 shadow-none dark:bg-card sm:pr-12 md:w-40 lg:w-56 xl:w-64\"\r\n          )}\r\n          onClick={() => setOpen(true)}\r\n        >\r\n          <span className=\"hidden lg:inline-flex\">Search documentation...</span>\r\n          <span className=\"inline-flex lg:hidden\">Search...</span>\r\n          <div className=\"absolute right-1.5 top-1/2 hidden -translate-y-1/2 gap-1 sm:flex\">\r\n            <CommandMenuKbd>{isMac ? \"⌘\" : \"Ctrl\"}</CommandMenuKbd>\r\n            <CommandMenuKbd className=\"aspect-square\">K</CommandMenuKbd>\r\n          </div>\r\n        </Button>\r\n      </ResponsiveDialogTrigger>\r\n      <ResponsiveDialogContent\r\n        showCloseButton={false}\r\n        dragHandleClassName=\"mt-0\"\r\n        className=\"overflow-hidden rounded-t-2xl border-none bg-clip-padding p-2 pb-11 shadow-2xl ring-4 ring-neutral-200/80 dark:bg-neutral-900 dark:ring-neutral-800 sm:rounded-xl\"\r\n      >\r\n        <ResponsiveDialogHeader className=\"sr-only\">\r\n          <ResponsiveDialogTitle>Search documentation...</ResponsiveDialogTitle>\r\n          <ResponsiveDialogDescription>Search for a command to run...</ResponsiveDialogDescription>\r\n        </ResponsiveDialogHeader>\r\n        <ResponsiveCommand\r\n          filter={(value, search, keywords) => {\r\n            const extendValue = value + \" \" + (keywords?.join(\" \") || \"\");\r\n            if (extendValue.toLowerCase().includes(search.toLowerCase())) {\r\n              return 1;\r\n            }\r\n            return 0;\r\n          }}\r\n          className=\"rounded-none bg-transparent [&_[cmdk-input-wrapper]]:mb-0 [&_[cmdk-input-wrapper]]:!h-9 [&_[cmdk-input-wrapper]]:rounded-md [&_[cmdk-input-wrapper]]:border [&_[cmdk-input-wrapper]]:border-input [&_[cmdk-input-wrapper]]:bg-input/50 [&_[cmdk-input-wrapper]]:px-3 [&_[cmdk-input]]:!h-9 [&_[cmdk-input]]:py-0\"\r\n        >\r\n          <ResponsiveCommandInput\r\n            onValueChange={(e) => {\r\n              e === \"\" && setCopyPayload(\"\");\r\n\r\n              if (scrollId.current) {\r\n                clearTimeout(scrollId.current);\r\n              }\r\n\r\n              scrollId.current = setTimeout(() => {\r\n                if (listRef.current) {\r\n                  listRef.current?.scrollTo({ top: 0 });\r\n                }\r\n              }, 0);\r\n            }}\r\n            placeholder=\"Search documentation...\"\r\n          />\r\n          <ResponsiveCommandList ref={listRef} className=\"min-h-80 scroll-pb-1.5 scroll-pt-2 no-scrollbar\">\r\n            <ResponsiveCommandEmpty className=\"py-12 text-center text-sm text-muted-foreground\">\r\n              No results found.\r\n            </ResponsiveCommandEmpty>\r\n\r\n            {simplifiedTree.map((group, index) => {\r\n              return (\r\n                <ResponsiveCommandGroup\r\n                  heading={group.name}\r\n                  key={group.name + index}\r\n                  className=\"!p-0 [&_[cmdk-group-heading]]:scroll-mt-16 [&_[cmdk-group-heading]]:!p-3 [&_[cmdk-group-heading]]:!pb-1\"\r\n                >\r\n                  {group.children.map((item) => {\r\n                    if (item.type === \"page\") {\r\n                      return (\r\n                        <CommandMenuItem\r\n                          key={item.url}\r\n                          keywords={undefined}\r\n                          onHighlight={handlePageHighlight}\r\n                          value={item.name?.toString() ? `${group.name} ${item.name}` : \"\"}\r\n                          onSelect={() => {\r\n                            runCommand(() => router.push(item.url));\r\n                          }}\r\n                        >\r\n                          <ArrowRight />\r\n                          {item.name}\r\n                        </CommandMenuItem>\r\n                      );\r\n                    }\r\n                    return null;\r\n                  })}\r\n                </ResponsiveCommandGroup>\r\n              );\r\n            })}\r\n\r\n            {colors.map((colorPalette) => (\r\n              <ResponsiveCommandGroup\r\n                key={colorPalette.name}\r\n                heading={colorPalette.name.charAt(0).toUpperCase() + colorPalette.name.slice(1)}\r\n                className=\"!p-0 [&_[cmdk-group-heading]]:!p-3\"\r\n              >\r\n                {colorPalette.colors.map((color) => (\r\n                  <CommandMenuItem\r\n                    key={color.hex}\r\n                    value={color.className}\r\n                    keywords={[\"color\", color.name, color.className]}\r\n                    onHighlight={() => handleColorHighlight(color)}\r\n                    onSelect={() => {\r\n                      runCommand(() => copyToClipboardWithoutMeta(color.oklch));\r\n                    }}\r\n                  >\r\n                    <div\r\n                      className=\"aspect-square size-4 rounded-sm border-border bg-[var(--color)] after:rounded-sm\"\r\n                      style={{ \"--color\": color.oklch } as React.CSSProperties}\r\n                    />\r\n                    {color.className}\r\n                    <span className=\"ml-auto font-mono text-xs font-normal tabular-nums text-muted-foreground\">\r\n                      {color.oklch}\r\n                    </span>\r\n                  </CommandMenuItem>\r\n                ))}\r\n              </ResponsiveCommandGroup>\r\n            ))}\r\n          </ResponsiveCommandList>\r\n        </ResponsiveCommand>\r\n\r\n        <div className=\"absolute inset-x-0 bottom-0 z-20 flex h-10 items-center gap-2 border-t border-t-neutral-100 bg-neutral-50 px-4 text-xs font-medium text-muted-foreground dark:border-t-neutral-700 dark:bg-neutral-800 sm:rounded-b-xl\">\r\n          <div className=\"flex items-center gap-2\">\r\n            <CommandMenuKbd>\r\n              <CornerDownLeftIcon />\r\n            </CommandMenuKbd>\r\n            {selectedType === \"page\" ? \"Go to Page\" : null}\r\n            {selectedType === \"color\" ? \"Copy OKLCH\" : null}\r\n          </div>\r\n          {copyPayload && (\r\n            <>\r\n              <Separator orientation=\"vertical\" className=\"!h-4\" />\r\n              <div className=\"flex items-center gap-1\">\r\n                <CommandMenuKbd>{isMac ? \"⌘\" : \"Ctrl\"}</CommandMenuKbd>\r\n                <CommandMenuKbd>C</CommandMenuKbd>\r\n                {copyPayload}\r\n              </div>\r\n            </>\r\n          )}\r\n        </div>\r\n      </ResponsiveDialogContent>\r\n    </ResponsiveDialog>\r\n  );\r\n}\r\n\r\nfunction CommandMenuItem({\r\n  children,\r\n  className,\r\n  onHighlight,\r\n  ...props\r\n}: React.ComponentProps<typeof ResponsiveCommandItem> & {\r\n  onHighlight?: () => void;\r\n  \"data-selected\"?: string;\r\n  \"aria-selected\"?: string;\r\n}) {\r\n  const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n  useMutationObserver(ref, (mutations) => {\r\n    mutations.forEach((mutation) => {\r\n      if (\r\n        mutation.type === \"attributes\" &&\r\n        mutation.attributeName === \"aria-selected\" &&\r\n        ref.current?.getAttribute(\"aria-selected\") === \"true\"\r\n      ) {\r\n        onHighlight?.();\r\n      }\r\n    });\r\n  });\r\n\r\n  return (\r\n    <ResponsiveCommandItem\r\n      ref={ref}\r\n      className={cn(\r\n        \"h-9 rounded-md border border-transparent !px-3 font-medium data-[selected=true]:border-input data-[selected=true]:bg-input/50\",\r\n        className\r\n      )}\r\n      {...props}\r\n    >\r\n      {children}\r\n    </ResponsiveCommandItem>\r\n  );\r\n}\r\n\r\nfunction CommandMenuKbd({ className, ...props }: React.ComponentProps<\"kbd\">) {\r\n  return (\r\n    <kbd\r\n      className={cn(\r\n        \"not-prose pointer-events-none flex h-5 select-none items-center justify-center gap-1 rounded border bg-background px-1 font-sans text-[0.7rem] font-medium text-muted-foreground [&_svg:not([class*='size-'])]:size-3\",\r\n        className\r\n      )}\r\n      {...props}\r\n    />\r\n  );\r\n}\r\n",
      "type": "registry:ui"
    },
    {
      "path": "lib/colors.ts",
      "content": "import { z } from \"zod\";\r\n\r\nimport { colors } from \"@/lib/registry-colors\";\r\n\r\nconst colorSchema = z.object({\r\n  name: z.string(),\r\n  id: z.string(),\r\n  scale: z.number(),\r\n  className: z.string(),\r\n  hex: z.string(),\r\n  rgb: z.string(),\r\n  hsl: z.string(),\r\n  foreground: z.string(),\r\n  oklch: z.string(),\r\n  var: z.string(),\r\n});\r\n\r\nconst colorPaletteSchema = z.object({\r\n  name: z.string(),\r\n  colors: z.array(colorSchema),\r\n});\r\n\r\nexport type ColorPalette = z.infer<typeof colorPaletteSchema>;\r\n\r\nexport function getColorFormat(color: Color) {\r\n  return {\r\n    className: `${color.name}-${color.scale}`,\r\n    hex: color.hex,\r\n    rgb: color.rgb,\r\n    hsl: color.hsl,\r\n    oklch: color.oklch,\r\n    var: `--color-${color.name}-${color.scale}`,\r\n  };\r\n}\r\n\r\nexport type ColorFormat = keyof ReturnType<typeof getColorFormat>;\r\n\r\nexport function getColors() {\r\n  const tailwindColors = colorPaletteSchema.array().parse(\r\n    Object.entries(colors)\r\n      .map(([name, color]) => {\r\n        if (!Array.isArray(color)) {\r\n          return null;\r\n        }\r\n\r\n        return {\r\n          name,\r\n          colors: color.map((color) => {\r\n            const rgb = color.rgb.replace(/^rgb\\((\\d+),(\\d+),(\\d+)\\)$/, \"$1 $2 $3\");\r\n\r\n            return {\r\n              ...color,\r\n              name,\r\n              id: `${name}-${color.scale}`,\r\n              className: `${name}-${color.scale}`,\r\n              var: `--color-${name}-${color.scale}`,\r\n              rgb,\r\n              hsl: color.hsl.replace(/^hsl\\(([\\d.]+),([\\d.]+%),([\\d.]+%)\\)$/, \"$1 $2 $3\"),\r\n              oklch: `oklch(${color.oklch.replace(/^oklch\\(([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\)$/, \"$1 $2 $3\")})`,\r\n              foreground: getForegroundFromBackground(rgb),\r\n            };\r\n          }),\r\n        };\r\n      })\r\n      .filter(Boolean)\r\n  );\r\n\r\n  return tailwindColors;\r\n}\r\n\r\nexport type Color = ReturnType<typeof getColors>[number][\"colors\"][number];\r\n\r\nfunction getForegroundFromBackground(rgb: string) {\r\n  const [r, g, b] = rgb.split(\" \").map(Number);\r\n\r\n  function toLinear(number: number): number {\r\n    const base = number / 255;\r\n    return base <= 0.04045 ? base / 12.92 : Math.pow((base + 0.055) / 1.055, 2.4);\r\n  }\r\n\r\n  const luminance = 0.2126 * toLinear(r) + 0.7152 * toLinear(g) + 0.0722 * toLinear(b);\r\n\r\n  return luminance > 0.179 ? \"#000\" : \"#fff\";\r\n}\r\n",
      "type": "registry:lib"
    },
    {
      "path": "lib/source.ts",
      "content": "import { createElement } from \"react\";\r\nimport { docs } from \"@/.source\";\r\n\r\nimport { icons } from \"lucide-react\";\r\n\r\nimport { loader } from \"fumadocs-core/source\";\r\n\r\ntype Tree = typeof source;\r\n\r\nconst source = loader({\r\n  baseUrl: \"/docs\",\r\n  icon(icon) {\r\n    if (!icon) return;\r\n\r\n    if (icon in icons) return createElement(icons[icon as keyof typeof icons]);\r\n  },\r\n  source: docs.toFumadocsSource(),\r\n});\r\n\r\nexport { source, type Tree };\r\n",
      "type": "registry:lib"
    },
    {
      "path": "lib/registry-colors.ts",
      "content": "export const colors = {\r\n  inherit: \"inherit\",\r\n  current: \"currentColor\",\r\n  transparent: \"transparent\",\r\n  black: {\r\n    hex: \"#000000\",\r\n    rgb: \"rgb(0,0,0)\",\r\n    hsl: \"hsl(0,0%,0%)\",\r\n    oklch: \"oklch(0.00,0.00,0)\",\r\n  },\r\n  white: {\r\n    hex: \"#ffffff\",\r\n    rgb: \"rgb(255,255,255)\",\r\n    hsl: \"hsl(0,0%,100%)\",\r\n    oklch: \"oklch(1.00,0.00,0)\",\r\n  },\r\n  neutral: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fafafa\",\r\n      rgb: \"rgb(250,250,250)\",\r\n      hsl: \"hsl(0,0%,98%)\",\r\n      oklch: \"oklch(0.99,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#f5f5f5\",\r\n      rgb: \"rgb(245,245,245)\",\r\n      hsl: \"hsl(0,0%,96.1%)\",\r\n      oklch: \"oklch(0.97,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#e5e5e5\",\r\n      rgb: \"rgb(229,229,229)\",\r\n      hsl: \"hsl(0,0%,89.8%)\",\r\n      oklch: \"oklch(0.92,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#d4d4d4\",\r\n      rgb: \"rgb(212,212,212)\",\r\n      hsl: \"hsl(0,0%,83.1%)\",\r\n      oklch: \"oklch(0.87,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#a3a3a3\",\r\n      rgb: \"rgb(163,163,163)\",\r\n      hsl: \"hsl(0,0%,63.9%)\",\r\n      oklch: \"oklch(0.72,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#737373\",\r\n      rgb: \"rgb(115,115,115)\",\r\n      hsl: \"hsl(0,0%,45.1%)\",\r\n      oklch: \"oklch(0.56,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#525252\",\r\n      rgb: \"rgb(82,82,82)\",\r\n      hsl: \"hsl(0,0%,32.2%)\",\r\n      oklch: \"oklch(0.44,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#404040\",\r\n      rgb: \"rgb(64,64,64)\",\r\n      hsl: \"hsl(0,0%,25.1%)\",\r\n      oklch: \"oklch(0.37,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#262626\",\r\n      rgb: \"rgb(38,38,38)\",\r\n      hsl: \"hsl(0,0%,14.9%)\",\r\n      oklch: \"oklch(0.27,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#171717\",\r\n      rgb: \"rgb(23,23,23)\",\r\n      hsl: \"hsl(0,0%,9%)\",\r\n      oklch: \"oklch(0.20,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#0a0a0a\",\r\n      rgb: \"rgb(10,10,10)\",\r\n      hsl: \"hsl(0,0%,3.9%)\",\r\n      oklch: \"oklch(0.14,0.00,0)\",\r\n    },\r\n  ],\r\n  stone: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fafaf9\",\r\n      rgb: \"rgb(250,250,249)\",\r\n      hsl: \"hsl(60,9.1%,97.8%)\",\r\n      oklch: \"oklch(0.98,0.00,106)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#f5f5f4\",\r\n      rgb: \"rgb(245,245,244)\",\r\n      hsl: \"hsl(60,4.8%,95.9%)\",\r\n      oklch: \"oklch(0.97,0.00,106)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#e7e5e4\",\r\n      rgb: \"rgb(231,229,228)\",\r\n      hsl: \"hsl(20,5.9%,90%)\",\r\n      oklch: \"oklch(0.92,0.00,49)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#d6d3d1\",\r\n      rgb: \"rgb(214,211,209)\",\r\n      hsl: \"hsl(24,5.7%,82.9%)\",\r\n      oklch: \"oklch(0.87,0.00,56)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#a8a29e\",\r\n      rgb: \"rgb(168,162,158)\",\r\n      hsl: \"hsl(24,5.4%,63.9%)\",\r\n      oklch: \"oklch(0.72,0.01,56)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#78716c\",\r\n      rgb: \"rgb(120,113,108)\",\r\n      hsl: \"hsl(25,5.3%,44.7%)\",\r\n      oklch: \"oklch(0.55,0.01,58)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#57534e\",\r\n      rgb: \"rgb(87,83,78)\",\r\n      hsl: \"hsl(33.3,5.5%,32.4%)\",\r\n      oklch: \"oklch(0.44,0.01,74)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#44403c\",\r\n      rgb: \"rgb(68,64,60)\",\r\n      hsl: \"hsl(30,6.3%,25.1%)\",\r\n      oklch: \"oklch(0.37,0.01,68)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#292524\",\r\n      rgb: \"rgb(41,37,36)\",\r\n      hsl: \"hsl(12,6.5%,15.1%)\",\r\n      oklch: \"oklch(0.27,0.01,34)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#1c1917\",\r\n      rgb: \"rgb(28,25,23)\",\r\n      hsl: \"hsl(24,9.8%,10%)\",\r\n      oklch: \"oklch(0.22,0.01,56)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#0c0a09\",\r\n      rgb: \"rgb(12,10,9)\",\r\n      hsl: \"hsl(20,14.3%,4.1%)\",\r\n      oklch: \"oklch(0.15,0.00,49)\",\r\n    },\r\n  ],\r\n  zinc: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fafafa\",\r\n      rgb: \"rgb(250,250,250)\",\r\n      hsl: \"hsl(0,0%,98%)\",\r\n      oklch: \"oklch(0.99,0.00,0)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#f4f4f5\",\r\n      rgb: \"rgb(244,244,245)\",\r\n      hsl: \"hsl(240,4.8%,95.9%)\",\r\n      oklch: \"oklch(0.97,0.00,286)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#e4e4e7\",\r\n      rgb: \"rgb(228,228,231)\",\r\n      hsl: \"hsl(240,5.9%,90%)\",\r\n      oklch: \"oklch(0.92,0.00,286)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#d4d4d8\",\r\n      rgb: \"rgb(212,212,216)\",\r\n      hsl: \"hsl(240,4.9%,83.9%)\",\r\n      oklch: \"oklch(0.87,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#a1a1aa\",\r\n      rgb: \"rgb(161,161,170)\",\r\n      hsl: \"hsl(240,5%,64.9%)\",\r\n      oklch: \"oklch(0.71,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#71717a\",\r\n      rgb: \"rgb(113,113,122)\",\r\n      hsl: \"hsl(240,3.8%,46.1%)\",\r\n      oklch: \"oklch(0.55,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#52525b\",\r\n      rgb: \"rgb(82,82,91)\",\r\n      hsl: \"hsl(240,5.2%,33.9%)\",\r\n      oklch: \"oklch(0.44,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#3f3f46\",\r\n      rgb: \"rgb(63,63,70)\",\r\n      hsl: \"hsl(240,5.3%,26.1%)\",\r\n      oklch: \"oklch(0.37,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#27272a\",\r\n      rgb: \"rgb(39,39,42)\",\r\n      hsl: \"hsl(240,3.7%,15.9%)\",\r\n      oklch: \"oklch(0.27,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#18181b\",\r\n      rgb: \"rgb(24,24,27)\",\r\n      hsl: \"hsl(240,5.9%,10%)\",\r\n      oklch: \"oklch(0.21,0.01,286)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#09090b\",\r\n      rgb: \"rgb(9,9,11)\",\r\n      hsl: \"hsl(240,10%,3.9%)\",\r\n      oklch: \"oklch(0.14,0.00,286)\",\r\n    },\r\n  ],\r\n  slate: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f8fafc\",\r\n      rgb: \"rgb(248,250,252)\",\r\n      hsl: \"hsl(210,40%,98%)\",\r\n      oklch: \"oklch(0.98,0.00,248)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#f1f5f9\",\r\n      rgb: \"rgb(241,245,249)\",\r\n      hsl: \"hsl(210,40%,96.1%)\",\r\n      oklch: \"oklch(0.97,0.01,248)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#e2e8f0\",\r\n      rgb: \"rgb(226,232,240)\",\r\n      hsl: \"hsl(214.3,31.8%,91.4%)\",\r\n      oklch: \"oklch(0.93,0.01,256)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#cbd5e1\",\r\n      rgb: \"rgb(203,213,225)\",\r\n      hsl: \"hsl(212.7,26.8%,83.9%)\",\r\n      oklch: \"oklch(0.87,0.02,253)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#94a3b8\",\r\n      rgb: \"rgb(148,163,184)\",\r\n      hsl: \"hsl(215,20.2%,65.1%)\",\r\n      oklch: \"oklch(0.71,0.04,257)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#64748b\",\r\n      rgb: \"rgb(100,116,139)\",\r\n      hsl: \"hsl(215.4,16.3%,46.9%)\",\r\n      oklch: \"oklch(0.55,0.04,257)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#475569\",\r\n      rgb: \"rgb(71,85,105)\",\r\n      hsl: \"hsl(215.3,19.3%,34.5%)\",\r\n      oklch: \"oklch(0.45,0.04,257)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#334155\",\r\n      rgb: \"rgb(51,65,85)\",\r\n      hsl: \"hsl(215.3,25%,26.7%)\",\r\n      oklch: \"oklch(0.37,0.04,257)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#1e293b\",\r\n      rgb: \"rgb(30,41,59)\",\r\n      hsl: \"hsl(217.2,32.6%,17.5%)\",\r\n      oklch: \"oklch(0.28,0.04,260)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#0f172a\",\r\n      rgb: \"rgb(15,23,42)\",\r\n      hsl: \"hsl(222.2,47.4%,11.2%)\",\r\n      oklch: \"oklch(0.21,0.04,266)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#020617\",\r\n      rgb: \"rgb(2,6,23)\",\r\n      hsl: \"hsl(222.2,84%,4.9%)\",\r\n      oklch: \"oklch(0.13,0.04,265)\",\r\n    },\r\n  ],\r\n  gray: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f9fafb\",\r\n      rgb: \"rgb(249,250,251)\",\r\n      hsl: \"hsl(210,20%,98%)\",\r\n      oklch: \"oklch(0.98,0.00,248)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#f3f4f6\",\r\n      rgb: \"rgb(243,244,246)\",\r\n      hsl: \"hsl(220,14.3%,95.9%)\",\r\n      oklch: \"oklch(0.97,0.00,265)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#e5e7eb\",\r\n      rgb: \"rgb(229,231,235)\",\r\n      hsl: \"hsl(220,13%,91%)\",\r\n      oklch: \"oklch(0.93,0.01,265)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#d1d5db\",\r\n      rgb: \"rgb(209,213,219)\",\r\n      hsl: \"hsl(216,12.2%,83.9%)\",\r\n      oklch: \"oklch(0.87,0.01,258)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#9ca3af\",\r\n      rgb: \"rgb(156,163,175)\",\r\n      hsl: \"hsl(217.9,10.6%,64.9%)\",\r\n      oklch: \"oklch(0.71,0.02,261)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#6b7280\",\r\n      rgb: \"rgb(107,114,128)\",\r\n      hsl: \"hsl(220,8.9%,46.1%)\",\r\n      oklch: \"oklch(0.55,0.02,264)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#4b5563\",\r\n      rgb: \"rgb(75,85,99)\",\r\n      hsl: \"hsl(215,13.8%,34.1%)\",\r\n      oklch: \"oklch(0.45,0.03,257)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#374151\",\r\n      rgb: \"rgb(55,65,81)\",\r\n      hsl: \"hsl(216.9,19.1%,26.7%)\",\r\n      oklch: \"oklch(0.37,0.03,260)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#1f2937\",\r\n      rgb: \"rgb(31,41,55)\",\r\n      hsl: \"hsl(215,27.9%,16.9%)\",\r\n      oklch: \"oklch(0.28,0.03,257)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#111827\",\r\n      rgb: \"rgb(17,24,39)\",\r\n      hsl: \"hsl(220.9,39.3%,11%)\",\r\n      oklch: \"oklch(0.21,0.03,265)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#030712\",\r\n      rgb: \"rgb(3,7,18)\",\r\n      hsl: \"hsl(224,71.4%,4.1%)\",\r\n      oklch: \"oklch(0.13,0.03,262)\",\r\n    },\r\n  ],\r\n  red: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fef2f2\",\r\n      rgb: \"rgb(254,242,242)\",\r\n      hsl: \"hsl(0,85.7%,97.3%)\",\r\n      oklch: \"oklch(0.97,0.01,17)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#fee2e2\",\r\n      rgb: \"rgb(254,226,226)\",\r\n      hsl: \"hsl(0,93.3%,94.1%)\",\r\n      oklch: \"oklch(0.94,0.03,18)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#fecaca\",\r\n      rgb: \"rgb(254,202,202)\",\r\n      hsl: \"hsl(0,96.3%,89.4%)\",\r\n      oklch: \"oklch(0.88,0.06,18)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#fca5a5\",\r\n      rgb: \"rgb(252,165,165)\",\r\n      hsl: \"hsl(0,93.5%,81.8%)\",\r\n      oklch: \"oklch(0.81,0.10,20)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#f87171\",\r\n      rgb: \"rgb(248,113,113)\",\r\n      hsl: \"hsl(0,90.6%,70.8%)\",\r\n      oklch: \"oklch(0.71,0.17,22)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#ef4444\",\r\n      rgb: \"rgb(239,68,68)\",\r\n      hsl: \"hsl(0,84.2%,60.2%)\",\r\n      oklch: \"oklch(0.64,0.21,25)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#dc2626\",\r\n      rgb: \"rgb(220,38,38)\",\r\n      hsl: \"hsl(0,72.2%,50.6%)\",\r\n      oklch: \"oklch(0.58,0.22,27)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#b91c1c\",\r\n      rgb: \"rgb(185,28,28)\",\r\n      hsl: \"hsl(0,73.7%,41.8%)\",\r\n      oklch: \"oklch(0.51,0.19,28)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#991b1b\",\r\n      rgb: \"rgb(153,27,27)\",\r\n      hsl: \"hsl(0,70%,35.3%)\",\r\n      oklch: \"oklch(0.44,0.16,27)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#7f1d1d\",\r\n      rgb: \"rgb(127,29,29)\",\r\n      hsl: \"hsl(0,62.8%,30.6%)\",\r\n      oklch: \"oklch(0.40,0.13,26)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#450a0a\",\r\n      rgb: \"rgb(69,10,10)\",\r\n      hsl: \"hsl(0,74.7%,15.5%)\",\r\n      oklch: \"oklch(0.26,0.09,26)\",\r\n    },\r\n  ],\r\n  orange: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fff7ed\",\r\n      rgb: \"rgb(255,247,237)\",\r\n      hsl: \"hsl(33.3,100%,96.5%)\",\r\n      oklch: \"oklch(0.98,0.02,74)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#ffedd5\",\r\n      rgb: \"rgb(255,237,213)\",\r\n      hsl: \"hsl(34.3,100%,91.8%)\",\r\n      oklch: \"oklch(0.95,0.04,75)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#fed7aa\",\r\n      rgb: \"rgb(254,215,170)\",\r\n      hsl: \"hsl(32.1,97.7%,83.1%)\",\r\n      oklch: \"oklch(0.90,0.07,71)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#fdba74\",\r\n      rgb: \"rgb(253,186,116)\",\r\n      hsl: \"hsl(30.7,97.2%,72.4%)\",\r\n      oklch: \"oklch(0.84,0.12,66)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#fb923c\",\r\n      rgb: \"rgb(251,146,60)\",\r\n      hsl: \"hsl(27,96%,61%)\",\r\n      oklch: \"oklch(0.76,0.16,56)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#f97316\",\r\n      rgb: \"rgb(249,115,22)\",\r\n      hsl: \"hsl(24.6,95%,53.1%)\",\r\n      oklch: \"oklch(0.70,0.19,48)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#ea580c\",\r\n      rgb: \"rgb(234,88,12)\",\r\n      hsl: \"hsl(20.5,90.2%,48.2%)\",\r\n      oklch: \"oklch(0.65,0.19,41)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#c2410c\",\r\n      rgb: \"rgb(194,65,12)\",\r\n      hsl: \"hsl(17.5,88.3%,40.4%)\",\r\n      oklch: \"oklch(0.55,0.17,38)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#9a3412\",\r\n      rgb: \"rgb(154,52,18)\",\r\n      hsl: \"hsl(15,79.1%,33.7%)\",\r\n      oklch: \"oklch(0.47,0.14,37)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#7c2d12\",\r\n      rgb: \"rgb(124,45,18)\",\r\n      hsl: \"hsl(15.3,74.6%,27.8%)\",\r\n      oklch: \"oklch(0.41,0.12,38)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#431407\",\r\n      rgb: \"rgb(67,20,7)\",\r\n      hsl: \"hsl(13,81.1%,14.5%)\",\r\n      oklch: \"oklch(0.27,0.08,36)\",\r\n    },\r\n  ],\r\n  amber: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fffbeb\",\r\n      rgb: \"rgb(255,251,235)\",\r\n      hsl: \"hsl(48,100%,96.1%)\",\r\n      oklch: \"oklch(0.99,0.02,95)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#fef3c7\",\r\n      rgb: \"rgb(254,243,199)\",\r\n      hsl: \"hsl(48,96.5%,88.8%)\",\r\n      oklch: \"oklch(0.96,0.06,96)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#fde68a\",\r\n      rgb: \"rgb(253,230,138)\",\r\n      hsl: \"hsl(48,96.6%,76.7%)\",\r\n      oklch: \"oklch(0.92,0.12,96)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#fcd34d\",\r\n      rgb: \"rgb(252,211,77)\",\r\n      hsl: \"hsl(45.9,96.7%,64.5%)\",\r\n      oklch: \"oklch(0.88,0.15,92)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#fbbf24\",\r\n      rgb: \"rgb(251,191,36)\",\r\n      hsl: \"hsl(43.3,96.4%,56.3%)\",\r\n      oklch: \"oklch(0.84,0.16,84)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#f59e0b\",\r\n      rgb: \"rgb(245,158,11)\",\r\n      hsl: \"hsl(37.7,92.1%,50.2%)\",\r\n      oklch: \"oklch(0.77,0.16,70)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#d97706\",\r\n      rgb: \"rgb(217,119,6)\",\r\n      hsl: \"hsl(32.1,94.6%,43.7%)\",\r\n      oklch: \"oklch(0.67,0.16,58)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#b45309\",\r\n      rgb: \"rgb(180,83,9)\",\r\n      hsl: \"hsl(26,90.5%,37.1%)\",\r\n      oklch: \"oklch(0.56,0.15,49)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#92400e\",\r\n      rgb: \"rgb(146,64,14)\",\r\n      hsl: \"hsl(22.7,82.5%,31.4%)\",\r\n      oklch: \"oklch(0.47,0.12,46)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#78350f\",\r\n      rgb: \"rgb(120,53,15)\",\r\n      hsl: \"hsl(21.7,77.8%,26.5%)\",\r\n      oklch: \"oklch(0.41,0.11,46)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#451a03\",\r\n      rgb: \"rgb(69,26,3)\",\r\n      hsl: \"hsl(20.9,91.7%,14.1%)\",\r\n      oklch: \"oklch(0.28,0.07,46)\",\r\n    },\r\n  ],\r\n  yellow: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fefce8\",\r\n      rgb: \"rgb(254,252,232)\",\r\n      hsl: \"hsl(54.5,91.7%,95.3%)\",\r\n      oklch: \"oklch(0.99,0.03,102)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#fef9c3\",\r\n      rgb: \"rgb(254,249,195)\",\r\n      hsl: \"hsl(54.9,96.7%,88%)\",\r\n      oklch: \"oklch(0.97,0.07,103)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#fef08a\",\r\n      rgb: \"rgb(254,240,138)\",\r\n      hsl: \"hsl(52.8,98.3%,76.9%)\",\r\n      oklch: \"oklch(0.95,0.12,102)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#fde047\",\r\n      rgb: \"rgb(253,224,71)\",\r\n      hsl: \"hsl(50.4,97.8%,63.5%)\",\r\n      oklch: \"oklch(0.91,0.17,98)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#facc15\",\r\n      rgb: \"rgb(250,204,21)\",\r\n      hsl: \"hsl(47.9,95.8%,53.1%)\",\r\n      oklch: \"oklch(0.86,0.17,92)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#eab308\",\r\n      rgb: \"rgb(234,179,8)\",\r\n      hsl: \"hsl(45.4,93.4%,47.5%)\",\r\n      oklch: \"oklch(0.80,0.16,86)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#ca8a04\",\r\n      rgb: \"rgb(202,138,4)\",\r\n      hsl: \"hsl(40.6,96.1%,40.4%)\",\r\n      oklch: \"oklch(0.68,0.14,76)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#a16207\",\r\n      rgb: \"rgb(161,98,7)\",\r\n      hsl: \"hsl(35.5,91.7%,32.9%)\",\r\n      oklch: \"oklch(0.55,0.12,66)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#854d0e\",\r\n      rgb: \"rgb(133,77,14)\",\r\n      hsl: \"hsl(31.8,81%,28.8%)\",\r\n      oklch: \"oklch(0.48,0.10,62)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#713f12\",\r\n      rgb: \"rgb(113,63,18)\",\r\n      hsl: \"hsl(28.4,72.5%,25.7%)\",\r\n      oklch: \"oklch(0.42,0.09,58)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#422006\",\r\n      rgb: \"rgb(66,32,6)\",\r\n      hsl: \"hsl(26,83.3%,14.1%)\",\r\n      oklch: \"oklch(0.29,0.06,54)\",\r\n    },\r\n  ],\r\n  lime: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f7fee7\",\r\n      rgb: \"rgb(247,254,231)\",\r\n      hsl: \"hsl(78.3,92%,95.1%)\",\r\n      oklch: \"oklch(0.99,0.03,121)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#ecfccb\",\r\n      rgb: \"rgb(236,252,203)\",\r\n      hsl: \"hsl(79.6,89.1%,89.2%)\",\r\n      oklch: \"oklch(0.97,0.07,122)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#d9f99d\",\r\n      rgb: \"rgb(217,249,157)\",\r\n      hsl: \"hsl(80.9,88.5%,79.6%)\",\r\n      oklch: \"oklch(0.94,0.12,124)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#bef264\",\r\n      rgb: \"rgb(190,242,100)\",\r\n      hsl: \"hsl(82,84.5%,67.1%)\",\r\n      oklch: \"oklch(0.90,0.18,127)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#a3e635\",\r\n      rgb: \"rgb(163,230,53)\",\r\n      hsl: \"hsl(82.7,78%,55.5%)\",\r\n      oklch: \"oklch(0.85,0.21,129)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#84cc16\",\r\n      rgb: \"rgb(132,204,22)\",\r\n      hsl: \"hsl(83.7,80.5%,44.3%)\",\r\n      oklch: \"oklch(0.77,0.20,131)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#65a30d\",\r\n      rgb: \"rgb(101,163,13)\",\r\n      hsl: \"hsl(84.8,85.2%,34.5%)\",\r\n      oklch: \"oklch(0.65,0.18,132)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#4d7c0f\",\r\n      rgb: \"rgb(77,124,15)\",\r\n      hsl: \"hsl(85.9,78.4%,27.3%)\",\r\n      oklch: \"oklch(0.53,0.14,132)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#3f6212\",\r\n      rgb: \"rgb(63,98,18)\",\r\n      hsl: \"hsl(86.3,69%,22.7%)\",\r\n      oklch: \"oklch(0.45,0.11,131)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#365314\",\r\n      rgb: \"rgb(54,83,20)\",\r\n      hsl: \"hsl(87.6,61.2%,20.2%)\",\r\n      oklch: \"oklch(0.41,0.10,131)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#1a2e05\",\r\n      rgb: \"rgb(26,46,5)\",\r\n      hsl: \"hsl(89.3,80.4%,10%)\",\r\n      oklch: \"oklch(0.27,0.07,132)\",\r\n    },\r\n  ],\r\n  green: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f0fdf4\",\r\n      rgb: \"rgb(240,253,244)\",\r\n      hsl: \"hsl(138.5,76.5%,96.7%)\",\r\n      oklch: \"oklch(0.98,0.02,156)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#dcfce7\",\r\n      rgb: \"rgb(220,252,231)\",\r\n      hsl: \"hsl(140.6,84.2%,92.5%)\",\r\n      oklch: \"oklch(0.96,0.04,157)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#bbf7d0\",\r\n      rgb: \"rgb(187,247,208)\",\r\n      hsl: \"hsl(141,78.9%,85.1%)\",\r\n      oklch: \"oklch(0.93,0.08,156)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#86efac\",\r\n      rgb: \"rgb(134,239,172)\",\r\n      hsl: \"hsl(141.7,76.6%,73.1%)\",\r\n      oklch: \"oklch(0.87,0.14,154)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#4ade80\",\r\n      rgb: \"rgb(74,222,128)\",\r\n      hsl: \"hsl(141.9,69.2%,58%)\",\r\n      oklch: \"oklch(0.80,0.18,152)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#22c55e\",\r\n      rgb: \"rgb(34,197,94)\",\r\n      hsl: \"hsl(142.1,70.6%,45.3%)\",\r\n      oklch: \"oklch(0.72,0.19,150)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#16a34a\",\r\n      rgb: \"rgb(22,163,74)\",\r\n      hsl: \"hsl(142.1,76.2%,36.3%)\",\r\n      oklch: \"oklch(0.63,0.17,149)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#15803d\",\r\n      rgb: \"rgb(21,128,61)\",\r\n      hsl: \"hsl(142.4,71.8%,29.2%)\",\r\n      oklch: \"oklch(0.53,0.14,150)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#166534\",\r\n      rgb: \"rgb(22,101,52)\",\r\n      hsl: \"hsl(142.8,64.2%,24.1%)\",\r\n      oklch: \"oklch(0.45,0.11,151)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#14532d\",\r\n      rgb: \"rgb(20,83,45)\",\r\n      hsl: \"hsl(143.8,61.2%,20.2%)\",\r\n      oklch: \"oklch(0.39,0.09,153)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#052e16\",\r\n      rgb: \"rgb(5,46,22)\",\r\n      hsl: \"hsl(144.9,80.4%,10%)\",\r\n      oklch: \"oklch(0.27,0.06,153)\",\r\n    },\r\n  ],\r\n  emerald: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#ecfdf5\",\r\n      rgb: \"rgb(236,253,245)\",\r\n      hsl: \"hsl(151.8,81%,95.9%)\",\r\n      oklch: \"oklch(0.98,0.02,166)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#d1fae5\",\r\n      rgb: \"rgb(209,250,229)\",\r\n      hsl: \"hsl(149.3,80.4%,90%)\",\r\n      oklch: \"oklch(0.95,0.05,163)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#a7f3d0\",\r\n      rgb: \"rgb(167,243,208)\",\r\n      hsl: \"hsl(152.4,76%,80.4%)\",\r\n      oklch: \"oklch(0.90,0.09,164)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#6ee7b7\",\r\n      rgb: \"rgb(110,231,183)\",\r\n      hsl: \"hsl(156.2,71.6%,66.9%)\",\r\n      oklch: \"oklch(0.85,0.13,165)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#34d399\",\r\n      rgb: \"rgb(52,211,153)\",\r\n      hsl: \"hsl(158.1,64.4%,51.6%)\",\r\n      oklch: \"oklch(0.77,0.15,163)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#10b981\",\r\n      rgb: \"rgb(16,185,129)\",\r\n      hsl: \"hsl(160.1,84.1%,39.4%)\",\r\n      oklch: \"oklch(0.70,0.15,162)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#059669\",\r\n      rgb: \"rgb(5,150,105)\",\r\n      hsl: \"hsl(161.4,93.5%,30.4%)\",\r\n      oklch: \"oklch(0.60,0.13,163)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#047857\",\r\n      rgb: \"rgb(4,120,87)\",\r\n      hsl: \"hsl(162.9,93.5%,24.3%)\",\r\n      oklch: \"oklch(0.51,0.10,166)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#065f46\",\r\n      rgb: \"rgb(6,95,70)\",\r\n      hsl: \"hsl(163.1,88.1%,19.8%)\",\r\n      oklch: \"oklch(0.43,0.09,167)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#064e3b\",\r\n      rgb: \"rgb(6,78,59)\",\r\n      hsl: \"hsl(164.2,85.7%,16.5%)\",\r\n      oklch: \"oklch(0.38,0.07,169)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#022c22\",\r\n      rgb: \"rgb(2,44,34)\",\r\n      hsl: \"hsl(165.7,91.3%,9%)\",\r\n      oklch: \"oklch(0.26,0.05,173)\",\r\n    },\r\n  ],\r\n  teal: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f0fdfa\",\r\n      rgb: \"rgb(240,253,250)\",\r\n      hsl: \"hsl(166.2,76.5%,96.7%)\",\r\n      oklch: \"oklch(0.98,0.01,181)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#ccfbf1\",\r\n      rgb: \"rgb(204,251,241)\",\r\n      hsl: \"hsl(167.2,85.5%,89.2%)\",\r\n      oklch: \"oklch(0.95,0.05,181)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#99f6e4\",\r\n      rgb: \"rgb(153,246,228)\",\r\n      hsl: \"hsl(168.4,83.8%,78.2%)\",\r\n      oklch: \"oklch(0.91,0.09,180)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#5eead4\",\r\n      rgb: \"rgb(94,234,212)\",\r\n      hsl: \"hsl(170.6,76.9%,64.3%)\",\r\n      oklch: \"oklch(0.85,0.13,181)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#2dd4bf\",\r\n      rgb: \"rgb(45,212,191)\",\r\n      hsl: \"hsl(172.5,66%,50.4%)\",\r\n      oklch: \"oklch(0.78,0.13,182)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#14b8a6\",\r\n      rgb: \"rgb(20,184,166)\",\r\n      hsl: \"hsl(173.4,80.4%,40%)\",\r\n      oklch: \"oklch(0.70,0.12,183)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#0d9488\",\r\n      rgb: \"rgb(13,148,136)\",\r\n      hsl: \"hsl(174.7,83.9%,31.6%)\",\r\n      oklch: \"oklch(0.60,0.10,185)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#0f766e\",\r\n      rgb: \"rgb(15,118,110)\",\r\n      hsl: \"hsl(175.3,77.4%,26.1%)\",\r\n      oklch: \"oklch(0.51,0.09,186)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#115e59\",\r\n      rgb: \"rgb(17,94,89)\",\r\n      hsl: \"hsl(176.1,69.4%,21.8%)\",\r\n      oklch: \"oklch(0.44,0.07,188)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#134e4a\",\r\n      rgb: \"rgb(19,78,74)\",\r\n      hsl: \"hsl(175.9,60.8%,19%)\",\r\n      oklch: \"oklch(0.39,0.06,188)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#042f2e\",\r\n      rgb: \"rgb(4,47,46)\",\r\n      hsl: \"hsl(178.6,84.3%,10%)\",\r\n      oklch: \"oklch(0.28,0.04,193)\",\r\n    },\r\n  ],\r\n  cyan: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#ecfeff\",\r\n      rgb: \"rgb(236,254,255)\",\r\n      hsl: \"hsl(183.2,100%,96.3%)\",\r\n      oklch: \"oklch(0.98,0.02,201)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#cffafe\",\r\n      rgb: \"rgb(207,250,254)\",\r\n      hsl: \"hsl(185.1,95.9%,90.4%)\",\r\n      oklch: \"oklch(0.96,0.04,203)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#a5f3fc\",\r\n      rgb: \"rgb(165,243,252)\",\r\n      hsl: \"hsl(186.2,93.5%,81.8%)\",\r\n      oklch: \"oklch(0.92,0.08,205)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#67e8f9\",\r\n      rgb: \"rgb(103,232,249)\",\r\n      hsl: \"hsl(187,92.4%,69%)\",\r\n      oklch: \"oklch(0.87,0.12,207)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#22d3ee\",\r\n      rgb: \"rgb(34,211,238)\",\r\n      hsl: \"hsl(187.9,85.7%,53.3%)\",\r\n      oklch: \"oklch(0.80,0.13,212)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#06b6d4\",\r\n      rgb: \"rgb(6,182,212)\",\r\n      hsl: \"hsl(188.7,94.5%,42.7%)\",\r\n      oklch: \"oklch(0.71,0.13,215)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#0891b2\",\r\n      rgb: \"rgb(8,145,178)\",\r\n      hsl: \"hsl(191.6,91.4%,36.5%)\",\r\n      oklch: \"oklch(0.61,0.11,222)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#0e7490\",\r\n      rgb: \"rgb(14,116,144)\",\r\n      hsl: \"hsl(192.9,82.3%,31%)\",\r\n      oklch: \"oklch(0.52,0.09,223)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#155e75\",\r\n      rgb: \"rgb(21,94,117)\",\r\n      hsl: \"hsl(194.4,69.6%,27.1%)\",\r\n      oklch: \"oklch(0.45,0.08,224)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#164e63\",\r\n      rgb: \"rgb(22,78,99)\",\r\n      hsl: \"hsl(196.4,63.6%,23.7%)\",\r\n      oklch: \"oklch(0.40,0.07,227)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#083344\",\r\n      rgb: \"rgb(8,51,68)\",\r\n      hsl: \"hsl(197,78.9%,14.9%)\",\r\n      oklch: \"oklch(0.30,0.05,230)\",\r\n    },\r\n  ],\r\n  sky: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f0f9ff\",\r\n      rgb: \"rgb(240,249,255)\",\r\n      hsl: \"hsl(204,100%,97.1%)\",\r\n      oklch: \"oklch(0.98,0.01,237)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#e0f2fe\",\r\n      rgb: \"rgb(224,242,254)\",\r\n      hsl: \"hsl(204,93.8%,93.7%)\",\r\n      oklch: \"oklch(0.95,0.03,237)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#bae6fd\",\r\n      rgb: \"rgb(186,230,253)\",\r\n      hsl: \"hsl(200.6,94.4%,86.1%)\",\r\n      oklch: \"oklch(0.90,0.06,231)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#7dd3fc\",\r\n      rgb: \"rgb(125,211,252)\",\r\n      hsl: \"hsl(199.4,95.5%,73.9%)\",\r\n      oklch: \"oklch(0.83,0.10,230)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#38bdf8\",\r\n      rgb: \"rgb(56,189,248)\",\r\n      hsl: \"hsl(198.4,93.2%,59.6%)\",\r\n      oklch: \"oklch(0.75,0.14,233)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#0ea5e9\",\r\n      rgb: \"rgb(14,165,233)\",\r\n      hsl: \"hsl(198.6,88.7%,48.4%)\",\r\n      oklch: \"oklch(0.68,0.15,237)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#0284c7\",\r\n      rgb: \"rgb(2,132,199)\",\r\n      hsl: \"hsl(200.4,98%,39.4%)\",\r\n      oklch: \"oklch(0.59,0.14,242)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#0369a1\",\r\n      rgb: \"rgb(3,105,161)\",\r\n      hsl: \"hsl(201.3,96.3%,32.2%)\",\r\n      oklch: \"oklch(0.50,0.12,243)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#075985\",\r\n      rgb: \"rgb(7,89,133)\",\r\n      hsl: \"hsl(201,90%,27.5%)\",\r\n      oklch: \"oklch(0.44,0.10,241)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#0c4a6e\",\r\n      rgb: \"rgb(12,74,110)\",\r\n      hsl: \"hsl(202,80.3%,23.9%)\",\r\n      oklch: \"oklch(0.39,0.08,241)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#082f49\",\r\n      rgb: \"rgb(8,47,73)\",\r\n      hsl: \"hsl(204,80.2%,15.9%)\",\r\n      oklch: \"oklch(0.29,0.06,243)\",\r\n    },\r\n  ],\r\n  blue: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#eff6ff\",\r\n      rgb: \"rgb(239,246,255)\",\r\n      hsl: \"hsl(213.8,100%,96.9%)\",\r\n      oklch: \"oklch(0.97,0.01,255)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#dbeafe\",\r\n      rgb: \"rgb(219,234,254)\",\r\n      hsl: \"hsl(214.3,94.6%,92.7%)\",\r\n      oklch: \"oklch(0.93,0.03,256)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#bfdbfe\",\r\n      rgb: \"rgb(191,219,254)\",\r\n      hsl: \"hsl(213.3,96.9%,87.3%)\",\r\n      oklch: \"oklch(0.88,0.06,254)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#93c5fd\",\r\n      rgb: \"rgb(147,197,253)\",\r\n      hsl: \"hsl(211.7,96.4%,78.4%)\",\r\n      oklch: \"oklch(0.81,0.10,252)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#60a5fa\",\r\n      rgb: \"rgb(96,165,250)\",\r\n      hsl: \"hsl(213.1,93.9%,67.8%)\",\r\n      oklch: \"oklch(0.71,0.14,255)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#3b82f6\",\r\n      rgb: \"rgb(59,130,246)\",\r\n      hsl: \"hsl(217.2,91.2%,59.8%)\",\r\n      oklch: \"oklch(0.62,0.19,260)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#2563eb\",\r\n      rgb: \"rgb(37,99,235)\",\r\n      hsl: \"hsl(221.2,83.2%,53.3%)\",\r\n      oklch: \"oklch(0.55,0.22,263)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#1d4ed8\",\r\n      rgb: \"rgb(29,78,216)\",\r\n      hsl: \"hsl(224.3,76.3%,48%)\",\r\n      oklch: \"oklch(0.49,0.22,264)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#1e40af\",\r\n      rgb: \"rgb(30,64,175)\",\r\n      hsl: \"hsl(225.9,70.7%,40.2%)\",\r\n      oklch: \"oklch(0.42,0.18,266)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#1e3a8a\",\r\n      rgb: \"rgb(30,58,138)\",\r\n      hsl: \"hsl(224.4,64.3%,32.9%)\",\r\n      oklch: \"oklch(0.38,0.14,266)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#172554\",\r\n      rgb: \"rgb(23,37,84)\",\r\n      hsl: \"hsl(226.2,57%,21%)\",\r\n      oklch: \"oklch(0.28,0.09,268)\",\r\n    },\r\n  ],\r\n  indigo: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#eef2ff\",\r\n      rgb: \"rgb(238,242,255)\",\r\n      hsl: \"hsl(225.9,100%,96.7%)\",\r\n      oklch: \"oklch(0.96,0.02,272)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#e0e7ff\",\r\n      rgb: \"rgb(224,231,255)\",\r\n      hsl: \"hsl(226.5,100%,93.9%)\",\r\n      oklch: \"oklch(0.93,0.03,273)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#c7d2fe\",\r\n      rgb: \"rgb(199,210,254)\",\r\n      hsl: \"hsl(228,96.5%,88.8%)\",\r\n      oklch: \"oklch(0.87,0.06,274)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#a5b4fc\",\r\n      rgb: \"rgb(165,180,252)\",\r\n      hsl: \"hsl(229.7,93.5%,81.8%)\",\r\n      oklch: \"oklch(0.79,0.10,275)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#818cf8\",\r\n      rgb: \"rgb(129,140,248)\",\r\n      hsl: \"hsl(234.5,89.5%,73.9%)\",\r\n      oklch: \"oklch(0.68,0.16,277)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#6366f1\",\r\n      rgb: \"rgb(99,102,241)\",\r\n      hsl: \"hsl(238.7,83.5%,66.7%)\",\r\n      oklch: \"oklch(0.59,0.20,277)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#4f46e5\",\r\n      rgb: \"rgb(79,70,229)\",\r\n      hsl: \"hsl(243.4,75.4%,58.6%)\",\r\n      oklch: \"oklch(0.51,0.23,277)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#4338ca\",\r\n      rgb: \"rgb(67,56,202)\",\r\n      hsl: \"hsl(244.5,57.9%,50.6%)\",\r\n      oklch: \"oklch(0.46,0.21,277)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#3730a3\",\r\n      rgb: \"rgb(55,48,163)\",\r\n      hsl: \"hsl(243.7,54.5%,41.4%)\",\r\n      oklch: \"oklch(0.40,0.18,277)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#312e81\",\r\n      rgb: \"rgb(49,46,129)\",\r\n      hsl: \"hsl(242.2,47.4%,34.3%)\",\r\n      oklch: \"oklch(0.36,0.14,279)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#1e1b4b\",\r\n      rgb: \"rgb(30,27,75)\",\r\n      hsl: \"hsl(243.8,47.1%,20%)\",\r\n      oklch: \"oklch(0.26,0.09,281)\",\r\n    },\r\n  ],\r\n  violet: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#f5f3ff\",\r\n      rgb: \"rgb(245,243,255)\",\r\n      hsl: \"hsl(250,100%,97.6%)\",\r\n      oklch: \"oklch(0.97,0.02,294)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#ede9fe\",\r\n      rgb: \"rgb(237,233,254)\",\r\n      hsl: \"hsl(251.4,91.3%,95.5%)\",\r\n      oklch: \"oklch(0.94,0.03,295)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#ddd6fe\",\r\n      rgb: \"rgb(221,214,254)\",\r\n      hsl: \"hsl(250.5,95.2%,91.8%)\",\r\n      oklch: \"oklch(0.89,0.05,293)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#c4b5fd\",\r\n      rgb: \"rgb(196,181,253)\",\r\n      hsl: \"hsl(252.5,94.7%,85.1%)\",\r\n      oklch: \"oklch(0.81,0.10,294)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#a78bfa\",\r\n      rgb: \"rgb(167,139,250)\",\r\n      hsl: \"hsl(255.1,91.7%,76.3%)\",\r\n      oklch: \"oklch(0.71,0.16,294)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#8b5cf6\",\r\n      rgb: \"rgb(139,92,246)\",\r\n      hsl: \"hsl(258.3,89.5%,66.3%)\",\r\n      oklch: \"oklch(0.61,0.22,293)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#7c3aed\",\r\n      rgb: \"rgb(124,58,237)\",\r\n      hsl: \"hsl(262.1,83.3%,57.8%)\",\r\n      oklch: \"oklch(0.54,0.25,293)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#6d28d9\",\r\n      rgb: \"rgb(109,40,217)\",\r\n      hsl: \"hsl(263.4,70%,50.4%)\",\r\n      oklch: \"oklch(0.49,0.24,293)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#5b21b6\",\r\n      rgb: \"rgb(91,33,182)\",\r\n      hsl: \"hsl(263.4,69.3%,42.2%)\",\r\n      oklch: \"oklch(0.43,0.21,293)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#4c1d95\",\r\n      rgb: \"rgb(76,29,149)\",\r\n      hsl: \"hsl(263.5,67.4%,34.9%)\",\r\n      oklch: \"oklch(0.38,0.18,294)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#1e1b4b\",\r\n      rgb: \"rgb(46,16,101)\",\r\n      hsl: \"hsl(261.2,72.6%,22.9%)\",\r\n      oklch: \"oklch(0.28,0.14,291)\",\r\n    },\r\n  ],\r\n  purple: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#faf5ff\",\r\n      rgb: \"rgb(250,245,255)\",\r\n      hsl: \"hsl(270,100%,98%)\",\r\n      oklch: \"oklch(0.98,0.01,308)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#f3e8ff\",\r\n      rgb: \"rgb(243,232,255)\",\r\n      hsl: \"hsl(268.7,100%,95.5%)\",\r\n      oklch: \"oklch(0.95,0.03,307)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#e9d5ff\",\r\n      rgb: \"rgb(233,213,255)\",\r\n      hsl: \"hsl(268.6,100%,91.8%)\",\r\n      oklch: \"oklch(0.90,0.06,307)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#d8b4fe\",\r\n      rgb: \"rgb(216,180,254)\",\r\n      hsl: \"hsl(269.2,97.4%,85.1%)\",\r\n      oklch: \"oklch(0.83,0.11,306)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#c084fc\",\r\n      rgb: \"rgb(192,132,252)\",\r\n      hsl: \"hsl(270,95.2%,75.3%)\",\r\n      oklch: \"oklch(0.72,0.18,306)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#a855f7\",\r\n      rgb: \"rgb(168,85,247)\",\r\n      hsl: \"hsl(270.7,91%,65.1%)\",\r\n      oklch: \"oklch(0.63,0.23,304)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#9333ea\",\r\n      rgb: \"rgb(147,51,234)\",\r\n      hsl: \"hsl(271.5,81.3%,55.9%)\",\r\n      oklch: \"oklch(0.56,0.25,302)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#7e22ce\",\r\n      rgb: \"rgb(126,34,206)\",\r\n      hsl: \"hsl(272.1,71.7%,47.1%)\",\r\n      oklch: \"oklch(0.50,0.24,302)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#6b21a8\",\r\n      rgb: \"rgb(107,33,168)\",\r\n      hsl: \"hsl(272.9,67.2%,39.4%)\",\r\n      oklch: \"oklch(0.44,0.20,304)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#581c87\",\r\n      rgb: \"rgb(88,28,135)\",\r\n      hsl: \"hsl(273.6,65.6%,32%)\",\r\n      oklch: \"oklch(0.38,0.17,305)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#3b0764\",\r\n      rgb: \"rgb(59,7,100)\",\r\n      hsl: \"hsl(273.5,86.9%,21%)\",\r\n      oklch: \"oklch(0.29,0.14,303)\",\r\n    },\r\n  ],\r\n  fuchsia: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fdf4ff\",\r\n      rgb: \"rgb(253,244,255)\",\r\n      hsl: \"hsl(289.1,100%,97.8%)\",\r\n      oklch: \"oklch(0.98,0.02,320)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#fae8ff\",\r\n      rgb: \"rgb(250,232,255)\",\r\n      hsl: \"hsl(287,100%,95.5%)\",\r\n      oklch: \"oklch(0.95,0.04,319)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#f5d0fe\",\r\n      rgb: \"rgb(245,208,254)\",\r\n      hsl: \"hsl(288.3,95.8%,90.6%)\",\r\n      oklch: \"oklch(0.90,0.07,320)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#f0abfc\",\r\n      rgb: \"rgb(240,171,252)\",\r\n      hsl: \"hsl(291.1,93.1%,82.9%)\",\r\n      oklch: \"oklch(0.83,0.13,321)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#e879f9\",\r\n      rgb: \"rgb(232,121,249)\",\r\n      hsl: \"hsl(292,91.4%,72.5%)\",\r\n      oklch: \"oklch(0.75,0.21,322)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#d946ef\",\r\n      rgb: \"rgb(217,70,239)\",\r\n      hsl: \"hsl(292.2,84.1%,60.6%)\",\r\n      oklch: \"oklch(0.67,0.26,322)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#c026d3\",\r\n      rgb: \"rgb(192,38,211)\",\r\n      hsl: \"hsl(293.4,69.5%,48.8%)\",\r\n      oklch: \"oklch(0.59,0.26,323)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#a21caf\",\r\n      rgb: \"rgb(162,28,175)\",\r\n      hsl: \"hsl(294.7,72.4%,39.8%)\",\r\n      oklch: \"oklch(0.52,0.23,324)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#86198f\",\r\n      rgb: \"rgb(134,25,143)\",\r\n      hsl: \"hsl(295.4,70.2%,32.9%)\",\r\n      oklch: \"oklch(0.45,0.19,325)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#701a75\",\r\n      rgb: \"rgb(112,26,117)\",\r\n      hsl: \"hsl(296.7,63.6%,28%)\",\r\n      oklch: \"oklch(0.40,0.16,326)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#4a044e\",\r\n      rgb: \"rgb(74,4,78)\",\r\n      hsl: \"hsl(296.8,90.2%,16.1%)\",\r\n      oklch: \"oklch(0.29,0.13,326)\",\r\n    },\r\n  ],\r\n  pink: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fdf2f8\",\r\n      rgb: \"rgb(253,242,248)\",\r\n      hsl: \"hsl(327.3,73.3%,97.1%)\",\r\n      oklch: \"oklch(0.97,0.01,343)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#fce7f3\",\r\n      rgb: \"rgb(252,231,243)\",\r\n      hsl: \"hsl(325.7,77.8%,94.7%)\",\r\n      oklch: \"oklch(0.95,0.03,342)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#fbcfe8\",\r\n      rgb: \"rgb(251,207,232)\",\r\n      hsl: \"hsl(325.9,84.6%,89.8%)\",\r\n      oklch: \"oklch(0.90,0.06,343)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#f9a8d4\",\r\n      rgb: \"rgb(249,168,212)\",\r\n      hsl: \"hsl(327.4,87.1%,81.8%)\",\r\n      oklch: \"oklch(0.82,0.11,346)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#f472b6\",\r\n      rgb: \"rgb(244,114,182)\",\r\n      hsl: \"hsl(328.6,85.5%,70.2%)\",\r\n      oklch: \"oklch(0.73,0.18,350)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#ec4899\",\r\n      rgb: \"rgb(236,72,153)\",\r\n      hsl: \"hsl(330.4,81.2%,60.4%)\",\r\n      oklch: \"oklch(0.66,0.21,354)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#db2777\",\r\n      rgb: \"rgb(219,39,119)\",\r\n      hsl: \"hsl(333.3,71.4%,50.6%)\",\r\n      oklch: \"oklch(0.59,0.22,1)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#be185d\",\r\n      rgb: \"rgb(190,24,93)\",\r\n      hsl: \"hsl(335.1,77.6%,42%)\",\r\n      oklch: \"oklch(0.52,0.20,4)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#9d174d\",\r\n      rgb: \"rgb(157,23,77)\",\r\n      hsl: \"hsl(335.8,74.4%,35.3%)\",\r\n      oklch: \"oklch(0.46,0.17,4)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#831843\",\r\n      rgb: \"rgb(131,24,67)\",\r\n      hsl: \"hsl(335.9,69%,30.4%)\",\r\n      oklch: \"oklch(0.41,0.14,2)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#500724\",\r\n      rgb: \"rgb(80,7,36)\",\r\n      hsl: \"hsl(336.2,83.9%,17.1%)\",\r\n      oklch: \"oklch(0.28,0.10,4)\",\r\n    },\r\n  ],\r\n  rose: [\r\n    {\r\n      scale: 50,\r\n      hex: \"#fff1f2\",\r\n      rgb: \"rgb(255,241,242)\",\r\n      hsl: \"hsl(355.7,100%,97.3%)\",\r\n      oklch: \"oklch(0.97,0.02,12)\",\r\n    },\r\n    {\r\n      scale: 100,\r\n      hex: \"#ffe4e6\",\r\n      rgb: \"rgb(255,228,230)\",\r\n      hsl: \"hsl(355.6,100%,94.7%)\",\r\n      oklch: \"oklch(0.94,0.03,13)\",\r\n    },\r\n    {\r\n      scale: 200,\r\n      hex: \"#fecdd3\",\r\n      rgb: \"rgb(254,205,211)\",\r\n      hsl: \"hsl(352.7,96.1%,90%)\",\r\n      oklch: \"oklch(0.89,0.06,10)\",\r\n    },\r\n    {\r\n      scale: 300,\r\n      hex: \"#fda4af\",\r\n      rgb: \"rgb(253,164,175)\",\r\n      hsl: \"hsl(352.6,95.7%,81.8%)\",\r\n      oklch: \"oklch(0.81,0.11,12)\",\r\n    },\r\n    {\r\n      scale: 400,\r\n      hex: \"#fb7185\",\r\n      rgb: \"rgb(251,113,133)\",\r\n      hsl: \"hsl(351.3,94.5%,71.4%)\",\r\n      oklch: \"oklch(0.72,0.17,13)\",\r\n    },\r\n    {\r\n      scale: 500,\r\n      hex: \"#f43f5e\",\r\n      rgb: \"rgb(244,63,94)\",\r\n      hsl: \"hsl(349.7,89.2%,60.2%)\",\r\n      oklch: \"oklch(0.65,0.22,16)\",\r\n    },\r\n    {\r\n      scale: 600,\r\n      hex: \"#e11d48\",\r\n      rgb: \"rgb(225,29,72)\",\r\n      hsl: \"hsl(346.8,77.2%,49.8%)\",\r\n      oklch: \"oklch(0.59,0.22,18)\",\r\n    },\r\n    {\r\n      scale: 700,\r\n      hex: \"#be123c\",\r\n      rgb: \"rgb(190,18,60)\",\r\n      hsl: \"hsl(345.3,82.7%,40.8%)\",\r\n      oklch: \"oklch(0.51,0.20,17)\",\r\n    },\r\n    {\r\n      scale: 800,\r\n      hex: \"#9f1239\",\r\n      rgb: \"rgb(159,18,57)\",\r\n      hsl: \"hsl(343.4,79.7%,34.7%)\",\r\n      oklch: \"oklch(0.45,0.17,14)\",\r\n    },\r\n    {\r\n      scale: 900,\r\n      hex: \"#881337\",\r\n      rgb: \"rgb(136,19,55)\",\r\n      hsl: \"hsl(341.5,75.5%,30.4%)\",\r\n      oklch: \"oklch(0.41,0.15,10)\",\r\n    },\r\n    {\r\n      scale: 950,\r\n      hex: \"#4c0519\",\r\n      rgb: \"rgb(76,5,25)\",\r\n      hsl: \"hsl(343.1,87.7%,15.9%)\",\r\n      oklch: \"oklch(0.27,0.10,12)\",\r\n    },\r\n  ],\r\n};\r\n\r\nexport const colorMapping = {\r\n  light: {\r\n    background: \"white\",\r\n    foreground: \"{{base}}-950\",\r\n    card: \"white\",\r\n    \"card-foreground\": \"{{base}}-950\",\r\n    popover: \"white\",\r\n    \"popover-foreground\": \"{{base}}-950\",\r\n    primary: \"{{base}}-900\",\r\n    \"primary-foreground\": \"{{base}}-50\",\r\n    secondary: \"{{base}}-100\",\r\n    \"secondary-foreground\": \"{{base}}-900\",\r\n    muted: \"{{base}}-100\",\r\n    \"muted-foreground\": \"{{base}}-500\",\r\n    accent: \"{{base}}-100\",\r\n    \"accent-foreground\": \"{{base}}-900\",\r\n    destructive: \"red-500\",\r\n    \"destructive-foreground\": \"{{base}}-50\",\r\n    border: \"{{base}}-200\",\r\n    input: \"{{base}}-200\",\r\n    ring: \"{{base}}-950\",\r\n    \"chart-1\": \"12 76% 61%\",\r\n    \"chart-2\": \"173 58% 39%\",\r\n    \"chart-3\": \"197 37% 24%\",\r\n    \"chart-4\": \"43 74% 66%\",\r\n    \"chart-5\": \"27 87% 67%\",\r\n  },\r\n  dark: {\r\n    background: \"{{base}}-950\",\r\n    foreground: \"{{base}}-50\",\r\n    card: \"{{base}}-950\",\r\n    \"card-foreground\": \"{{base}}-50\",\r\n    popover: \"{{base}}-950\",\r\n    \"popover-foreground\": \"{{base}}-50\",\r\n    primary: \"{{base}}-50\",\r\n    \"primary-foreground\": \"{{base}}-900\",\r\n    secondary: \"{{base}}-800\",\r\n    \"secondary-foreground\": \"{{base}}-50\",\r\n    muted: \"{{base}}-800\",\r\n    \"muted-foreground\": \"{{base}}-400\",\r\n    accent: \"{{base}}-800\",\r\n    \"accent-foreground\": \"{{base}}-50\",\r\n    destructive: \"red-900\",\r\n    \"destructive-foreground\": \"{{base}}-50\",\r\n    border: \"{{base}}-800\",\r\n    input: \"{{base}}-800\",\r\n    ring: \"{{base}}-300\",\r\n    \"chart-1\": \"220 70% 50%\",\r\n    \"chart-2\": \"160 60% 45%\",\r\n    \"chart-3\": \"30 80% 55%\",\r\n    \"chart-4\": \"280 65% 60%\",\r\n    \"chart-5\": \"340 75% 55%\",\r\n  },\r\n} as const;\r\n",
      "type": "registry:lib"
    },
    {
      "path": "hooks/use-is-mac.ts",
      "content": "import { useEffect, useState } from \"react\";\r\n\r\nexport function useIsMac() {\r\n  const [isMac, setIsMac] = useState(true);\r\n\r\n  useEffect(() => {\r\n    setIsMac(navigator.platform.toUpperCase().includes(\"MAC\"));\r\n  }, []);\r\n\r\n  return isMac;\r\n}\r\n",
      "type": "registry:hook"
    },
    {
      "path": "hooks/use-mutation-observer.ts",
      "content": "import * as React from \"react\";\r\n\r\nexport const useMutationObserver = (\r\n  ref: React.RefObject<HTMLElement | null>,\r\n  callback: MutationCallback,\r\n  options: MutationObserverInit = {\r\n    attributes: true,\r\n    characterData: true,\r\n    childList: true,\r\n    subtree: true,\r\n  }\r\n) => {\r\n  React.useEffect(() => {\r\n    if (ref.current) {\r\n      const observer = new MutationObserver(callback);\r\n      observer.observe(ref.current, options);\r\n      return () => observer.disconnect();\r\n    }\r\n  }, [ref, callback, options]);\r\n};\r\n",
      "type": "registry:hook"
    }
  ]
}