{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "grid",
  "type": "registry:ui",
  "title": "Grid",
  "description": "A grid component",
  "dependencies": [
    "solid-js"
  ],
  "files": [
    {
      "path": "src/registry/ui/grid.tsx",
      "content": "import type { Component, ComponentProps } from \"solid-js\"\nimport { mergeProps, splitProps } from \"solid-js\"\n\nimport { cn } from \"~/lib/utils\"\n\ntype Cols = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12\ntype Span = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13\n\ntype GridProps = ComponentProps<\"div\"> & {\n  cols?: Cols\n  colsSm?: Cols\n  colsMd?: Cols\n  colsLg?: Cols\n}\n\nconst Grid: Component<GridProps> = (rawProps) => {\n  const props = mergeProps({ cols: 1 } satisfies GridProps, rawProps)\n  const [local, others] = splitProps(props, [\"cols\", \"colsSm\", \"colsMd\", \"colsLg\", \"class\"])\n\n  return (\n    <div\n      class={cn(\n        \"grid\",\n        gridCols[local.cols],\n        local.colsSm && gridColsSm[local.colsSm],\n        local.colsMd && gridColsMd[local.colsMd],\n        local.colsLg && gridColsLg[local.colsLg],\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\ntype ColProps = ComponentProps<\"div\"> & {\n  span?: Span\n  spanSm?: Span\n  spanMd?: Span\n  spanLg?: Span\n}\n\nconst Col: Component<ColProps> = (rawProps) => {\n  const props = mergeProps({ span: 1 as Span }, rawProps)\n  const [local, others] = splitProps(props, [\"span\", \"spanSm\", \"spanMd\", \"spanLg\", \"class\"])\n\n  return (\n    <div\n      class={cn(\n        colSpan[local.span],\n        local.spanSm && colSpanSm[local.spanSm],\n        local.spanMd && colSpanMd[local.spanMd],\n        local.spanLg && colSpanLg[local.spanLg],\n        local.class\n      )}\n      {...others}\n    />\n  )\n}\n\nexport { Grid, Col }\n\nconst gridCols: { [key in Cols]: string } = {\n  0: \"grid-cols-none\",\n  1: \"grid-cols-1\",\n  2: \"grid-cols-2\",\n  3: \"grid-cols-3\",\n  4: \"grid-cols-4\",\n  5: \"grid-cols-5\",\n  6: \"grid-cols-6\",\n  7: \"grid-cols-7\",\n  8: \"grid-cols-8\",\n  9: \"grid-cols-9\",\n  10: \"grid-cols-10\",\n  11: \"grid-cols-11\",\n  12: \"grid-cols-12\"\n}\n\nconst gridColsSm: { [key in Cols]: string } = {\n  0: \"sm:grid-cols-none\",\n  1: \"sm:grid-cols-1\",\n  2: \"sm:grid-cols-2\",\n  3: \"sm:grid-cols-3\",\n  4: \"sm:grid-cols-4\",\n  5: \"sm:grid-cols-5\",\n  6: \"sm:grid-cols-6\",\n  7: \"sm:grid-cols-7\",\n  8: \"sm:grid-cols-8\",\n  9: \"sm:grid-cols-9\",\n  10: \"sm:grid-cols-10\",\n  11: \"sm:grid-cols-11\",\n  12: \"sm:grid-cols-12\"\n}\n\nconst gridColsMd: { [key in Cols]: string } = {\n  0: \"md:grid-cols-none\",\n  1: \"md:grid-cols-1\",\n  2: \"md:grid-cols-2\",\n  3: \"md:grid-cols-3\",\n  4: \"md:grid-cols-4\",\n  5: \"md:grid-cols-5\",\n  6: \"md:grid-cols-6\",\n  7: \"md:grid-cols-7\",\n  8: \"md:grid-cols-8\",\n  9: \"md:grid-cols-9\",\n  10: \"md:grid-cols-10\",\n  11: \"md:grid-cols-11\",\n  12: \"md:grid-cols-12\"\n}\n\nconst gridColsLg: { [key in Cols]: string } = {\n  0: \"lg:grid-cols-none\",\n  1: \"lg:grid-cols-1\",\n  2: \"lg:grid-cols-2\",\n  3: \"lg:grid-cols-3\",\n  4: \"lg:grid-cols-4\",\n  5: \"lg:grid-cols-5\",\n  6: \"lg:grid-cols-6\",\n  7: \"lg:grid-cols-7\",\n  8: \"lg:grid-cols-8\",\n  9: \"lg:grid-cols-9\",\n  10: \"lg:grid-cols-10\",\n  11: \"lg:grid-cols-11\",\n  12: \"lg:grid-cols-12\"\n}\n\nconst colSpan: { [key in Span]: string } = {\n  1: \"col-span-1\",\n  2: \"col-span-2\",\n  3: \"col-span-3\",\n  4: \"col-span-4\",\n  5: \"col-span-5\",\n  6: \"col-span-6\",\n  7: \"col-span-7\",\n  8: \"col-span-8\",\n  9: \"col-span-9\",\n  10: \"col-span-10\",\n  11: \"col-span-11\",\n  12: \"col-span-12\",\n  13: \"col-span-13\"\n}\n\nconst colSpanSm: { [key in Span]: string } = {\n  1: \"sm:col-span-1\",\n  2: \"sm:col-span-2\",\n  3: \"sm:col-span-3\",\n  4: \"sm:col-span-4\",\n  5: \"sm:col-span-5\",\n  6: \"sm:col-span-6\",\n  7: \"sm:col-span-7\",\n  8: \"sm:col-span-8\",\n  9: \"sm:col-span-9\",\n  10: \"sm:col-span-10\",\n  11: \"sm:col-span-11\",\n  12: \"sm:col-span-12\",\n  13: \"sm:col-span-13\"\n}\n\nconst colSpanMd: { [key in Span]: string } = {\n  1: \"md:col-span-1\",\n  2: \"md:col-span-2\",\n  3: \"md:col-span-3\",\n  4: \"md:col-span-4\",\n  5: \"md:col-span-5\",\n  6: \"md:col-span-6\",\n  7: \"md:col-span-7\",\n  8: \"md:col-span-8\",\n  9: \"md:col-span-9\",\n  10: \"md:col-span-10\",\n  11: \"md:col-span-11\",\n  12: \"md:col-span-12\",\n  13: \"md:col-span-13\"\n}\n\nconst colSpanLg: { [key in Span]: string } = {\n  1: \"lg:col-span-1\",\n  2: \"lg:col-span-2\",\n  3: \"lg:col-span-3\",\n  4: \"lg:col-span-4\",\n  5: \"lg:col-span-5\",\n  6: \"lg:col-span-6\",\n  7: \"lg:col-span-7\",\n  8: \"lg:col-span-8\",\n  9: \"lg:col-span-9\",\n  10: \"lg:col-span-10\",\n  11: \"lg:col-span-11\",\n  12: \"lg:col-span-12\",\n  13: \"lg:col-span-13\"\n}\n",
      "type": "registry:ui"
    }
  ]
}