{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "utils",
  "title": "cn",
  "description": "clsx + tailwind-merge, taught the theme names (text-heading, rounded-card, ...).",
  "dependencies": [
    "clsx@^2",
    "tailwind-merge@^3"
  ],
  "files": [
    {
      "path": "lib/utils.ts",
      "content": "import { type ClassValue, clsx } from 'clsx';\nimport { extendTailwindMerge } from 'tailwind-merge';\n\n/**\n * Tells tailwind-merge about the theme's own names (styles/tailwind.css), so\n * that `text-heading` is a size and not a colour, and a later class replaces\n * an earlier one of the same kind.\n */\nconst merge = extendTailwindMerge({\n  extend: {\n    theme: {\n      text: ['display', 'heading', 'eyebrow', 'section', 'card-title'],\n      radius: [\n        'card',\n        'sheet',\n        'control',\n        'control-max-sm',\n        'control-max-xl',\n        'control-max-2xl',\n        'control-max-3xl',\n        'inset',\n      ],\n      shadow: ['card', 'popover', 'glow'],\n      container: ['page', 'narrow'],\n      /* The modal and popover limits (w-, max-w-, max-h-), the modal's safe insets (top-, pb-), Container's safe gutters (px-), the website's fixed bars (bottom-float-b, top-pinned-t, px-edge) and the phone bleed (-mx-). */\n      spacing: [\n        'modal',\n        'modal-corner',\n        'modal-docked',\n        'modal-t',\n        'modal-r',\n        'modal-b',\n        'modal-l',\n        'modal-cx',\n        'modal-cy',\n        'corner-r',\n        'corner-b',\n        'corner-l',\n        'docked-b',\n        'gutter',\n        'gutter-lg',\n        'popover',\n        'sheet-bleed',\n        'float',\n        'float-b',\n        'pinned-t',\n        'edge',\n      ],\n      font: ['display', 'label', 'ui'],\n    },\n  },\n});\n\n/** Joins class names and resolves Tailwind conflicts: the last class wins. */\nexport function cn(...inputs: ClassValue[]) {\n  return merge(clsx(inputs));\n}\n",
      "type": "registry:lib"
    }
  ],
  "type": "registry:lib"
}