@databricks/appkit-ui 0.15.0 → 0.17.0

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 (274) hide show
  1. package/dist/cli/commands/plugin/add-resource/add-resource.js +10 -4
  2. package/dist/cli/commands/plugin/add-resource/add-resource.js.map +1 -1
  3. package/dist/cli/commands/plugin/create/scaffold.js +10 -16
  4. package/dist/cli/commands/plugin/create/scaffold.js.map +1 -1
  5. package/dist/cli/commands/plugin/list/list.js +44 -26
  6. package/dist/cli/commands/plugin/list/list.js.map +1 -1
  7. package/dist/cli/commands/plugin/manifest-resolve.js +57 -0
  8. package/dist/cli/commands/plugin/manifest-resolve.js.map +1 -0
  9. package/dist/cli/commands/plugin/sync/sync.js +121 -71
  10. package/dist/cli/commands/plugin/sync/sync.js.map +1 -1
  11. package/dist/cli/commands/plugin/trusted-js-manifest.js +28 -0
  12. package/dist/cli/commands/plugin/trusted-js-manifest.js.map +1 -0
  13. package/dist/cli/commands/plugin/validate/validate.js +32 -14
  14. package/dist/cli/commands/plugin/validate/validate.js.map +1 -1
  15. package/dist/js/arrow/arrow-client.d.ts.map +1 -1
  16. package/dist/js/arrow/index.d.ts +3 -0
  17. package/dist/js/arrow/lazy-arrow.d.ts +0 -1
  18. package/dist/js/arrow/lazy-arrow.d.ts.map +1 -1
  19. package/dist/js/constants.d.ts.map +1 -1
  20. package/dist/js/index.d.ts +2 -0
  21. package/dist/js/sse/connect-sse.d.ts +0 -1
  22. package/dist/js/sse/connect-sse.d.ts.map +1 -1
  23. package/dist/js/sse/types.d.ts +1 -3
  24. package/dist/js/sse/types.d.ts.map +1 -1
  25. package/dist/react/charts/area/index.d.ts +2 -3
  26. package/dist/react/charts/area/index.d.ts.map +1 -1
  27. package/dist/react/charts/bar/index.d.ts +2 -3
  28. package/dist/react/charts/bar/index.d.ts.map +1 -1
  29. package/dist/react/charts/base.d.ts +2 -2
  30. package/dist/react/charts/base.d.ts.map +1 -1
  31. package/dist/react/charts/base.js.map +1 -1
  32. package/dist/react/charts/chart-error-boundary.js.map +1 -1
  33. package/dist/react/charts/constants.d.ts.map +1 -1
  34. package/dist/react/charts/create-chart.d.ts +2 -3
  35. package/dist/react/charts/create-chart.d.ts.map +1 -1
  36. package/dist/react/charts/create-chart.js.map +1 -1
  37. package/dist/react/charts/empty.js.map +1 -1
  38. package/dist/react/charts/error.js.map +1 -1
  39. package/dist/react/charts/heatmap/index.d.ts +2 -3
  40. package/dist/react/charts/heatmap/index.d.ts.map +1 -1
  41. package/dist/react/charts/index.d.ts +18 -0
  42. package/dist/react/charts/line/index.d.ts +2 -3
  43. package/dist/react/charts/line/index.d.ts.map +1 -1
  44. package/dist/react/charts/loading.js.map +1 -1
  45. package/dist/react/charts/normalize.d.ts +0 -1
  46. package/dist/react/charts/normalize.d.ts.map +1 -1
  47. package/dist/react/charts/options.d.ts.map +1 -1
  48. package/dist/react/charts/pie/index.d.ts +3 -4
  49. package/dist/react/charts/pie/index.d.ts.map +1 -1
  50. package/dist/react/charts/radar/index.d.ts +2 -3
  51. package/dist/react/charts/radar/index.d.ts.map +1 -1
  52. package/dist/react/charts/scatter/index.d.ts +2 -3
  53. package/dist/react/charts/scatter/index.d.ts.map +1 -1
  54. package/dist/react/charts/theme.d.ts +0 -1
  55. package/dist/react/charts/theme.d.ts.map +1 -1
  56. package/dist/react/charts/types.d.ts.map +1 -1
  57. package/dist/react/charts/utils.d.ts.map +1 -1
  58. package/dist/react/charts/wrapper.d.ts +2 -2
  59. package/dist/react/charts/wrapper.d.ts.map +1 -1
  60. package/dist/react/charts/wrapper.js.map +1 -1
  61. package/dist/react/genie/genie-chat-input.d.ts +2 -2
  62. package/dist/react/genie/genie-chat-input.d.ts.map +1 -1
  63. package/dist/react/genie/genie-chat-input.js.map +1 -1
  64. package/dist/react/genie/genie-chat-message-list.d.ts +9 -3
  65. package/dist/react/genie/genie-chat-message-list.d.ts.map +1 -1
  66. package/dist/react/genie/genie-chat-message-list.js +92 -17
  67. package/dist/react/genie/genie-chat-message-list.js.map +1 -1
  68. package/dist/react/genie/genie-chat-message.d.ts +2 -2
  69. package/dist/react/genie/genie-chat-message.d.ts.map +1 -1
  70. package/dist/react/genie/genie-chat-message.js.map +1 -1
  71. package/dist/react/genie/genie-chat.d.ts +2 -2
  72. package/dist/react/genie/genie-chat.d.ts.map +1 -1
  73. package/dist/react/genie/genie-chat.js +4 -2
  74. package/dist/react/genie/genie-chat.js.map +1 -1
  75. package/dist/react/genie/index.d.ts +7 -0
  76. package/dist/react/genie/types.d.ts +8 -1
  77. package/dist/react/genie/types.d.ts.map +1 -1
  78. package/dist/react/genie/use-genie-chat.d.ts +0 -1
  79. package/dist/react/genie/use-genie-chat.d.ts.map +1 -1
  80. package/dist/react/genie/use-genie-chat.js +119 -41
  81. package/dist/react/genie/use-genie-chat.js.map +1 -1
  82. package/dist/react/hooks/index.d.ts +3 -0
  83. package/dist/react/hooks/types.d.ts.map +1 -1
  84. package/dist/react/hooks/use-analytics-query.d.ts +0 -1
  85. package/dist/react/hooks/use-analytics-query.d.ts.map +1 -1
  86. package/dist/react/hooks/use-chart-data.d.ts.map +1 -1
  87. package/dist/react/index.d.ts +5 -0
  88. package/dist/react/lib/utils.d.ts.map +1 -1
  89. package/dist/react/portal-container-context.d.ts +0 -1
  90. package/dist/react/portal-container-context.d.ts.map +1 -1
  91. package/dist/react/portal-container-context.js.map +1 -1
  92. package/dist/react/table/data-table.d.ts +2 -3
  93. package/dist/react/table/data-table.d.ts.map +1 -1
  94. package/dist/react/table/data-table.js.map +1 -1
  95. package/dist/react/table/empty.js.map +1 -1
  96. package/dist/react/table/error.js.map +1 -1
  97. package/dist/react/table/index.d.ts +1 -0
  98. package/dist/react/table/loading.js.map +1 -1
  99. package/dist/react/table/table-wrapper.js.map +1 -1
  100. package/dist/react/table/types.d.ts +0 -1
  101. package/dist/react/table/types.d.ts.map +1 -1
  102. package/dist/react/ui/accordion.d.ts.map +1 -1
  103. package/dist/react/ui/accordion.js.map +1 -1
  104. package/dist/react/ui/alert-dialog.d.ts +12 -12
  105. package/dist/react/ui/alert-dialog.d.ts.map +1 -1
  106. package/dist/react/ui/alert-dialog.js.map +1 -1
  107. package/dist/react/ui/alert.d.ts +4 -4
  108. package/dist/react/ui/alert.d.ts.map +1 -1
  109. package/dist/react/ui/alert.js.map +1 -1
  110. package/dist/react/ui/aspect-ratio.d.ts +2 -2
  111. package/dist/react/ui/aspect-ratio.d.ts.map +1 -1
  112. package/dist/react/ui/aspect-ratio.js.map +1 -1
  113. package/dist/react/ui/avatar.d.ts +4 -4
  114. package/dist/react/ui/avatar.d.ts.map +1 -1
  115. package/dist/react/ui/avatar.js.map +1 -1
  116. package/dist/react/ui/badge.d.ts +2 -2
  117. package/dist/react/ui/badge.d.ts.map +1 -1
  118. package/dist/react/ui/badge.js.map +1 -1
  119. package/dist/react/ui/breadcrumb.d.ts +8 -8
  120. package/dist/react/ui/breadcrumb.d.ts.map +1 -1
  121. package/dist/react/ui/breadcrumb.js.map +1 -1
  122. package/dist/react/ui/button-group.d.ts +6 -6
  123. package/dist/react/ui/button-group.d.ts.map +1 -1
  124. package/dist/react/ui/button-group.js.map +1 -1
  125. package/dist/react/ui/button.d.ts +4 -4
  126. package/dist/react/ui/button.d.ts.map +1 -1
  127. package/dist/react/ui/button.js.map +1 -1
  128. package/dist/react/ui/calendar.d.ts +3 -3
  129. package/dist/react/ui/calendar.d.ts.map +1 -1
  130. package/dist/react/ui/calendar.js.map +1 -1
  131. package/dist/react/ui/card.d.ts +8 -8
  132. package/dist/react/ui/card.d.ts.map +1 -1
  133. package/dist/react/ui/card.js.map +1 -1
  134. package/dist/react/ui/carousel.d.ts +6 -6
  135. package/dist/react/ui/carousel.d.ts.map +1 -1
  136. package/dist/react/ui/carousel.js.map +1 -1
  137. package/dist/react/ui/chart.d.ts +19 -19
  138. package/dist/react/ui/chart.d.ts.map +1 -1
  139. package/dist/react/ui/chart.js.map +1 -1
  140. package/dist/react/ui/checkbox.d.ts +2 -2
  141. package/dist/react/ui/checkbox.d.ts.map +1 -1
  142. package/dist/react/ui/checkbox.js.map +1 -1
  143. package/dist/react/ui/collapsible.d.ts +4 -4
  144. package/dist/react/ui/collapsible.d.ts.map +1 -1
  145. package/dist/react/ui/collapsible.js.map +1 -1
  146. package/dist/react/ui/command.d.ts +10 -10
  147. package/dist/react/ui/command.d.ts.map +1 -1
  148. package/dist/react/ui/command.js.map +1 -1
  149. package/dist/react/ui/context-menu.d.ts +16 -16
  150. package/dist/react/ui/context-menu.d.ts.map +1 -1
  151. package/dist/react/ui/context-menu.js.map +1 -1
  152. package/dist/react/ui/dialog.d.ts +11 -11
  153. package/dist/react/ui/dialog.d.ts.map +1 -1
  154. package/dist/react/ui/dialog.js.map +1 -1
  155. package/dist/react/ui/drawer.d.ts +11 -11
  156. package/dist/react/ui/drawer.d.ts.map +1 -1
  157. package/dist/react/ui/drawer.js.map +1 -1
  158. package/dist/react/ui/dropdown-menu.d.ts +16 -16
  159. package/dist/react/ui/dropdown-menu.d.ts.map +1 -1
  160. package/dist/react/ui/dropdown-menu.js.map +1 -1
  161. package/dist/react/ui/empty.d.ts +9 -9
  162. package/dist/react/ui/empty.d.ts.map +1 -1
  163. package/dist/react/ui/empty.js.map +1 -1
  164. package/dist/react/ui/field.d.ts +13 -13
  165. package/dist/react/ui/field.d.ts.map +1 -1
  166. package/dist/react/ui/field.js.map +1 -1
  167. package/dist/react/ui/form.d.ts +9 -9
  168. package/dist/react/ui/form.d.ts.map +1 -1
  169. package/dist/react/ui/form.js.map +1 -1
  170. package/dist/react/ui/hover-card.d.ts +4 -4
  171. package/dist/react/ui/hover-card.d.ts.map +1 -1
  172. package/dist/react/ui/hover-card.js.map +1 -1
  173. package/dist/react/ui/index.d.ts +53 -0
  174. package/dist/react/ui/input-group.d.ts +10 -10
  175. package/dist/react/ui/input-group.d.ts.map +1 -1
  176. package/dist/react/ui/input-group.js.map +1 -1
  177. package/dist/react/ui/input-otp.d.ts +5 -5
  178. package/dist/react/ui/input-otp.d.ts.map +1 -1
  179. package/dist/react/ui/input-otp.js.map +1 -1
  180. package/dist/react/ui/input.d.ts +2 -2
  181. package/dist/react/ui/input.d.ts.map +1 -1
  182. package/dist/react/ui/input.js.map +1 -1
  183. package/dist/react/ui/item.d.ts +14 -14
  184. package/dist/react/ui/item.d.ts.map +1 -1
  185. package/dist/react/ui/item.js.map +1 -1
  186. package/dist/react/ui/kbd.d.ts +3 -3
  187. package/dist/react/ui/kbd.d.ts.map +1 -1
  188. package/dist/react/ui/kbd.js.map +1 -1
  189. package/dist/react/ui/label.d.ts +2 -2
  190. package/dist/react/ui/label.d.ts.map +1 -1
  191. package/dist/react/ui/label.js.map +1 -1
  192. package/dist/react/ui/menubar.d.ts +17 -17
  193. package/dist/react/ui/menubar.d.ts.map +1 -1
  194. package/dist/react/ui/menubar.js.map +1 -1
  195. package/dist/react/ui/navigation-menu.d.ts +11 -11
  196. package/dist/react/ui/navigation-menu.d.ts.map +1 -1
  197. package/dist/react/ui/navigation-menu.js.map +1 -1
  198. package/dist/react/ui/pagination.d.ts +8 -8
  199. package/dist/react/ui/pagination.d.ts.map +1 -1
  200. package/dist/react/ui/pagination.js.map +1 -1
  201. package/dist/react/ui/popover.d.ts +5 -5
  202. package/dist/react/ui/popover.d.ts.map +1 -1
  203. package/dist/react/ui/popover.js.map +1 -1
  204. package/dist/react/ui/progress.d.ts +2 -2
  205. package/dist/react/ui/progress.d.ts.map +1 -1
  206. package/dist/react/ui/progress.js.map +1 -1
  207. package/dist/react/ui/radio-group.d.ts +3 -3
  208. package/dist/react/ui/radio-group.d.ts.map +1 -1
  209. package/dist/react/ui/radio-group.js.map +1 -1
  210. package/dist/react/ui/resizable.d.ts +4 -4
  211. package/dist/react/ui/resizable.d.ts.map +1 -1
  212. package/dist/react/ui/resizable.js.map +1 -1
  213. package/dist/react/ui/scroll-area.d.ts +3 -3
  214. package/dist/react/ui/scroll-area.d.ts.map +1 -1
  215. package/dist/react/ui/scroll-area.js.map +1 -1
  216. package/dist/react/ui/select.d.ts +11 -11
  217. package/dist/react/ui/select.d.ts.map +1 -1
  218. package/dist/react/ui/select.js.map +1 -1
  219. package/dist/react/ui/separator.d.ts +2 -2
  220. package/dist/react/ui/separator.d.ts.map +1 -1
  221. package/dist/react/ui/separator.js.map +1 -1
  222. package/dist/react/ui/sheet.d.ts +9 -9
  223. package/dist/react/ui/sheet.d.ts.map +1 -1
  224. package/dist/react/ui/sheet.js.map +1 -1
  225. package/dist/react/ui/sidebar.d.ts +38 -55
  226. package/dist/react/ui/sidebar.d.ts.map +1 -1
  227. package/dist/react/ui/sidebar.js.map +1 -1
  228. package/dist/react/ui/skeleton.d.ts +2 -2
  229. package/dist/react/ui/skeleton.d.ts.map +1 -1
  230. package/dist/react/ui/skeleton.js.map +1 -1
  231. package/dist/react/ui/slider.d.ts +2 -2
  232. package/dist/react/ui/slider.d.ts.map +1 -1
  233. package/dist/react/ui/slider.js.map +1 -1
  234. package/dist/react/ui/sonner.d.ts +2 -2
  235. package/dist/react/ui/sonner.d.ts.map +1 -1
  236. package/dist/react/ui/sonner.js.map +1 -1
  237. package/dist/react/ui/spinner.d.ts +2 -2
  238. package/dist/react/ui/spinner.d.ts.map +1 -1
  239. package/dist/react/ui/spinner.js.map +1 -1
  240. package/dist/react/ui/switch.d.ts +2 -2
  241. package/dist/react/ui/switch.d.ts.map +1 -1
  242. package/dist/react/ui/switch.js.map +1 -1
  243. package/dist/react/ui/table.d.ts +9 -9
  244. package/dist/react/ui/table.d.ts.map +1 -1
  245. package/dist/react/ui/table.js.map +1 -1
  246. package/dist/react/ui/tabs.d.ts +5 -5
  247. package/dist/react/ui/tabs.d.ts.map +1 -1
  248. package/dist/react/ui/tabs.js.map +1 -1
  249. package/dist/react/ui/textarea.d.ts +2 -2
  250. package/dist/react/ui/textarea.d.ts.map +1 -1
  251. package/dist/react/ui/textarea.js.map +1 -1
  252. package/dist/react/ui/toggle-group.d.ts +3 -3
  253. package/dist/react/ui/toggle-group.d.ts.map +1 -1
  254. package/dist/react/ui/toggle-group.js.map +1 -1
  255. package/dist/react/ui/toggle.d.ts +4 -4
  256. package/dist/react/ui/toggle.d.ts.map +1 -1
  257. package/dist/react/ui/toggle.js.map +1 -1
  258. package/dist/react/ui/tooltip.d.ts +5 -5
  259. package/dist/react/ui/tooltip.d.ts.map +1 -1
  260. package/dist/react/ui/tooltip.js.map +1 -1
  261. package/dist/shared/src/cache.d.ts +1 -0
  262. package/dist/shared/src/execute.d.ts +1 -0
  263. package/dist/shared/src/genie.d.ts +6 -0
  264. package/dist/shared/src/genie.d.ts.map +1 -1
  265. package/dist/shared/src/index.d.ts +7 -0
  266. package/dist/shared/src/plugin.d.ts +2 -0
  267. package/dist/shared/src/sql/helpers.d.ts +0 -1
  268. package/dist/shared/src/sql/helpers.d.ts.map +1 -1
  269. package/dist/shared/src/sql/types.d.ts.map +1 -1
  270. package/dist/shared/src/tunnel.d.ts +1 -0
  271. package/docs/api/appkit-ui/genie/GenieChatMessageList.md +7 -5
  272. package/docs/development/project-setup.md +1 -1
  273. package/docs/plugins/plugin-management.md +16 -2
  274. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-wrapper.js","names":[],"sources":["../../../src/react/table/table-wrapper.tsx"],"sourcesContent":["import {\n type Column,\n type ColumnFiltersState,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type Row,\n type RowSelectionState,\n type SortingState,\n type Table,\n useReactTable,\n type VisibilityState,\n} from \"@tanstack/react-table\";\nimport { ArrowUpDown } from \"lucide-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useAnalyticsQuery } from \"..\";\nimport {\n formatChartValue,\n formatFieldLabel,\n SAFE_KEY_REGEX,\n} from \"../lib/format\";\nimport { Button } from \"../ui/button\";\nimport { Checkbox } from \"../ui/checkbox\";\nimport { EmptyState } from \"./empty\";\nimport { ErrorState } from \"./error\";\nimport { LoadingSkeleton } from \"./loading\";\nimport type { TableWrapperProps } from \"./types\";\n\nconst CHECKBOX_COLUMN_WIDTH = 40;\n\n/**\n * Wrapper component for tables with automatic data fetching and state management\n * This component handles:\n * - Data fetching via useAnalyticsQuery\n * - Loading, error, and empty states with proper UI components\n * - Data transformation (optional)\n * - Dynamic column generation from data structure\n * - TanStack Table instance creation with all features (sorting, filtering, pagination, etc.)\n *\n * @template TRaw - The raw data type returned by the analytics query\n * @template TProcessed - The processed data type after transformation\n *\n * @param props - Props for the TableWrapper component\n * @param props.queryKey - The query key to fetch the data\n * @param props.parameters - The parameters to pass to the query\n * @param props.transformer - Optional function to transform raw data before creating table\n * @param props.children - Render function that receives the TanStack Table instance\n * @param props.className - Optional CSS class name for the wrapper\n * @param props.ariaLabel - Optional accessibility label\n * @param props.testId - Optional test ID for testing\n *\n * @returns The rendered table with state management\n */\nexport function TableWrapper<TRaw = any, TProcessed = any>(\n props: TableWrapperProps<TRaw, TProcessed>,\n) {\n const {\n queryKey,\n parameters,\n transformer,\n children,\n className,\n ariaLabel,\n testId,\n enableRowSelection = false,\n onRowSelectionChange,\n pageSize = 10,\n } = props;\n\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n\n const { data, loading, error } = useAnalyticsQuery<TRaw[]>(\n queryKey,\n parameters,\n );\n\n useEffect(() => {\n if (onRowSelectionChange && enableRowSelection) {\n onRowSelectionChange(rowSelection);\n }\n }, [rowSelection, onRowSelectionChange, enableRowSelection]);\n\n const hasData = data && data.length > 0;\n\n const processedData = hasData\n ? transformer\n ? transformer(data)\n : (data as unknown as TProcessed[])\n : [];\n\n const tableColumns = useMemo(() => {\n if (!hasData) return [];\n\n if (!processedData[0] || typeof processedData[0] !== \"object\") {\n console.warn(\"Invalid data format for DataTable\");\n return [];\n }\n\n const dataColumns = Object.keys(processedData[0] as object)\n .filter((key) => SAFE_KEY_REGEX.test(key))\n .map((key) => {\n const formattedLabel = formatFieldLabel(key);\n return {\n accessorKey: key,\n header: ({ column }: { column: Column<TProcessed> }) => {\n return (\n <Button\n variant=\"ghost\"\n onClick={() =>\n column.toggleSorting(column.getIsSorted() === \"asc\")\n }\n className=\"h-8 px-2\"\n >\n {formattedLabel}\n <ArrowUpDown className=\"ml-2 h-4 w-4\" />\n </Button>\n );\n },\n cell: ({ row }: { row: Row<TProcessed> }) => {\n const value = row.getValue(key);\n if (typeof value === \"number\" || Number.isFinite(Number(value))) {\n return (\n <div className=\"text-right font-mono\">\n {formatChartValue(Number(value), key)}\n </div>\n );\n }\n return <div>{String(value)}</div>;\n },\n };\n });\n\n if (enableRowSelection) {\n return [\n {\n id: \"select\",\n maxSize: CHECKBOX_COLUMN_WIDTH,\n minSize: CHECKBOX_COLUMN_WIDTH,\n header: ({ table }: { table: Table<TProcessed> }) => (\n <div className=\"flex items-center justify-center\">\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n onCheckedChange={(value) =>\n table.toggleAllPageRowsSelected(!!value)\n }\n aria-label=\"Select all\"\n />\n </div>\n ),\n cell: ({ row }: { row: Row<TProcessed> }) => (\n <div className=\"flex items-center justify-center\">\n <Checkbox\n checked={row.getIsSelected()}\n onCheckedChange={(value) => row.toggleSelected(!!value)}\n aria-label=\"Select row\"\n />\n </div>\n ),\n enableSorting: false,\n enableHiding: false,\n },\n ...dataColumns,\n ];\n }\n\n return dataColumns;\n }, [hasData, processedData, enableRowSelection]);\n\n const table = useReactTable({\n data: processedData,\n columns: tableColumns,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n onColumnVisibilityChange: setColumnVisibility,\n onRowSelectionChange: setRowSelection,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n },\n initialState: {\n pagination: {\n pageSize: pageSize,\n },\n },\n });\n\n if (loading) return <LoadingSkeleton />;\n if (error)\n return (\n <ErrorState error={typeof error === \"string\" ? error : \"Unknown error\"} />\n );\n\n if (!hasData) return <EmptyState />;\n\n return (\n <section className={className} aria-label={ariaLabel} data-testid={testId}>\n {children(table)}\n </section>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"table-wrapper.js","names":[],"sources":["../../../src/react/table/table-wrapper.tsx"],"sourcesContent":["import {\n type Column,\n type ColumnFiltersState,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type Row,\n type RowSelectionState,\n type SortingState,\n type Table,\n useReactTable,\n type VisibilityState,\n} from \"@tanstack/react-table\";\nimport { ArrowUpDown } from \"lucide-react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useAnalyticsQuery } from \"..\";\nimport {\n formatChartValue,\n formatFieldLabel,\n SAFE_KEY_REGEX,\n} from \"../lib/format\";\nimport { Button } from \"../ui/button\";\nimport { Checkbox } from \"../ui/checkbox\";\nimport { EmptyState } from \"./empty\";\nimport { ErrorState } from \"./error\";\nimport { LoadingSkeleton } from \"./loading\";\nimport type { TableWrapperProps } from \"./types\";\n\nconst CHECKBOX_COLUMN_WIDTH = 40;\n\n/**\n * Wrapper component for tables with automatic data fetching and state management\n * This component handles:\n * - Data fetching via useAnalyticsQuery\n * - Loading, error, and empty states with proper UI components\n * - Data transformation (optional)\n * - Dynamic column generation from data structure\n * - TanStack Table instance creation with all features (sorting, filtering, pagination, etc.)\n *\n * @template TRaw - The raw data type returned by the analytics query\n * @template TProcessed - The processed data type after transformation\n *\n * @param props - Props for the TableWrapper component\n * @param props.queryKey - The query key to fetch the data\n * @param props.parameters - The parameters to pass to the query\n * @param props.transformer - Optional function to transform raw data before creating table\n * @param props.children - Render function that receives the TanStack Table instance\n * @param props.className - Optional CSS class name for the wrapper\n * @param props.ariaLabel - Optional accessibility label\n * @param props.testId - Optional test ID for testing\n *\n * @returns The rendered table with state management\n */\nexport function TableWrapper<TRaw = any, TProcessed = any>(\n props: TableWrapperProps<TRaw, TProcessed>,\n) {\n const {\n queryKey,\n parameters,\n transformer,\n children,\n className,\n ariaLabel,\n testId,\n enableRowSelection = false,\n onRowSelectionChange,\n pageSize = 10,\n } = props;\n\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n\n const { data, loading, error } = useAnalyticsQuery<TRaw[]>(\n queryKey,\n parameters,\n );\n\n useEffect(() => {\n if (onRowSelectionChange && enableRowSelection) {\n onRowSelectionChange(rowSelection);\n }\n }, [rowSelection, onRowSelectionChange, enableRowSelection]);\n\n const hasData = data && data.length > 0;\n\n const processedData = hasData\n ? transformer\n ? transformer(data)\n : (data as unknown as TProcessed[])\n : [];\n\n const tableColumns = useMemo(() => {\n if (!hasData) return [];\n\n if (!processedData[0] || typeof processedData[0] !== \"object\") {\n console.warn(\"Invalid data format for DataTable\");\n return [];\n }\n\n const dataColumns = Object.keys(processedData[0] as object)\n .filter((key) => SAFE_KEY_REGEX.test(key))\n .map((key) => {\n const formattedLabel = formatFieldLabel(key);\n return {\n accessorKey: key,\n header: ({ column }: { column: Column<TProcessed> }) => {\n return (\n <Button\n variant=\"ghost\"\n onClick={() =>\n column.toggleSorting(column.getIsSorted() === \"asc\")\n }\n className=\"h-8 px-2\"\n >\n {formattedLabel}\n <ArrowUpDown className=\"ml-2 h-4 w-4\" />\n </Button>\n );\n },\n cell: ({ row }: { row: Row<TProcessed> }) => {\n const value = row.getValue(key);\n if (typeof value === \"number\" || Number.isFinite(Number(value))) {\n return (\n <div className=\"text-right font-mono\">\n {formatChartValue(Number(value), key)}\n </div>\n );\n }\n return <div>{String(value)}</div>;\n },\n };\n });\n\n if (enableRowSelection) {\n return [\n {\n id: \"select\",\n maxSize: CHECKBOX_COLUMN_WIDTH,\n minSize: CHECKBOX_COLUMN_WIDTH,\n header: ({ table }: { table: Table<TProcessed> }) => (\n <div className=\"flex items-center justify-center\">\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n onCheckedChange={(value) =>\n table.toggleAllPageRowsSelected(!!value)\n }\n aria-label=\"Select all\"\n />\n </div>\n ),\n cell: ({ row }: { row: Row<TProcessed> }) => (\n <div className=\"flex items-center justify-center\">\n <Checkbox\n checked={row.getIsSelected()}\n onCheckedChange={(value) => row.toggleSelected(!!value)}\n aria-label=\"Select row\"\n />\n </div>\n ),\n enableSorting: false,\n enableHiding: false,\n },\n ...dataColumns,\n ];\n }\n\n return dataColumns;\n }, [hasData, processedData, enableRowSelection]);\n\n const table = useReactTable({\n data: processedData,\n columns: tableColumns,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n onColumnVisibilityChange: setColumnVisibility,\n onRowSelectionChange: setRowSelection,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n },\n initialState: {\n pagination: {\n pageSize: pageSize,\n },\n },\n });\n\n if (loading) return <LoadingSkeleton />;\n if (error)\n return (\n <ErrorState error={typeof error === \"string\" ? error : \"Unknown error\"} />\n );\n\n if (!hasData) return <EmptyState />;\n\n return (\n <section className={className} aria-label={ariaLabel} data-testid={testId}>\n {children(table)}\n </section>\n );\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { RowSelectionState, Table } from "@tanstack/react-table";
