@uselets/ui 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/{as-child-Dxg3Xo1G.d.ts → as-child-T9W73ZYU.d.ts} +1 -3
  2. package/dist/{chart-B_6nC_ih.d.ts → chart-8rgtsk95.d.ts} +1 -3
  3. package/dist/cli/uselets.mjs.map +1 -1
  4. package/dist/components/accordion.d.ts +1 -3
  5. package/dist/components/accordion.js.map +1 -1
  6. package/dist/components/alert-dialog.d.ts +1 -3
  7. package/dist/components/alert-dialog.js.map +1 -1
  8. package/dist/components/alert.d.ts +0 -2
  9. package/dist/components/alert.js.map +1 -1
  10. package/dist/components/anchor.d.ts +1 -3
  11. package/dist/components/anchor.js.map +1 -1
  12. package/dist/components/area-chart.d.ts +1 -3
  13. package/dist/components/area-chart.js.map +1 -1
  14. package/dist/components/avatar.d.ts +1 -3
  15. package/dist/components/avatar.js.map +1 -1
  16. package/dist/components/badge.d.ts +1 -3
  17. package/dist/components/badge.js.map +1 -1
  18. package/dist/components/bar-chart.d.ts +1 -3
  19. package/dist/components/bar-chart.js.map +1 -1
  20. package/dist/components/bottom-nav.d.ts +1 -3
  21. package/dist/components/bottom-nav.js.map +1 -1
  22. package/dist/components/breadcrumb.d.ts +1 -3
  23. package/dist/components/breadcrumb.js.map +1 -1
  24. package/dist/components/button-group.d.ts +1 -3
  25. package/dist/components/button-group.js.map +1 -1
  26. package/dist/components/button.d.ts +1 -3
  27. package/dist/components/button.js.map +1 -1
  28. package/dist/components/calendar.d.ts +0 -2
  29. package/dist/components/calendar.js +1 -1
  30. package/dist/components/calendar.js.map +1 -1
  31. package/dist/components/card.d.ts +0 -2
  32. package/dist/components/card.js.map +1 -1
  33. package/dist/components/carousel.d.ts +0 -2
  34. package/dist/components/carousel.js.map +1 -1
  35. package/dist/components/center.d.ts +0 -2
  36. package/dist/components/center.js.map +1 -1
  37. package/dist/components/chart.d.ts +1 -1
  38. package/dist/components/chart.js.map +1 -1
  39. package/dist/components/checkbox.d.ts +0 -2
  40. package/dist/components/checkbox.js.map +1 -1
  41. package/dist/components/code.d.ts +0 -2
  42. package/dist/components/code.js.map +1 -1
  43. package/dist/components/collapsible.d.ts +1 -3
  44. package/dist/components/collapsible.js.map +1 -1
  45. package/dist/components/combobox.d.ts +1 -3
  46. package/dist/components/combobox.js.map +1 -1
  47. package/dist/components/command.d.ts +0 -2
  48. package/dist/components/command.js.map +1 -1
  49. package/dist/components/container.d.ts +0 -2
  50. package/dist/components/container.js.map +1 -1
  51. package/dist/components/data-table.d.ts +0 -2
  52. package/dist/components/data-table.js.map +1 -1
  53. package/dist/components/date-range-picker.d.ts +0 -2
  54. package/dist/components/date-range-picker.js.map +1 -1
  55. package/dist/components/dialog.d.ts +1 -3
  56. package/dist/components/dialog.js.map +1 -1
  57. package/dist/components/direction.d.ts +0 -2
  58. package/dist/components/donut-chart.d.ts +0 -2
  59. package/dist/components/donut-chart.js.map +1 -1
  60. package/dist/components/drawer.d.ts +1 -3
  61. package/dist/components/drawer.js.map +1 -1
  62. package/dist/components/dropdown-menu.d.ts +1 -3
  63. package/dist/components/dropdown-menu.js.map +1 -1
  64. package/dist/components/dropzone.d.ts +0 -2
  65. package/dist/components/dropzone.js.map +1 -1
  66. package/dist/components/empty.d.ts +0 -2
  67. package/dist/components/empty.js.map +1 -1
  68. package/dist/components/field.d.ts +0 -2
  69. package/dist/components/field.js.map +1 -1
  70. package/dist/components/flex.d.ts +0 -2
  71. package/dist/components/flex.js.map +1 -1
  72. package/dist/components/grid.d.ts +0 -2
  73. package/dist/components/grid.js.map +1 -1
  74. package/dist/components/group.d.ts +0 -2
  75. package/dist/components/group.js.map +1 -1
  76. package/dist/components/heading.d.ts +1 -3
  77. package/dist/components/heading.js.map +1 -1
  78. package/dist/components/hover-card.d.ts +1 -3
  79. package/dist/components/hover-card.js.map +1 -1
  80. package/dist/components/input-group.d.ts +0 -2
  81. package/dist/components/input-group.js.map +1 -1
  82. package/dist/components/input-otp.d.ts +0 -2
  83. package/dist/components/input-otp.js.map +1 -1
  84. package/dist/components/input.d.ts +0 -2
  85. package/dist/components/input.js.map +1 -1
  86. package/dist/components/kbd.d.ts +0 -2
  87. package/dist/components/kbd.js.map +1 -1
  88. package/dist/components/label.d.ts +1 -3
  89. package/dist/components/label.js.map +1 -1
  90. package/dist/components/list.d.ts +1 -3
  91. package/dist/components/list.js.map +1 -1
  92. package/dist/components/logo.d.ts +0 -2
  93. package/dist/components/marker.d.ts +1 -3
  94. package/dist/components/marker.js.map +1 -1
  95. package/dist/components/mask-input.d.ts +0 -2
  96. package/dist/components/mask-input.js.map +1 -1
  97. package/dist/components/native-select.d.ts +0 -2
  98. package/dist/components/native-select.js.map +1 -1
  99. package/dist/components/navigation-menu.d.ts +1 -3
  100. package/dist/components/navigation-menu.js.map +1 -1
  101. package/dist/components/number-field.d.ts +1 -3
  102. package/dist/components/number-field.js.map +1 -1
  103. package/dist/components/pagination.d.ts +0 -2
  104. package/dist/components/pagination.js.map +1 -1
  105. package/dist/components/phone-input.d.ts +0 -2
  106. package/dist/components/phone-input.js.map +1 -1
  107. package/dist/components/pie-chart.d.ts +1 -3
  108. package/dist/components/pie-chart.js.map +1 -1
  109. package/dist/components/popover.d.ts +1 -3
  110. package/dist/components/popover.js.map +1 -1
  111. package/dist/components/progress.d.ts +0 -2
  112. package/dist/components/progress.js.map +1 -1
  113. package/dist/components/radio-group.d.ts +0 -2
  114. package/dist/components/radio-group.js.map +1 -1
  115. package/dist/components/resizable.d.ts +0 -2
  116. package/dist/components/resizable.js.map +1 -1
  117. package/dist/components/ring-progress.d.ts +0 -2
  118. package/dist/components/ring-progress.js.map +1 -1
  119. package/dist/components/scroll-area.d.ts +0 -2
  120. package/dist/components/scroll-area.js.map +1 -1
  121. package/dist/components/select.d.ts +1 -3
  122. package/dist/components/select.js.map +1 -1
  123. package/dist/components/separator.d.ts +1 -3
  124. package/dist/components/separator.js.map +1 -1
  125. package/dist/components/sidebar.d.ts +1 -3
  126. package/dist/components/sidebar.js.map +1 -1
  127. package/dist/components/simple-grid.d.ts +0 -2
  128. package/dist/components/simple-grid.js.map +1 -1
  129. package/dist/components/skeleton.d.ts +0 -2
  130. package/dist/components/skeleton.js.map +1 -1
  131. package/dist/components/slider.d.ts +0 -2
  132. package/dist/components/slider.js.map +1 -1
  133. package/dist/components/sonner.d.ts +0 -2
  134. package/dist/components/sonner.js.map +1 -1
  135. package/dist/components/spinner.d.ts +0 -2
  136. package/dist/components/spinner.js.map +1 -1
  137. package/dist/components/stack.d.ts +0 -2
  138. package/dist/components/stack.js.map +1 -1
  139. package/dist/components/stepper.d.ts +1 -3
  140. package/dist/components/stepper.js.map +1 -1
  141. package/dist/components/switch.d.ts +0 -2
  142. package/dist/components/switch.js.map +1 -1
  143. package/dist/components/table.d.ts +0 -2
  144. package/dist/components/table.js.map +1 -1
  145. package/dist/components/tabs.d.ts +1 -3
  146. package/dist/components/tabs.js.map +1 -1
  147. package/dist/components/text.d.ts +1 -3
  148. package/dist/components/text.js.map +1 -1
  149. package/dist/components/textarea.d.ts +0 -2
  150. package/dist/components/textarea.js.map +1 -1
  151. package/dist/components/theme.d.ts +0 -2
  152. package/dist/components/theme.js.map +1 -1
  153. package/dist/components/timeline.d.ts +0 -2
  154. package/dist/components/timeline.js.map +1 -1
  155. package/dist/components/toggle-group.d.ts +1 -3
  156. package/dist/components/toggle-group.js.map +1 -1
  157. package/dist/components/toggle.d.ts +1 -3
  158. package/dist/components/toggle.js.map +1 -1
  159. package/dist/components/tooltip.d.ts +1 -3
  160. package/dist/components/tooltip.js.map +1 -1
  161. package/dist/components/unstyled-button.d.ts +1 -3
  162. package/dist/components/unstyled-button.js.map +1 -1
  163. package/dist/components/visibility.d.ts +0 -2
  164. package/dist/components/visibility.js.map +1 -1
  165. package/dist/hooks/use-breakpoint-value.d.ts +0 -2
  166. package/dist/hooks/use-breakpoint-value.js.map +1 -1
  167. package/dist/hooks/use-breakpoint.d.ts +0 -2
  168. package/dist/hooks/use-breakpoint.js.map +1 -1
  169. package/dist/hooks/use-disclosure.d.ts +0 -2
  170. package/dist/hooks/use-disclosure.js.map +1 -1
  171. package/dist/hooks/use-document-visibility.d.ts +0 -2
  172. package/dist/hooks/use-document-visibility.js.map +1 -1
  173. package/dist/hooks/use-hotkeys.d.ts +1 -1
  174. package/dist/hooks/use-idle.d.ts +0 -2
  175. package/dist/hooks/use-idle.js.map +1 -1
  176. package/dist/hooks/use-interval.d.ts +0 -2
  177. package/dist/hooks/use-interval.js.map +1 -1
  178. package/dist/hooks/use-local-storage.d.ts +0 -2
  179. package/dist/hooks/use-local-storage.js.map +1 -1
  180. package/dist/hooks/use-mask.d.ts +0 -2
  181. package/dist/hooks/use-mask.js.map +1 -1
  182. package/dist/hooks/use-mobile.d.ts +0 -2
  183. package/dist/hooks/use-mobile.js.map +1 -1
  184. package/dist/index.d.ts +3 -3
  185. package/dist/lib/as-child.d.ts +1 -1
  186. package/dist/lib/as-child.js.map +1 -1
  187. package/dist/lib/badge.d.ts +0 -2
  188. package/dist/lib/badge.js.map +1 -1
  189. package/dist/lib/button.d.ts +0 -2
  190. package/dist/lib/button.js.map +1 -1
  191. package/dist/lib/color.d.ts +0 -2
  192. package/dist/lib/color.js.map +1 -1
  193. package/dist/lib/compose-refs.d.ts +0 -2
  194. package/dist/lib/compose-refs.js.map +1 -1
  195. package/dist/lib/progress.d.ts +0 -2
  196. package/dist/lib/progress.js.map +1 -1
  197. package/dist/lib/utils.d.ts +0 -2
  198. package/dist/lib/utils.js.map +1 -1
  199. package/dist/logo--R3_XDgA.js.map +1 -1
  200. package/dist/postcss.config.js.map +1 -1
  201. package/dist/resolve-class-name-BurP8ngI.js.map +1 -1
  202. package/dist/{use-hotkeys-D1_TEIwN.d.ts → use-hotkeys-BVm0IGb8.d.ts} +1 -5
  203. package/dist/use-hotkeys-YDJmGWX6.js.map +1 -1
  204. package/package.json +9 -9
@@ -1,7 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
3
  import { VariantProps } from "class-variance-authority";
