{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "table",
  "files": [
    {
      "path": "ui/table/Table.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/Table.astro directly.\n/**\n * @component Table\n * @title Table\n * @description A responsive table component with compound parts for header, body, footer, and caption.\n *\n * @preview\n *\n * <Table>\n *   <TableCaption>A list of your recent invoices.</TableCaption>\n *   <TableHeader>\n *     <TableRow>\n *       <TableHead class=\"w-[100px]\">Invoice</TableHead>\n *       <TableHead>Status</TableHead>\n *       <TableHead>Method</TableHead>\n *       <TableHead class=\"text-right\">Amount</TableHead>\n *     </TableRow>\n *   </TableHeader>\n *   <TableBody>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV001</TableCell>\n *       <TableCell>Paid</TableCell>\n *       <TableCell>Credit Card</TableCell>\n *       <TableCell class=\"text-right\">$250.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV002</TableCell>\n *       <TableCell>Pending</TableCell>\n *       <TableCell>PayPal</TableCell>\n *       <TableCell class=\"text-right\">$150.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV003</TableCell>\n *       <TableCell>Unpaid</TableCell>\n *       <TableCell>Bank Transfer</TableCell>\n *       <TableCell class=\"text-right\">$350.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV004</TableCell>\n *       <TableCell>Paid</TableCell>\n *       <TableCell>Credit Card</TableCell>\n *       <TableCell class=\"text-right\">$450.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV005</TableCell>\n *       <TableCell>Paid</TableCell>\n *       <TableCell>PayPal</TableCell>\n *       <TableCell class=\"text-right\">$550.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV006</TableCell>\n *       <TableCell>Pending</TableCell>\n *       <TableCell>Bank Transfer</TableCell>\n *       <TableCell class=\"text-right\">$200.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV007</TableCell>\n *       <TableCell>Unpaid</TableCell>\n *       <TableCell>Credit Card</TableCell>\n *       <TableCell class=\"text-right\">$300.00</TableCell>\n *     </TableRow>\n *   </TableBody>\n *   <TableFooter>\n *     <TableRow>\n *       <TableCell colspan={3}>Total</TableCell>\n *       <TableCell class=\"text-right\">$2,500.00</TableCell>\n *     </TableRow>\n *   </TableFooter>\n * </Table>\n *\n * @usage\n *\n * ```astro nocollapse\n * ---\n * import {\n *   Table,\n *   TableBody,\n *   TableCaption,\n *   TableCell,\n *   TableFooter,\n *   TableHead,\n *   TableHeader,\n *   TableRow,\n * } from '@bejamas/ui/components/table';\n *\n * const invoices = [\n *   { invoice: \"INV001\", paymentStatus: \"Paid\", totalAmount: \"$250.00\", paymentMethod: \"Credit Card\" },\n *   { invoice: \"INV002\", paymentStatus: \"Pending\", totalAmount: \"$150.00\", paymentMethod: \"PayPal\" },\n *   { invoice: \"INV003\", paymentStatus: \"Unpaid\", totalAmount: \"$350.00\", paymentMethod: \"Bank Transfer\" },\n *   { invoice: \"INV004\", paymentStatus: \"Paid\", totalAmount: \"$450.00\", paymentMethod: \"Credit Card\" },\n *   { invoice: \"INV005\", paymentStatus: \"Paid\", totalAmount: \"$550.00\", paymentMethod: \"PayPal\" },\n *   { invoice: \"INV006\", paymentStatus: \"Pending\", totalAmount: \"$200.00\", paymentMethod: \"Bank Transfer\" },\n *   { invoice: \"INV007\", paymentStatus: \"Unpaid\", totalAmount: \"$300.00\", paymentMethod: \"Credit Card\" },\n * ];\n * ---\n *\n * <Table>\n *   <TableCaption>A list of your recent invoices.</TableCaption>\n *   <TableHeader>\n *     <TableRow>\n *       <TableHead class=\"w-[100px]\">Invoice</TableHead>\n *       <TableHead>Status</TableHead>\n *       <TableHead>Method</TableHead>\n *       <TableHead class=\"text-right\">Amount</TableHead>\n *     </TableRow>\n *   </TableHeader>\n *   <TableBody>\n *     {invoices.map((invoice) => (\n *       <TableRow>\n *         <TableCell class=\"font-medium\">{invoice.invoice}</TableCell>\n *         <TableCell>{invoice.paymentStatus}</TableCell>\n *         <TableCell>{invoice.paymentMethod}</TableCell>\n *         <TableCell class=\"text-right\">{invoice.totalAmount}</TableCell>\n *       </TableRow>\n *     ))}\n *   </TableBody>\n *   <TableFooter>\n *     <TableRow>\n *       <TableCell colspan={3}>Total</TableCell>\n *       <TableCell class=\"text-right\">$2,500.00</TableCell>\n *     </TableRow>\n *   </TableFooter>\n * </Table>\n * ```\n *\n * @examples\n *\n * ### Footer\n *\n * Use the `<TableFooter />` component to add a footer to the table.\n *\n * <Table>\n *   <TableCaption>A list of your recent invoices.</TableCaption>\n *   <TableHeader>\n *     <TableRow>\n *       <TableHead class=\"w-[100px]\">Invoice</TableHead>\n *       <TableHead>Status</TableHead>\n *       <TableHead>Method</TableHead>\n *       <TableHead class=\"text-right\">Amount</TableHead>\n *     </TableRow>\n *   </TableHeader>\n *   <TableBody>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV001</TableCell>\n *       <TableCell>Paid</TableCell>\n *       <TableCell>Credit Card</TableCell>\n *       <TableCell class=\"text-right\">$250.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV002</TableCell>\n *       <TableCell>Pending</TableCell>\n *       <TableCell>PayPal</TableCell>\n *       <TableCell class=\"text-right\">$150.00</TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">INV003</TableCell>\n *       <TableCell>Unpaid</TableCell>\n *       <TableCell>Bank Transfer</TableCell>\n *       <TableCell class=\"text-right\">$350.00</TableCell>\n *     </TableRow>\n *   </TableBody>\n *   <TableFooter>\n *     <TableRow>\n *       <TableCell colspan={3}>Total</TableCell>\n *       <TableCell class=\"text-right\">$2,500.00</TableCell>\n *     </TableRow>\n *   </TableFooter>\n * </Table>\n *\n * ### Actions\n *\n * A table showing actions for each row using a `<DropdownMenu />` component.\n *\n * <Table>\n *   <TableHeader>\n *     <TableRow>\n *       <TableHead>Product</TableHead>\n *       <TableHead>Price</TableHead>\n *       <TableHead class=\"text-right\">Actions</TableHead>\n *     </TableRow>\n *   </TableHeader>\n *   <TableBody>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">Wireless Mouse</TableCell>\n *       <TableCell>$29.99</TableCell>\n *       <TableCell class=\"text-right\">\n *         <DropdownMenu>\n *           <DropdownMenuTrigger variant=\"ghost\" size=\"icon\" class=\"size-8\"><EllipsisIcon /><span class=\"sr-only\">Open menu</span></DropdownMenuTrigger>\n *           <DropdownMenuContent align=\"end\">\n *             <DropdownMenuItem>Edit</DropdownMenuItem>\n *             <DropdownMenuItem>Duplicate</DropdownMenuItem>\n *             <DropdownMenuSeparator />\n *             <DropdownMenuItem class=\"text-destructive\">Delete</DropdownMenuItem>\n *           </DropdownMenuContent>\n *         </DropdownMenu>\n *       </TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">Mechanical Keyboard</TableCell>\n *       <TableCell>$129.99</TableCell>\n *       <TableCell class=\"text-right\">\n *         <DropdownMenu>\n *           <DropdownMenuTrigger variant=\"ghost\" size=\"icon\" class=\"size-8\"><EllipsisIcon /><span class=\"sr-only\">Open menu</span></DropdownMenuTrigger>\n *           <DropdownMenuContent align=\"end\">\n *             <DropdownMenuItem>Edit</DropdownMenuItem>\n *             <DropdownMenuItem>Duplicate</DropdownMenuItem>\n *             <DropdownMenuSeparator />\n *             <DropdownMenuItem class=\"text-destructive\">Delete</DropdownMenuItem>\n *           </DropdownMenuContent>\n *         </DropdownMenu>\n *       </TableCell>\n *     </TableRow>\n *     <TableRow>\n *       <TableCell class=\"font-medium\">USB-C Hub</TableCell>\n *       <TableCell>$49.99</TableCell>\n *       <TableCell class=\"text-right\">\n *         <DropdownMenu>\n *           <DropdownMenuTrigger variant=\"ghost\" size=\"icon\" class=\"size-8\"><EllipsisIcon /><span class=\"sr-only\">Open menu</span></DropdownMenuTrigger>\n *           <DropdownMenuContent align=\"end\">\n *             <DropdownMenuItem>Edit</DropdownMenuItem>\n *             <DropdownMenuItem>Duplicate</DropdownMenuItem>\n *             <DropdownMenuSeparator />\n *             <DropdownMenuItem class=\"text-destructive\">Delete</DropdownMenuItem>\n *           </DropdownMenuContent>\n *         </DropdownMenu>\n *       </TableCell>\n *     </TableRow>\n *   </TableBody>\n * </Table>\n */\n\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"table\"> {\n  class?: string;\n}\n\nconst { class: className = \"\", ...rest } = Astro.props as Props;\n---\n\n<div data-slot=\"table-container\" class=\"relative w-full overflow-x-auto\">\n  <table\n    data-slot=\"table\"\n    class={cn(\"w-full caption-bottom text-sm\", \"w-full caption-bottom text-sm\", className)}\n    {...rest}\n  >\n    <slot />\n  </table>\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableBody.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableBody.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"tbody\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<tbody data-slot=\"table-body\" class={cn(\"[&_tr:last-child]:border-0\", \"[&_tr:last-child]:border-0\", className)} {...rest}>\n  <slot />\n</tbody>\n\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableCaption.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableCaption.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"caption\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<caption data-slot=\"table-caption\" class={cn(\"text-muted-foreground mt-4 text-sm\", className)} {...rest}>\n  <slot />\n</caption>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableCell.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableCell.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"td\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<td\n  data-slot=\"table-cell\"\n  class={cn(\"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0\", className)}\n  {...rest}\n>\n  <slot />\n</td>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableFooter.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableFooter.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"tfoot\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<tfoot\n  data-slot=\"table-footer\"\n  class={cn(\"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\", className)}\n  {...rest}\n>\n  <slot />\n</tfoot>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableHead.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableHead.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"th\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<th\n  data-slot=\"table-head\"\n  class={cn(\"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0\", className)}\n  {...rest}\n>\n  <slot />\n</th>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableHeader.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableHeader.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"thead\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<thead data-slot=\"table-header\" class={cn(\"[&_tr]:border-b\", className)} {...rest}>\n  <slot />\n</thead>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/TableRow.astro",
      "content": "---\n// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/TableRow.astro directly.\nimport { cn } from \"@/lib/utils\";\nimport type { HTMLAttributes } from \"astro/types\";\n\ninterface Props extends HTMLAttributes<\"tr\"> {\n  class?: string;\n}\n\nconst {\n  class: className = \"\",\n  ...rest\n} = Astro.props as Props;\n---\n\n<tr\n  data-slot=\"table-row\"\n  class={cn(\"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\", className)}\n  {...rest}\n>\n  <slot />\n</tr>\n",
      "type": "registry:ui"
    },
    {
      "path": "ui/table/index.ts",
      "content": "// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/table/index.ts directly.\nexport { default as Table } from \"./Table.astro\";\nexport { default as TableHeader } from \"./TableHeader.astro\";\nexport { default as TableBody } from \"./TableBody.astro\";\nexport { default as TableFooter } from \"./TableFooter.astro\";\nexport { default as TableHead } from \"./TableHead.astro\";\nexport { default as TableRow } from \"./TableRow.astro\";\nexport { default as TableCell } from \"./TableCell.astro\";\nexport { default as TableCaption } from \"./TableCaption.astro\";\n\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}