2
2
 
3
3
  //#region src/react/table/types.d.ts
4
-
5
4
  /** Props for the DataTable component */
6
5
  interface DataTableProps {
7
6
  /** The query key to fetch the data */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/react/table/types.ts"],"sourcesContent":[],"mappings":";;;;;UA+BiB,cAAA;;;;cAIH;;;;;;;;WAQH;;;;;;;;;;wCAU6B;;qBAEnB,eAAe,KAAA,CAAM;;;;;;;UAQzB,eAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/react/table/types.ts"],"mappings":";;;;UA+BiB,cAAA;EAwBI;EAtBnB,QAAA;EAsBkC;EApBlC,UAAA,EAAY,MAAA;EAsBZ;EApBA,YAAA;EAsBe;EApBf,iBAAA;EAwBe;EAtBf,SAAA,IAAa,IAAA;;EAEb,MAAA,GAAS,eAAA;EAsBT;EApBA,SAAA;EAwBA;EAtBA,MAAA;EA0BA;EAxBA,SAAA;EA4BA;EA1BA,kBAAA;EA0BO;EAxBP,oBAAA,IAAwB,YAAA,EAAc,iBAAA;;EAEtC,QAAA,IAAY,KAAA,EAAO,KAAA,UAAe,KAAA,CAAM,SAAA;;EAExC,QAAA;;EAEA,eAAA;AAAA;;UAIe,eAAA;;EAEf,aAAA;;EAEA,SAAA;;EAEA,SAAA;;EAEA,cAAA;;EAEA,UAAA;;EAEA,WAAA;;EAEA,OAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../../src/react/ui/accordion.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAOS,SAAA;;GAEN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,QAAK,kBAAA,CAAA,GAAA,CAAA;;AARS,iBAavD,aAAA,CAPS;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAUf,OAAA,CAAM,cAVS,CAAA,OAUa,kBAAA,CAAmB,IAVhC,CAAA,CAAA,EAUqC,kBAAA,CAAA,GAAA,CAAA,OAVrC;;iBAqBT,gBAAA,CAnByC;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAuB/C,OAAA,CAAM,cAvByC,CAAA,OAuBnB,kBAAA,CAAmB,OAvBA,CAAA,CAAA,EAuBQ,kBAAA,CAAA,GAAA,CAAA,OAvBR;;iBA0CzC,gBAAA,CA1C8C;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA8CpD,OAAA,CAAM,cA9C8C,CAAA,OA8CxB,kBAAA,CAAmB,OA9CK,CAAA,CAAA,EA8CG,kBAAA,CAAA,GAAA,CAAA,OA9CH"}
1
+ {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../../src/react/ui/accordion.tsx"],"mappings":";;;;;;iBAOS,SAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAK9C,aAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAW9C,gBAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAmBjD,gBAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","names":[],"sources":["../../../src/react/ui/accordion.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Collapsible content sections organized in a vertical stack */\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\n/** Individual collapsible section within an accordion */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable button that triggers accordion content visibility */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** Content area that expands and collapses within an accordion item */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;;AAOA,SAAS,UAAU,EACjB,GAAG,SACoD;AACvD,QAAO,oBAAC,mBAAmB,MAApB;EAAyB,aAAU;EAAY,GAAI;EAAS;;;AAIrE,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAAC,mBAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;EACJ;;;AAKN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB,QAApB;EAA2B,WAAU;YACnC,qBAAC,mBAAmB,SAApB;GACE,aAAU;GACV,WAAW,GACT,8SACA,UACD;GACD,GAAI;aANN,CAQG,UACD,oBAAC,iBAAD,EAAiB,WAAU,+GAAgH,EAChH;;EACH;;;AAKhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB,SAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC,OAAD;GAAK,WAAW,GAAG,aAAa,UAAU;GAAG;GAAe;EACjC"}
1
+ {"version":3,"file":"accordion.js","names":[],"sources":["../../../src/react/ui/accordion.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Collapsible content sections organized in a vertical stack */\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\n/** Individual collapsible section within an accordion */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable button that triggers accordion content visibility */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** Content area that expands and collapses within an accordion item */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;;AAOA,SAAS,UAAU,EACjB,GAAG,SACoD;AACvD,QAAO,oBAAC,mBAAmB;EAAK,aAAU;EAAY,GAAI;GAAS;;;AAIrE,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;GACJ;;;AAKN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAO,WAAU;YACnC,qBAAC,mBAAmB;GAClB,aAAU;GACV,WAAW,GACT,8SACA,UACD;GACD,GAAI;cAEH,UACD,oBAAC,mBAAgB,WAAU,gHAAgH;IAChH;GACH;;;AAKhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC;GAAI,WAAW,GAAG,aAAa,UAAU;GAAG;IAAe;GACjC"}
@@ -1,61 +1,61 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime7 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
4
4
 
5
5
  //#region src/react/ui/alert-dialog.d.ts
6
6
  /** Modal dialog that interrupts the user with critical information requiring immediate action */
7
7
  declare function AlertDialog({
8
8
  ...props
9
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Root>): react_jsx_runtime7.JSX.Element;
9
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Root>): react_jsx_runtime0.JSX.Element;
10
10
  /** Button that triggers the alert dialog to open */
11
11
  declare function AlertDialogTrigger({
12
12
  ...props
13
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Trigger>): react_jsx_runtime7.JSX.Element;
13
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Trigger>): react_jsx_runtime0.JSX.Element;
14
14
  /** Portal container for rendering alert dialog content outside the DOM hierarchy */
15
15
  declare function AlertDialogPortal({
16
16
  container,
17
17
  ...props
18
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Portal>): react_jsx_runtime7.JSX.Element;
18
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Portal>): react_jsx_runtime0.JSX.Element;
19
19
  /** Background overlay that dims content behind the alert dialog */
20
20
  declare function AlertDialogOverlay({
21
21
  className,
22
22
  ...props
23
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Overlay>): react_jsx_runtime7.JSX.Element;
23
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Overlay>): react_jsx_runtime0.JSX.Element;
24
24
  /** Main content container for the alert dialog */
25
25
  declare function AlertDialogContent({
26
26
  className,
27
27
  ...props
28
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Content>): react_jsx_runtime7.JSX.Element;
28
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Content>): react_jsx_runtime0.JSX.Element;
29
29
  /** Header section containing title and description */
30
30
  declare function AlertDialogHeader({
31
31
  className,
32
32
  ...props
33
- }: React$1.ComponentProps<"div">): react_jsx_runtime7.JSX.Element;
33
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
34
34
  /** Footer section containing action buttons */
35
35
  declare function AlertDialogFooter({
36
36
  className,
37
37
  ...props
38
- }: React$1.ComponentProps<"div">): react_jsx_runtime7.JSX.Element;
38
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
39
39
  /** Title heading for the alert dialog */
40
40
  declare function AlertDialogTitle({
41
41
  className,
42
42
  ...props
43
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Title>): react_jsx_runtime7.JSX.Element;
43
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Title>): react_jsx_runtime0.JSX.Element;
44
44
  /** Descriptive text explaining the alert */
45
45
  declare function AlertDialogDescription({
46
46
  className,
47
47
  ...props
48
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Description>): react_jsx_runtime7.JSX.Element;
48
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Description>): react_jsx_runtime0.JSX.Element;
49
49
  /** Primary action button that confirms the alert */
50
50
  declare function AlertDialogAction({
51
51
  className,
52
52
  ...props
53
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Action>): react_jsx_runtime7.JSX.Element;
53
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Action>): react_jsx_runtime0.JSX.Element;
54
54
  /** Cancel button that dismisses the alert dialog */
55
55
  declare function AlertDialogCancel({
56
56
  className,
57
57
  ...props
58
- }: React$1.ComponentProps<typeof AlertDialogPrimitive.Cancel>): react_jsx_runtime7.JSX.Element;
58
+ }: React$1.ComponentProps<typeof AlertDialogPrimitive.Cancel>): react_jsx_runtime0.JSX.Element;
59
59
  //#endregion
60
60
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
61
61
  //# sourceMappingURL=alert-dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../../../src/react/ui/alert-dialog.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAQS,WAAA;;GAEN,OAAA,CAAM,sBAAsB,oBAAA,CAAqB,QAAK,kBAAA,CAAA,GAAA,CAAA;;AATY,iBAc5D,kBAAA,CAPW;EAAA,GAAA;AAAA,CAAA,EASjB,OAAA,CAAM,cATW,CAAA,OASW,oBAAA,CAAqB,OAThC,CAAA,CAAA,EASwC,kBAAA,CAAA,GAAA,CAAA,OATxC;;iBAgBX,iBAAA,CAd2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiBjD,OAAA,CAAM,cAjB2C,CAAA,OAiBrB,oBAAA,CAAqB,MAjBA,CAAA,CAAA,EAiBO,kBAAA,CAAA,GAAA,CAAA,OAjBP;;iBA4B3C,kBAAA,CA5BgD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+BtD,OAAA,CAAM,cA/BgD,CAAA,OA+B1B,oBAAA,CAAqB,OA/BK,CAAA,CAAA,EA+BG,kBAAA,CAAA,GAAA,CAAA,OA/BH;;AAAA,iBA6ChD,kBAAA,CAxCkB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2CxB,OAAA,CAAM,cA3CkB,CAAA,OA2CI,oBAAA,CAAqB,OA3CzB,CAAA,CAAA,EA2CiC,kBAAA,CAAA,GAAA,CAAA,OA3CjC;;iBA4DlB,iBAAA,CA1D2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6DjD,OAAA,CAAM,cA7D2C,CAAA,KAAA,CAAA,CAAA,EA6DtB,kBAAA,CAAA,GAAA,CAAA,OA7DsB;;iBAwE3C,iBAAA,CAxEmD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2EzD,OAAA,CAAM,cA3EmD,CAAA,KAAA,CAAA,CAAA,EA2E9B,kBAAA,CAAA,GAAA,CAAA,OA3E8B;;AAAA,iBAyFnD,gBAAA,CAlFiB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAqFvB,OAAA,CAAM,cArFiB,CAAA,OAqFK,oBAAA,CAAqB,KArF1B,CAAA,CAAA,EAqFgC,kBAAA,CAAA,GAAA,CAAA,OArFhC;;iBAgGjB,sBAAA,CA/FP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkGC,OAAA,CAAM,cAlGP,CAAA,OAkG6B,oBAAA,CAAqB,WAlGlD,CAAA,CAAA,EAkG8D,kBAAA,CAAA,GAAA,CAAA,OAlG9D;;iBA6GO,iBAAA,CA3GA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8GN,OAAA,CAAM,cA9GA,CAAA,OA8GsB,oBAAA,CAAqB,MA9G3C,CAAA,CAAA,EA8GkD,kBAAA,CAAA,GAAA,CAAA,OA9GlD;;iBAwHA,iBAAA,CAxHkD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2HxD,OAAA,CAAM,cA3HkD,CAAA,OA2H5B,oBAAA,CAAqB,MA3HO,CAAA,CAAA,EA2HA,kBAAA,CAAA,GAAA,CAAA,OA3HA"}
1
+ {"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../../../src/react/ui/alert-dialog.tsx"],"mappings":";;;;;;iBAQS,WAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAKhD,kBAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAOnD,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAWlD,kBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAcnD,kBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAiBnD,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAWrB,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAcrB,gBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAWjD,sBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAWvD,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;AA/HF;AAAA,iBAyIhD,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.js","names":[],"sources":["../../../src/react/ui/alert-dialog.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\nimport { buttonVariants } from \"./button\";\n\n/** Modal dialog that interrupts the user with critical information requiring immediate action */\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\n/** Button that triggers the alert dialog to open */\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\n/** Portal container for rendering alert dialog content outside the DOM hierarchy */\nfunction AlertDialogPortal({\n container,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal\n data-slot=\"alert-dialog-portal\"\n container={useResolvedPortalContainer(container)}\n {...props}\n />\n );\n}\n\n/** Background overlay that dims content behind the alert dialog */\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Main content container for the alert dialog */\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\n/** Header section containing title and description */\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\n/** Footer section containing action buttons */\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Title heading for the alert dialog */\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\n/** Descriptive text explaining the alert */\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** Primary action button that confirms the alert */\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n );\n}\n\n/** Cancel button that dismisses the alert dialog */\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"mappings":";;;;;;;;AAQA,SAAS,YAAY,EACnB,GAAG,SACsD;AACzD,QAAO,oBAAC,qBAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;EAAS;;;AAI1E,SAAS,mBAAmB,EAC1B,GAAG,SACyD;AAC5D,QACE,oBAAC,qBAAqB,SAAtB;EAA8B,aAAU;EAAuB,GAAI;EAAS;;;AAKhF,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB,QAAtB;EACE,aAAU;EACV,WAAW,2BAA2B,UAAU;EAChD,GAAI;EACJ;;;AAKN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,qBAAqB,SAAtB;EACE,aAAU;EACV,WAAW,GACT,0JACA,UACD;EACD,GAAI;EACJ;;;AAKN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,qBAAC,mBAAD,aACE,oBAAC,oBAAD,EAAsB,GACtB,oBAAC,qBAAqB,SAAtB;EACE,aAAU;EACV,WAAW,GACT,+WACA,UACD;EACD,GAAI;EACJ,EACgB;;;AAKxB,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;EACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,0DACA,UACD;EACD,GAAI;EACJ;;;AAKN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAAC,qBAAqB,OAAtB;EACE,aAAU;EACV,WAAW,GAAG,yBAAyB,UAAU;EACjD,GAAI;EACJ;;;AAKN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,qBAAqB,aAAtB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;EACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB,QAAtB;EACE,WAAW,GAAG,gBAAgB,EAAE,UAAU;EAC1C,GAAI;EACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB,QAAtB;EACE,WAAW,GAAG,eAAe,EAAE,SAAS,WAAW,CAAC,EAAE,UAAU;EAChE,GAAI;EACJ"}
1
+ {"version":3,"file":"alert-dialog.js","names":[],"sources":["../../../src/react/ui/alert-dialog.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\nimport { buttonVariants } from \"./button\";\n\n/** Modal dialog that interrupts the user with critical information requiring immediate action */\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\n/** Button that triggers the alert dialog to open */\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\n/** Portal container for rendering alert dialog content outside the DOM hierarchy */\nfunction AlertDialogPortal({\n container,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal\n data-slot=\"alert-dialog-portal\"\n container={useResolvedPortalContainer(container)}\n {...props}\n />\n );\n}\n\n/** Background overlay that dims content behind the alert dialog */\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Main content container for the alert dialog */\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\n/** Header section containing title and description */\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\n/** Footer section containing action buttons */\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Title heading for the alert dialog */\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\n/** Descriptive text explaining the alert */\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** Primary action button that confirms the alert */\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n );\n}\n\n/** Cancel button that dismisses the alert dialog */\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"mappings":";;;;;;;;AAQA,SAAS,YAAY,EACnB,GAAG,SACsD;AACzD,QAAO,oBAAC,qBAAqB;EAAK,aAAU;EAAe,GAAI;GAAS;;;AAI1E,SAAS,mBAAmB,EAC1B,GAAG,SACyD;AAC5D,QACE,oBAAC,qBAAqB;EAAQ,aAAU;EAAuB,GAAI;GAAS;;;AAKhF,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,2BAA2B,UAAU;EAChD,GAAI;GACJ;;;AAKN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GACT,0JACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,qBAAC,gCACC,oBAAC,uBAAqB,EACtB,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GACT,+WACA,UACD;EACD,GAAI;GACJ,IACgB;;;AAKxB,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;GACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,0DACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GAAG,yBAAyB,UAAU;EACjD,GAAI;GACJ;;;AAKN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB;EACpB,WAAW,GAAG,gBAAgB,EAAE,UAAU;EAC1C,GAAI;GACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACwD;AAC3D,QACE,oBAAC,qBAAqB;EACpB,WAAW,GAAG,eAAe,EAAE,SAAS,WAAW,CAAC,EAAE,UAAU;EAChE,GAAI;GACJ"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
@@ -12,17 +12,17 @@ declare function Alert({
12
12
  className,
13
13
  variant,
14
14
  ...props
15
- }: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime4.JSX.Element;
15
+ }: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime0.JSX.Element;
16
16
  /** Title text for an alert component */
17
17
  declare function AlertTitle({
18
18
  className,
19
19
  ...props
20
- }: React$1.ComponentProps<"div">): react_jsx_runtime4.JSX.Element;
20
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
21
21
  /** Descriptive text content for an alert component */
22
22
  declare function AlertDescription({
23
23
  className,
24
24
  ...props
25
- }: React$1.ComponentProps<"div">): react_jsx_runtime4.JSX.Element;
25
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
26
26
  //#endregion
27
27
  export { Alert, AlertDescription, AlertTitle };
28
28
  //# sourceMappingURL=alert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","names":[],"sources":["../../../src/react/ui/alert.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;IAcL,+BAAA,CAAA;;AAlBiE,iBAqBzD,KAAA,CAHR;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EAOE,OAAA,CAAM,cAPR,CAAA,KAAA,CAAA,GAOgC,YAPhC,CAAA,OAOoD,aAPpD,CAAA,CAAA,EAOkE,kBAAA,CAAA,GAAA,CAAA,OAPlE;;iBAmBQ,UAAA,CAhBK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgB+B,OAAA,CAAM,cAhBrC,CAAA,KAAA,CAAA,CAAA,EAgB0D,kBAAA,CAAA,GAAA,CAAA,OAhB1D;;iBA8BL,gBAAA,CA5BP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+BC,OAAA,CAAM,cA/BP,CAAA,KAAA,CAAA,CAAA,EA+B4B,kBAAA,CAAA,GAAA,CAAA,OA/B5B"}
1
+ {"version":3,"file":"alert.d.ts","names":[],"sources":["../../../src/react/ui/alert.tsx"],"mappings":";;;;;;cAKM,aAAA,GAAa,KAAA;;IAclB,+BAAA,CAAA,SAAA;;iBAGQ,KAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,aAAA,IAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAY1D,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAc/D,gBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","names":[],"sources":["../../../src/react/ui/alert.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Displays important information with optional icon and multiple variants */\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\n/** Title text for an alert component */\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Descriptive text content for an alert component */\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"mappings":";;;;;AAKA,MAAM,gBAAgB,IACpB,qOACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;;AAGD,SAAS,MAAM,EACb,WACA,SACA,GAAG,SACgE;AACnE,QACE,oBAAC,OAAD;EACE,aAAU;EACV,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;EACJ;;;AAKN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,+DACA,UACD;EACD,GAAI;EACJ;;;AAKN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,kGACA,UACD;EACD,GAAI;EACJ"}
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../../../src/react/ui/alert.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Displays important information with optional icon and multiple variants */\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\n/** Title text for an alert component */\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Descriptive text content for an alert component */\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"mappings":";;;;;AAKA,MAAM,gBAAgB,IACpB,qOACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;;AAGD,SAAS,MAAM,EACb,WACA,SACA,GAAG,SACgE;AACnE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ;;;AAKN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,+DACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kGACA,UACD;EACD,GAAI;GACJ"}
@@ -1,11 +1,11 @@
1
- import * as react_jsx_runtime18 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
3
3
 
4
4
  //#region src/react/ui/aspect-ratio.d.ts
5
5
  /** Container that maintains a specific aspect ratio for its content */
6
6
  declare function AspectRatio({
7
7
  ...props
8
- }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime18.JSX.Element;
8
+ }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime0.JSX.Element;
9
9
  //#endregion
10
10
  export { AspectRatio };
11
11
  //# sourceMappingURL=aspect-ratio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aspect-ratio.d.ts","names":[],"sources":["../../../src/react/ui/aspect-ratio.tsx"],"sourcesContent":[],"mappings":";;;;;iBAKS,WAAA;;GAEN,KAAA,CAAM,sBAAsB,oBAAA,CAAqB,QAAK,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"aspect-ratio.d.ts","names":[],"sources":["../../../src/react/ui/aspect-ratio.tsx"],"mappings":";;;;;iBAKS,WAAA,CAAA;EAAA,GACJ;AAAA,GACF,KAAA,CAAM,cAAA,QAAsB,oBAAA,CAAqB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../../src/react/ui/aspect-ratio.tsx"],"sourcesContent":["\"use client\";\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\n\n/** Container that maintains a specific aspect ratio for its content */\nfunction AspectRatio({\n ...props\n}: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {\n return <AspectRatioPrimitive.Root data-slot=\"aspect-ratio\" {...props} />;\n}\n\nexport { AspectRatio };\n"],"mappings":";;;;;;;AAKA,SAAS,YAAY,EACnB,GAAG,SACsD;AACzD,QAAO,oBAAC,qBAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;EAAS"}
1
+ {"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../../src/react/ui/aspect-ratio.tsx"],"sourcesContent":["\"use client\";\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\n\n/** Container that maintains a specific aspect ratio for its content */\nfunction AspectRatio({\n ...props\n}: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {\n return <AspectRatioPrimitive.Root data-slot=\"aspect-ratio\" {...props} />;\n}\n\nexport { AspectRatio };\n"],"mappings":";;;;;;;AAKA,SAAS,YAAY,EACnB,GAAG,SACsD;AACzD,QAAO,oBAAC,qBAAqB;EAAK,aAAU;EAAe,GAAI;GAAS"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime19 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
4
4
 
5
5
  //#region src/react/ui/avatar.d.ts
@@ -7,17 +7,17 @@ import * as AvatarPrimitive from "@radix-ui/react-avatar";
7
7
  declare function Avatar({
8
8
  className,
9
9
  ...props
10
- }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime19.JSX.Element;
10
+ }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime0.JSX.Element;
11
11
  /** Image element for the avatar */
12
12
  declare function AvatarImage({
13
13
  className,
14
14
  ...props
15
- }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime19.JSX.Element;
15
+ }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime0.JSX.Element;
16
16
  /** Fallback content displayed when avatar image fails to load */
17
17
  declare function AvatarFallback({
18
18
  className,
19
19
  ...props
20
- }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime19.JSX.Element;
20
+ }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime0.JSX.Element;
21
21
  //#endregion
22
22
  export { Avatar, AvatarFallback, AvatarImage };
23
23
  //# sourceMappingURL=avatar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../../src/react/ui/avatar.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAMS,MAAA;;;GAGN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,mBAAA,CAAA,GAAA,CAAA;;AARM,iBAsBjD,WAAA,CAjBM;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoBZ,OAAA,CAAM,cApBM,CAAA,OAoBgB,eAAA,CAAgB,KApBhC,CAAA,CAAA,EAoBsC,mBAAA,CAAA,GAAA,CAAA,OApBtC;;iBA+BN,cAAA,CA9BP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiCC,OAAA,CAAM,cAjCP,CAAA,OAiC6B,eAAA,CAAgB,QAjC7C,CAAA,CAAA,EAiCsD,mBAAA,CAAA,GAAA,CAAA,OAjCtD"}
1
+ {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../../src/react/ui/avatar.tsx"],"mappings":";;;;;;iBAMS,MAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAc3C,WAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAW5C,cAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,eAAA,CAAgB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","names":[],"sources":["../../../src/react/ui/avatar.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Displays user profile picture or initials in a circular container */\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Image element for the avatar */\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\n/** Fallback content displayed when avatar image fails to load */\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;;;;AAMA,SAAS,OAAO,EACd,WACA,GAAG,SACiD;AACpD,QACE,oBAAC,gBAAgB,MAAjB;EACE,aAAU;EACV,WAAW,GACT,8DACA,UACD;EACD,GAAI;EACJ;;;AAKN,SAAS,YAAY,EACnB,WACA,GAAG,SACkD;AACrD,QACE,oBAAC,gBAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;EACJ;;;AAKN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,gBAAgB,UAAjB;EACE,aAAU;EACV,WAAW,GACT,oEACA,UACD;EACD,GAAI;EACJ"}
1
+ {"version":3,"file":"avatar.js","names":[],"sources":["../../../src/react/ui/avatar.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Displays user profile picture or initials in a circular container */\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Image element for the avatar */\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\n/** Fallback content displayed when avatar image fails to load */\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;;;;AAMA,SAAS,OAAO,EACd,WACA,GAAG,SACiD;AACpD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,8DACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,YAAY,EACnB,WACA,GAAG,SACkD;AACrD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;;AAKN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,oEACA,UACD;EACD,GAAI;GACJ"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime22 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
@@ -15,7 +15,7 @@ declare function Badge({
15
15
  ...props
16
16
  }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
17
17
  asChild?: boolean;
18
- }): react_jsx_runtime22.JSX.Element;
18
+ }): react_jsx_runtime0.JSX.Element;
19
19
  //#endregion
20
20
  export { Badge, badgeVariants };
21
21
  //# sourceMappingURL=badge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.d.ts","names":[],"sources":["../../../src/react/ui/badge.tsx"],"sourcesContent":[],"mappings":";;;;;;cAMM;;IAmBL,+BAAA,CAAA;;AAvBiE,iBA0BzD,KAAA,CAHR;EAAA,SAAA;EAAA,OAAA;EAAA,OAAA;EAAA,GAAA;CAAA,EAQE,OAAA,CAAM,cARR,CAAA,MAAA,CAAA,GASC,YATD,CAAA,OASqB,aATrB,CAAA,GAAA;EAGQ,OAAA,CAAK,EAAA,OAAA;CAAA,CAAA,EAM8C,mBAAA,CAAA,GAAA,CAAA,OAN9C"}
1
+ {"version":3,"file":"badge.d.ts","names":[],"sources":["../../../src/react/ui/badge.tsx"],"mappings":";;;;;;cAMM,aAAA,GAAa,KAAA;;IAmBlB,+BAAA,CAAA,SAAA;;iBAGQ,KAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,WACP,YAAA,QAAoB,aAAA;EAAmB,OAAA;AAAA,IAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","names":[],"sources":["../../../src/react/ui/badge.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Small label for displaying status, categories, or counts */\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;;AAMA,MAAM,gBAAgB,IACpB,oZACA;CACE,UAAU,EACR,SAAS;EACP,SACE;EACF,WACE;EACF,aACE;EACF,SACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;;AAGD,SAAS,MAAM,EACb,WACA,SACA,UAAU,OACV,GAAG,SAEyD;AAG5D,QACE,oBAHW,UAAU,OAAO,QAG5B;EACE,aAAU;EACV,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;EACJ"}
1
+ {"version":3,"file":"badge.js","names":[],"sources":["../../../src/react/ui/badge.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n/** Small label for displaying status, categories, or counts */\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;;AAMA,MAAM,gBAAgB,IACpB,oZACA;CACE,UAAU,EACR,SAAS;EACP,SACE;EACF,WACE;EACF,aACE;EACF,SACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;;AAGD,SAAS,MAAM,EACb,WACA,SACA,UAAU,OACV,GAAG,SAEyD;AAG5D,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ"}
@@ -1,21 +1,21 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime23 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/react/ui/breadcrumb.d.ts
5
5
  /** Navigation component showing the current page's location in the site hierarchy */
6
6
  declare function Breadcrumb({
7
7
  ...props
8
- }: React$1.ComponentProps<"nav">): react_jsx_runtime23.JSX.Element;
8
+ }: React$1.ComponentProps<"nav">): react_jsx_runtime0.JSX.Element;
9
9
  /** Ordered list container for breadcrumb items */
10
10
  declare function BreadcrumbList({
11
11
  className,
12
12
  ...props
13
- }: React$1.ComponentProps<"ol">): react_jsx_runtime23.JSX.Element;
13
+ }: React$1.ComponentProps<"ol">): react_jsx_runtime0.JSX.Element;
14
14
  /** Individual item in the breadcrumb trail */
15
15
  declare function BreadcrumbItem({
16
16
  className,
17
17
  ...props
18
- }: React$1.ComponentProps<"li">): react_jsx_runtime23.JSX.Element;
18
+ }: React$1.ComponentProps<"li">): react_jsx_runtime0.JSX.Element;
19
19
  /** Clickable link within a breadcrumb item */
20
20
  declare function BreadcrumbLink({
21
21
  asChild,
@@ -23,23 +23,23 @@ declare function BreadcrumbLink({
23
23
  ...props
24
24
  }: React$1.ComponentProps<"a"> & {
25
25
  asChild?: boolean;
26
- }): react_jsx_runtime23.JSX.Element;
26
+ }): react_jsx_runtime0.JSX.Element;
27
27
  /** Current page indicator in the breadcrumb trail */
28
28
  declare function BreadcrumbPage({
29
29
  className,
30
30
  ...props
31
- }: React$1.ComponentProps<"span">): react_jsx_runtime23.JSX.Element;
31
+ }: React$1.ComponentProps<"span">): react_jsx_runtime0.JSX.Element;
32
32
  /** Visual separator between breadcrumb items */