4
- //#region src/components/table.d.ts
5
4
  export type TableContainerProps = React.ComponentProps<'div'> & {
6
5
  /** Minimum table width (px number or CSS length); the container scrolls horizontally below it. */
7
6
  minWidth?: number | string;
@@ -37,6 +36,5 @@ declare function TableRow({ className, ...props }: TableRowProps): React.JSX.Ele
37
36
  declare function TableHead({ className, ...props }: TableHeadProps): React.JSX.Element;
38
37
  declare function TableCell({ className, ...props }: TableCellProps): React.JSX.Element;
39
38
  declare function TableCaption({ className, ...props }: TableCaptionProps): React.JSX.Element;
40
- //#endregion
41
39
  export { Table, TableBody, TableCaption, TableCell, TableContainer, TableFooter, TableHead, TableHeader, TableRow, tableVariants };
42
40
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","names":["tableVariants","cva","cn","props","className","minWidth","style","variant","striped","stickyHeader"],"sources":["../../src/components/table.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nexport type TableContainerProps = React.ComponentProps<'div'> & {\n /** Minimum table width (px number or CSS length); the container scrolls horizontally below it. */\n minWidth?: number | string\n}\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n line: '',\n outline: cn(\n 'rounded-lg border border-separate border-spacing-0',\n '[&_thead_th]:border-b',\n '[&_tbody_tr:not(:last-child)>td]:border-b'\n )\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n})\n\nexport type TableProps = React.ComponentProps<'table'> &\n VariantProps<typeof tableVariants> & {\n /**\n * Alternates the row background.\n * @default true\n */\n striped?: boolean\n /**\n * Keeps the header at the top while the body scrolls inside a `TableContainer`.\n * @default false\n */\n stickyHeader?: boolean\n }\n\nexport type TableHeaderProps = React.ComponentProps<'thead'>\n\nexport type TableBodyProps = React.ComponentProps<'tbody'>\n\nexport type TableFooterProps = React.ComponentProps<'tfoot'>\n\nexport type TableRowProps = React.ComponentProps<'tr'>\n\nexport type TableHeadProps = React.ComponentProps<'th'>\n\nexport type TableCellProps = React.ComponentProps<'td'>\n\nexport type TableCaptionProps = React.ComponentProps<'caption'>\n\nfunction TableContainer({ className, minWidth, style, ...props }: TableContainerProps) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn(\n 'relative w-full overflow-x-auto',\n 'has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border',\n '[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0',\n '[&>table]:min-w-(--table-min-width)',\n className\n )}\n style={\n minWidth !== undefined\n ? ({\n '--table-min-width': typeof minWidth === 'number' ? `${minWidth}px` : minWidth,\n ...style\n } as React.CSSProperties)\n : style\n }\n {...props}\n />\n )\n}\n\nfunction Table({ className, variant = 'line', striped = true, stickyHeader = false, ...props }: TableProps) {\n return (\n <table\n data-slot=\"table\"\n data-variant={variant}\n data-striped={striped ? 'true' : 'false'}\n data-sticky-header={stickyHeader ? 'true' : 'false'}\n className={cn(\n tableVariants({ variant }),\n 'data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50',\n 'data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHeader({ className, ...props }: TableHeaderProps) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: TableBodyProps) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: TableFooterProps) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: TableRowProps) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: TableHeadProps) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: TableCellProps) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: TableCaptionProps) {\n return (\n <caption data-slot=\"table-caption\" className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n )\n}\n\nexport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n tableVariants\n}\n"],"mappings":"oKAWA,MAAMA,EAAgBC,EAAI,gCAAiC,CACzD,SAAU,CACR,QAAS,CACP,KAAM,GACN,QAASC,EACP,qDACA,wBACA,2CACF,CACF,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EA8BD,SAAS,eAAe,CAAE,YAAW,WAAU,QAAO,GAAGC,GAA8B,CACrF,MACE,kBAAC,MAAD,CACE,YAAU,kBACV,UAAWD,EACT,kCACA,0FACA,wFACA,sCACAE,CACF,EACA,MACEC,IAAa,IAAA,GAKTC,EAJC,CACC,oBAAqB,OAAOD,GAAa,SAAW,GAAGA,EAAS,IAAMA,EACtE,GAAGC,CACL,EAGN,GAAIH,CACL,CAAA,CAEL,CAEA,SAAS,MAAM,CAAE,YAAW,UAAU,OAAQ,UAAU,GAAM,eAAe,GAAO,GAAGA,GAAqB,CAC1G,MACE,kBAAC,QAAD,CACE,YAAU,QACV,eAAcI,EACd,eAAcC,EAAU,OAAS,QACjC,qBAAoBC,EAAe,OAAS,QAC5C,UAAWP,EACTF,EAAc,CAAE,SAAQ,CAAC,EACzB,sGACA,kLACAI,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MAAO,kBAAC,QAAD,CAAO,YAAU,eAAe,UAAWD,EAAG,kBAAmBE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAClG,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MAAO,kBAAC,QAAD,CAAO,YAAU,aAAa,UAAWD,EAAG,6BAA8BE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAC3G,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MACE,kBAAC,QAAD,CACE,YAAU,eACV,UAAWD,EAAG,0DAA2DE,CAAS,EAClF,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,SAAS,CAAE,YAAW,GAAGA,GAAwB,CACxD,MACE,kBAAC,KAAD,CACE,YAAU,YACV,UAAWD,EAAG,8EAA+EE,CAAS,EACtG,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MACE,kBAAC,KAAD,CACE,YAAU,aACV,UAAWD,EACT,4GACAE,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MACE,kBAAC,KAAD,CACE,YAAU,aACV,UAAWD,EAAG,gEAAiEE,CAAS,EACxF,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAGA,GAA4B,CAChE,MACE,kBAAC,UAAD,CAAS,YAAU,gBAAgB,UAAWD,EAAG,qCAAsCE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAEnH"}
1
+ {"version":3,"file":"table.js","names":["tableVariants","cva","cn","props","className","minWidth","style","variant","striped","stickyHeader"],"sources":["../../src/components/table.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nexport type TableContainerProps = React.ComponentProps<'div'> & {\n /** Minimum table width (px number or CSS length); the container scrolls horizontally below it. */\n minWidth?: number | string\n}\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n line: '',\n outline: cn(\n 'rounded-lg border border-separate border-spacing-0',\n '[&_thead_th]:border-b',\n '[&_tbody_tr:not(:last-child)>td]:border-b'\n )\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n})\n\nexport type TableProps = React.ComponentProps<'table'> &\n VariantProps<typeof tableVariants> & {\n /**\n * Alternates the row background.\n * @default true\n */\n striped?: boolean\n /**\n * Keeps the header at the top while the body scrolls inside a `TableContainer`.\n * @default false\n */\n stickyHeader?: boolean\n }\n\nexport type TableHeaderProps = React.ComponentProps<'thead'>\n\nexport type TableBodyProps = React.ComponentProps<'tbody'>\n\nexport type TableFooterProps = React.ComponentProps<'tfoot'>\n\nexport type TableRowProps = React.ComponentProps<'tr'>\n\nexport type TableHeadProps = React.ComponentProps<'th'>\n\nexport type TableCellProps = React.ComponentProps<'td'>\n\nexport type TableCaptionProps = React.ComponentProps<'caption'>\n\nfunction TableContainer({ className, minWidth, style, ...props }: TableContainerProps) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn(\n 'relative w-full overflow-x-auto',\n 'has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border',\n '[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0',\n '[&>table]:min-w-(--table-min-width)',\n className\n )}\n style={\n minWidth !== undefined\n ? ({\n '--table-min-width': typeof minWidth === 'number' ? `${minWidth}px` : minWidth,\n ...style\n } as React.CSSProperties)\n : style\n }\n {...props}\n />\n )\n}\n\nfunction Table({ className, variant = 'line', striped = true, stickyHeader = false, ...props }: TableProps) {\n return (\n <table\n data-slot=\"table\"\n data-variant={variant}\n data-striped={striped ? 'true' : 'false'}\n data-sticky-header={stickyHeader ? 'true' : 'false'}\n className={cn(\n tableVariants({ variant }),\n 'data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50',\n 'data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHeader({ className, ...props }: TableHeaderProps) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: TableBodyProps) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: TableFooterProps) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: TableRowProps) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: TableHeadProps) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: TableCellProps) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: TableCaptionProps) {\n return (\n <caption data-slot=\"table-caption\" className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n )\n}\n\nexport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n tableVariants\n}\n"],"mappings":"A,oKAWA,MAAMA,EAAgBC,EAAI,gCAAiC,CACzD,SAAU,CACR,QAAS,CACP,KAAM,GACN,QAASC,EACP,qDACA,wBACA,2CACF,CACF,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EA8BD,SAAS,eAAe,CAAE,YAAW,WAAU,QAAO,GAAGC,GAA8B,CACrF,MACE,kBAAC,MAAD,CACE,YAAU,kBACV,UAAWD,EACT,kCACA,0FACA,wFACA,sCACAE,CACF,EACA,MACEC,IAAa,IAAA,GAKTC,EAJC,CACC,oBAAqB,OAAOD,GAAa,SAAW,GAAGA,EAAS,IAAMA,EACtE,GAAGC,CACL,EAGN,GAAIH,CACL,CAAA,CAEL,CAEA,SAAS,MAAM,CAAE,YAAW,UAAU,OAAQ,UAAU,GAAM,eAAe,GAAO,GAAGA,GAAqB,CAC1G,MACE,kBAAC,QAAD,CACE,YAAU,QACV,eAAcI,EACd,eAAcC,EAAU,OAAS,QACjC,qBAAoBC,EAAe,OAAS,QAC5C,UAAWP,EACTF,EAAc,CAAE,SAAQ,CAAC,EACzB,sGACA,kLACAI,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MAAO,kBAAC,QAAD,CAAO,YAAU,eAAe,UAAWD,EAAG,kBAAmBE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAClG,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MAAO,kBAAC,QAAD,CAAO,YAAU,aAAa,UAAWD,EAAG,6BAA8BE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAC3G,CAEA,SAAS,YAAY,CAAE,YAAW,GAAGA,GAA2B,CAC9D,MACE,kBAAC,QAAD,CACE,YAAU,eACV,UAAWD,EAAG,0DAA2DE,CAAS,EAClF,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,SAAS,CAAE,YAAW,GAAGA,GAAwB,CACxD,MACE,kBAAC,KAAD,CACE,YAAU,YACV,UAAWD,EAAG,8EAA+EE,CAAS,EACtG,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MACE,kBAAC,KAAD,CACE,YAAU,aACV,UAAWD,EACT,4GACAE,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAGA,GAAyB,CAC1D,MACE,kBAAC,KAAD,CACE,YAAU,aACV,UAAWD,EAAG,gEAAiEE,CAAS,EACxF,GAAID,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAGA,GAA4B,CAChE,MACE,kBAAC,UAAD,CAAS,YAAU,gBAAgB,UAAWD,EAAG,qCAAsCE,CAAS,EAAG,GAAID,CAAQ,CAAA,CAEnH,C"}
@@ -1,8 +1,7 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
5
- //#region src/components/tabs.d.ts
6
5
  export type TabsProps = AsChildPrimitiveProps<typeof Tabs$1.Root>;
7
6
  declare function Tabs({ className, orientation, asChild, children, ...props }: TabsProps): import("react").JSX.Element;
8
7
  declare const tabsListVariants: (props?: ({
@@ -20,6 +19,5 @@ export type TabsContentProps = AsChildPrimitiveProps<typeof Tabs$1.Panel>;
20
19
  declare function TabsList({ className, variant, grow, asChild, children, ...props }: TabsListProps): import("react").JSX.Element;
21
20
  declare function TabsTrigger({ className, asChild, children, ...props }: TabsTriggerProps): import("react").JSX.Element;
22
21
  declare function TabsContent({ className, asChild, children, ...props }: TabsContentProps): import("react").JSX.Element;
23
- //#endregion
24
22
  export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
25
23
  //# sourceMappingURL=tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","names":["TabsPrimitive","resolveClassName","Tabs$1","props","cn","className","state","toAsChildRenderProps","asChild","children","tabsListVariants","cva","variant","grow"],"sources":["../../src/components/tabs.tsx"],"sourcesContent":["import { Tabs as TabsPrimitive } from '@base-ui/react/tabs'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type TabsProps = AsChildPrimitiveProps<typeof TabsPrimitive.Root>\n\nfunction Tabs({ className, orientation = 'horizontal', asChild, children, ...props }: TabsProps) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n orientation={orientation}\n className={(state) => cn('group/tabs flex gap-2 data-horizontal:flex-col', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nconst tabsListVariants = cva(\n 'group/tabs-list inline-flex items-center justify-start rounded-lg h-fit group-data-horizontal/tabs:flex-wrap group-data-horizontal/tabs:w-full group-data-vertical/tabs:w-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none',\n {\n variants: {\n variant: {\n enclosed: 'bg-muted p-0.75',\n line: 'gap-1 bg-transparent group-data-horizontal/tabs:border-b group-data-horizontal/tabs:border-b-border group-data-vertical/tabs:border-r group-data-vertical/tabs:border-r-border'\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n }\n)\n\nexport type TabsListProps = AsChildPrimitiveProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants> & {\n /**\n * Makes horizontal tabs share the available width equally.\n * @default false\n */\n grow?: boolean\n }\n\nexport type TabsTriggerProps = AsChildPrimitiveProps<typeof TabsPrimitive.Tab>\n\nexport type TabsContentProps = AsChildPrimitiveProps<typeof TabsPrimitive.Panel>\n\nfunction TabsList({ className, variant = 'line', grow = false, asChild, children, ...props }: TabsListProps) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n data-grow={grow}\n className={(state) => cn(tabsListVariants({ variant }), resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction TabsTrigger({ className, asChild, children, ...props }: TabsTriggerProps) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={(state) =>\n cn(\n \"relative inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-normal whitespace-nowrap text-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:bg-muted focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-[variant=enclosed]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'group-data-horizontal/tabs:group-data-[grow=true]/tabs-list:flex-1',\n 'group-data-[variant=line]/tabs-list:bg-transparent group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-t-[8px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-b-none group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-l-[8px] group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-r-none',\n 'group-data-[variant=line]/tabs-list:h-8 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:border-b-primary-500 group-data-vertical/tabs:group-data-[variant=line]/tabs-list:data-active:border-r-primary-500',\n 'group-data-[variant=enclosed]/tabs-list:h-[calc(100%-1px)] group-data-[variant=enclosed]/tabs-list:data-active:bg-background group-data-[variant=enclosed]/tabs-list:data-active:hover:bg-muted dark:group-data-[variant=enclosed]/tabs-list:data-active:border-input dark:group-data-[variant=enclosed]/tabs-list:data-active:bg-input/30',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction TabsContent({ className, asChild, children, ...props }: TabsContentProps) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={(state) => cn('flex-1 text-sm outline-none', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants }\n"],"mappings":"+TASA,SAAS,KAAK,CAAE,YAAW,cAAc,aAAc,UAAS,WAAU,GAAGG,GAAoB,CAC/F,MACE,kBAACH,EAAc,KAAf,CACE,YAAU,OACG,cACb,UAAY,GAAUI,EAAG,iDAAkDH,EAAiBI,EAAWC,CAAK,CAAC,EAC7G,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,MAAMC,EAAmBC,EACvB,mPACA,CACE,SAAU,CACR,QAAS,CACP,SAAU,kBACV,KAAM,gLACR,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CACF,EAeA,SAAS,SAAS,CAAE,YAAW,UAAU,OAAQ,OAAO,GAAO,UAAS,WAAU,GAAGR,GAAwB,CAC3G,MACE,kBAACH,EAAc,KAAf,CACE,YAAU,YACV,eAAcY,EACd,YAAWC,EACX,UAAY,GAAUT,EAAGM,EAAiB,CAAE,SAAQ,CAAC,EAAGT,EAAiBI,EAAWC,CAAK,CAAC,EAC1F,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,UAAS,WAAU,GAAGN,GAA2B,CACjF,MACE,kBAACH,EAAc,IAAf,CACE,YAAU,eACV,UAAY,GACVI,EACE,ksBACA,qEACA,2WACA,wOACA,6UACAH,EAAiBI,EAAWC,CAAK,CACnC,EAEF,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,UAAS,WAAU,GAAGN,GAA2B,CACjF,MACE,kBAACH,EAAc,MAAf,CACE,YAAU,eACV,UAAY,GAAUI,EAAG,8BAA+BH,EAAiBI,EAAWC,CAAK,CAAC,EAC1F,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL"}
1
+ {"version":3,"file":"tabs.js","names":["TabsPrimitive","resolveClassName","Tabs$1","props","cn","className","state","toAsChildRenderProps","asChild","children","tabsListVariants","cva","variant","grow"],"sources":["../../src/components/tabs.tsx"],"sourcesContent":["import { Tabs as TabsPrimitive } from '@base-ui/react/tabs'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type TabsProps = AsChildPrimitiveProps<typeof TabsPrimitive.Root>\n\nfunction Tabs({ className, orientation = 'horizontal', asChild, children, ...props }: TabsProps) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n orientation={orientation}\n className={(state) => cn('group/tabs flex gap-2 data-horizontal:flex-col', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nconst tabsListVariants = cva(\n 'group/tabs-list inline-flex items-center justify-start rounded-lg h-fit group-data-horizontal/tabs:flex-wrap group-data-horizontal/tabs:w-full group-data-vertical/tabs:w-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none',\n {\n variants: {\n variant: {\n enclosed: 'bg-muted p-0.75',\n line: 'gap-1 bg-transparent group-data-horizontal/tabs:border-b group-data-horizontal/tabs:border-b-border group-data-vertical/tabs:border-r group-data-vertical/tabs:border-r-border'\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n }\n)\n\nexport type TabsListProps = AsChildPrimitiveProps<typeof TabsPrimitive.List> &\n VariantProps<typeof tabsListVariants> & {\n /**\n * Makes horizontal tabs share the available width equally.\n * @default false\n */\n grow?: boolean\n }\n\nexport type TabsTriggerProps = AsChildPrimitiveProps<typeof TabsPrimitive.Tab>\n\nexport type TabsContentProps = AsChildPrimitiveProps<typeof TabsPrimitive.Panel>\n\nfunction TabsList({ className, variant = 'line', grow = false, asChild, children, ...props }: TabsListProps) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n data-grow={grow}\n className={(state) => cn(tabsListVariants({ variant }), resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction TabsTrigger({ className, asChild, children, ...props }: TabsTriggerProps) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={(state) =>\n cn(\n \"relative inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-normal whitespace-nowrap text-foreground transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:bg-muted focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-[variant=enclosed]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'group-data-horizontal/tabs:group-data-[grow=true]/tabs-list:flex-1',\n 'group-data-[variant=line]/tabs-list:bg-transparent group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-t-[8px] group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:rounded-b-none group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-l-[8px] group-data-vertical/tabs:group-data-[variant=line]/tabs-list:rounded-r-none',\n 'group-data-[variant=line]/tabs-list:h-8 group-data-horizontal/tabs:group-data-[variant=line]/tabs-list:data-active:border-b-primary-500 group-data-vertical/tabs:group-data-[variant=line]/tabs-list:data-active:border-r-primary-500',\n 'group-data-[variant=enclosed]/tabs-list:h-[calc(100%-1px)] group-data-[variant=enclosed]/tabs-list:data-active:bg-background group-data-[variant=enclosed]/tabs-list:data-active:hover:bg-muted dark:group-data-[variant=enclosed]/tabs-list:data-active:border-input dark:group-data-[variant=enclosed]/tabs-list:data-active:bg-input/30',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction TabsContent({ className, asChild, children, ...props }: TabsContentProps) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={(state) => cn('flex-1 text-sm outline-none', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants }\n"],"mappings":"A,+TASA,SAAS,KAAK,CAAE,YAAW,cAAc,aAAc,UAAS,WAAU,GAAGG,GAAoB,CAC/F,MACE,kBAACH,EAAc,KAAf,CACE,YAAU,OACG,cACb,UAAY,GAAUI,EAAG,iDAAkDH,EAAiBI,EAAWC,CAAK,CAAC,EAC7G,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,MAAMC,EAAmBC,EACvB,mPACA,CACE,SAAU,CACR,QAAS,CACP,SAAU,kBACV,KAAM,gLACR,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CACF,EAeA,SAAS,SAAS,CAAE,YAAW,UAAU,OAAQ,OAAO,GAAO,UAAS,WAAU,GAAGR,GAAwB,CAC3G,MACE,kBAACH,EAAc,KAAf,CACE,YAAU,YACV,eAAcY,EACd,YAAWC,EACX,UAAY,GAAUT,EAAGM,EAAiB,CAAE,SAAQ,CAAC,EAAGT,EAAiBI,EAAWC,CAAK,CAAC,EAC1F,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,UAAS,WAAU,GAAGN,GAA2B,CACjF,MACE,kBAACH,EAAc,IAAf,CACE,YAAU,eACV,UAAY,GACVI,EACE,ksBACA,qEACA,2WACA,wOACA,6UACAH,EAAiBI,EAAWC,CAAK,CACnC,EAEF,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,UAAS,WAAU,GAAGN,GAA2B,CACjF,MACE,kBAACH,EAAc,MAAf,CACE,YAAU,eACV,UAAY,GAAUI,EAAG,8BAA+BH,EAAiBI,EAAWC,CAAK,CAAC,EAC1F,GAAIH,EACJ,GAAII,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,C"}
@@ -1,12 +1,10 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { n as AsChildProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { n as AsChildProps } from "../as-child-T9W73ZYU.js";
3
3
  import { VariantProps } from "class-variance-authority";
4
- //#region src/components/text.d.ts
5
4
  declare const textVariants: (props?: ({
6
5
  size?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
7
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
7
  export type TextProps = AsChildProps<'p'> & VariantProps<typeof textVariants>;
9
8
  declare function Text({ className, size, ...props }: TextProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
10
- //#endregion
11
9
  export { Text, textVariants };
12
10
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","names":["textVariants","cva","props","useAsChild","size","cn","className"],"sources":["../../src/components/text.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nconst textVariants = cva('text-foreground font-normal', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TextProps = AsChildProps<'p'> & VariantProps<typeof textVariants>\n\nfunction Text({ className, size = 'md', ...props }: TextProps) {\n return useAsChild('p', {\n 'data-slot': 'text',\n 'data-size': size,\n className: cn(textVariants({ size }), className),\n ...props\n })\n}\n\nexport { Text, textVariants }\n"],"mappings":"4KAKA,MAAMA,EAAeC,EAAI,8BAA+B,CACtD,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAID,SAAS,KAAK,CAAE,YAAW,OAAO,KAAM,GAAGC,GAAoB,CAC7D,OAAOC,EAAW,IAAK,CACrB,YAAa,OACb,YAAaC,EACb,UAAWC,EAAGL,EAAa,CAAE,MAAK,CAAC,EAAGM,CAAS,EAC/C,GAAGJ,CACL,CAAC,CACH"}
1
+ {"version":3,"file":"text.js","names":["textVariants","cva","props","useAsChild","size","cn","className"],"sources":["../../src/components/text.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nconst textVariants = cva('text-foreground font-normal', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TextProps = AsChildProps<'p'> & VariantProps<typeof textVariants>\n\nfunction Text({ className, size = 'md', ...props }: TextProps) {\n return useAsChild('p', {\n 'data-slot': 'text',\n 'data-size': size,\n className: cn(textVariants({ size }), className),\n ...props\n })\n}\n\nexport { Text, textVariants }\n"],"mappings":"A,4KAKA,MAAMA,EAAeC,EAAI,8BAA+B,CACtD,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAID,SAAS,KAAK,CAAE,YAAW,OAAO,KAAM,GAAGC,GAAoB,CAC7D,OAAOC,EAAW,IAAK,CACrB,YAAa,OACb,YAAaC,EACb,UAAWC,EAAGL,EAAa,CAAE,MAAK,CAAC,EAAGM,CAAS,EAC/C,GAAGJ,CACL,CAAC,CACH,C"}
@@ -1,8 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
- //#region src/components/textarea.d.ts
4
3
  export type TextareaProps = React.ComponentProps<'textarea'>;
5
4
  declare function Textarea({ className, id, 'aria-invalid': ariaInvalid, ...props }: TextareaProps): React.JSX.Element;
6
- //#endregion
7
5
  export { Textarea };
8
6
  //# sourceMappingURL=textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","names":["ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","cn","className"],"sources":["../../src/components/textarea.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type TextareaProps = React.ComponentProps<'textarea'>\n\nfunction Textarea({ className, id, 'aria-invalid': ariaInvalid, ...props }: TextareaProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <textarea\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"textarea\"\n className={cn(\n 'flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"yLAOA,SAAS,SAAS,CAAE,YAAW,KAAI,eAAgBA,EAAa,GAAGC,GAAwB,CACzF,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAAC,WAAD,CACE,GAAIE,EACJ,eAAcG,EACd,YAAU,WACV,UAAWE,EACT,ohBACAC,CACF,EACA,GAAIP,CACL,CAAA,CAEL"}
1
+ {"version":3,"file":"textarea.js","names":["ariaInvalid","props","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","cn","className"],"sources":["../../src/components/textarea.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type TextareaProps = React.ComponentProps<'textarea'>\n\nfunction Textarea({ className, id, 'aria-invalid': ariaInvalid, ...props }: TextareaProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <textarea\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"textarea\"\n className={cn(\n 'flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-placeholder focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"A,yLAOA,SAAS,SAAS,CAAE,YAAW,KAAI,eAAgBA,EAAa,GAAGC,GAAwB,CACzF,IAAMC,EAAiBC,EAAkBC,CAAE,EACrCC,EAAUC,EAAgBN,CAAW,EAE3C,MACE,kBAAC,WAAD,CACE,GAAIE,EACJ,eAAcG,EACd,YAAU,WACV,UAAWE,EACT,ohBACAC,CACF,EACA,GAAIP,CACL,CAAA,CAEL,C"}
@@ -1,7 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import { Button } from "./button.js";
3
3
  import * as React from "react";
4
- //#region src/components/theme.d.ts
5
4
  export type Theme = 'dark' | 'light' | 'system';
6
5
  export type ThemeProviderProps = {
7
6
  children: React.ReactNode;
@@ -29,5 +28,4 @@ export type ModeToggleProps = React.ComponentProps<typeof Button>;
29
28
  export declare function ThemeProvider({ children, defaultTheme, storageKey, disableTransitionOnChange, ...props }: ThemeProviderProps): React.JSX.Element;
30
29
  export declare const useTheme: () => ThemeProviderState;
31
30
  export declare function ModeToggle(props: ModeToggleProps): React.JSX.Element;
32
- //#endregion
33
31
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","names":["ThemeProviderContext","createContext","css","storageKey","defaultTheme","theme","props","setTheme","useState","useEffect","root","darkSchemeQuery","enableTransitions","disableTransitionOnChange","value","context","use","DropdownMenu","DropdownMenuTrigger","Button","IconSun","IconMoon","DropdownMenuContent","DropdownMenuItem"],"sources":["../../src/components/theme.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, use, useEffect, useState } from 'react'\n\nimport { IconMoon, IconSun } from '@tabler/icons-react'\n\nimport { Button } from './button'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './dropdown-menu'\n\nexport type Theme = 'dark' | 'light' | 'system'\n\nexport type ThemeProviderProps = {\n children: React.ReactNode\n /**\n * Theme used until the user picks one.\n * @default 'system'\n */\n defaultTheme?: Theme\n /**\n * `localStorage` key where the theme is saved.\n * @default 'vite-ui-theme'\n */\n storageKey?: string\n /**\n * Turns off CSS transitions while the theme switches.\n * @default false\n */\n disableTransitionOnChange?: boolean\n}\n\nexport type ThemeProviderState = {\n theme: Theme\n setTheme: (theme: Theme) => void\n}\n\nexport type ModeToggleProps = React.ComponentProps<typeof Button>\n\nconst ThemeProviderContext = createContext({} as ThemeProviderState)\n\nfunction disableAnimation() {\n const css = document.createElement('style')\n\n css.appendChild(\n document.createTextNode(\n '*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}'\n )\n )\n document.head.appendChild(css)\n\n return () => {\n window.getComputedStyle(document.body)\n\n setTimeout(() => {\n document.head.removeChild(css)\n }, 1)\n }\n}\n\n// Storage can be missing (server rendering) or throw (blocked by the browser); the theme then just isn't persisted.\nfunction readStoredTheme(storageKey: string, defaultTheme: Theme) {\n try {\n return (window.localStorage.getItem(storageKey) as Theme | null) || defaultTheme\n } catch {\n return defaultTheme\n }\n}\n\nfunction writeStoredTheme(storageKey: string, theme: Theme) {\n try {\n window.localStorage.setItem(storageKey, theme)\n } catch {}\n}\n\nexport function ThemeProvider({\n children,\n defaultTheme = 'system',\n storageKey = 'vite-ui-theme',\n disableTransitionOnChange = false,\n ...props\n}: ThemeProviderProps) {\n const [theme, setTheme] = useState<Theme>(() => readStoredTheme(storageKey, defaultTheme))\n\n useEffect(() => {\n const root = window.document.documentElement\n const darkSchemeQuery = window.matchMedia('(prefers-color-scheme: dark)')\n\n const applyTheme = () => {\n const enableTransitions = disableTransitionOnChange ? disableAnimation() : null\n\n root.classList.remove('light', 'dark')\n root.classList.add(theme === 'system' ? (darkSchemeQuery.matches ? 'dark' : 'light') : theme)\n\n enableTransitions?.()\n }\n\n applyTheme()\n\n // With the system theme, follow the OS while the app is open.\n if (theme !== 'system') return\n darkSchemeQuery.addEventListener('change', applyTheme)\n return () => darkSchemeQuery.removeEventListener('change', applyTheme)\n }, [theme, disableTransitionOnChange])\n\n const value = {\n theme,\n setTheme: (theme: Theme) => {\n writeStoredTheme(storageKey, theme)\n setTheme(theme)\n }\n }\n\n return (\n <ThemeProviderContext.Provider {...props} value={value}>\n {children}\n </ThemeProviderContext.Provider>\n )\n}\n\nexport const useTheme = () => {\n const context = use(ThemeProviderContext)\n\n if (context === undefined || Object.keys(context).length === 0) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n\nexport function ModeToggle(props: ModeToggleProps) {\n const { setTheme } = useTheme()\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\" {...props}>\n <IconSun className=\"h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90\" />\n <IconMoon className=\"absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setTheme('light')}>Light</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('dark')}>Dark</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('system')}>System</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"],"mappings":"iYAoCA,MAAMA,EAAuBC,EAAc,CAAC,CAAuB,EAEnE,SAAS,kBAAmB,CAC1B,IAAMC,EAAM,SAAS,cAAc,OAAO,EAS1C,OAPAA,EAAI,YACF,SAAS,eACP,6KACF,CACF,EACA,SAAS,KAAK,YAAYA,CAAG,MAEhB,CACX,OAAO,iBAAiB,SAAS,IAAI,EAErC,eAAiB,CACf,SAAS,KAAK,YAAYA,CAAG,CAC/B,EAAG,CAAC,CACN,CACF,CAGA,SAAS,gBAAgB,EAAoB,EAAqB,CAChE,GAAI,CACF,OAAQ,OAAO,aAAa,QAAQC,CAAU,GAAsBC,CACtE,MAAQ,CACN,OAAOA,CACT,CACF,CAEA,SAAS,iBAAiB,EAAoB,EAAc,CAC1D,GAAI,CACF,OAAO,aAAa,QAAQD,EAAYE,CAAK,CAC/C,MAAQ,CAAC,CACX,CAEA,SAAgB,cAAc,CAC5B,WACA,eAAe,SACf,aAAa,gBACb,4BAA4B,GAC5B,GAAGC,GACkB,CACrB,GAAM,CAACD,EAAOE,GAAYC,MAAsB,gBAAgBL,EAAYC,CAAY,CAAC,EAEzFK,MAAgB,CACd,IAAMC,EAAO,OAAO,SAAS,gBACvBC,EAAkB,OAAO,WAAW,8BAA8B,EAElE,eAAmB,CACvB,IAAMC,EAAoBC,EAA4B,iBAAiB,EAAI,KAE3EH,EAAK,UAAU,OAAO,QAAS,MAAM,EACrCA,EAAK,UAAU,IAAIL,IAAU,SAAYM,EAAgB,QAAU,OAAS,QAAWN,CAAK,EAE5FO,IAAoB,CACtB,EAKA,GAHA,WAAW,EAGPP,IAAU,SAEd,OADAM,EAAgB,iBAAiB,SAAU,UAAU,MACxCA,EAAgB,oBAAoB,SAAU,UAAU,CACvE,EAAG,CAACN,EAAOQ,CAAyB,CAAC,EAErC,IAAMC,EAAQ,CACZ,QACA,SAAW,GAAiB,CAC1B,iBAAiBX,EAAYE,CAAK,EAClCE,EAASF,CAAK,CAChB,CACF,EAEA,MACE,kBAACL,EAAqB,SAAtB,CAA+B,GAAIM,EAAc,QAC9C,UAC4B,CAAA,CAEnC,CAEA,MAAa,aAAiB,CAC5B,IAAMS,EAAUC,EAAIhB,CAAoB,EAExC,GAAIe,IAAY,IAAA,IAAa,OAAO,KAAKA,CAAO,CAAC,CAAC,SAAW,EAC3D,MAAU,MAAM,8CAA8C,EAGhE,OAAOA,CACT,EAEA,SAAgB,WAAW,EAAwB,CACjD,GAAM,CAAE,YAAa,SAAS,EAE9B,MACE,kBAACE,EAAD,CAAA,SAAA,CACE,kBAACC,EAAD,CAAqB,QAAA,GACnB,SAAA,kBAACC,EAAD,CAAQ,QAAQ,UAAU,KAAK,OAAO,GAAIb,EAA1C,SAAA,CACE,kBAACc,EAAD,CAAS,UAAU,sFAAwF,CAAA,EAC3G,kBAACC,EAAD,CAAU,UAAU,8FAAgG,CAAA,EACpH,kBAAC,OAAD,CAAM,UAAU,UAAU,SAAA,cAAkB,CAAA,CACtC,GACW,CAAA,EACrB,kBAACC,EAAD,CAAqB,MAAM,MAA3B,SAAA,CACE,kBAACC,EAAD,CAAkB,YAAehB,EAAS,OAAO,EAAG,SAAA,OAAuB,CAAA,EAC3E,kBAACgB,EAAD,CAAkB,YAAehB,EAAS,MAAM,EAAG,SAAA,MAAsB,CAAA,EACzE,kBAACgB,EAAD,CAAkB,YAAehB,EAAS,QAAQ,EAAG,SAAA,QAAwB,CAAA,CAC1D,CACT,CAAA,CAAA,CAAA,CAAA,CAElB"}
1
+ {"version":3,"file":"theme.js","names":["ThemeProviderContext","createContext","css","storageKey","defaultTheme","theme","props","setTheme","useState","useEffect","root","darkSchemeQuery","enableTransitions","disableTransitionOnChange","value","context","use","DropdownMenu","DropdownMenuTrigger","Button","IconSun","IconMoon","DropdownMenuContent","DropdownMenuItem"],"sources":["../../src/components/theme.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, use, useEffect, useState } from 'react'\n\nimport { IconMoon, IconSun } from '@tabler/icons-react'\n\nimport { Button } from './button'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './dropdown-menu'\n\nexport type Theme = 'dark' | 'light' | 'system'\n\nexport type ThemeProviderProps = {\n children: React.ReactNode\n /**\n * Theme used until the user picks one.\n * @default 'system'\n */\n defaultTheme?: Theme\n /**\n * `localStorage` key where the theme is saved.\n * @default 'vite-ui-theme'\n */\n storageKey?: string\n /**\n * Turns off CSS transitions while the theme switches.\n * @default false\n */\n disableTransitionOnChange?: boolean\n}\n\nexport type ThemeProviderState = {\n theme: Theme\n setTheme: (theme: Theme) => void\n}\n\nexport type ModeToggleProps = React.ComponentProps<typeof Button>\n\nconst ThemeProviderContext = createContext({} as ThemeProviderState)\n\nfunction disableAnimation() {\n const css = document.createElement('style')\n\n css.appendChild(\n document.createTextNode(\n '*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}'\n )\n )\n document.head.appendChild(css)\n\n return () => {\n window.getComputedStyle(document.body)\n\n setTimeout(() => {\n document.head.removeChild(css)\n }, 1)\n }\n}\n\n// Storage can be missing (server rendering) or throw (blocked by the browser); the theme then just isn't persisted.\nfunction readStoredTheme(storageKey: string, defaultTheme: Theme) {\n try {\n return (window.localStorage.getItem(storageKey) as Theme | null) || defaultTheme\n } catch {\n return defaultTheme\n }\n}\n\nfunction writeStoredTheme(storageKey: string, theme: Theme) {\n try {\n window.localStorage.setItem(storageKey, theme)\n } catch {}\n}\n\nexport function ThemeProvider({\n children,\n defaultTheme = 'system',\n storageKey = 'vite-ui-theme',\n disableTransitionOnChange = false,\n ...props\n}: ThemeProviderProps) {\n const [theme, setTheme] = useState<Theme>(() => readStoredTheme(storageKey, defaultTheme))\n\n useEffect(() => {\n const root = window.document.documentElement\n const darkSchemeQuery = window.matchMedia('(prefers-color-scheme: dark)')\n\n const applyTheme = () => {\n const enableTransitions = disableTransitionOnChange ? disableAnimation() : null\n\n root.classList.remove('light', 'dark')\n root.classList.add(theme === 'system' ? (darkSchemeQuery.matches ? 'dark' : 'light') : theme)\n\n enableTransitions?.()\n }\n\n applyTheme()\n\n // With the system theme, follow the OS while the app is open.\n if (theme !== 'system') return\n darkSchemeQuery.addEventListener('change', applyTheme)\n return () => darkSchemeQuery.removeEventListener('change', applyTheme)\n }, [theme, disableTransitionOnChange])\n\n const value = {\n theme,\n setTheme: (theme: Theme) => {\n writeStoredTheme(storageKey, theme)\n setTheme(theme)\n }\n }\n\n return (\n <ThemeProviderContext.Provider {...props} value={value}>\n {children}\n </ThemeProviderContext.Provider>\n )\n}\n\nexport const useTheme = () => {\n const context = use(ThemeProviderContext)\n\n if (context === undefined || Object.keys(context).length === 0) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n\n return context\n}\n\nexport function ModeToggle(props: ModeToggleProps) {\n const { setTheme } = useTheme()\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" size=\"icon\" {...props}>\n <IconSun className=\"h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90\" />\n <IconMoon className=\"absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0\" />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setTheme('light')}>Light</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('dark')}>Dark</DropdownMenuItem>\n <DropdownMenuItem onClick={() => setTheme('system')}>System</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"],"mappings":"A,iYAoCA,MAAMA,EAAuBC,EAAc,CAAC,CAAuB,EAEnE,SAAS,kBAAmB,CAC1B,IAAMC,EAAM,SAAS,cAAc,OAAO,EAS1C,OAPAA,EAAI,YACF,SAAS,eACP,6KACF,CACF,EACA,SAAS,KAAK,YAAYA,CAAG,MAEhB,CACX,OAAO,iBAAiB,SAAS,IAAI,EAErC,eAAiB,CACf,SAAS,KAAK,YAAYA,CAAG,CAC/B,EAAG,CAAC,CACN,CACF,CAGA,SAAS,gBAAgB,EAAoB,EAAqB,CAChE,GAAI,CACF,OAAQ,OAAO,aAAa,QAAQC,CAAU,GAAsBC,CACtE,MAAQ,CACN,OAAOA,CACT,CACF,CAEA,SAAS,iBAAiB,EAAoB,EAAc,CAC1D,GAAI,CACF,OAAO,aAAa,QAAQD,EAAYE,CAAK,CAC/C,MAAQ,CAAC,CACX,CAEA,SAAgB,cAAc,CAC5B,WACA,eAAe,SACf,aAAa,gBACb,4BAA4B,GAC5B,GAAGC,GACkB,CACrB,GAAM,CAACD,EAAOE,GAAYC,MAAsB,gBAAgBL,EAAYC,CAAY,CAAC,EAEzFK,MAAgB,CACd,IAAMC,EAAO,OAAO,SAAS,gBACvBC,EAAkB,OAAO,WAAW,8BAA8B,EAElE,eAAmB,CACvB,IAAMC,EAAoBC,EAA4B,iBAAiB,EAAI,KAE3EH,EAAK,UAAU,OAAO,QAAS,MAAM,EACrCA,EAAK,UAAU,IAAIL,IAAU,SAAYM,EAAgB,QAAU,OAAS,QAAWN,CAAK,EAE5FO,IAAoB,CACtB,EAKA,GAHA,WAAW,EAGPP,IAAU,SAEd,OADAM,EAAgB,iBAAiB,SAAU,UAAU,MACxCA,EAAgB,oBAAoB,SAAU,UAAU,CACvE,EAAG,CAACN,EAAOQ,CAAyB,CAAC,EAErC,IAAMC,EAAQ,CACZ,QACA,SAAW,GAAiB,CAC1B,iBAAiBX,EAAYE,CAAK,EAClCE,EAASF,CAAK,CAChB,CACF,EAEA,MACE,kBAACL,EAAqB,SAAtB,CAA+B,GAAIM,EAAc,QAC9C,UAC4B,CAAA,CAEnC,CAEA,MAAa,aAAiB,CAC5B,IAAMS,EAAUC,EAAIhB,CAAoB,EAExC,GAAIe,IAAY,IAAA,IAAa,OAAO,KAAKA,CAAO,CAAC,CAAC,SAAW,EAC3D,MAAU,MAAM,8CAA8C,EAGhE,OAAOA,CACT,EAEA,SAAgB,WAAW,EAAwB,CACjD,GAAM,CAAE,YAAa,SAAS,EAE9B,MACE,kBAACE,EAAD,CAAA,SAAA,CACE,kBAACC,EAAD,CAAqB,QAAA,GACnB,SAAA,kBAACC,EAAD,CAAQ,QAAQ,UAAU,KAAK,OAAO,GAAIb,EAA1C,SAAA,CACE,kBAACc,EAAD,CAAS,UAAU,sFAAwF,CAAA,EAC3G,kBAACC,EAAD,CAAU,UAAU,8FAAgG,CAAA,EACpH,kBAAC,OAAD,CAAM,UAAU,UAAU,SAAA,cAAkB,CAAA,CACtC,C,EACW,CAAA,EACrB,kBAACC,EAAD,CAAqB,MAAM,MAA3B,SAAA,CACE,kBAACC,EAAD,CAAkB,YAAehB,EAAS,OAAO,EAAG,SAAA,OAAuB,CAAA,EAC3E,kBAACgB,EAAD,CAAkB,YAAehB,EAAS,MAAM,EAAG,SAAA,MAAsB,CAAA,EACzE,kBAACgB,EAAD,CAAkB,YAAehB,EAAS,QAAQ,EAAG,SAAA,QAAwB,CAAA,CAC1D,CACT,CAAA,CAAA,CAAA,CAAA,CAElB,C"}
@@ -1,7 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import * as React from "react";
3
3
  import { VariantProps } from "class-variance-authority";
4
- //#region src/components/timeline.d.ts
5
4
  declare const timelineVariants: (props?: ({
6
5
  size?: "lg" | "md" | "sm" | null | undefined;
7
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -80,6 +79,5 @@ export type TimelineContentProps = React.ComponentProps<'div'>;
80
79
  declare const TimelineContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
81
80
  export type TimelineEmptyProps = React.ComponentProps<'div'>;
82
81
  declare const TimelineEmpty: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
83
- //#endregion
84
82
  export { Timeline, TimelineConnector, TimelineContent, TimelineDescription, TimelineEmpty, TimelineHeader, TimelineIcon, TimelineItem, TimelineTime, TimelineTitle, timelineVariants };
85
83
  //# sourceMappingURL=timeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","names":["React","timelineVariants","cva","timelineItemVariants","timelineConnectorVariants","timelineIconVariants","timelineIconContentVariants","Timeline","props","childArray","children","totalItems","size","cn","className","TimelineEmpty","itemIndex","child","isLastItem","iconSize","TimelineItem","loading","status","Spinner","showConnector","error","TimelineTime","date","IconAlertCircle","TimelineConnector","TimelineHeader","TimelineTitle","title","TimelineDescription","TimelineIcon","iconColor","connectorColor","TimelineContent","description","defaultDateFormat","dateValue","formattedDate","format","color","icon","parsedDate","ISO_DATE_PATTERN","keyPrefix"],"sources":["../../src/components/timeline.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconAlertCircle } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { Spinner } from './spinner'\n\nconst timelineVariants = cva('relative mx-auto m-0 flex w-full max-w-2xl min-h-150 list-none flex-col p-0 py-8', {\n variants: {\n size: {\n sm: 'gap-4',\n md: 'gap-6',\n lg: 'gap-8'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst timelineItemVariants = cva('relative w-full last:mb-0', {\n variants: {\n tone: {\n default: 'mb-2',\n error: 'mb-2'\n }\n },\n defaultVariants: {\n tone: 'default'\n }\n})\n\nconst timelineConnectorVariants = cva('w-0.5', {\n variants: {\n status: {\n completed: 'bg-primary',\n 'in-progress': 'bg-accent',\n pending: 'bg-muted'\n },\n color: {\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n muted: 'bg-muted',\n accent: 'bg-accent',\n destructive: 'bg-destructive',\n gradient: 'bg-linear-to-b from-primary to-muted'\n }\n }\n})\n\nconst timelineIconVariants = cva(\n 'relative flex items-center justify-center rounded-full ring-8 ring-background shadow-sm',\n {\n variants: {\n color: {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n muted: 'bg-muted text-muted-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground'\n },\n size: {\n sm: 'h-8 w-8',\n md: 'h-10 w-10',\n lg: 'h-12 w-12'\n }\n },\n defaultVariants: {\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nconst timelineIconContentVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TimelineIconSize = NonNullable<VariantProps<typeof timelineIconVariants>['size']>\nexport type TimelineConnectorColor = NonNullable<VariantProps<typeof timelineConnectorVariants>['color']>\nexport type TimelineIconColor = NonNullable<VariantProps<typeof timelineIconVariants>['color']>\nexport type TimelineStatus = NonNullable<VariantProps<typeof timelineConnectorVariants>['status']>\n\nexport type TimelineProps = React.ComponentProps<'ol'> &\n VariantProps<typeof timelineVariants> & {\n /** Icon size for every item. */\n iconSize?: TimelineIconSize\n }\n\nconst Timeline = React.forwardRef<HTMLOListElement, TimelineProps>(\n ({ className, iconSize, size = 'md', children, ...props }, ref) => {\n const childArray = flattenFragments(children)\n const totalItems = childArray.filter(isTimelineItemElement).length\n\n if (childArray.length === 0) {\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n <li className=\"list-none\">\n <TimelineEmpty />\n </li>\n </ol>\n )\n }\n\n let itemIndex = 0\n\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n {childArray.map((child) => {\n if (!isTimelineItemElement(child)) {\n return child\n }\n\n const isLastItem = itemIndex === totalItems - 1\n itemIndex += 1\n\n return React.cloneElement(child, {\n iconSize: child.props.iconSize ?? iconSize,\n showConnector: child.props.showConnector ?? !isLastItem\n })\n })}\n </ol>\n )\n }\n)\nTimeline.displayName = 'Timeline'\n\nexport type TimelineItemProps = React.ComponentProps<'li'> & {\n /** Date shown next to the icon. ISO strings and timestamps are also exposed as machine-readable dates. */\n date?: React.ReactNode\n /** Item title. */\n title?: React.ReactNode\n /** Text below the title. */\n description?: React.ReactNode\n /** Icon inside the circle. */\n icon?: React.ReactNode\n /** Background color of the icon. */\n iconColor?: TimelineIconColor\n /**\n * Progress of the item; sets the connector color. `in-progress` marks it as the current step.\n * @default 'completed'\n */\n status?: TimelineStatus\n /** Overrides the connector color. */\n connectorColor?: TimelineConnectorColor\n /**\n * Shows the line to the next item.\n * @default true\n */\n showConnector?: boolean\n /** Icon size for this item. Defaults to the timeline `iconSize`. */\n iconSize?: TimelineIconSize\n /**\n * Renders a skeleton instead of the item.\n * @default false\n */\n loading?: boolean\n /** Renders the item as failed, with this message. */\n error?: React.ReactNode\n}\n\nconst TimelineItem = React.forwardRef<HTMLLIElement, TimelineItemProps>(\n (\n {\n className,\n children,\n date,\n title,\n description,\n icon,\n iconColor,\n status = 'completed',\n connectorColor,\n showConnector = true,\n iconSize,\n loading = false,\n error,\n ...props\n },\n ref\n ) => {\n if (loading) {\n return (\n <li\n ref={ref}\n aria-busy=\"true\"\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 animate-pulse items-center justify-center rounded-full bg-muted ring-8 ring-background\">\n <Spinner />\n </div>\n {showConnector && <div className=\"h-full w-0.5 animate-pulse bg-muted\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <div className=\"space-y-2\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n <div className=\"h-3 w-48 animate-pulse rounded bg-muted\" />\n </div>\n </div>\n </div>\n </li>\n )\n }\n\n if (error) {\n return (\n <li\n ref={ref}\n role=\"alert\"\n data-slot=\"timeline-item\"\n data-status=\"error\"\n className={cn(timelineItemVariants({ tone: 'error' }), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <TimelineTime className=\"text-destructive\" dateTime={getItemDateTime(date)}>\n {date}\n </TimelineTime>\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 items-center justify-center rounded-full bg-destructive/20 ring-8 ring-background\">\n <IconAlertCircle className=\"h-4 w-4 text-destructive\" />\n </div>\n {showConnector && <TimelineConnector color=\"destructive\" className=\"h-full\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <TimelineHeader>\n <TimelineTitle className=\"text-destructive\">{title || 'Error'}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription className=\"text-destructive\">{error}</TimelineDescription>\n </div>\n </div>\n </li>\n )\n }\n\n if (children != null) {\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n {children}\n </li>\n )\n }\n\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n <div className=\"grid grid-cols-[1fr_auto_1fr] items-start gap-4\">\n <div className=\"flex flex-col justify-start pt-1\">\n <TimelineTime className=\"pr-4 text-right\" dateTime={getItemDateTime(date)}>\n {date}\n </TimelineTime>\n </div>\n\n <div className=\"flex flex-col items-center\">\n <div className=\"relative z-10\">\n <TimelineIcon\n icon={icon}\n color={iconColor ?? (status === 'pending' ? 'muted' : 'primary')}\n size={iconSize}\n />\n </div>\n {showConnector && <TimelineConnector status={status} color={connectorColor} className=\"mt-2 h-16\" />}\n </div>\n\n <TimelineContent>\n <TimelineHeader>\n <TimelineTitle>{title}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription>{description}</TimelineDescription>\n </TimelineContent>\n </div>\n </li>\n )\n }\n)\nTimelineItem.displayName = 'TimelineItem'\n\nexport type TimelineTimeProps = React.ComponentProps<'time'> & {\n /** Date to format (`Date`, timestamp or ISO string). */\n date?: string | Date | number\n /** `Intl.DateTimeFormat` options merged over the defaults. */\n format?: Intl.DateTimeFormatOptions\n}\n\nconst defaultDateFormat: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: '2-digit'\n}\n\nconst TimelineTime = React.forwardRef<HTMLTimeElement, TimelineTimeProps>(\n ({ className, date, format, children, ...props }, ref) => {\n const dateValue = React.useMemo(() => getValidDate(date), [date])\n\n const formattedDate = React.useMemo(() => {\n if (!dateValue) {\n return ''\n }\n\n return new Intl.DateTimeFormat('en-US', {\n ...defaultDateFormat,\n ...format\n }).format(dateValue)\n }, [dateValue, format])\n\n return (\n <time\n ref={ref}\n data-slot=\"timeline-time\"\n dateTime={dateValue?.toISOString()}\n className={cn('text-sm font-medium tracking-tight text-muted-foreground', className)}\n {...props}\n >\n {children || formattedDate}\n </time>\n )\n }\n)\nTimelineTime.displayName = 'TimelineTime'\n\nexport type TimelineConnectorProps = React.ComponentProps<'div'> & VariantProps<typeof timelineConnectorVariants>\n\nconst TimelineConnector = React.forwardRef<HTMLDivElement, TimelineConnectorProps>(\n ({ className, status = 'completed', color, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-connector\"\n data-status={status}\n data-color={color}\n className={cn(color ? timelineConnectorVariants({ color }) : timelineConnectorVariants({ status }), className)}\n {...props}\n />\n )\n)\nTimelineConnector.displayName = 'TimelineConnector'\n\nexport type TimelineHeaderProps = React.ComponentProps<'div'>\n\nconst TimelineHeader = React.forwardRef<HTMLDivElement, TimelineHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-header\" className={cn('flex items-center gap-4', className)} {...props} />\n))\nTimelineHeader.displayName = 'TimelineHeader'\n\nexport type TimelineTitleProps = React.ComponentProps<'h3'>\n\nconst TimelineTitle = React.forwardRef<HTMLHeadingElement, TimelineTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n data-slot=\"timeline-title\"\n className={cn('font-semibold leading-none tracking-tight text-secondary-foreground', className)}\n {...props}\n />\n))\nTimelineTitle.displayName = 'TimelineTitle'\n\nexport type TimelineIconProps = React.ComponentProps<'div'> &\n VariantProps<typeof timelineIconVariants> & {\n /** Icon inside the circle. */\n icon?: React.ReactNode\n }\n\nconst TimelineIcon = React.forwardRef<HTMLDivElement, TimelineIconProps>(\n ({ className, color = 'primary', icon, size = 'md', ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-icon\"\n data-color={color}\n data-size={size}\n className={cn(timelineIconVariants({ color, size }), className)}\n {...props}\n >\n {icon ? (\n <div className={timelineIconContentVariants({ size })}>{icon}</div>\n ) : (\n <div className={cn('rounded-full', timelineIconContentVariants({ size }))} />\n )}\n </div>\n )\n)\nTimelineIcon.displayName = 'TimelineIcon'\n\nexport type TimelineDescriptionProps = React.ComponentProps<'p'>\n\nconst TimelineDescription = React.forwardRef<HTMLParagraphElement, TimelineDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"timeline-description\"\n className={cn('max-w-sm text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nTimelineDescription.displayName = 'TimelineDescription'\n\nexport type TimelineContentProps = React.ComponentProps<'div'>\n\nconst TimelineContent = React.forwardRef<HTMLDivElement, TimelineContentProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-content\" className={cn('flex flex-col gap-2 pl-2', className)} {...props} />\n))\nTimelineContent.displayName = 'TimelineContent'\n\nexport type TimelineEmptyProps = React.ComponentProps<'div'>\n\nconst TimelineEmpty = React.forwardRef<HTMLDivElement, TimelineEmptyProps>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-empty\"\n className={cn('flex flex-col items-center justify-center p-8 text-center', className)}\n {...props}\n >\n <p className=\"text-sm text-muted-foreground\">{children || 'No timeline items to display'}</p>\n </div>\n))\nTimelineEmpty.displayName = 'TimelineEmpty'\n\nfunction getValidDate(date?: string | Date | number) {\n if (date == null || date === '') {\n return null\n }\n\n const parsedDate = date instanceof Date ? date : new Date(date)\n\n return Number.isNaN(parsedDate.getTime()) ? null : parsedDate\n}\n\n// Matches ISO 8601 dates (`2024-01-15`, `2024-01-15T10:30:00Z`). Other formats such as `01/02/2024` are\n// ambiguous across locales, so they are shown as given without a machine-readable `dateTime`.\nconst ISO_DATE_PATTERN = /^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$/\n\nfunction getItemDateTime(date: React.ReactNode) {\n if (typeof date === 'number') {\n return getValidDate(date)?.toISOString()\n }\n if (typeof date === 'string' && ISO_DATE_PATTERN.test(date.trim()) && getValidDate(date.trim())) {\n return date.trim()\n }\n return undefined\n}\n\n// Opens fragments so items inside them count as items (empty state, last connector, `iconSize`). Keys are\n// prefixed with the fragment key so items from sibling fragments never collide.\nfunction flattenFragments(children: React.ReactNode, keyPrefix = ''): React.ReactNode[] {\n return React.Children.toArray(children).flatMap((child) => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n return flattenFragments(child.props.children, `${keyPrefix}${child.key}/`)\n }\n if (keyPrefix && React.isValidElement(child)) {\n return [React.cloneElement(child, { key: `${keyPrefix}${child.key}` })]\n }\n return [child]\n })\n}\n\nfunction isTimelineItemElement(child: React.ReactNode): child is React.ReactElement<TimelineItemProps> {\n return React.isValidElement(child) && child.type === TimelineItem\n}\n\nexport {\n Timeline,\n TimelineConnector,\n TimelineContent,\n TimelineDescription,\n TimelineEmpty,\n TimelineHeader,\n TimelineIcon,\n TimelineItem,\n TimelineTime,\n TimelineTitle,\n timelineVariants\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","names":["React","timelineVariants","cva","timelineItemVariants","timelineConnectorVariants","timelineIconVariants","timelineIconContentVariants","Timeline","props","childArray","children","totalItems","size","cn","className","TimelineEmpty","itemIndex","child","isLastItem","iconSize","TimelineItem","loading","status","Spinner","showConnector","error","TimelineTime","date","IconAlertCircle","TimelineConnector","TimelineHeader","TimelineTitle","title","TimelineDescription","TimelineIcon","iconColor","connectorColor","TimelineContent","description","defaultDateFormat","dateValue","formattedDate","format","color","icon","parsedDate","ISO_DATE_PATTERN","keyPrefix"],"sources":["../../src/components/timeline.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconAlertCircle } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { Spinner } from './spinner'\n\nconst timelineVariants = cva('relative mx-auto m-0 flex w-full max-w-2xl min-h-150 list-none flex-col p-0 py-8', {\n variants: {\n size: {\n sm: 'gap-4',\n md: 'gap-6',\n lg: 'gap-8'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst timelineItemVariants = cva('relative w-full last:mb-0', {\n variants: {\n tone: {\n default: 'mb-2',\n error: 'mb-2'\n }\n },\n defaultVariants: {\n tone: 'default'\n }\n})\n\nconst timelineConnectorVariants = cva('w-0.5', {\n variants: {\n status: {\n completed: 'bg-primary',\n 'in-progress': 'bg-accent',\n pending: 'bg-muted'\n },\n color: {\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n muted: 'bg-muted',\n accent: 'bg-accent',\n destructive: 'bg-destructive',\n gradient: 'bg-linear-to-b from-primary to-muted'\n }\n }\n})\n\nconst timelineIconVariants = cva(\n 'relative flex items-center justify-center rounded-full ring-8 ring-background shadow-sm',\n {\n variants: {\n color: {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n muted: 'bg-muted text-muted-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground'\n },\n size: {\n sm: 'h-8 w-8',\n md: 'h-10 w-10',\n lg: 'h-12 w-12'\n }\n },\n defaultVariants: {\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nconst timelineIconContentVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type TimelineIconSize = NonNullable<VariantProps<typeof timelineIconVariants>['size']>\nexport type TimelineConnectorColor = NonNullable<VariantProps<typeof timelineConnectorVariants>['color']>\nexport type TimelineIconColor = NonNullable<VariantProps<typeof timelineIconVariants>['color']>\nexport type TimelineStatus = NonNullable<VariantProps<typeof timelineConnectorVariants>['status']>\n\nexport type TimelineProps = React.ComponentProps<'ol'> &\n VariantProps<typeof timelineVariants> & {\n /** Icon size for every item. */\n iconSize?: TimelineIconSize\n }\n\nconst Timeline = React.forwardRef<HTMLOListElement, TimelineProps>(\n ({ className, iconSize, size = 'md', children, ...props }, ref) => {\n const childArray = flattenFragments(children)\n const totalItems = childArray.filter(isTimelineItemElement).length\n\n if (childArray.length === 0) {\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n <li className=\"list-none\">\n <TimelineEmpty />\n </li>\n </ol>\n )\n }\n\n let itemIndex = 0\n\n return (\n <ol\n ref={ref}\n aria-label=\"Timeline\"\n data-slot=\"timeline\"\n data-size={size}\n className={cn(timelineVariants({ size }), className)}\n {...props}\n >\n {childArray.map((child) => {\n if (!isTimelineItemElement(child)) {\n return child\n }\n\n const isLastItem = itemIndex === totalItems - 1\n itemIndex += 1\n\n return React.cloneElement(child, {\n iconSize: child.props.iconSize ?? iconSize,\n showConnector: child.props.showConnector ?? !isLastItem\n })\n })}\n </ol>\n )\n }\n)\nTimeline.displayName = 'Timeline'\n\nexport type TimelineItemProps = React.ComponentProps<'li'> & {\n /** Date shown next to the icon. ISO strings and timestamps are also exposed as machine-readable dates. */\n date?: React.ReactNode\n /** Item title. */\n title?: React.ReactNode\n /** Text below the title. */\n description?: React.ReactNode\n /** Icon inside the circle. */\n icon?: React.ReactNode\n /** Background color of the icon. */\n iconColor?: TimelineIconColor\n /**\n * Progress of the item; sets the connector color. `in-progress` marks it as the current step.\n * @default 'completed'\n */\n status?: TimelineStatus\n /** Overrides the connector color. */\n connectorColor?: TimelineConnectorColor\n /**\n * Shows the line to the next item.\n * @default true\n */\n showConnector?: boolean\n /** Icon size for this item. Defaults to the timeline `iconSize`. */\n iconSize?: TimelineIconSize\n /**\n * Renders a skeleton instead of the item.\n * @default false\n */\n loading?: boolean\n /** Renders the item as failed, with this message. */\n error?: React.ReactNode\n}\n\nconst TimelineItem = React.forwardRef<HTMLLIElement, TimelineItemProps>(\n (\n {\n className,\n children,\n date,\n title,\n description,\n icon,\n iconColor,\n status = 'completed',\n connectorColor,\n showConnector = true,\n iconSize,\n loading = false,\n error,\n ...props\n },\n ref\n ) => {\n if (loading) {\n return (\n <li\n ref={ref}\n aria-busy=\"true\"\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 animate-pulse items-center justify-center rounded-full bg-muted ring-8 ring-background\">\n <Spinner />\n </div>\n {showConnector && <div className=\"h-full w-0.5 animate-pulse bg-muted\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <div className=\"space-y-2\">\n <div className=\"h-4 w-24 animate-pulse rounded bg-muted\" />\n <div className=\"h-3 w-48 animate-pulse rounded bg-muted\" />\n </div>\n </div>\n </div>\n </li>\n )\n }\n\n if (error) {\n return (\n <li\n ref={ref}\n role=\"alert\"\n data-slot=\"timeline-item\"\n data-status=\"error\"\n className={cn(timelineItemVariants({ tone: 'error' }), className)}\n {...props}\n >\n <div className=\"grid grid-cols-[minmax(auto,8rem)_auto_1fr] items-start px-4\">\n <div className=\"pr-4 text-right\">\n <TimelineTime className=\"text-destructive\" dateTime={getItemDateTime(date)}>\n {date}\n </TimelineTime>\n </div>\n\n <div className=\"mx-3 flex flex-col items-center justify-start gap-y-2\">\n <div className=\"relative flex h-8 w-8 items-center justify-center rounded-full bg-destructive/20 ring-8 ring-background\">\n <IconAlertCircle className=\"h-4 w-4 text-destructive\" />\n </div>\n {showConnector && <TimelineConnector color=\"destructive\" className=\"h-full\" />}\n </div>\n\n <div className=\"flex flex-col gap-2 pl-2\">\n <TimelineHeader>\n <TimelineTitle className=\"text-destructive\">{title || 'Error'}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription className=\"text-destructive\">{error}</TimelineDescription>\n </div>\n </div>\n </li>\n )\n }\n\n if (children != null) {\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n {children}\n </li>\n )\n }\n\n return (\n <li\n ref={ref}\n data-slot=\"timeline-item\"\n data-status={status}\n className={cn(timelineItemVariants(), className)}\n aria-current={status === 'in-progress' ? 'step' : undefined}\n {...props}\n >\n <div className=\"grid grid-cols-[1fr_auto_1fr] items-start gap-4\">\n <div className=\"flex flex-col justify-start pt-1\">\n <TimelineTime className=\"pr-4 text-right\" dateTime={getItemDateTime(date)}>\n {date}\n </TimelineTime>\n </div>\n\n <div className=\"flex flex-col items-center\">\n <div className=\"relative z-10\">\n <TimelineIcon\n icon={icon}\n color={iconColor ?? (status === 'pending' ? 'muted' : 'primary')}\n size={iconSize}\n />\n </div>\n {showConnector && <TimelineConnector status={status} color={connectorColor} className=\"mt-2 h-16\" />}\n </div>\n\n <TimelineContent>\n <TimelineHeader>\n <TimelineTitle>{title}</TimelineTitle>\n </TimelineHeader>\n <TimelineDescription>{description}</TimelineDescription>\n </TimelineContent>\n </div>\n </li>\n )\n }\n)\nTimelineItem.displayName = 'TimelineItem'\n\nexport type TimelineTimeProps = React.ComponentProps<'time'> & {\n /** Date to format (`Date`, timestamp or ISO string). */\n date?: string | Date | number\n /** `Intl.DateTimeFormat` options merged over the defaults. */\n format?: Intl.DateTimeFormatOptions\n}\n\nconst defaultDateFormat: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: '2-digit'\n}\n\nconst TimelineTime = React.forwardRef<HTMLTimeElement, TimelineTimeProps>(\n ({ className, date, format, children, ...props }, ref) => {\n const dateValue = React.useMemo(() => getValidDate(date), [date])\n\n const formattedDate = React.useMemo(() => {\n if (!dateValue) {\n return ''\n }\n\n return new Intl.DateTimeFormat('en-US', {\n ...defaultDateFormat,\n ...format\n }).format(dateValue)\n }, [dateValue, format])\n\n return (\n <time\n ref={ref}\n data-slot=\"timeline-time\"\n dateTime={dateValue?.toISOString()}\n className={cn('text-sm font-medium tracking-tight text-muted-foreground', className)}\n {...props}\n >\n {children || formattedDate}\n </time>\n )\n }\n)\nTimelineTime.displayName = 'TimelineTime'\n\nexport type TimelineConnectorProps = React.ComponentProps<'div'> & VariantProps<typeof timelineConnectorVariants>\n\nconst TimelineConnector = React.forwardRef<HTMLDivElement, TimelineConnectorProps>(\n ({ className, status = 'completed', color, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-connector\"\n data-status={status}\n data-color={color}\n className={cn(color ? timelineConnectorVariants({ color }) : timelineConnectorVariants({ status }), className)}\n {...props}\n />\n )\n)\nTimelineConnector.displayName = 'TimelineConnector'\n\nexport type TimelineHeaderProps = React.ComponentProps<'div'>\n\nconst TimelineHeader = React.forwardRef<HTMLDivElement, TimelineHeaderProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-header\" className={cn('flex items-center gap-4', className)} {...props} />\n))\nTimelineHeader.displayName = 'TimelineHeader'\n\nexport type TimelineTitleProps = React.ComponentProps<'h3'>\n\nconst TimelineTitle = React.forwardRef<HTMLHeadingElement, TimelineTitleProps>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n data-slot=\"timeline-title\"\n className={cn('font-semibold leading-none tracking-tight text-secondary-foreground', className)}\n {...props}\n />\n))\nTimelineTitle.displayName = 'TimelineTitle'\n\nexport type TimelineIconProps = React.ComponentProps<'div'> &\n VariantProps<typeof timelineIconVariants> & {\n /** Icon inside the circle. */\n icon?: React.ReactNode\n }\n\nconst TimelineIcon = React.forwardRef<HTMLDivElement, TimelineIconProps>(\n ({ className, color = 'primary', icon, size = 'md', ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-icon\"\n data-color={color}\n data-size={size}\n className={cn(timelineIconVariants({ color, size }), className)}\n {...props}\n >\n {icon ? (\n <div className={timelineIconContentVariants({ size })}>{icon}</div>\n ) : (\n <div className={cn('rounded-full', timelineIconContentVariants({ size }))} />\n )}\n </div>\n )\n)\nTimelineIcon.displayName = 'TimelineIcon'\n\nexport type TimelineDescriptionProps = React.ComponentProps<'p'>\n\nconst TimelineDescription = React.forwardRef<HTMLParagraphElement, TimelineDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"timeline-description\"\n className={cn('max-w-sm text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nTimelineDescription.displayName = 'TimelineDescription'\n\nexport type TimelineContentProps = React.ComponentProps<'div'>\n\nconst TimelineContent = React.forwardRef<HTMLDivElement, TimelineContentProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"timeline-content\" className={cn('flex flex-col gap-2 pl-2', className)} {...props} />\n))\nTimelineContent.displayName = 'TimelineContent'\n\nexport type TimelineEmptyProps = React.ComponentProps<'div'>\n\nconst TimelineEmpty = React.forwardRef<HTMLDivElement, TimelineEmptyProps>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"timeline-empty\"\n className={cn('flex flex-col items-center justify-center p-8 text-center', className)}\n {...props}\n >\n <p className=\"text-sm text-muted-foreground\">{children || 'No timeline items to display'}</p>\n </div>\n))\nTimelineEmpty.displayName = 'TimelineEmpty'\n\nfunction getValidDate(date?: string | Date | number) {\n if (date == null || date === '') {\n return null\n }\n\n const parsedDate = date instanceof Date ? date : new Date(date)\n\n return Number.isNaN(parsedDate.getTime()) ? null : parsedDate\n}\n\n// Matches ISO 8601 dates (`2024-01-15`, `2024-01-15T10:30:00Z`). Other formats such as `01/02/2024` are\n// ambiguous across locales, so they are shown as given without a machine-readable `dateTime`.\nconst ISO_DATE_PATTERN = /^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$/\n\nfunction getItemDateTime(date: React.ReactNode) {\n if (typeof date === 'number') {\n return getValidDate(date)?.toISOString()\n }\n if (typeof date === 'string' && ISO_DATE_PATTERN.test(date.trim()) && getValidDate(date.trim())) {\n return date.trim()\n }\n return undefined\n}\n\n// Opens fragments so items inside them count as items (empty state, last connector, `iconSize`). Keys are\n// prefixed with the fragment key so items from sibling fragments never collide.\nfunction flattenFragments(children: React.ReactNode, keyPrefix = ''): React.ReactNode[] {\n return React.Children.toArray(children).flatMap((child) => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n return flattenFragments(child.props.children, `${keyPrefix}${child.key}/`)\n }\n if (keyPrefix && React.isValidElement(child)) {\n return [React.cloneElement(child, { key: `${keyPrefix}${child.key}` })]\n }\n return [child]\n })\n}\n\nfunction isTimelineItemElement(child: React.ReactNode): child is React.ReactElement<TimelineItemProps> {\n return React.isValidElement(child) && child.type === TimelineItem\n}\n\nexport {\n Timeline,\n TimelineConnector,\n TimelineContent,\n TimelineDescription,\n TimelineEmpty,\n TimelineHeader,\n TimelineIcon,\n TimelineItem,\n TimelineTime,\n TimelineTitle,\n timelineVariants\n}\n"],"mappings":"A,mSAQA,MAAMC,EAAmBC,EAAI,mFAAoF,CAC/G,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAEKC,EAAuBD,EAAI,4BAA6B,CAC5D,SAAU,CACR,KAAM,CACJ,QAAS,OACT,MAAO,MACT,CACF,EACA,gBAAiB,CACf,KAAM,SACR,CACF,CAAC,EAEKE,EAA4BF,EAAI,QAAS,CAC7C,SAAU,CACR,OAAQ,CACN,UAAW,aACX,cAAe,YACf,QAAS,UACX,EACA,MAAO,CACL,QAAS,aACT,UAAW,eACX,MAAO,WACP,OAAQ,YACR,YAAa,iBACb,SAAU,sCACZ,CACF,CACF,CAAC,EAEKG,EAAuBH,EAC3B,0FACA,CACE,SAAU,CACR,MAAO,CACL,QAAS,qCACT,UAAW,yCACX,MAAO,iCACP,OAAQ,mCACR,YAAa,4CACf,EACA,KAAM,CACJ,GAAI,UACJ,GAAI,YACJ,GAAI,WACN,CACF,EACA,gBAAiB,CACf,MAAO,UACP,KAAM,IACR,CACF,CACF,EAEMI,EAA8BJ,EAAI,mCAAoC,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAaKK,EAAWP,EAAM,YACpB,CAAE,YAAW,WAAU,OAAO,KAAM,WAAU,GAAGQ,GAAS,IAAQ,CACjE,IAAMC,EAAa,iBAAiBC,CAAQ,EACtCC,EAAaF,EAAW,OAAO,qBAAqB,CAAC,CAAC,OAE5D,GAAIA,EAAW,SAAW,EACxB,MACE,kBAAC,KAAD,CACO,MACL,aAAW,WACX,YAAU,WACV,YAAWG,EACX,UAAWC,EAAGZ,EAAiB,CAAE,MAAK,CAAC,EAAGa,CAAS,EACnD,GAAIN,EAEJ,SAAA,kBAAC,KAAD,CAAI,UAAU,YACZ,SAAA,kBAACO,EAAD,CAAgB,CAAA,CACd,CAAA,CACF,CAAA,EAIR,IAAIC,EAAY,EAEhB,MACE,kBAAC,KAAD,CACO,MACL,aAAW,WACX,YAAU,WACV,YAAWJ,EACX,UAAWC,EAAGZ,EAAiB,CAAE,MAAK,CAAC,EAAGa,CAAS,EACnD,GAAIN,EAEH,SAAAC,EAAW,IAAK,GAAU,CACzB,GAAI,CAAC,sBAAsBQ,CAAK,EAC9B,OAAOA,EAGT,IAAMC,EAAaF,IAAcL,EAAa,EAG9C,MAFA,IAAa,EAENX,EAAM,aAAaiB,EAAO,CAC/B,SAAUA,EAAM,MAAM,UAAYE,EAClC,cAAeF,EAAM,MAAM,eAAiB,CAACC,CAC/C,CAAC,CACH,CAAC,CACC,CAAA,CAER,CACF,EACA,EAAS,YAAc,WAoCvB,MAAME,EAAepB,EAAM,YAEvB,CACE,YACA,WACA,OACA,QACA,cACA,OACA,YACA,SAAS,YACT,iBACA,gBAAgB,GAChB,WACA,UAAU,GACV,QACA,GAAGQ,GAEL,IAEIa,EAEA,kBAAC,KAAD,CACO,MACL,YAAU,OACV,YAAU,gBACV,cAAaC,EACb,UAAWT,EAAGV,EAAqB,EAAGW,CAAS,EAC/C,GAAIN,EAEJ,SAAA,kBAAC,MAAD,CAAK,UAAU,+DAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,kBACb,SAAA,kBAAC,MAAD,CAAK,UAAU,yCAA2C,CAAA,CACvD,CAAA,EAEL,kBAAC,MAAD,CAAK,UAAU,wDAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,+GACb,SAAA,kBAACe,EAAD,CAAU,CAAA,CACP,CAAA,EACJC,GAAiB,kBAAC,MAAD,CAAK,UAAU,qCAAuC,CAAA,CACrE,C,GAEL,kBAAC,MAAD,CAAK,UAAU,2BACb,SAAA,kBAAC,MAAD,CAAK,UAAU,YAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,yCAA2C,CAAA,EAC1D,kBAAC,MAAD,CAAK,UAAU,yCAA2C,CAAA,CACvD,C,EACF,CAAA,CACF,C,EACH,CAAA,EAIJC,EAEA,kBAAC,KAAD,CACO,MACL,KAAK,QACL,YAAU,gBACV,cAAY,QACZ,UAAWZ,EAAGV,EAAqB,CAAE,KAAM,OAAQ,CAAC,EAAGW,CAAS,EAChE,GAAIN,EAEJ,SAAA,kBAAC,MAAD,CAAK,UAAU,+DAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,kBACb,SAAA,kBAACkB,EAAD,CAAc,UAAU,mBAAmB,SAAU,gBAAgBC,CAAI,EACtE,SAAAA,CACW,CAAA,CACX,CAAA,EAEL,kBAAC,MAAD,CAAK,UAAU,wDAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,0GACb,SAAA,kBAACC,EAAD,CAAiB,UAAU,0BAA4B,CAAA,CACpD,CAAA,EACJJ,GAAiB,kBAACK,EAAD,CAAmB,MAAM,cAAc,UAAU,QAAU,CAAA,CAC1E,C,GAEL,kBAAC,MAAD,CAAK,UAAU,2BAAf,SAAA,CACE,kBAACC,EAAD,CAAA,SACE,kBAACC,EAAD,CAAe,UAAU,mBAAoB,SAAAC,GAAS,OAAuB,CAAA,CAC/D,CAAA,EAChB,kBAACC,EAAD,CAAqB,UAAU,mBAAoB,SAAAR,CAA2B,CAAA,CAC3E,C,EACF,C,EACH,CAAA,EAIJf,GAAY,KAgBd,kBAAC,KAAD,CACO,MACL,YAAU,gBACV,cAAaY,EACb,UAAWT,EAAGV,EAAqB,EAAGW,CAAS,EAC/C,eAAcQ,IAAW,cAAgB,OAAS,IAAA,GAClD,GAAId,EAEJ,SAAA,kBAAC,MAAD,CAAK,UAAU,kDAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,mCACb,SAAA,kBAACkB,EAAD,CAAc,UAAU,kBAAkB,SAAU,gBAAgBC,CAAI,EACrE,SAAAA,CACW,CAAA,CACX,CAAA,EAEL,kBAAC,MAAD,CAAK,UAAU,6BAAf,SAAA,CACE,kBAAC,MAAD,CAAK,UAAU,gBACb,SAAA,kBAACO,EAAD,CACQ,OACN,MAAOC,IAAcb,IAAW,UAAY,QAAU,WACtD,KAAMH,CACP,CAAA,CACE,CAAA,EACJK,GAAiB,kBAACK,EAAD,CAA2B,SAAQ,MAAOO,EAAgB,UAAU,WAAa,CAAA,CAChG,C,GAEL,kBAACC,EAAD,CAAA,SAAA,CACE,kBAACP,EAAD,CAAA,SACE,kBAACC,EAAD,CAAA,SAAgBC,CAAqB,CAAA,CACvB,CAAA,EAChB,kBAACC,EAAD,CAAA,SAAsBK,CAAiC,CAAA,CACxC,CAAA,CAAA,CACd,C,EACH,CAAA,EA/CF,kBAAC,KAAD,CACO,MACL,YAAU,gBACV,cAAahB,EACb,UAAWT,EAAGV,EAAqB,EAAGW,CAAS,EAC/C,eAAcQ,IAAW,cAAgB,OAAS,IAAA,GAClD,GAAId,EAEH,UACC,CAAA,CAyCZ,EACA,EAAa,YAAc,eAS3B,MAAM+B,EAAgD,CACpD,KAAM,UACN,MAAO,QACP,IAAK,SACP,EAEMb,EAAe1B,EAAM,YACxB,CAAE,YAAW,OAAM,SAAQ,WAAU,GAAGQ,GAAS,IAAQ,CACxD,IAAMgC,EAAYxC,EAAM,YAAc,aAAa2B,CAAI,EAAG,CAACA,CAAI,CAAC,EAE1Dc,EAAgBzC,EAAM,YACrBwC,EAIE,IAAI,KAAK,eAAe,QAAS,CACtC,GAAGD,EACH,GAAGG,CACL,CAAC,CAAC,CAAC,OAAOF,CAAS,EANV,GAOR,CAACA,EAAWE,CAAM,CAAC,EAEtB,MACE,kBAAC,OAAD,CACO,MACL,YAAU,gBACV,SAAUF,GAAW,YAAY,EACjC,UAAW3B,EAAG,2DAA4DC,CAAS,EACnF,GAAIN,EAEH,SAAAE,GAAY+B,CACT,CAAA,CAEV,CACF,EACA,EAAa,YAAc,eAI3B,MAAMZ,EAAoB7B,EAAM,YAC7B,CAAE,YAAW,SAAS,YAAa,QAAO,GAAGQ,GAAS,IACrD,kBAAC,MAAD,CACO,MACL,YAAU,qBACV,cAAac,EACb,aAAYqB,EACZ,UAAW9B,EAAWT,EAARuC,EAAkC,CAAE,OAAM,EAA+B,CAAE,QAAO,CAAC,EAAG7B,CAAS,EAC7G,GAAIN,CACL,CAAA,CAEL,EACA,EAAkB,YAAc,oBAIhC,MAAMsB,EAAiB9B,EAAM,YAAiD,CAAE,YAAW,GAAGQ,GAAS,IACrG,kBAAC,MAAD,CAAU,MAAK,YAAU,kBAAkB,UAAWK,EAAG,0BAA2BC,CAAS,EAAG,GAAIN,CAAQ,CAAA,CAC7G,EACD,EAAe,YAAc,iBAI7B,MAAMuB,EAAgB/B,EAAM,YAAoD,CAAE,YAAW,GAAGQ,GAAS,IACvG,kBAAC,KAAD,CACO,MACL,YAAU,iBACV,UAAWK,EAAG,sEAAuEC,CAAS,EAC9F,GAAIN,CACL,CAAA,CACF,EACD,EAAc,YAAc,gBAQ5B,MAAM0B,EAAelC,EAAM,YACxB,CAAE,YAAW,QAAQ,UAAW,OAAM,OAAO,KAAM,GAAGQ,GAAS,IAC9D,kBAAC,MAAD,CACO,MACL,YAAU,gBACV,aAAYmC,EACZ,YAAW/B,EACX,UAAWC,EAAGR,EAAqB,CAAE,QAAO,MAAK,CAAC,EAAGS,CAAS,EAC9D,GAAIN,EAEH,SAAAoC,EACC,kBAAC,MAAD,CAAK,UAAWtC,EAA4B,CAAE,MAAK,CAAC,EAAI,SAAAsC,CAAU,CAAA,EAElE,kBAAC,MAAD,CAAK,UAAW/B,EAAG,eAAgBP,EAA4B,CAAE,MAAK,CAAC,CAAC,CAAI,CAAA,CAE3E,CAAA,CAET,EACA,EAAa,YAAc,eAI3B,MAAM2B,EAAsBjC,EAAM,YAC/B,CAAE,YAAW,GAAGQ,GAAS,IACxB,kBAAC,IAAD,CACO,MACL,YAAU,uBACV,UAAWK,EAAG,yCAA0CC,CAAS,EACjE,GAAIN,CACL,CAAA,CAEL,EACA,EAAoB,YAAc,sBAIlC,MAAM6B,EAAkBrC,EAAM,YAAkD,CAAE,YAAW,GAAGQ,GAAS,IACvG,kBAAC,MAAD,CAAU,MAAK,YAAU,mBAAmB,UAAWK,EAAG,2BAA4BC,CAAS,EAAG,GAAIN,CAAQ,CAAA,CAC/G,EACD,EAAgB,YAAc,kBAI9B,MAAMO,EAAgBf,EAAM,YAAgD,CAAE,YAAW,WAAU,GAAGQ,GAAS,IAC7G,kBAAC,MAAD,CACO,MACL,YAAU,iBACV,UAAWK,EAAG,4DAA6DC,CAAS,EACpF,GAAIN,EAEJ,SAAA,kBAAC,IAAD,CAAG,UAAU,gCAAiC,SAAAE,GAAY,8BAAkC,CAAA,CACzF,CAAA,CACN,EACD,EAAc,YAAc,gBAE5B,SAAS,aAAa,EAA+B,CACnD,GAAIiB,GAAQ,MAAQA,IAAS,GAC3B,OAAO,KAGT,IAAMkB,EAAalB,aAAgB,KAAOA,EAAO,IAAI,KAAKA,CAAI,EAE9D,OAAO,OAAO,MAAMkB,EAAW,QAAQ,CAAC,EAAI,KAAOA,CACrD,CAIA,MAAMC,EAAmB,sDAEzB,SAAS,gBAAgB,EAAuB,CAC9C,GAAI,OAAOnB,GAAS,SAClB,OAAO,aAAaA,CAAI,CAAC,EAAE,YAAY,EAEzC,GAAI,OAAOA,GAAS,UAAYmB,EAAiB,KAAKnB,EAAK,KAAK,CAAC,GAAK,aAAaA,EAAK,KAAK,CAAC,EAC5F,OAAOA,EAAK,KAAK,CAGrB,CAIA,SAAS,iBAAiB,EAA2B,EAAY,GAAuB,CACtF,OAAO3B,EAAM,SAAS,QAAQU,CAAQ,CAAC,CAAC,QAAS,GAC3CV,EAAM,eAA+CiB,CAAK,GAAKA,EAAM,OAASjB,EAAM,SAC/E,iBAAiBiB,EAAM,MAAM,SAAU,GAAG8B,IAAY9B,EAAM,IAAI,EAAE,EAEvE8B,GAAa/C,EAAM,eAAeiB,CAAK,EAClC,CAACjB,EAAM,aAAaiB,EAAO,CAAE,IAAK,GAAG8B,IAAY9B,EAAM,KAAM,CAAC,CAAC,EAEjE,CAACA,CAAK,CACd,CACH,CAEA,SAAS,sBAAsB,EAAwE,CACrG,OAAOjB,EAAM,eAAeiB,CAAK,GAAKA,EAAM,OAASG,CACvD,C"}
@@ -1,11 +1,10 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
3
3
  import { toggleVariants } from "./toggle.js";
4
4
  import * as React from "react";
5
5
  import { VariantProps } from "class-variance-authority";
6
6
  import { Toggle } from "@base-ui/react/toggle";
7
7
  import { ToggleGroup as ToggleGroup$1 } from "@base-ui/react/toggle-group";
8
- //#region src/components/toggle-group.d.ts
9
8
  export type ToggleGroupProps = AsChildPrimitiveProps<typeof ToggleGroup$1> & VariantProps<typeof toggleVariants> & {
10
9
  /**
11
10
  * Gap between items, in Tailwind spacing units. `0` joins them into one control.
@@ -21,6 +20,5 @@ export type ToggleGroupProps = AsChildPrimitiveProps<typeof ToggleGroup$1> & Var
21
20
  export type ToggleGroupItemProps = AsChildPrimitiveProps<typeof Toggle> & VariantProps<typeof toggleVariants>;
22
21
  declare function ToggleGroup({ className, variant, color, size, spacing, orientation, children, asChild, ...props }: ToggleGroupProps): React.JSX.Element;
23
22
  declare function ToggleGroupItem({ className, children, variant, color, size, asChild, ...props }: ToggleGroupItemProps): React.JSX.Element;
24
- //#endregion
25
23
  export { ToggleGroup, ToggleGroupItem };
26
24
  //# sourceMappingURL=toggle-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.js","names":["ToggleGroupPrimitive","TogglePrimitive","resolveClassName","React","ToggleGroup$1","ToggleGroupContext","props","variant","color","size","spacing","orientation","cn","className","state","toAsChildRenderProps","asChild","children","context","Toggle","toggleVariants"],"sources":["../../src/components/toggle-group.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Toggle as TogglePrimitive } from '@base-ui/react/toggle'\nimport { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group'\nimport type { VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { toggleVariants } from './toggle'\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: 'horizontal' | 'vertical'\n }\n>({\n size: 'md',\n variant: 'ghost',\n color: 'primary',\n spacing: 0,\n orientation: 'horizontal'\n})\n\nexport type ToggleGroupProps = AsChildPrimitiveProps<typeof ToggleGroupPrimitive> &\n VariantProps<typeof toggleVariants> & {\n /**\n * Gap between items, in Tailwind spacing units. `0` joins them into one control.\n * @default 0\n */\n spacing?: number\n /**\n * Layout and arrow-key direction.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical'\n }\n\nexport type ToggleGroupItemProps = AsChildPrimitiveProps<typeof TogglePrimitive> & VariantProps<typeof toggleVariants>\n\nfunction ToggleGroup({\n className,\n variant,\n color,\n size,\n spacing = 0,\n orientation = 'horizontal',\n children,\n asChild,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupContext.Provider value={{ variant, color, size, spacing, orientation }}>\n <ToggleGroupPrimitive\n data-slot=\"toggle-group\"\n data-variant={variant ?? 'ghost'}\n data-color={color ?? 'primary'}\n data-size={size ?? 'md'}\n data-spacing={spacing}\n data-orientation={orientation}\n orientation={orientation}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={(state) =>\n cn(\n 'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n </ToggleGroupContext.Provider>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n asChild,\n ...props\n}: ToggleGroupItemProps) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <TogglePrimitive\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-color={context.color || color}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={(state) =>\n cn(\n 'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-t',\n toggleVariants({\n variant: context.variant || variant,\n color: context.color || color,\n size: context.size || size\n }),\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n </TogglePrimitive>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"mappings":"mZAWA,MAAMK,EAAqBF,EAAM,cAK/B,CACA,KAAM,KACN,QAAS,QACT,MAAO,UACP,QAAS,EACT,YAAa,YACf,CAAC,EAkBD,SAAS,YAAY,CACnB,YACA,UACA,QACA,OACA,UAAU,EACV,cAAc,aACd,WACA,UACA,GAAGG,GACgB,CACnB,MACE,kBAACD,EAAmB,SAApB,CAA6B,MAAO,CAAE,UAAS,QAAO,OAAM,UAAS,aAAY,EAC/E,SAAA,kBAACL,EAAD,CACE,YAAU,eACV,eAAcO,GAAW,QACzB,aAAYC,GAAS,UACrB,YAAWC,GAAQ,KACnB,eAAcC,EACd,mBAAkBC,EACL,cACb,MAAO,CAAE,QAASD,CAAQ,EAC1B,UAAY,GACVE,EACE,oMACAV,EAAiBW,EAAWC,CAAK,CACnC,EAEF,GAAIR,EACJ,GAAIS,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAC0B,CAAA,CAEjC,CAEA,SAAS,gBAAgB,CACvB,YACA,WACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UACA,GAAGX,GACoB,CACvB,IAAMY,EAAUf,EAAM,WAAWE,CAAkB,EAEnD,MACE,kBAACJ,EAAD,CACE,YAAU,oBACV,eAAciB,EAAQ,SAAWX,EACjC,aAAYW,EAAQ,OAASV,EAC7B,YAAWU,EAAQ,MAAQT,EAC3B,eAAcS,EAAQ,QACtB,UAAY,GACVN,EACE,yZACA,8VACA,sWACAQ,EAAe,CACb,QAASF,EAAQ,SAAWX,EAC5B,MAAOW,EAAQ,OAASV,EACxB,KAAMU,EAAQ,MAAQT,CACxB,CAAC,EACDP,EAAiBW,EAAWC,CAAK,CACnC,EAEF,GAAIR,EACJ,GAAIS,EAAqBC,EAASC,CAAQ,EAEzC,SAAA,CAACD,GAAWC,CACE,CAAA,CAErB"}
1
+ {"version":3,"file":"toggle-group.js","names":["ToggleGroupPrimitive","TogglePrimitive","resolveClassName","React","ToggleGroup$1","ToggleGroupContext","props","variant","color","size","spacing","orientation","cn","className","state","toAsChildRenderProps","asChild","children","context","Toggle","toggleVariants"],"sources":["../../src/components/toggle-group.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Toggle as TogglePrimitive } from '@base-ui/react/toggle'\nimport { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group'\nimport type { VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { toggleVariants } from './toggle'\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: 'horizontal' | 'vertical'\n }\n>({\n size: 'md',\n variant: 'ghost',\n color: 'primary',\n spacing: 0,\n orientation: 'horizontal'\n})\n\nexport type ToggleGroupProps = AsChildPrimitiveProps<typeof ToggleGroupPrimitive> &\n VariantProps<typeof toggleVariants> & {\n /**\n * Gap between items, in Tailwind spacing units. `0` joins them into one control.\n * @default 0\n */\n spacing?: number\n /**\n * Layout and arrow-key direction.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical'\n }\n\nexport type ToggleGroupItemProps = AsChildPrimitiveProps<typeof TogglePrimitive> & VariantProps<typeof toggleVariants>\n\nfunction ToggleGroup({\n className,\n variant,\n color,\n size,\n spacing = 0,\n orientation = 'horizontal',\n children,\n asChild,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupContext.Provider value={{ variant, color, size, spacing, orientation }}>\n <ToggleGroupPrimitive\n data-slot=\"toggle-group\"\n data-variant={variant ?? 'ghost'}\n data-color={color ?? 'primary'}\n data-size={size ?? 'md'}\n data-spacing={spacing}\n data-orientation={orientation}\n orientation={orientation}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={(state) =>\n cn(\n 'group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n </ToggleGroupContext.Provider>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n asChild,\n ...props\n}: ToggleGroupItemProps) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <TogglePrimitive\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-color={context.color || color}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={(state) =>\n cn(\n 'shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t',\n 'group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=secondary]:first:border-t',\n toggleVariants({\n variant: context.variant || variant,\n color: context.color || color,\n size: context.size || size\n }),\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n </TogglePrimitive>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"mappings":"A,mZAWA,MAAMK,EAAqBF,EAAM,cAK/B,CACA,KAAM,KACN,QAAS,QACT,MAAO,UACP,QAAS,EACT,YAAa,YACf,CAAC,EAkBD,SAAS,YAAY,CACnB,YACA,UACA,QACA,OACA,UAAU,EACV,cAAc,aACd,WACA,UACA,GAAGG,GACgB,CACnB,MACE,kBAACD,EAAmB,SAApB,CAA6B,MAAO,CAAE,UAAS,QAAO,OAAM,UAAS,aAAY,EAC/E,SAAA,kBAACL,EAAD,CACE,YAAU,eACV,eAAcO,GAAW,QACzB,aAAYC,GAAS,UACrB,YAAWC,GAAQ,KACnB,eAAcC,EACd,mBAAkBC,EACL,cACb,MAAO,CAAE,QAASD,CAAQ,EAC1B,UAAY,GACVE,EACE,oMACAV,EAAiBW,EAAWC,CAAK,CACnC,EAEF,GAAIR,EACJ,GAAIS,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAC0B,CAAA,CAEjC,CAEA,SAAS,gBAAgB,CACvB,YACA,WACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UACA,GAAGX,GACoB,CACvB,IAAMY,EAAUf,EAAM,WAAWE,CAAkB,EAEnD,MACE,kBAACJ,EAAD,CACE,YAAU,oBACV,eAAciB,EAAQ,SAAWX,EACjC,aAAYW,EAAQ,OAASV,EAC7B,YAAWU,EAAQ,MAAQT,EAC3B,eAAcS,EAAQ,QACtB,UAAY,GACVN,EACE,yZACA,8VACA,sWACAQ,EAAe,CACb,QAASF,EAAQ,SAAWX,EAC5B,MAAOW,EAAQ,OAASV,EACxB,KAAMU,EAAQ,MAAQT,CACxB,CAAC,EACDP,EAAiBW,EAAWC,CAAK,CACnC,EAEF,GAAIR,EACJ,GAAIS,EAAqBC,EAASC,CAAQ,EAEzC,SAAA,CAACD,GAAWC,CACE,CAAA,CAErB,C"}
@@ -1,8 +1,7 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import { Toggle as Toggle$1 } from "@base-ui/react/toggle";
5
- //#region src/components/toggle.d.ts
6
5
  declare const toggleVariants: (props?: ({
7
6
  variant?: "ghost" | "outline" | "secondary" | null | undefined;
8
7
  color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
@@ -10,6 +9,5 @@ declare const toggleVariants: (props?: ({
10
9
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
10
  export type ToggleProps = AsChildPrimitiveProps<typeof Toggle$1> & VariantProps<typeof toggleVariants>;
12
11
  declare function Toggle({ className, variant, color, size, asChild, children, ...props }: ToggleProps): import("react").JSX.Element;
13
- //#endregion
14
12
  export { Toggle, toggleVariants };
15
13
  //# sourceMappingURL=toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.js","names":["TogglePrimitive","resolveClassName","Toggle$1","toggleVariants","cva","buttonColorVariants","props","variant","color","size","cn","className","state","toAsChildRenderProps","asChild","children"],"sources":["../../src/components/toggle.tsx"],"sourcesContent":["import { Toggle as TogglePrimitive } from '@base-ui/react/toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n secondary:\n 'border-border bg-background hover:bg-muted hover:text-foreground data-pressed:bg-muted data-pressed:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-pressed:bg-input/50',\n outline:\n 'border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-pressed:bg-(--button-solid) data-pressed:text-(--button-solid-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-pressed:bg-(--button-ghost-hover) data-pressed:text-(--button-ghost-foreground)'\n },\n color: buttonColorVariants,\n size: {\n sm: 'h-8 min-w-8 px-1.5 text-[0.8rem]',\n md: 'h-9 min-w-9 px-2',\n lg: 'h-10 min-w-10 px-2.5'\n }\n },\n defaultVariants: {\n variant: 'ghost',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ToggleProps = AsChildPrimitiveProps<typeof TogglePrimitive> & VariantProps<typeof toggleVariants>\n\nfunction Toggle({\n className,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n asChild,\n children,\n ...props\n}: ToggleProps) {\n return (\n <TogglePrimitive\n data-slot=\"toggle\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n className={(state) => cn(toggleVariants({ variant, color, size }), resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":"0XAQA,MAAMG,EAAiBC,EACrB,shBACA,CACE,SAAU,CACR,QAAS,CACP,UACE,8MACF,QACE,oOACF,MACE,8LACJ,EACA,MAAOC,EACP,KAAM,CACJ,GAAI,mCACJ,GAAI,mBACJ,GAAI,sBACN,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,IACR,CACF,CACF,EAIA,SAAS,OAAO,CACd,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UACA,WACA,GAAGC,GACW,CACd,MACE,kBAACN,EAAD,CACE,YAAU,SACV,eAAcO,EACd,aAAYC,EACZ,YAAWC,EACX,UAAY,GAAUC,EAAGP,EAAe,CAAE,UAAS,QAAO,MAAK,CAAC,EAAGF,EAAiBU,EAAWC,CAAK,CAAC,EACrG,GAAIN,EACJ,GAAIO,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL"}
1
+ {"version":3,"file":"toggle.js","names":["TogglePrimitive","resolveClassName","Toggle$1","toggleVariants","cva","buttonColorVariants","props","variant","color","size","cn","className","state","toAsChildRenderProps","asChild","children"],"sources":["../../src/components/toggle.tsx"],"sourcesContent":["import { Toggle as TogglePrimitive } from '@base-ui/react/toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-full border border-transparent text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n secondary:\n 'border-border bg-background hover:bg-muted hover:text-foreground data-pressed:bg-muted data-pressed:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 dark:data-pressed:bg-input/50',\n outline:\n 'border-(--button-outline-border) bg-background text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) data-pressed:bg-(--button-solid) data-pressed:text-(--button-solid-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-pressed:bg-(--button-ghost-hover) data-pressed:text-(--button-ghost-foreground)'\n },\n color: buttonColorVariants,\n size: {\n sm: 'h-8 min-w-8 px-1.5 text-[0.8rem]',\n md: 'h-9 min-w-9 px-2',\n lg: 'h-10 min-w-10 px-2.5'\n }\n },\n defaultVariants: {\n variant: 'ghost',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ToggleProps = AsChildPrimitiveProps<typeof TogglePrimitive> & VariantProps<typeof toggleVariants>\n\nfunction Toggle({\n className,\n variant = 'ghost',\n color = 'primary',\n size = 'md',\n asChild,\n children,\n ...props\n}: ToggleProps) {\n return (\n <TogglePrimitive\n data-slot=\"toggle\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n className={(state) => cn(toggleVariants({ variant, color, size }), resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":"A,0XAQA,MAAMG,EAAiBC,EACrB,shBACA,CACE,SAAU,CACR,QAAS,CACP,UACE,8MACF,QACE,oOACF,MACE,8LACJ,EACA,MAAOC,EACP,KAAM,CACJ,GAAI,mCACJ,GAAI,mBACJ,GAAI,sBACN,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,IACR,CACF,CACF,EAIA,SAAS,OAAO,CACd,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UACA,WACA,GAAGC,GACW,CACd,MACE,kBAACN,EAAD,CACE,YAAU,SACV,eAAcO,EACd,aAAYC,EACZ,YAAWC,EACX,UAAY,GAAUC,EAAGP,EAAe,CAAE,UAAS,QAAO,MAAK,CAAC,EAAGF,EAAiBU,EAAWC,CAAK,CAAC,EACrG,GAAIN,EACJ,GAAIO,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL,C"}
@@ -1,8 +1,7 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-T9W73ZYU.js";
3
3
  import * as React from "react";
4
4
  import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
5
- //#region src/components/tooltip.d.ts
6
5
  export type TooltipProviderProps = React.ComponentProps<typeof Tooltip$1.Provider>;
7
6
  export type TooltipRootProps = React.ComponentProps<typeof Tooltip$1.Root>;
8
7
  export type TooltipTriggerProps = AsChildPrimitiveProps<typeof Tooltip$1.Trigger>;
@@ -23,6 +22,5 @@ declare function TooltipRoot({ ...props }: TooltipRootProps): React.JSX.Element;
23
22
  declare function Tooltip({ label, children, disabled, open, defaultOpen, onOpenChange, onOpenChangeComplete, disableHoverablePopup, trackCursorAxis, actionsRef, delay, closeDelay, ...contentProps }: TooltipProps): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | Iterable<React.ReactNode> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | null | undefined;
24
23
  declare function TooltipTrigger({ asChild, children, ...props }: TooltipTriggerProps): React.JSX.Element;
25
24
  declare function TooltipContent({ className, side, sideOffset, align, alignOffset, sticky, keepMounted, children, asChild, ...props }: TooltipContentProps): React.JSX.Element;
26
- //#endregion
27
25
  export { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger };
28
26
  //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":["TooltipPrimitive","resolveClassName","Tooltip$1","props","contentProps","disabled","children","label","toAsChildRenderProps","asChild","cn","className","state"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>\n\nexport type TooltipRootProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nexport type TooltipTriggerProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Trigger>\n\nexport type TooltipContentProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Popup> &\n Pick<\n React.ComponentProps<typeof TooltipPrimitive.Positioner>,\n 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'sticky'\n > &\n Pick<React.ComponentProps<typeof TooltipPrimitive.Portal>, 'keepMounted'>\n\nexport type TooltipProps = Pick<\n TooltipRootProps,\n | 'open'\n | 'defaultOpen'\n | 'onOpenChange'\n | 'onOpenChangeComplete'\n | 'disableHoverablePopup'\n | 'trackCursorAxis'\n | 'actionsRef'\n> &\n Omit<TooltipContentProps, 'children'> &\n Pick<TooltipTriggerProps, 'delay' | 'closeDelay'> & {\n /** The trigger. Must be a single element that accepts a ref and event handlers. */\n children?: React.ReactNode\n /** Tooltip content. */\n label?: React.ReactNode\n /**\n * Renders only the trigger, without a tooltip.\n * @default false\n */\n disabled?: boolean\n }\n\nfunction TooltipProvider({ delay = 0, ...props }: TooltipProviderProps) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delay={delay} {...props} />\n}\n\nfunction TooltipRoot({ ...props }: TooltipRootProps) {\n return <TooltipPrimitive.Root data-slot=\"tooltip-root\" {...props} />\n}\n\nfunction Tooltip({\n label,\n children,\n disabled = false,\n open,\n defaultOpen,\n onOpenChange,\n onOpenChangeComplete,\n disableHoverablePopup,\n trackCursorAxis,\n actionsRef,\n delay,\n closeDelay,\n ...contentProps\n}: TooltipProps) {\n if (disabled) {\n return children\n }\n\n return (\n <TooltipRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n disableHoverablePopup={disableHoverablePopup}\n trackCursorAxis={trackCursorAxis}\n actionsRef={actionsRef}\n >\n <TooltipTrigger asChild delay={delay} closeDelay={closeDelay}>\n {children}\n </TooltipTrigger>\n <TooltipContent {...contentProps}>{label}</TooltipContent>\n </TooltipRoot>\n )\n}\n\nfunction TooltipTrigger({ asChild, children, ...props }: TooltipTriggerProps) {\n return (\n <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} {...toAsChildRenderProps(asChild, children)} />\n )\n}\n\nfunction TooltipContent({\n className,\n side = 'top',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n sticky,\n keepMounted,\n children,\n asChild,\n ...props\n}: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal keepMounted={keepMounted}>\n <TooltipPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n role=\"tooltip\"\n className={(state) =>\n cn(\n 'bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--transform-origin)',\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <TooltipPrimitive.Arrow\n data-slot=\"tooltip-arrow\"\n className={cn(\n 'size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]',\n 'data-[side=top]:-bottom-2.5 data-[side=bottom]:top-1',\n 'data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2',\n 'data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2'\n )}\n />\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger }\n"],"mappings":"gSA4CA,SAAS,gBAAgB,CAAE,QAAQ,EAAG,GAAGG,GAA+B,CACtE,MAAO,kBAACH,EAAiB,SAAlB,CAA2B,YAAU,mBAA0B,QAAO,GAAIG,CAAQ,CAAA,CAC3F,CAEA,SAAS,YAAY,CAAE,GAAGA,GAA2B,CACnD,MAAO,kBAACH,EAAiB,KAAlB,CAAuB,YAAU,eAAe,GAAIG,CAAQ,CAAA,CACrE,CAEA,SAAS,QAAQ,CACf,QACA,WACA,WAAW,GACX,OACA,cACA,eACA,uBACA,wBACA,kBACA,aACA,QACA,aACA,GAAGC,GACY,CAKf,OAJIC,EACKC,EAIP,kBAAC,YAAD,CACQ,OACO,cACC,eACQ,uBACC,wBACN,kBACL,aAPd,SAAA,CASE,kBAAC,eAAD,CAAgB,QAAA,GAAe,QAAmB,aAC/C,UACa,CAAA,EAChB,kBAAC,eAAD,CAAgB,GAAIF,EAAe,SAAAG,CAAsB,CAAA,CAC9C,GAEjB,CAEA,SAAS,eAAe,CAAE,UAAS,WAAU,GAAGJ,GAA8B,CAC5E,MACE,kBAACH,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAIG,EAAO,GAAIK,EAAqBC,EAASH,CAAQ,CAAI,CAAA,CAEnH,CAEA,SAAS,eAAe,CACtB,YACA,OAAO,MACP,aAAa,EACb,QAAQ,SACR,cAAc,EACd,SACA,cACA,WACA,UACA,GAAGH,GACmB,CACtB,MACE,kBAACH,EAAiB,OAAlB,CAAsC,cACpC,SAAA,kBAACA,EAAiB,WAAlB,CACQ,OACM,aACL,QACM,cACL,SACR,UAAU,eAEV,SAAA,kBAACA,EAAiB,MAAlB,CACE,YAAU,kBACV,KAAK,UACL,UAAY,GACVU,EACE,+GACA,gEACA,yEACA,8JACAT,EAAiBU,EAAWC,CAAK,CACnC,EAEF,GAAIT,EACJ,GAAIK,EAAqBC,EAASH,CAAQ,EAb5C,SAAA,CAeG,CAACG,GAAWH,EACZ,CAACG,GACA,kBAACT,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAWU,EACT,mGACA,uDACA,wFACA,yFACF,CACD,CAAA,CAEmB,GACG,CAAA,CACN,CAAA,CAE7B"}
1
+ {"version":3,"file":"tooltip.js","names":["TooltipPrimitive","resolveClassName","Tooltip$1","props","contentProps","disabled","children","label","toAsChildRenderProps","asChild","cn","className","state"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>\n\nexport type TooltipRootProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nexport type TooltipTriggerProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Trigger>\n\nexport type TooltipContentProps = AsChildPrimitiveProps<typeof TooltipPrimitive.Popup> &\n Pick<\n React.ComponentProps<typeof TooltipPrimitive.Positioner>,\n 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'sticky'\n > &\n Pick<React.ComponentProps<typeof TooltipPrimitive.Portal>, 'keepMounted'>\n\nexport type TooltipProps = Pick<\n TooltipRootProps,\n | 'open'\n | 'defaultOpen'\n | 'onOpenChange'\n | 'onOpenChangeComplete'\n | 'disableHoverablePopup'\n | 'trackCursorAxis'\n | 'actionsRef'\n> &\n Omit<TooltipContentProps, 'children'> &\n Pick<TooltipTriggerProps, 'delay' | 'closeDelay'> & {\n /** The trigger. Must be a single element that accepts a ref and event handlers. */\n children?: React.ReactNode\n /** Tooltip content. */\n label?: React.ReactNode\n /**\n * Renders only the trigger, without a tooltip.\n * @default false\n */\n disabled?: boolean\n }\n\nfunction TooltipProvider({ delay = 0, ...props }: TooltipProviderProps) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delay={delay} {...props} />\n}\n\nfunction TooltipRoot({ ...props }: TooltipRootProps) {\n return <TooltipPrimitive.Root data-slot=\"tooltip-root\" {...props} />\n}\n\nfunction Tooltip({\n label,\n children,\n disabled = false,\n open,\n defaultOpen,\n onOpenChange,\n onOpenChangeComplete,\n disableHoverablePopup,\n trackCursorAxis,\n actionsRef,\n delay,\n closeDelay,\n ...contentProps\n}: TooltipProps) {\n if (disabled) {\n return children\n }\n\n return (\n <TooltipRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n disableHoverablePopup={disableHoverablePopup}\n trackCursorAxis={trackCursorAxis}\n actionsRef={actionsRef}\n >\n <TooltipTrigger asChild delay={delay} closeDelay={closeDelay}>\n {children}\n </TooltipTrigger>\n <TooltipContent {...contentProps}>{label}</TooltipContent>\n </TooltipRoot>\n )\n}\n\nfunction TooltipTrigger({ asChild, children, ...props }: TooltipTriggerProps) {\n return (\n <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} {...toAsChildRenderProps(asChild, children)} />\n )\n}\n\nfunction TooltipContent({\n className,\n side = 'top',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n sticky,\n keepMounted,\n children,\n asChild,\n ...props\n}: TooltipContentProps) {\n return (\n <TooltipPrimitive.Portal keepMounted={keepMounted}>\n <TooltipPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n role=\"tooltip\"\n className={(state) =>\n cn(\n 'bg-foreground text-background z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs origin-(--transform-origin)',\n 'data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n 'data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <TooltipPrimitive.Arrow\n data-slot=\"tooltip-arrow\"\n className={cn(\n 'size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%-2px)]',\n 'data-[side=top]:-bottom-2.5 data-[side=bottom]:top-1',\n 'data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2',\n 'data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2'\n )}\n />\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipRoot, TooltipTrigger }\n"],"mappings":"A,gSA4CA,SAAS,gBAAgB,CAAE,QAAQ,EAAG,GAAGG,GAA+B,CACtE,MAAO,kBAACH,EAAiB,SAAlB,CAA2B,YAAU,mBAA0B,QAAO,GAAIG,CAAQ,CAAA,CAC3F,CAEA,SAAS,YAAY,CAAE,GAAGA,GAA2B,CACnD,MAAO,kBAACH,EAAiB,KAAlB,CAAuB,YAAU,eAAe,GAAIG,CAAQ,CAAA,CACrE,CAEA,SAAS,QAAQ,CACf,QACA,WACA,WAAW,GACX,OACA,cACA,eACA,uBACA,wBACA,kBACA,aACA,QACA,aACA,GAAGC,GACY,CAKf,OAJIC,EACKC,EAIP,kBAAC,YAAD,CACQ,OACO,cACC,eACQ,uBACC,wBACN,kBACL,aAPd,SAAA,CASE,kBAAC,eAAD,CAAgB,QAAA,GAAe,QAAmB,aAC/C,UACa,CAAA,EAChB,kBAAC,eAAD,CAAgB,GAAIF,EAAe,SAAAG,CAAsB,CAAA,CAC9C,C,EAEjB,CAEA,SAAS,eAAe,CAAE,UAAS,WAAU,GAAGJ,GAA8B,CAC5E,MACE,kBAACH,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAIG,EAAO,GAAIK,EAAqBC,EAASH,CAAQ,CAAI,CAAA,CAEnH,CAEA,SAAS,eAAe,CACtB,YACA,OAAO,MACP,aAAa,EACb,QAAQ,SACR,cAAc,EACd,SACA,cACA,WACA,UACA,GAAGH,GACmB,CACtB,MACE,kBAACH,EAAiB,OAAlB,CAAsC,cACpC,SAAA,kBAACA,EAAiB,WAAlB,CACQ,OACM,aACL,QACM,cACL,SACR,UAAU,eAEV,SAAA,kBAACA,EAAiB,MAAlB,CACE,YAAU,kBACV,KAAK,UACL,UAAY,GACVU,EACE,+GACA,gEACA,yEACA,8JACAT,EAAiBU,EAAWC,CAAK,CACnC,EAEF,GAAIT,EACJ,GAAIK,EAAqBC,EAASH,CAAQ,EAb5C,SAAA,CAeG,CAACG,GAAWH,EACZ,CAACG,GACA,kBAACT,EAAiB,MAAlB,CACE,YAAU,gBACV,UAAWU,EACT,mGACA,uDACA,wFACA,yFACF,CACD,CAAA,CAEmB,C,EACG,CAAA,CACN,CAAA,CAE7B,C"}
@@ -1,8 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { n as AsChildProps } from "../as-child-Dxg3Xo1G.js";
3
- //#region src/components/unstyled-button.d.ts
2
+ import { n as AsChildProps } from "../as-child-T9W73ZYU.js";
4
3
  export type UnstyledButtonProps = AsChildProps<'button'>;
5
4
  declare function UnstyledButton({ className, type, asChild, ...props }: UnstyledButtonProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
6
- //#endregion
7
5
  export { UnstyledButton };
8
6
  //# sourceMappingURL=unstyled-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unstyled-button.js","names":["props","useAsChild","asChild","type","cn","className"],"sources":["../../src/components/unstyled-button.tsx"],"sourcesContent":["import { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nexport type UnstyledButtonProps = AsChildProps<'button'>\n\nfunction UnstyledButton({ className, type = 'button', asChild = false, ...props }: UnstyledButtonProps) {\n return useAsChild('button', {\n asChild,\n type: !asChild ? type : undefined,\n 'data-slot': 'unstyled-button',\n className: cn(\n 'inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none',\n 'cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50',\n 'focus-visible:ring-3 focus-visible:ring-ring/50',\n className\n ),\n ...props\n })\n}\n\nexport { UnstyledButton }\n"],"mappings":"6HAKA,SAAS,eAAe,CAAE,YAAW,OAAO,SAAU,UAAU,GAAO,GAAGA,GAA8B,CACtG,OAAOC,EAAW,SAAU,CAC1B,UACA,KAAOC,EAAiB,IAAA,GAAPC,EACjB,YAAa,kBACb,UAAWC,EACT,+HACA,8EACA,kDACAC,CACF,EACA,GAAGL,CACL,CAAC,CACH"}
1
+ {"version":3,"file":"unstyled-button.js","names":["props","useAsChild","asChild","type","cn","className"],"sources":["../../src/components/unstyled-button.tsx"],"sourcesContent":["import { type AsChildProps, useAsChild } from '../lib/as-child'\nimport { cn } from '../lib/utils'\n\nexport type UnstyledButtonProps = AsChildProps<'button'>\n\nfunction UnstyledButton({ className, type = 'button', asChild = false, ...props }: UnstyledButtonProps) {\n return useAsChild('button', {\n asChild,\n type: !asChild ? type : undefined,\n 'data-slot': 'unstyled-button',\n className: cn(\n 'inline-flex appearance-none items-center justify-center border-0 bg-transparent p-0 [font:inherit] text-inherit outline-none',\n 'cursor-pointer select-none disabled:pointer-events-none disabled:opacity-50',\n 'focus-visible:ring-3 focus-visible:ring-ring/50',\n className\n ),\n ...props\n })\n}\n\nexport { UnstyledButton }\n"],"mappings":"A,6HAKA,SAAS,eAAe,CAAE,YAAW,OAAO,SAAU,UAAU,GAAO,GAAGA,GAA8B,CACtG,OAAOC,EAAW,SAAU,CAC1B,UACA,KAAOC,EAAiB,IAAA,GAAPC,EACjB,YAAa,kBACb,UAAWC,EACT,+HACA,8EACA,kDACAC,CACF,EACA,GAAGL,CACL,CAAC,CACH,C"}
@@ -1,6 +1,5 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import { Breakpoint } from "../hooks/use-breakpoint.js";
3
- //#region src/components/visibility.d.ts
4
3
  type VisibilityBreakpoint = Exclude<Breakpoint, 'base'>;
5
4
  export type HiddenFromProps = React.ComponentProps<'div'> & {
6
5
  /** Breakpoint from which the children are hidden. */
@@ -14,6 +13,5 @@ export type VisibleFromProps = {
14
13
  children?: React.ReactNode;
15
14
  };
16
15
  declare function VisibleFrom({ breakpoint, children }: VisibleFromProps): import("react").JSX.Element;
17
- //#endregion
18
16
  export { HiddenFrom, VisibleFrom };
19
17
  //# sourceMappingURL=visibility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visibility.js","names":["isHidden","useBreakpoint","breakpoint","Activity","isVisible"],"sources":["../../src/components/visibility.tsx"],"sourcesContent":["import { Activity } from 'react'\n\nimport { type Breakpoint, useBreakpoint } from '../hooks/use-breakpoint'\n\ntype VisibilityBreakpoint = Exclude<Breakpoint, 'base'>\n\nexport type HiddenFromProps = React.ComponentProps<'div'> & {\n /** Breakpoint from which the children are hidden. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction HiddenFrom({ breakpoint, children }: HiddenFromProps) {\n const isHidden = useBreakpoint(breakpoint)\n\n return <Activity mode={isHidden ? 'hidden' : 'visible'}>{children}</Activity>\n}\n\nexport type VisibleFromProps = {\n /** Breakpoint from which the children are shown. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction VisibleFrom({ breakpoint, children }: VisibleFromProps) {\n const isVisible = useBreakpoint(breakpoint)\n\n return <Activity mode={isVisible ? 'visible' : 'hidden'}>{children}</Activity>\n}\n\nexport { HiddenFrom, VisibleFrom }\n"],"mappings":"4KAYA,SAAS,WAAW,CAAE,aAAY,YAA6B,CAC7D,IAAMA,EAAWC,EAAcC,CAAU,EAEzC,MAAO,kBAACC,EAAD,CAAU,KAAMH,EAAW,SAAW,UAAY,UAAmB,CAAA,CAC9E,CAQA,SAAS,YAAY,CAAE,aAAY,YAA8B,CAC/D,IAAMI,EAAYH,EAAcC,CAAU,EAE1C,MAAO,kBAACC,EAAD,CAAU,KAAMC,EAAY,UAAY,SAAW,UAAmB,CAAA,CAC/E"}
1
+ {"version":3,"file":"visibility.js","names":["isHidden","useBreakpoint","breakpoint","Activity","isVisible"],"sources":["../../src/components/visibility.tsx"],"sourcesContent":["import { Activity } from 'react'\n\nimport { type Breakpoint, useBreakpoint } from '../hooks/use-breakpoint'\n\ntype VisibilityBreakpoint = Exclude<Breakpoint, 'base'>\n\nexport type HiddenFromProps = React.ComponentProps<'div'> & {\n /** Breakpoint from which the children are hidden. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction HiddenFrom({ breakpoint, children }: HiddenFromProps) {\n const isHidden = useBreakpoint(breakpoint)\n\n return <Activity mode={isHidden ? 'hidden' : 'visible'}>{children}</Activity>\n}\n\nexport type VisibleFromProps = {\n /** Breakpoint from which the children are shown. */\n breakpoint: VisibilityBreakpoint\n children?: React.ReactNode\n}\n\nfunction VisibleFrom({ breakpoint, children }: VisibleFromProps) {\n const isVisible = useBreakpoint(breakpoint)\n\n return <Activity mode={isVisible ? 'visible' : 'hidden'}>{children}</Activity>\n}\n\nexport { HiddenFrom, VisibleFrom }\n"],"mappings":"A,4KAYA,SAAS,WAAW,CAAE,aAAY,YAA6B,CAC7D,IAAMA,EAAWC,EAAcC,CAAU,EAEzC,MAAO,kBAACC,EAAD,CAAU,KAAMH,EAAW,SAAW,UAAY,UAAmB,CAAA,CAC9E,CAQA,SAAS,YAAY,CAAE,aAAY,YAA8B,CAC/D,IAAMI,EAAYH,EAAcC,CAAU,EAE1C,MAAO,kBAACC,EAAD,CAAU,KAAMC,EAAY,UAAY,SAAW,UAAmB,CAAA,CAC/E,C"}
@@ -1,8 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import { Breakpoint } from "./use-breakpoint.js";
3
- //#region src/hooks/use-breakpoint-value.d.ts
4
3
  export type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>;
5
4
  /** Returns the value of the largest active breakpoint in `values`, or `undefined` when none matches. */
6
5
  export declare function useBreakpointValue<T>(values: ResponsiveValueMap<T>): T | undefined;
7
- //#endregion
8
6
  //# sourceMappingURL=use-breakpoint-value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-breakpoint-value.js","names":["breakpointOrder","activeBreakpoints","useBreakpoint","value","values","breakpoint"],"sources":["../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["import type { Breakpoint } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\nexport type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>\n\nconst breakpointOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'] as const satisfies readonly Breakpoint[]\n\n/** Returns the value of the largest active breakpoint in `values`, or `undefined` when none matches. */\nexport function useBreakpointValue<T>(values: ResponsiveValueMap<T>) {\n const activeBreakpoints = {\n base: useBreakpoint('base'),\n sm: useBreakpoint('sm'),\n md: useBreakpoint('md'),\n lg: useBreakpoint('lg'),\n xl: useBreakpoint('xl'),\n '2xl': useBreakpoint('2xl')\n }\n\n let value = values.base\n\n for (const breakpoint of breakpointOrder) {\n if (activeBreakpoints[breakpoint] && values[breakpoint] !== undefined) {\n value = values[breakpoint]\n }\n }\n\n return value\n}\n"],"mappings":"4FAKA,MAAMA,EAAkB,CAAC,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAK,EAG9D,SAAgB,mBAAsB,EAA+B,CACnE,IAAMC,EAAoB,CACxB,KAAMC,EAAc,MAAM,EAC1B,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,MAAOA,EAAc,KAAK,CAC5B,EAEIC,EAAQC,EAAO,KAEnB,IAAK,IAAMC,KAAcL,EACnBC,EAAkBI,IAAeD,EAAOC,KAAgB,IAAA,KAC1D,EAAQD,EAAOC,IAInB,OAAOF,CACT"}
1
+ {"version":3,"file":"use-breakpoint-value.js","names":["breakpointOrder","activeBreakpoints","useBreakpoint","value","values","breakpoint"],"sources":["../../src/hooks/use-breakpoint-value.ts"],"sourcesContent":["import type { Breakpoint } from './use-breakpoint'\nimport { useBreakpoint } from './use-breakpoint'\n\nexport type ResponsiveValueMap<T> = Partial<Record<Breakpoint, T>>\n\nconst breakpointOrder = ['base', 'sm', 'md', 'lg', 'xl', '2xl'] as const satisfies readonly Breakpoint[]\n\n/** Returns the value of the largest active breakpoint in `values`, or `undefined` when none matches. */\nexport function useBreakpointValue<T>(values: ResponsiveValueMap<T>) {\n const activeBreakpoints = {\n base: useBreakpoint('base'),\n sm: useBreakpoint('sm'),\n md: useBreakpoint('md'),\n lg: useBreakpoint('lg'),\n xl: useBreakpoint('xl'),\n '2xl': useBreakpoint('2xl')\n }\n\n let value = values.base\n\n for (const breakpoint of breakpointOrder) {\n if (activeBreakpoints[breakpoint] && values[breakpoint] !== undefined) {\n value = values[breakpoint]\n }\n }\n\n return value\n}\n"],"mappings":"A,4FAKA,MAAMA,EAAkB,CAAC,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAK,EAG9D,SAAgB,mBAAsB,EAA+B,CACnE,IAAMC,EAAoB,CACxB,KAAMC,EAAc,MAAM,EAC1B,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,GAAIA,EAAc,IAAI,EACtB,MAAOA,EAAc,KAAK,CAC5B,EAEIC,EAAQC,EAAO,KAEnB,IAAK,IAAMC,KAAcL,EACnBC,EAAkBI,IAAeD,EAAOC,KAAgB,IAAA,KAC1D,EAAQD,EAAOC,IAInB,OAAOF,CACT,C"}
@@ -1,8 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- //#region src/hooks/use-breakpoint.d.ts
3
2
  export type Breakpoint = 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
4
3
  export declare const breakpointValues: Record<Exclude<Breakpoint, 'base'>, number>;
5
4
  /** Returns whether the viewport is at or above the given Tailwind breakpoint. */
6
5
  export declare function useBreakpoint(breakpoint: Breakpoint): boolean;
7
- //#endregion
8
6
  //# sourceMappingURL=use-breakpoint.d.ts.map