33
33
  declare function BreadcrumbSeparator({
34
34
  children,
35
35
  className,
36
36
  ...props
37
- }: React$1.ComponentProps<"li">): react_jsx_runtime23.JSX.Element;
37
+ }: React$1.ComponentProps<"li">): react_jsx_runtime0.JSX.Element;
38
38
  /** Ellipsis indicator for collapsed breadcrumb items */
39
39
  declare function BreadcrumbEllipsis({
40
40
  className,
41
41
  ...props
42
- }: React$1.ComponentProps<"span">): react_jsx_runtime23.JSX.Element;
42
+ }: React$1.ComponentProps<"span">): react_jsx_runtime0.JSX.Element;
43
43
  //#endregion
44
44
  export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
45
45
  //# sourceMappingURL=breadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../../src/react/ui/breadcrumb.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,UAAA;;GAAyB,OAAA,CAAM,wBAAqB,mBAAA,CAAA,GAAA,CAAA;;AAPzB,iBAY3B,cAAA,CALU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAK8B,OAAA,CAAM,cALpC,CAAA,IAAA,CAAA,CAAA,EAKwD,mBAAA,CAAA,GAAA,CAAA,OALxD;;iBAmBV,cAAA,CAnB+B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAmBS,OAAA,CAAM,cAnBf,CAAA,IAAA,CAAA,CAAA,EAmBmC,mBAAA,CAAA,GAAA,CAAA,OAnBnC;;iBA8B/B,cAAA,CA9BoD;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;CAAA,EAkC1D,OAAA,CAAM,cAlCoD,CAAA,GAAA,CAAA,GAAA;EAKpD,OAAA,CAAA,EAAA,OAAc;CAAA,CAAA,EA+BtB,mBAAA,CAAA,GAAA,CAAA,OA/BsB;;iBA4Cd,cAAA,CA5C8C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4CN,OAAA,CAAM,cA5CA,CAAA,MAAA,CAAA,CAAA,EA4CsB,mBAAA,CAAA,GAAA,CAAA,OA5CtB;;iBA0D9C,mBAAA,CA1DkE;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8DxE,OAAA,CAAM,cA9DkE,CAAA,IAAA,CAAA,CAAA,EA8D9C,mBAAA,CAAA,GAAA,CAAA,OA9D8C;AAAA;iBA6ElE,kBAAA,CA/Dc;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkEpB,OAAA,CAAM,cAlEc,CAAA,MAAA,CAAA,CAAA,EAkEQ,mBAAA,CAAA,GAAA,CAAA,OAlER"}
1
+ {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../../src/react/ui/breadcrumb.tsx"],"mappings":";;;;;iBAOS,UAAA,CAAA;EAAA,GAAgB;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAKpD,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAclE,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAWlE,cAAA,CAAA;EACP,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EACP,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAaQ,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAcpE,mBAAA,CAAA;EACP,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAnEgC;AAAA,iBAkFpD,kBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../../src/react/ui/breadcrumb.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Navigation component showing the current page's location in the site hierarchy */\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\n/** Ordered list container for breadcrumb items */\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Individual item in the breadcrumb trail */\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable link within a breadcrumb item */\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\n/** Current page indicator in the breadcrumb trail */\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"presentation\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\n/** Visual separator between breadcrumb items */\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\n/** Ellipsis indicator for collapsed breadcrumb items */\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC,OAAD;EAAK,cAAW;EAAa,aAAU;EAAa,GAAI;EAAS;;;AAI1E,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GACT,4FACA,UACD;EACD,GAAI;EACJ;;;AAKN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;EACJ;;;AAKN,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,OAAO,KAG5B;EACE,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;EACJ;;;AAKN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC,QAAD;EACE,aAAU;EACV,MAAK;EACL,iBAAc;EACd,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;EACJ;;;AAKN,SAAS,oBAAoB,EAC3B,UACA,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC,MAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY,oBAAC,cAAD,EAAgB;EAC1B;;;AAKT,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC4B;AAC/B,QACE,qBAAC,QAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;YALN,CAOE,oBAAC,gBAAD,EAAgB,WAAU,UAAW,GACrC,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAW,EAChC"}
1
+ {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../../src/react/ui/breadcrumb.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Navigation component showing the current page's location in the site hierarchy */\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\n/** Ordered list container for breadcrumb items */\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Individual item in the breadcrumb trail */\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable link within a breadcrumb item */\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\n/** Current page indicator in the breadcrumb trail */\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"presentation\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\n/** Visual separator between breadcrumb items */\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\n/** Ellipsis indicator for collapsed breadcrumb items */\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC;EAAI,cAAW;EAAa,aAAU;EAAa,GAAI;GAAS;;;AAI1E,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,4FACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;GACJ;;;AAKN,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ;;;AAKN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,iBAAc;EACd,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;;AAKN,SAAS,oBAAoB,EAC3B,UACA,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY,oBAAC,iBAAe;GAC1B;;;AAKT,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC4B;AAC/B,QACE,qBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,kBAAe,WAAU,WAAW,EACrC,oBAAC;GAAK,WAAU;aAAU;IAAW;GAChC"}
@@ -1,18 +1,18 @@
1
1
  import { Separator } from "./separator.js";
2
- import * as react_jsx_runtime31 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
- import * as class_variance_authority_types2 from "class-variance-authority/types";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
6
6
  //#region src/react/ui/button-group.d.ts
7
7
  declare const buttonGroupVariants: (props?: ({
8
8
  orientation?: "horizontal" | "vertical" | null | undefined;
9
- } & class_variance_authority_types2.ClassProp) | undefined) => string;
9
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
10
  /** Container for grouping related buttons together with shared borders */
11
11
  declare function ButtonGroup({
12
12
  className,
13
13
  orientation,
14
14
  ...props
15
- }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime31.JSX.Element;
15
+ }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime0.JSX.Element;
16
16
  /** Text label or content within a button group */
17
17
  declare function ButtonGroupText({
18
18
  className,
@@ -20,13 +20,13 @@ declare function ButtonGroupText({
20
20
  ...props
21
21
  }: React.ComponentProps<"div"> & {
22
22
  asChild?: boolean;
23
- }): react_jsx_runtime31.JSX.Element;
23
+ }): react_jsx_runtime0.JSX.Element;
24
24
  /** Visual separator between buttons in a button group */
25
25
  declare function ButtonGroupSeparator({
26
26
  className,
27
27
  orientation,
28
28
  ...props
29
- }: React.ComponentProps<typeof Separator>): react_jsx_runtime31.JSX.Element;
29
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime0.JSX.Element;
30
30
  //#endregion
31
31
  export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
32
32
  //# sourceMappingURL=button-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.d.ts","names":[],"sources":["../../../src/react/ui/button-group.tsx"],"sourcesContent":[],"mappings":";;;;;;cAMM;;IAeL,+BAAA,CAAA;;AAjBuC,iBAoB/B,WAAA,CAHR;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAOE,KAAA,CAAM,cAPR,CAAA,KAAA,CAAA,GAOgC,YAPhC,CAAA,OAOoD,mBAPpD,CAAA,CAAA,EAOwE,mBAAA,CAAA,GAAA,CAAA,OAPxE;;iBAoBQ,eAAA,CAjBW;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;CAAA,EAqBjB,KAAA,CAAM,cArBW,CAAA,KAAA,CAAA,GAAA;SAClB,CAAA,EAAA,OAAA;IAsBD,mBAAA,CAAA,GAAA,CAAA,OArBC;;iBAoCO,oBAAA,CAlC4C;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAsClD,KAAA,CAAM,cAtC4C,CAAA,OAsCtB,SAtCsB,CAAA,CAAA,EAsCZ,mBAAA,CAAA,GAAA,CAAA,OAtCY"}
1
+ {"version":3,"file":"button-group.d.ts","names":[],"sources":["../../../src/react/ui/button-group.tsx"],"mappings":";;;;;;cAMM,mBAAA,GAAmB,KAAA;;IAexB,+BAAA,CAAA,SAAA;;iBAGQ,WAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,mBAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAahE,eAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EACP,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;;iBAeQ,oBAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,QAAsB,SAAA,IAAU,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","names":[],"sources":["../../../src/react/ui/button-group.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { Separator } from \"./separator\";\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n);\n\n/** Container for grouping related buttons together with shared borders */\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\n/** Text label or content within a button group */\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n className={cn(\n \"bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** Visual separator between buttons in a button group */\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n};\n"],"mappings":";;;;;;;AAMA,MAAM,sBAAsB,IAC1B,oSACA;CACE,UAAU,EACR,aAAa;EACX,YACE;EACF,UACE;EACH,EACF;CACD,iBAAiB,EACf,aAAa,cACd;CACF,CACF;;AAGD,SAAS,YAAY,EACnB,WACA,aACA,GAAG,SACsE;AACzE,QACE,oBAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,oBAAoB,EAAE,aAAa,CAAC,EAAE,UAAU;EAC9D,GAAI;EACJ;;;AAKN,SAAS,gBAAgB,EACvB,WACA,UAAU,OACV,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,OAAO,OAG5B;EACE,WAAW,GACT,0JACA,UACD;EACD,GAAI;EACJ;;;AAKN,SAAS,qBAAqB,EAC5B,WACA,cAAc,YACd,GAAG,SACsC;AACzC,QACE,oBAAC,WAAD;EACE,aAAU;EACG;EACb,WAAW,GACT,0EACA,UACD;EACD,GAAI;EACJ"}
1
+ {"version":3,"file":"button-group.js","names":[],"sources":["../../../src/react/ui/button-group.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { Separator } from \"./separator\";\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n);\n\n/** Container for grouping related buttons together with shared borders */\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\n/** Text label or content within a button group */\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n className={cn(\n \"bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\n/** Visual separator between buttons in a button group */\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n};\n"],"mappings":";;;;;;;AAMA,MAAM,sBAAsB,IAC1B,oSACA;CACE,UAAU,EACR,aAAa;EACX,YACE;EACF,UACE;EACH,EACF;CACD,iBAAiB,EACf,aAAa,cACd;CACF,CACF;;AAGD,SAAS,YAAY,EACnB,WACA,aACA,GAAG,SACsE;AACzE,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,oBAAoB,EAAE,aAAa,CAAC,EAAE,UAAU;EAC9D,GAAI;GACJ;;;AAKN,SAAS,gBAAgB,EACvB,WACA,UAAU,OACV,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,WAAW,GACT,0JACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,qBAAqB,EAC5B,WACA,cAAc,YACd,GAAG,SACsC;AACzC,QACE,oBAAC;EACC,aAAU;EACG;EACb,WAAW,GACT,0EACA,UACD;EACD,GAAI;GACJ"}
@@ -1,13 +1,13 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime30 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
- import * as class_variance_authority_types1 from "class-variance-authority/types";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
6
6
  //#region src/react/ui/button.d.ts
7
7
  declare const buttonVariants: (props?: ({
8
8
  variant?: "default" | "destructive" | "secondary" | "outline" | "ghost" | "link" | null | undefined;
9
9
  size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
10
- } & class_variance_authority_types1.ClassProp) | undefined) => string;
10
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
11
11
  /** Clickable button with multiple variants and sizes */
12
12
  declare function Button({
13
13
  className,
@@ -17,7 +17,7 @@ declare function Button({
17
17
  ...props
18
18
  }: React$1.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
19
19
  asChild?: boolean;
20
- }): react_jsx_runtime30.JSX.Element;
20
+ }): react_jsx_runtime0.JSX.Element;
21
21
  //#endregion
22
22
  export { Button, buttonVariants };
23
23
  //# sourceMappingURL=button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","names":[],"sources":["../../../src/react/ui/button.tsx"],"sourcesContent":[],"mappings":";;;;;;cAMM;;;IA8BL,+BAAA,CAAA;AAlCiE;iBAqCzD,MAAA,CAAM;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,GAAA;CAAA,EAMZ,OAAA,CAAM,cANM,CAAA,QAAA,CAAA,GAOb,YAPa,CAAA,OAOO,cAPP,CAAA,GAAA;EAAA,OAAA,CAAA,EAAA,OAAA;IASZ,mBAAA,CAAA,GAAA,CAAA,OARD"}
1
+ {"version":3,"file":"button.d.ts","names":[],"sources":["../../../src/react/ui/button.tsx"],"mappings":";;;;;;cAMM,cAAA,GAAc,KAAA;;;IA8BnB,+BAAA,CAAA,SAAA;AAlCiE;AAAA,iBAqCzD,MAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,aACP,YAAA,QAAoB,cAAA;EAClB,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}