@uselets/ui 1.8.0 → 1.10.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 (293) hide show
  1. package/README.md +1 -0
  2. package/dist/{chart-DHS2QeM8.d.ts → chart-lqgodZYQ.d.ts} +11 -7
  3. package/dist/cli/uselets.mjs.map +1 -1
  4. package/dist/components/accordion.d.ts +5 -5
  5. package/dist/components/accordion.js +1 -1
  6. package/dist/components/accordion.js.map +1 -1
  7. package/dist/components/alert-dialog.d.ts +13 -13
  8. package/dist/components/alert-dialog.js +1 -1
  9. package/dist/components/alert-dialog.js.map +1 -1
  10. package/dist/components/alert.d.ts +5 -5
  11. package/dist/components/alert.js +1 -1
  12. package/dist/components/alert.js.map +1 -1
  13. package/dist/components/anchor.d.ts +2 -2
  14. package/dist/components/anchor.js +1 -1
  15. package/dist/components/anchor.js.map +1 -1
  16. package/dist/components/area-chart.d.ts +9 -3
  17. package/dist/components/area-chart.js +1 -1
  18. package/dist/components/area-chart.js.map +1 -1
  19. package/dist/components/avatar.d.ts +7 -7
  20. package/dist/components/avatar.js +1 -1
  21. package/dist/components/avatar.js.map +1 -1
  22. package/dist/components/badge.d.ts +2 -2
  23. package/dist/components/badge.js +1 -1
  24. package/dist/components/badge.js.map +1 -1
  25. package/dist/components/bar-chart.d.ts +15 -5
  26. package/dist/components/bar-chart.js +1 -1
  27. package/dist/components/bar-chart.js.map +1 -1
  28. package/dist/components/breadcrumb.d.ts +8 -8
  29. package/dist/components/breadcrumb.js +1 -1
  30. package/dist/components/breadcrumb.js.map +1 -1
  31. package/dist/components/button-group.d.ts +4 -4
  32. package/dist/components/button-group.js +1 -1
  33. package/dist/components/button-group.js.map +1 -1
  34. package/dist/components/button.d.ts +2 -2
  35. package/dist/components/button.js +1 -1
  36. package/dist/components/button.js.map +1 -1
  37. package/dist/components/calendar.d.ts +3 -3
  38. package/dist/components/calendar.js +1 -1
  39. package/dist/components/calendar.js.map +1 -1
  40. package/dist/components/card.d.ts +8 -8
  41. package/dist/components/card.js +1 -1
  42. package/dist/components/card.js.map +1 -1
  43. package/dist/components/carousel.d.ts +7 -7
  44. package/dist/components/carousel.js +1 -1
  45. package/dist/components/carousel.js.map +1 -1
  46. package/dist/components/carousel.spec.js +1 -1
  47. package/dist/components/carousel.spec.js.map +1 -1
  48. package/dist/components/center.d.ts +2 -2
  49. package/dist/components/center.js +1 -1
  50. package/dist/components/center.js.map +1 -1
  51. package/dist/components/chart.d.ts +2 -2
  52. package/dist/components/chart.js +2 -2
  53. package/dist/components/chart.js.map +1 -1
  54. package/dist/components/checkbox.d.ts +2 -2
  55. package/dist/components/checkbox.js +1 -1
  56. package/dist/components/checkbox.js.map +1 -1
  57. package/dist/components/code.d.ts +2 -2
  58. package/dist/components/code.js +1 -1
  59. package/dist/components/code.js.map +1 -1
  60. package/dist/components/collapsible.d.ts +4 -4
  61. package/dist/components/collapsible.js +1 -1
  62. package/dist/components/collapsible.js.map +1 -1
  63. package/dist/components/combobox.d.ts +16 -16
  64. package/dist/components/combobox.js +1 -1
  65. package/dist/components/combobox.js.map +1 -1
  66. package/dist/components/command.d.ts +10 -10
  67. package/dist/components/command.js +1 -1
  68. package/dist/components/command.js.map +1 -1
  69. package/dist/components/container.d.ts +2 -2
  70. package/dist/components/container.js +1 -1
  71. package/dist/components/container.js.map +1 -1
  72. package/dist/components/data-table.d.ts +9 -9
  73. package/dist/components/data-table.js +1 -1
  74. package/dist/components/data-table.js.map +1 -1
  75. package/dist/components/date-range-picker.d.ts +12 -12
  76. package/dist/components/date-range-picker.js +1 -1
  77. package/dist/components/date-range-picker.js.map +1 -1
  78. package/dist/components/dialog.d.ts +12 -12
  79. package/dist/components/dialog.js +1 -1
  80. package/dist/components/dialog.js.map +1 -1
  81. package/dist/components/donut-chart.d.ts +2 -2
  82. package/dist/components/donut-chart.js +1 -1
  83. package/dist/components/donut-chart.js.map +1 -1
  84. package/dist/components/drawer.d.ts +12 -12
  85. package/dist/components/drawer.js +1 -1
  86. package/dist/components/drawer.js.map +1 -1
  87. package/dist/components/dropdown-menu.d.ts +16 -16
  88. package/dist/components/dropdown-menu.js +1 -1
  89. package/dist/components/dropdown-menu.js.map +1 -1
  90. package/dist/components/dropzone.d.ts +2 -2
  91. package/dist/components/dropzone.js +1 -1
  92. package/dist/components/dropzone.js.map +1 -1
  93. package/dist/components/empty.d.ts +7 -7
  94. package/dist/components/empty.js +1 -1
  95. package/dist/components/empty.js.map +1 -1
  96. package/dist/components/field.d.ts +11 -11
  97. package/dist/components/field.js +1 -1
  98. package/dist/components/field.js.map +1 -1
  99. package/dist/components/field.spec.js +1 -1
  100. package/dist/components/field.spec.js.map +1 -1
  101. package/dist/components/flex.d.ts +2 -2
  102. package/dist/components/flex.js +1 -1
  103. package/dist/components/flex.js.map +1 -1
  104. package/dist/components/grid.d.ts +3 -3
  105. package/dist/components/grid.js +1 -1
  106. package/dist/components/grid.js.map +1 -1
  107. package/dist/components/group.d.ts +2 -2
  108. package/dist/components/group.js +1 -1
  109. package/dist/components/group.js.map +1 -1
  110. package/dist/components/heading.d.ts +2 -2
  111. package/dist/components/heading.js +1 -1
  112. package/dist/components/heading.js.map +1 -1
  113. package/dist/components/hover-card.d.ts +4 -4
  114. package/dist/components/hover-card.js +1 -1
  115. package/dist/components/hover-card.js.map +1 -1
  116. package/dist/components/input-group.d.ts +7 -7
  117. package/dist/components/input-group.js +1 -1
  118. package/dist/components/input-group.js.map +1 -1
  119. package/dist/components/input-otp.d.ts +5 -5
  120. package/dist/components/input-otp.js +1 -1
  121. package/dist/components/input-otp.js.map +1 -1
  122. package/dist/components/input.d.ts +2 -2
  123. package/dist/components/input.js +1 -1
  124. package/dist/components/input.js.map +1 -1
  125. package/dist/components/kbd.d.ts +3 -3
  126. package/dist/components/kbd.js +1 -1
  127. package/dist/components/kbd.js.map +1 -1
  128. package/dist/components/label.d.ts +2 -2
  129. package/dist/components/label.js +1 -1
  130. package/dist/components/label.js.map +1 -1
  131. package/dist/components/list.d.ts +4 -4
  132. package/dist/components/list.js +1 -1
  133. package/dist/components/list.js.map +1 -1
  134. package/dist/components/mask-input.d.ts +2 -2
  135. package/dist/components/mask-input.js +1 -1
  136. package/dist/components/mask-input.js.map +1 -1
  137. package/dist/components/native-select.d.ts +4 -4
  138. package/dist/components/native-select.js +1 -1
  139. package/dist/components/native-select.js.map +1 -1
  140. package/dist/components/navigation-menu.d.ts +9 -9
  141. package/dist/components/navigation-menu.js +1 -1
  142. package/dist/components/navigation-menu.js.map +1 -1
  143. package/dist/components/pagination.d.ts +8 -8
  144. package/dist/components/pagination.js +1 -1
  145. package/dist/components/pagination.js.map +1 -1
  146. package/dist/components/pie-chart.d.ts +10 -4
  147. package/dist/components/pie-chart.js +1 -1
  148. package/dist/components/pie-chart.js.map +1 -1
  149. package/dist/components/popover.d.ts +8 -8
  150. package/dist/components/popover.js +1 -1
  151. package/dist/components/popover.js.map +1 -1
  152. package/dist/components/progress.d.ts +2 -2
  153. package/dist/components/progress.js +1 -1
  154. package/dist/components/progress.js.map +1 -1
  155. package/dist/components/radio-group.d.ts +3 -3
  156. package/dist/components/radio-group.js +1 -1
  157. package/dist/components/radio-group.js.map +1 -1
  158. package/dist/components/resizable.d.ts +4 -4
  159. package/dist/components/resizable.js +1 -1
  160. package/dist/components/resizable.js.map +1 -1
  161. package/dist/components/scroll-area.d.ts +3 -3
  162. package/dist/components/scroll-area.js +1 -1
  163. package/dist/components/scroll-area.js.map +1 -1
  164. package/dist/components/select.d.ts +11 -11
  165. package/dist/components/select.js +1 -1
  166. package/dist/components/select.js.map +1 -1
  167. package/dist/components/separator.d.ts +2 -2
  168. package/dist/components/separator.js +1 -1
  169. package/dist/components/separator.js.map +1 -1
  170. package/dist/components/sidebar.d.ts +24 -24
  171. package/dist/components/sidebar.js +1 -1
  172. package/dist/components/sidebar.js.map +1 -1
  173. package/dist/components/simple-grid.d.ts +2 -2
  174. package/dist/components/simple-grid.js +1 -1
  175. package/dist/components/simple-grid.js.map +1 -1
  176. package/dist/components/skeleton.d.ts +2 -2
  177. package/dist/components/skeleton.js +1 -1
  178. package/dist/components/skeleton.js.map +1 -1
  179. package/dist/components/skeleton.spec.js +1 -1
  180. package/dist/components/skeleton.spec.js.map +1 -1
  181. package/dist/components/slider.d.ts +2 -2
  182. package/dist/components/slider.js +1 -1
  183. package/dist/components/slider.js.map +1 -1
  184. package/dist/components/sonner.d.ts +2 -2
  185. package/dist/components/sonner.js +1 -1
  186. package/dist/components/sonner.js.map +1 -1
  187. package/dist/components/spinner.d.ts +2 -2
  188. package/dist/components/spinner.js +1 -1
  189. package/dist/components/spinner.js.map +1 -1
  190. package/dist/components/stack.d.ts +2 -2
  191. package/dist/components/stack.js +1 -1
  192. package/dist/components/stack.js.map +1 -1
  193. package/dist/components/switch.d.ts +2 -2
  194. package/dist/components/switch.js +1 -1
  195. package/dist/components/switch.js.map +1 -1
  196. package/dist/components/table.d.ts +10 -10
  197. package/dist/components/table.js +1 -1
  198. package/dist/components/table.js.map +1 -1
  199. package/dist/components/tabs.d.ts +5 -5
  200. package/dist/components/tabs.js +1 -1
  201. package/dist/components/tabs.js.map +1 -1
  202. package/dist/components/text.d.ts +2 -2
  203. package/dist/components/text.js +1 -1
  204. package/dist/components/text.js.map +1 -1
  205. package/dist/components/textarea.d.ts +2 -2
  206. package/dist/components/textarea.js +1 -1
  207. package/dist/components/textarea.js.map +1 -1
  208. package/dist/components/theme.d.ts +3 -3
  209. package/dist/components/theme.js +1 -1
  210. package/dist/components/theme.js.map +1 -1
  211. package/dist/components/timeline.d.ts +1 -1
  212. package/dist/components/timeline.js +1 -1
  213. package/dist/components/timeline.js.map +1 -1
  214. package/dist/components/toggle-group.d.ts +3 -3
  215. package/dist/components/toggle-group.js +1 -1
  216. package/dist/components/toggle-group.js.map +1 -1
  217. package/dist/components/toggle.d.ts +2 -2
  218. package/dist/components/toggle.js +1 -1
  219. package/dist/components/toggle.js.map +1 -1
  220. package/dist/components/tooltip.d.ts +6 -6
  221. package/dist/components/tooltip.js +1 -1
  222. package/dist/components/tooltip.js.map +1 -1
  223. package/dist/components/unstyled-button.d.ts +2 -2
  224. package/dist/components/unstyled-button.js +1 -1
  225. package/dist/components/unstyled-button.js.map +1 -1
  226. package/dist/components/visibility.d.ts +3 -3
  227. package/dist/components/visibility.js +1 -1
  228. package/dist/components/visibility.js.map +1 -1
  229. package/dist/{dist-C35vdEt2.js → dist-B-hwiqYg.js} +13 -13
  230. package/dist/dist-B-hwiqYg.js.map +1 -0
  231. package/dist/hooks/use-breakpoint-value.d.ts +1 -1
  232. package/dist/hooks/use-breakpoint-value.js +1 -1
  233. package/dist/hooks/use-breakpoint-value.js.map +1 -1
  234. package/dist/hooks/use-breakpoint-value.spec.js +1 -1
  235. package/dist/hooks/use-breakpoint-value.spec.js.map +1 -1
  236. package/dist/hooks/use-breakpoint.d.ts +1 -1
  237. package/dist/hooks/use-breakpoint.js +1 -1
  238. package/dist/hooks/use-breakpoint.js.map +1 -1
  239. package/dist/hooks/use-breakpoint.spec.js +1 -1
  240. package/dist/hooks/use-breakpoint.spec.js.map +1 -1
  241. package/dist/hooks/use-disclosure.d.ts +1 -1
  242. package/dist/hooks/use-disclosure.js +1 -1
  243. package/dist/hooks/use-disclosure.js.map +1 -1
  244. package/dist/hooks/use-disclosure.spec.js +1 -1
  245. package/dist/hooks/use-disclosure.spec.js.map +1 -1
  246. package/dist/hooks/use-document-visibility.d.ts +1 -1
  247. package/dist/hooks/use-document-visibility.js +1 -1
  248. package/dist/hooks/use-document-visibility.js.map +1 -1
  249. package/dist/hooks/use-document-visibility.spec.js +1 -1
  250. package/dist/hooks/use-document-visibility.spec.js.map +1 -1
  251. package/dist/hooks/use-idle.d.ts +1 -1
  252. package/dist/hooks/use-idle.js +1 -1
  253. package/dist/hooks/use-idle.js.map +1 -1
  254. package/dist/hooks/use-idle.spec.js +1 -1
  255. package/dist/hooks/use-idle.spec.js.map +1 -1
  256. package/dist/hooks/use-interval.d.ts +1 -1
  257. package/dist/hooks/use-interval.js +1 -1
  258. package/dist/hooks/use-interval.js.map +1 -1
  259. package/dist/hooks/use-interval.spec.js +1 -1
  260. package/dist/hooks/use-interval.spec.js.map +1 -1
  261. package/dist/hooks/use-local-storage.d.ts +1 -1
  262. package/dist/hooks/use-local-storage.js +1 -1
  263. package/dist/hooks/use-local-storage.js.map +1 -1
  264. package/dist/hooks/use-local-storage.spec.js +1 -1
  265. package/dist/hooks/use-local-storage.spec.js.map +1 -1
  266. package/dist/hooks/use-mask.d.ts +1 -1
  267. package/dist/hooks/use-mask.js +1 -1
  268. package/dist/hooks/use-mask.js.map +1 -1
  269. package/dist/hooks/use-mobile.d.ts +1 -1
  270. package/dist/hooks/use-mobile.js +1 -1
  271. package/dist/hooks/use-mobile.js.map +1 -1
  272. package/dist/hooks/use-mobile.spec.js +1 -1
  273. package/dist/hooks/use-mobile.spec.js.map +1 -1
  274. package/dist/index.d.ts +3 -3
  275. package/dist/index.js +1 -1
  276. package/dist/lib/badge.d.ts +1 -1
  277. package/dist/lib/button.d.ts +1 -1
  278. package/dist/lib/color.d.ts +1 -1
  279. package/dist/lib/compose-refs.d.ts +1 -1
  280. package/dist/lib/compose-refs.js +1 -1
  281. package/dist/lib/compose-refs.js.map +1 -1
  282. package/dist/lib/utils.d.ts +1 -1
  283. package/dist/lib/utils.js +1 -1
  284. package/dist/lib/utils.js.map +1 -1
  285. package/dist/{magic-string.es-C-uSEkg2.js → magic-string.es-DbBO8R0S.js} +2 -2
  286. package/dist/{magic-string.es-C-uSEkg2.js.map → magic-string.es-DbBO8R0S.js.map} +1 -1
  287. package/dist/{react.esm-BagSCtI3.js → react.esm-D88qr0ij.js} +12 -12
  288. package/dist/{react.esm-BagSCtI3.js.map → react.esm-D88qr0ij.js.map} +1 -1
  289. package/dist/skills/uselets-ui/references/component-catalog.md +7 -7
  290. package/package.json +17 -14
  291. package/skills/uselets-ui/references/component-catalog.md +7 -7
  292. package/dist/dist-C35vdEt2.js.map +0 -1
  293. /package/dist/{chunk-CHh1Zzun.js → rolldown-runtime-Bdj-bS2b.js} +0 -0
package/README.md CHANGED
@@ -340,6 +340,7 @@ You can import from the package root (`@uselets/ui`) or by subpath (`@uselets/ui
340
340
  | `calendar` | `Calendar`, `CalendarDayButton` | Also exports the `DateRange` type. Weekends render with destructive text, week numbers are low-emphasis, and selected single/range endpoints use the `primary` palette with a subtle primary range fill. |
341
341
  | `date-range-picker` | `DateRangePicker`, `DateRangePickerTrigger`, `DateRangePickerValue`, `DateRangePickerContent`, `DateRangePickerPresets`, `DateRangePickerPreset`, `DateRangePickerCalendar`, `DateRangePickerDateFields`, `DateRangePickerActions`, `DateRangePickerApply`, `DateRangePickerReset` | Compound popover picker backed by `Calendar` range mode. Draft edits from fixed presets, relative-day inputs, date inputs, and calendar stay in sync until `Apply`; reset/clear emits `null` through `onValueChange`. |
342
342
  | `card` | `Card`, `CardHeader`, `CardTitle`, `CardDescription`, `CardAction`, `CardContent`, `CardFooter` | `Card` supports `size: 'sm' \| 'md' \| 'lg'` (default: `md`). |
343
+ | `area-chart` / `bar-chart` / `pie-chart` / `donut-chart` | `AreaChart`, `BarChart`, `PieChart`, `DonutChart` (each with their series/datum types) | Recharts-backed charts with a mantine-shaped API. Each series/datum accepts `color` (raw CSS) or `colorKey: ChartColorKey` (`'primary' \| 'brand' \| 'gray' \| 'zinc' \| 'red' \| 'yellow' \| 'green' \| 'blue' \| 'indigo' \| 'pink'`) which resolves to `var(--{key}-500)`. Series/datum `name` is free-form and may contain spaces or non-ASCII characters. `BarChart` also accepts `color` / `colorKey` on each `data` row (`BarChartDatum`); when set, the row color wins over the series color and applies to every bar in that row. Pass `areaProps` / `barProps` / `pieProps` to forward props (e.g. `onClick`, `cursor`) to the underlying recharts series primitive (`<Area>` / `<Bar>` / `<Pie>`); pass `areaChartProps` / `barChartProps` to forward props (e.g. `margin`, `barCategoryGap`, `onClick`) to the wrapping recharts `<AreaChart>` / `<BarChart>`. `PieChart` / `DonutChart` add `strokeColor` (default: `var(--background)`) alongside `strokeWidth` so the segment gaps are now visible by default. Re-exports `ChartColorKey`, `CHART_COLOR_KEYS`, `DEFAULT_CHART_PALETTE`, and `resolveChartColor` from `@uselets/ui/chart` for custom compositions. |
343
344
  | `checkbox` | `Checkbox` | `Checkbox` supports `size: 'sm' \| 'md' \| 'lg'` (default: `md`), `color: UIColor` (default: `primary`), `label?: React.ReactNode`, and `labelProps` for the composed `Label`. When `label` is provided without `id`, it generates an id and wires `htmlFor` automatically. Label text follows checkbox size: `sm` 12px, `md` 14px, `lg` 20px. |
344
345
  | `code` | `Code` | Inline code primitive rendered as `<code>`. |
345
346
  | `combobox` | `Combobox`, `ComboboxInput`, `ComboboxContent`, `ComboboxList`, `ComboboxItem`, `ComboboxGroup`, `ComboboxLabel`, `ComboboxCollection`, `ComboboxClear`, `ComboboxEmpty`, `ComboboxSeparator`, `ComboboxChips`, `ComboboxChip`, `ComboboxChipsInput`, `ComboboxTrigger`, `ComboboxValue`, `useComboboxAnchor` | `ComboboxInput` supports `icon?: React.ReactNode`, `triggerIcon?: React.ReactNode`, `showTrigger?: boolean`, and `showClear?: boolean`; `ComboboxContent` supports `container` for rendering inside overlays such as dialogs. |
@@ -1,4 +1,4 @@
1
- import { n as __name } from "./chunk-CHh1Zzun.js";
1
+ import { n as __name } from "./rolldown-runtime-Bdj-bS2b.js";
2
2
  import * as React from "react";
3
3
  import * as RechartsPrimitive from "recharts";
4
4
 
@@ -7,6 +7,10 @@ declare const THEMES: {
7
7
  readonly light: "";
8
8
  readonly dark: ".dark";
9
9
  };
10
+ type ChartColorKey = 'primary' | 'brand' | 'gray' | 'zinc' | 'red' | 'yellow' | 'green' | 'blue' | 'indigo' | 'pink';
11
+ declare const CHART_COLOR_KEYS: readonly ChartColorKey[];
12
+ declare function resolveChartColor(value: string | undefined): string | undefined;
13
+ declare const DEFAULT_CHART_PALETTE: readonly ["var(--chart-1)", "var(--chart-2)", "var(--chart-3)", "var(--chart-4)", "var(--chart-5)"];
10
14
  type ChartConfig = { [k in string]: {
11
15
  label?: React.ReactNode;
12
16
  icon?: React.ComponentType;
@@ -46,11 +50,11 @@ declare function ChartContainer({
46
50
  children,
47
51
  config,
48
52
  ...props
49
- }: ChartContainerProps): import("react/jsx-runtime").JSX.Element;
53
+ }: ChartContainerProps): React.JSX.Element;
50
54
  declare const ChartStyle: ({
51
55
  id,
52
56
  config
53
- }: ChartStyleProps) => import("react/jsx-runtime").JSX.Element | null;
57
+ }: ChartStyleProps) => React.JSX.Element | null;
54
58
  declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
55
59
  declare function ChartTooltipContent({
56
60
  active,
@@ -66,7 +70,7 @@ declare function ChartTooltipContent({
66
70
  color,
67
71
  nameKey,
68
72
  labelKey
69
- }: ChartTooltipContentProps): import("react/jsx-runtime").JSX.Element | null;
73
+ }: ChartTooltipContentProps): React.JSX.Element | null;
70
74
  declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
71
75
  declare function ChartLegendContent({
72
76
  className,
@@ -74,7 +78,7 @@ declare function ChartLegendContent({
74
78
  payload,
75
79
  verticalAlign,
76
80
  nameKey
77
- }: ChartLegendContentProps): import("react/jsx-runtime").JSX.Element | null;
81
+ }: ChartLegendContentProps): React.JSX.Element | null;
78
82
  //#endregion
79
- export { ChartLegendContent as a, ChartStyle as c, ChartTooltipContent as d, ChartTooltipContentProps as f, ChartLegend as i, ChartStyleProps as l, ChartContainer as n, ChartLegendContentProps as o, ChartTooltipProps as p, ChartContainerProps as r, ChartLegendProps as s, ChartConfig as t, ChartTooltip as u };
80
- //# sourceMappingURL=chart-DHS2QeM8.d.ts.map
83
+ export { resolveChartColor as _, ChartContainerProps as a, ChartLegendContentProps as c, ChartStyleProps as d, ChartTooltip as f, DEFAULT_CHART_PALETTE as g, ChartTooltipProps as h, ChartContainer as i, ChartLegendProps as l, ChartTooltipContentProps as m, ChartColorKey as n, ChartLegend as o, ChartTooltipContent as p, ChartConfig as r, ChartLegendContent as s, CHART_COLOR_KEYS as t, ChartStyle as u };
84
+ //# sourceMappingURL=chart-lqgodZYQ.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uselets.mjs","names":[],"sources":["../../src/cli/uselets.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { spawn } from 'node:child_process'\nimport fs from 'node:fs/promises'\nimport path from 'node:path'\nimport readline from 'node:readline/promises'\nimport { fileURLToPath } from 'node:url'\n\nimport { Command, Option } from 'commander'\n\nconst SKILL_NAME = 'uselets-ui'\nconst DEFAULT_CSS_PATH = 'src/styles/globals.css'\nconst POSTCSS_CONFIG = \"export { default } from '@uselets/ui/postcss.config'\\n\"\nconst AGENT_TARGETS = {\n codex: path.join('.agents', 'skills', SKILL_NAME),\n claude: path.join('.claude', 'skills', SKILL_NAME)\n} as const\n\ntype AgentTarget = keyof typeof AGENT_TARGETS\ntype AgentOption = AgentTarget | 'all'\ntype ThemeOption = 'max' | 'gomax'\ntype PackageManager = 'bun' | 'pnpm' | 'yarn' | 'npm'\ntype PackageJson = {\n name?: string\n version?: string\n packageManager?: string\n dependencies?: Record<string, string>\n devDependencies?: Record<string, string>\n peerDependencies?: Record<string, string>\n optionalDependencies?: Record<string, string>\n}\ntype InitOptions = {\n theme?: ThemeOption\n css?: string\n installSkill?: boolean\n}\n\nconst ALL_AGENT_TARGETS = Object.keys(AGENT_TARGETS) as AgentTarget[]\n\nasync function pathExists(targetPath: string) {\n try {\n await fs.access(targetPath)\n return true\n } catch {\n return false\n }\n}\n\nasync function readJsonFile<T>(filePath: string) {\n return JSON.parse(await fs.readFile(filePath, 'utf8')) as T\n}\n\nasync function findPackageRoot() {\n let currentDir = fileURLToPath(new URL('.', import.meta.url))\n\n while (true) {\n try {\n await fs.access(path.join(currentDir, 'package.json'))\n return currentDir\n } catch {\n const parentDir = path.dirname(currentDir)\n\n if (parentDir === currentDir) {\n throw new Error('Unable to resolve @uselets/ui package root')\n }\n\n currentDir = parentDir\n }\n }\n}\n\nfunction resolveTargets(agent: AgentOption) {\n return agent === 'all' ? ALL_AGENT_TARGETS : [agent]\n}\n\nfunction hasDependency(packageJson: PackageJson, dependencyName: string) {\n return Boolean(\n packageJson.dependencies?.[dependencyName] ||\n packageJson.devDependencies?.[dependencyName] ||\n packageJson.peerDependencies?.[dependencyName] ||\n packageJson.optionalDependencies?.[dependencyName]\n )\n}\n\nasync function detectPackageManager(projectRoot: string, packageJson: PackageJson): Promise<PackageManager> {\n const declaredManager = packageJson.packageManager?.split('@')[0]\n\n if (\n declaredManager === 'bun' ||\n declaredManager === 'pnpm' ||\n declaredManager === 'yarn' ||\n declaredManager === 'npm'\n ) {\n return declaredManager\n }\n\n if (await pathExists(path.join(projectRoot, 'bun.lock'))) {\n return 'bun'\n }\n\n if (await pathExists(path.join(projectRoot, 'pnpm-lock.yaml'))) {\n return 'pnpm'\n }\n\n if (await pathExists(path.join(projectRoot, 'yarn.lock'))) {\n return 'yarn'\n }\n\n if (await pathExists(path.join(projectRoot, 'package-lock.json'))) {\n return 'npm'\n }\n\n return 'npm'\n}\n\nfunction buildAddCommand(packageManager: PackageManager, dependencies: string[], dev: boolean) {\n switch (packageManager) {\n case 'bun':\n return ['bun', 'add', ...(dev ? ['-d'] : []), ...dependencies]\n case 'pnpm':\n return ['pnpm', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n case 'yarn':\n return ['yarn', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n case 'npm':\n return ['npm', 'install', ...(dev ? ['-D'] : []), ...dependencies]\n }\n}\n\nasync function runCommand(commandParts: string[], cwd: string) {\n const [command, ...args] = commandParts\n\n if (!command) {\n throw new Error('Missing command')\n }\n\n console.log(`Running: ${commandParts.join(' ')}`)\n\n await new Promise<void>((resolve, reject) => {\n const child = spawn(command, args, { cwd, stdio: 'inherit' })\n\n child.on('error', reject)\n child.on('close', (code) => {\n if (code === 0) {\n resolve()\n return\n }\n\n reject(new Error(`${command} exited with code ${code}`))\n })\n })\n}\n\nfunction getPackageVersion(packageJson: PackageJson, dependencyName: string) {\n const version = packageJson.dependencies?.[dependencyName] ?? packageJson.devDependencies?.[dependencyName]\n\n if (!version) {\n throw new Error(`Unable to find ${dependencyName} version in @uselets/ui package metadata`)\n }\n\n return version\n}\n\nasync function installMissingDependencies(projectRoot: string, projectPackageJson: PackageJson) {\n const packageRoot = await findPackageRoot()\n const packageJson = await readJsonFile<PackageJson>(path.join(packageRoot, 'package.json'))\n const packageManager = await detectPackageManager(projectRoot, projectPackageJson)\n const runtimeDependencies = []\n const devDependencies = []\n\n if (!packageJson.name || !packageJson.version) {\n throw new Error('Unable to resolve @uselets/ui package name and version')\n }\n\n if (!hasDependency(projectPackageJson, packageJson.name)) {\n runtimeDependencies.push(`${packageJson.name}@${packageJson.version}`)\n }\n\n if (!hasDependency(projectPackageJson, '@fontsource-variable/inter')) {\n runtimeDependencies.push(\n `@fontsource-variable/inter@${getPackageVersion(packageJson, '@fontsource-variable/inter')}`\n )\n }\n\n if (!hasDependency(projectPackageJson, 'tailwindcss')) {\n devDependencies.push(`tailwindcss@${getPackageVersion(packageJson, 'tailwindcss')}`)\n }\n\n if (!hasDependency(projectPackageJson, '@tailwindcss/postcss')) {\n devDependencies.push(`@tailwindcss/postcss@${getPackageVersion(packageJson, '@tailwindcss/postcss')}`)\n }\n\n if (runtimeDependencies.length > 0) {\n await runCommand(buildAddCommand(packageManager, runtimeDependencies, false), projectRoot)\n } else {\n console.log('Runtime dependencies already declared.')\n }\n\n if (devDependencies.length > 0) {\n await runCommand(buildAddCommand(packageManager, devDependencies, true), projectRoot)\n } else {\n console.log('Tailwind dependencies already declared.')\n }\n}\n\nasync function installSkill(targets: AgentTarget[]) {\n const packageRoot = await findPackageRoot()\n const sourcePath = path.join(packageRoot, 'skills', SKILL_NAME)\n\n try {\n await fs.access(sourcePath)\n } catch {\n throw new Error(`Bundled skill not found at ${sourcePath}`)\n }\n\n const installedPaths = []\n\n for (const target of targets) {\n const targetPath = path.join(process.cwd(), AGENT_TARGETS[target])\n\n await fs.rm(targetPath, { recursive: true, force: true })\n await fs.mkdir(path.dirname(targetPath), { recursive: true })\n await fs.cp(sourcePath, targetPath, { recursive: true })\n\n installedPaths.push(targetPath)\n }\n\n console.log(`Installed ${SKILL_NAME} skill:`)\n\n for (const installedPath of installedPaths) {\n console.log(`- ${installedPath}`)\n }\n}\n\nasync function createPrompt() {\n return readline.createInterface({ input: process.stdin, output: process.stdout })\n}\n\nasync function promptTheme(defaultTheme: ThemeOption) {\n if (!process.stdin.isTTY) {\n return defaultTheme\n }\n\n const prompt = await createPrompt()\n\n try {\n while (true) {\n const answer = (await prompt.question(`Theme (max/gomax) [${defaultTheme}]: `)).trim().toLowerCase()\n\n if (!answer) {\n return defaultTheme\n }\n\n if (answer === 'max' || answer === 'gomax') {\n return answer\n }\n\n console.log('Please choose \"max\" or \"gomax\".')\n }\n } finally {\n prompt.close()\n }\n}\n\nasync function promptCssPath(defaultCssPath: string) {\n if (!process.stdin.isTTY) {\n return defaultCssPath\n }\n\n const prompt = await createPrompt()\n\n try {\n const answer = (await prompt.question(`Global CSS path [${defaultCssPath}]: `)).trim()\n return answer || defaultCssPath\n } finally {\n prompt.close()\n }\n}\n\nasync function promptInstallSkill() {\n if (!process.stdin.isTTY) {\n return false\n }\n\n const prompt = await createPrompt()\n\n try {\n while (true) {\n const answer = (await prompt.question('Install agent skill? (y/N): ')).trim().toLowerCase()\n\n if (!answer || answer === 'n' || answer === 'no') {\n return false\n }\n\n if (answer === 'y' || answer === 'yes') {\n return true\n }\n\n console.log('Please answer \"y\" or \"n\".')\n }\n } finally {\n prompt.close()\n }\n}\n\nasync function ensurePostcssConfig(projectRoot: string) {\n const postcssPath = path.join(projectRoot, 'postcss.config.mjs')\n\n if (await pathExists(postcssPath)) {\n console.log('Preserved existing postcss.config.mjs.')\n return\n }\n\n await fs.writeFile(postcssPath, POSTCSS_CONFIG)\n console.log('Created postcss.config.mjs.')\n}\n\nfunction buildPackageSource(cssPath: string) {\n const cssDir = path.posix.dirname(cssPath.replaceAll(path.sep, path.posix.sep))\n const relativeSource = path.posix.relative(cssDir, 'node_modules/@uselets/ui/dist')\n\n return relativeSource.startsWith('.') ? relativeSource : `./${relativeSource}`\n}\n\nfunction buildCssImports(source: string, theme: ThemeOption, cssPath: string) {\n const imports = []\n const hasTailwind = /@import\\s+['\"]tailwindcss['\"]/.test(source)\n const hasTheme = /@import\\s+['\"]@uselets\\/ui\\/themes\\/(?:max|gomax)\\.css['\"]/.test(source)\n const hasFont = /@import\\s+['\"]@fontsource-variable\\/inter['\"]/.test(source)\n const hasPackageSource = /@source\\s+['\"][^'\"]*@uselets\\/ui\\/dist['\"]/.test(source)\n\n if (!hasTailwind) {\n imports.push(\"@import 'tailwindcss';\")\n }\n\n if (!hasTheme) {\n imports.push(`@import '@uselets/ui/themes/${theme}.css';`)\n }\n\n if (!hasFont) {\n imports.push(\"@import '@fontsource-variable/inter';\")\n }\n\n if (!hasPackageSource) {\n imports.push(`@source '${buildPackageSource(cssPath)}';`)\n }\n\n return { imports, hasTheme }\n}\n\nasync function ensureGlobalCss(projectRoot: string, cssPath: string, theme: ThemeOption) {\n const absoluteCssPath = path.resolve(projectRoot, cssPath)\n const existingSource = (await pathExists(absoluteCssPath)) ? await fs.readFile(absoluteCssPath, 'utf8') : ''\n const { imports, hasTheme } = buildCssImports(existingSource, theme, cssPath)\n\n if (hasTheme) {\n console.log('Preserved existing @uselets/ui theme import.')\n }\n\n if (imports.length === 0) {\n console.log(`Global CSS already configured at ${cssPath}.`)\n return\n }\n\n const separator = existingSource.length > 0 && !existingSource.startsWith('\\n') ? '\\n' : ''\n const updatedSource = `${imports.join('\\n')}${separator}${existingSource}`\n\n await fs.mkdir(path.dirname(absoluteCssPath), { recursive: true })\n await fs.writeFile(absoluteCssPath, updatedSource)\n console.log(`Updated global CSS at ${cssPath}.`)\n}\n\nasync function initProject(options: InitOptions) {\n const projectRoot = process.cwd()\n const packageJsonPath = path.join(projectRoot, 'package.json')\n\n if (!(await pathExists(packageJsonPath))) {\n throw new Error('No package.json found in the current directory. Run uselets init from your project root.')\n }\n\n const projectPackageJson = await readJsonFile<PackageJson>(packageJsonPath)\n const theme = options.theme ?? (await promptTheme('max'))\n const cssPath = options.css ?? (await promptCssPath(DEFAULT_CSS_PATH))\n const shouldInstallSkill = options.installSkill ?? (await promptInstallSkill())\n\n await installMissingDependencies(projectRoot, projectPackageJson)\n await ensurePostcssConfig(projectRoot)\n await ensureGlobalCss(projectRoot, cssPath, theme)\n\n if (shouldInstallSkill) {\n await installSkill(ALL_AGENT_TARGETS)\n }\n}\n\nasync function main() {\n const program = new Command()\n\n program.name('uselets').description('CLI for @uselets/ui').showHelpAfterError()\n\n program\n .command('skill')\n .description(`Reinstall the ${SKILL_NAME} agent skill`)\n .addOption(\n new Option('--agent <agent>', 'Target agent directory').choices(['codex', 'claude', 'all']).default('all')\n )\n .action(async (options: { agent: AgentOption }) => {\n await installSkill(resolveTargets(options.agent))\n })\n\n program\n .command('init')\n .description('Set up @uselets/ui in this project')\n .addOption(new Option('--theme <theme>', 'Theme to import').choices(['max', 'gomax']))\n .option('--css <path>', 'Global CSS file path')\n .option('--install-skill', 'Install the agent skill without prompting')\n .option('--no-install-skill', 'Skip the agent skill prompt and installation')\n .action(async (options: InitOptions) => {\n await initProject(options)\n })\n\n if (process.argv.length <= 2) {\n program.outputHelp()\n return\n }\n\n await program.parseAsync()\n}\n\nmain().catch((error: unknown) => {\n console.error(error instanceof Error ? error.message : error)\n process.exitCode = 1\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"uselets.mjs","names":[],"sources":["../../src/cli/uselets.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { spawn } from 'node:child_process'\nimport fs from 'node:fs/promises'\nimport path from 'node:path'\nimport readline from 'node:readline/promises'\nimport { fileURLToPath } from 'node:url'\n\nimport { Command, Option } from 'commander'\n\nconst SKILL_NAME = 'uselets-ui'\nconst DEFAULT_CSS_PATH = 'src/styles/globals.css'\nconst POSTCSS_CONFIG = \"export { default } from '@uselets/ui/postcss.config'\\n\"\nconst AGENT_TARGETS = {\n codex: path.join('.agents', 'skills', SKILL_NAME),\n claude: path.join('.claude', 'skills', SKILL_NAME)\n} as const\n\ntype AgentTarget = keyof typeof AGENT_TARGETS\ntype AgentOption = AgentTarget | 'all'\ntype ThemeOption = 'max' | 'gomax'\ntype PackageManager = 'bun' | 'pnpm' | 'yarn' | 'npm'\ntype PackageJson = {\n name?: string\n version?: string\n packageManager?: string\n dependencies?: Record<string, string>\n devDependencies?: Record<string, string>\n peerDependencies?: Record<string, string>\n optionalDependencies?: Record<string, string>\n}\ntype InitOptions = {\n theme?: ThemeOption\n css?: string\n installSkill?: boolean\n}\n\nconst ALL_AGENT_TARGETS = Object.keys(AGENT_TARGETS) as AgentTarget[]\n\nasync function pathExists(targetPath: string) {\n try {\n await fs.access(targetPath)\n return true\n } catch {\n return false\n }\n}\n\nasync function readJsonFile<T>(filePath: string) {\n return JSON.parse(await fs.readFile(filePath, 'utf8')) as T\n}\n\nasync function findPackageRoot() {\n let currentDir = fileURLToPath(new URL('.', import.meta.url))\n\n while (true) {\n try {\n await fs.access(path.join(currentDir, 'package.json'))\n return currentDir\n } catch {\n const parentDir = path.dirname(currentDir)\n\n if (parentDir === currentDir) {\n throw new Error('Unable to resolve @uselets/ui package root')\n }\n\n currentDir = parentDir\n }\n }\n}\n\nfunction resolveTargets(agent: AgentOption) {\n return agent === 'all' ? ALL_AGENT_TARGETS : [agent]\n}\n\nfunction hasDependency(packageJson: PackageJson, dependencyName: string) {\n return Boolean(\n packageJson.dependencies?.[dependencyName] ||\n packageJson.devDependencies?.[dependencyName] ||\n packageJson.peerDependencies?.[dependencyName] ||\n packageJson.optionalDependencies?.[dependencyName]\n )\n}\n\nasync function detectPackageManager(projectRoot: string, packageJson: PackageJson): Promise<PackageManager> {\n const declaredManager = packageJson.packageManager?.split('@')[0]\n\n if (\n declaredManager === 'bun' ||\n declaredManager === 'pnpm' ||\n declaredManager === 'yarn' ||\n declaredManager === 'npm'\n ) {\n return declaredManager\n }\n\n if (await pathExists(path.join(projectRoot, 'bun.lock'))) {\n return 'bun'\n }\n\n if (await pathExists(path.join(projectRoot, 'pnpm-lock.yaml'))) {\n return 'pnpm'\n }\n\n if (await pathExists(path.join(projectRoot, 'yarn.lock'))) {\n return 'yarn'\n }\n\n if (await pathExists(path.join(projectRoot, 'package-lock.json'))) {\n return 'npm'\n }\n\n return 'npm'\n}\n\nfunction buildAddCommand(packageManager: PackageManager, dependencies: string[], dev: boolean) {\n switch (packageManager) {\n case 'bun':\n return ['bun', 'add', ...(dev ? ['-d'] : []), ...dependencies]\n case 'pnpm':\n return ['pnpm', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n case 'yarn':\n return ['yarn', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n case 'npm':\n return ['npm', 'install', ...(dev ? ['-D'] : []), ...dependencies]\n }\n}\n\nasync function runCommand(commandParts: string[], cwd: string) {\n const [command, ...args] = commandParts\n\n if (!command) {\n throw new Error('Missing command')\n }\n\n console.log(`Running: ${commandParts.join(' ')}`)\n\n await new Promise<void>((resolve, reject) => {\n const child = spawn(command, args, { cwd, stdio: 'inherit' })\n\n child.on('error', reject)\n child.on('close', (code) => {\n if (code === 0) {\n resolve()\n return\n }\n\n reject(new Error(`${command} exited with code ${code}`))\n })\n })\n}\n\nfunction getPackageVersion(packageJson: PackageJson, dependencyName: string) {\n const version = packageJson.dependencies?.[dependencyName] ?? packageJson.devDependencies?.[dependencyName]\n\n if (!version) {\n throw new Error(`Unable to find ${dependencyName} version in @uselets/ui package metadata`)\n }\n\n return version\n}\n\nasync function installMissingDependencies(projectRoot: string, projectPackageJson: PackageJson) {\n const packageRoot = await findPackageRoot()\n const packageJson = await readJsonFile<PackageJson>(path.join(packageRoot, 'package.json'))\n const packageManager = await detectPackageManager(projectRoot, projectPackageJson)\n const runtimeDependencies = []\n const devDependencies = []\n\n if (!packageJson.name || !packageJson.version) {\n throw new Error('Unable to resolve @uselets/ui package name and version')\n }\n\n if (!hasDependency(projectPackageJson, packageJson.name)) {\n runtimeDependencies.push(`${packageJson.name}@${packageJson.version}`)\n }\n\n if (!hasDependency(projectPackageJson, '@fontsource-variable/inter')) {\n runtimeDependencies.push(\n `@fontsource-variable/inter@${getPackageVersion(packageJson, '@fontsource-variable/inter')}`\n )\n }\n\n if (!hasDependency(projectPackageJson, 'tailwindcss')) {\n devDependencies.push(`tailwindcss@${getPackageVersion(packageJson, 'tailwindcss')}`)\n }\n\n if (!hasDependency(projectPackageJson, '@tailwindcss/postcss')) {\n devDependencies.push(`@tailwindcss/postcss@${getPackageVersion(packageJson, '@tailwindcss/postcss')}`)\n }\n\n if (runtimeDependencies.length > 0) {\n await runCommand(buildAddCommand(packageManager, runtimeDependencies, false), projectRoot)\n } else {\n console.log('Runtime dependencies already declared.')\n }\n\n if (devDependencies.length > 0) {\n await runCommand(buildAddCommand(packageManager, devDependencies, true), projectRoot)\n } else {\n console.log('Tailwind dependencies already declared.')\n }\n}\n\nasync function installSkill(targets: AgentTarget[]) {\n const packageRoot = await findPackageRoot()\n const sourcePath = path.join(packageRoot, 'skills', SKILL_NAME)\n\n try {\n await fs.access(sourcePath)\n } catch {\n throw new Error(`Bundled skill not found at ${sourcePath}`)\n }\n\n const installedPaths = []\n\n for (const target of targets) {\n const targetPath = path.join(process.cwd(), AGENT_TARGETS[target])\n\n await fs.rm(targetPath, { recursive: true, force: true })\n await fs.mkdir(path.dirname(targetPath), { recursive: true })\n await fs.cp(sourcePath, targetPath, { recursive: true })\n\n installedPaths.push(targetPath)\n }\n\n console.log(`Installed ${SKILL_NAME} skill:`)\n\n for (const installedPath of installedPaths) {\n console.log(`- ${installedPath}`)\n }\n}\n\nasync function createPrompt() {\n return readline.createInterface({ input: process.stdin, output: process.stdout })\n}\n\nasync function promptTheme(defaultTheme: ThemeOption) {\n if (!process.stdin.isTTY) {\n return defaultTheme\n }\n\n const prompt = await createPrompt()\n\n try {\n while (true) {\n const answer = (await prompt.question(`Theme (max/gomax) [${defaultTheme}]: `)).trim().toLowerCase()\n\n if (!answer) {\n return defaultTheme\n }\n\n if (answer === 'max' || answer === 'gomax') {\n return answer\n }\n\n console.log('Please choose \"max\" or \"gomax\".')\n }\n } finally {\n prompt.close()\n }\n}\n\nasync function promptCssPath(defaultCssPath: string) {\n if (!process.stdin.isTTY) {\n return defaultCssPath\n }\n\n const prompt = await createPrompt()\n\n try {\n const answer = (await prompt.question(`Global CSS path [${defaultCssPath}]: `)).trim()\n return answer || defaultCssPath\n } finally {\n prompt.close()\n }\n}\n\nasync function promptInstallSkill() {\n if (!process.stdin.isTTY) {\n return false\n }\n\n const prompt = await createPrompt()\n\n try {\n while (true) {\n const answer = (await prompt.question('Install agent skill? (y/N): ')).trim().toLowerCase()\n\n if (!answer || answer === 'n' || answer === 'no') {\n return false\n }\n\n if (answer === 'y' || answer === 'yes') {\n return true\n }\n\n console.log('Please answer \"y\" or \"n\".')\n }\n } finally {\n prompt.close()\n }\n}\n\nasync function ensurePostcssConfig(projectRoot: string) {\n const postcssPath = path.join(projectRoot, 'postcss.config.mjs')\n\n if (await pathExists(postcssPath)) {\n console.log('Preserved existing postcss.config.mjs.')\n return\n }\n\n await fs.writeFile(postcssPath, POSTCSS_CONFIG)\n console.log('Created postcss.config.mjs.')\n}\n\nfunction buildPackageSource(cssPath: string) {\n const cssDir = path.posix.dirname(cssPath.replaceAll(path.sep, path.posix.sep))\n const relativeSource = path.posix.relative(cssDir, 'node_modules/@uselets/ui/dist')\n\n return relativeSource.startsWith('.') ? relativeSource : `./${relativeSource}`\n}\n\nfunction buildCssImports(source: string, theme: ThemeOption, cssPath: string) {\n const imports = []\n const hasTailwind = /@import\\s+['\"]tailwindcss['\"]/.test(source)\n const hasTheme = /@import\\s+['\"]@uselets\\/ui\\/themes\\/(?:max|gomax)\\.css['\"]/.test(source)\n const hasFont = /@import\\s+['\"]@fontsource-variable\\/inter['\"]/.test(source)\n const hasPackageSource = /@source\\s+['\"][^'\"]*@uselets\\/ui\\/dist['\"]/.test(source)\n\n if (!hasTailwind) {\n imports.push(\"@import 'tailwindcss';\")\n }\n\n if (!hasTheme) {\n imports.push(`@import '@uselets/ui/themes/${theme}.css';`)\n }\n\n if (!hasFont) {\n imports.push(\"@import '@fontsource-variable/inter';\")\n }\n\n if (!hasPackageSource) {\n imports.push(`@source '${buildPackageSource(cssPath)}';`)\n }\n\n return { imports, hasTheme }\n}\n\nasync function ensureGlobalCss(projectRoot: string, cssPath: string, theme: ThemeOption) {\n const absoluteCssPath = path.resolve(projectRoot, cssPath)\n const existingSource = (await pathExists(absoluteCssPath)) ? await fs.readFile(absoluteCssPath, 'utf8') : ''\n const { imports, hasTheme } = buildCssImports(existingSource, theme, cssPath)\n\n if (hasTheme) {\n console.log('Preserved existing @uselets/ui theme import.')\n }\n\n if (imports.length === 0) {\n console.log(`Global CSS already configured at ${cssPath}.`)\n return\n }\n\n const separator = existingSource.length > 0 && !existingSource.startsWith('\\n') ? '\\n' : ''\n const updatedSource = `${imports.join('\\n')}${separator}${existingSource}`\n\n await fs.mkdir(path.dirname(absoluteCssPath), { recursive: true })\n await fs.writeFile(absoluteCssPath, updatedSource)\n console.log(`Updated global CSS at ${cssPath}.`)\n}\n\nasync function initProject(options: InitOptions) {\n const projectRoot = process.cwd()\n const packageJsonPath = path.join(projectRoot, 'package.json')\n\n if (!(await pathExists(packageJsonPath))) {\n throw new Error('No package.json found in the current directory. Run uselets init from your project root.')\n }\n\n const projectPackageJson = await readJsonFile<PackageJson>(packageJsonPath)\n const theme = options.theme ?? (await promptTheme('max'))\n const cssPath = options.css ?? (await promptCssPath(DEFAULT_CSS_PATH))\n const shouldInstallSkill = options.installSkill ?? (await promptInstallSkill())\n\n await installMissingDependencies(projectRoot, projectPackageJson)\n await ensurePostcssConfig(projectRoot)\n await ensureGlobalCss(projectRoot, cssPath, theme)\n\n if (shouldInstallSkill) {\n await installSkill(ALL_AGENT_TARGETS)\n }\n}\n\nasync function main() {\n const program = new Command()\n\n program.name('uselets').description('CLI for @uselets/ui').showHelpAfterError()\n\n program\n .command('skill')\n .description(`Reinstall the ${SKILL_NAME} agent skill`)\n .addOption(\n new Option('--agent <agent>', 'Target agent directory').choices(['codex', 'claude', 'all']).default('all')\n )\n .action(async (options: { agent: AgentOption }) => {\n await installSkill(resolveTargets(options.agent))\n })\n\n program\n .command('init')\n .description('Set up @uselets/ui in this project')\n .addOption(new Option('--theme <theme>', 'Theme to import').choices(['max', 'gomax']))\n .option('--css <path>', 'Global CSS file path')\n .option('--install-skill', 'Install the agent skill without prompting')\n .option('--no-install-skill', 'Skip the agent skill prompt and installation')\n .action(async (options: InitOptions) => {\n await initProject(options)\n })\n\n if (process.argv.length <= 2) {\n program.outputHelp()\n return\n }\n\n await program.parseAsync()\n}\n\nmain().catch((error: unknown) => {\n console.error(error instanceof Error ? error.message : error)\n process.exitCode = 1\n})\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { n as __name } from "../chunk-CHh1Zzun.js";
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { Accordion as Accordion$1 } from "radix-ui";
3
3
  import * as React from "react";
4
4
 
@@ -10,21 +10,21 @@ type AccordionContentProps = React.ComponentProps<typeof Accordion$1.Content>;
10
10
  declare function Accordion({
11
11
  className,
12
12
  ...props
13
- }: AccordionProps): import("react/jsx-runtime").JSX.Element;
13
+ }: AccordionProps): React.JSX.Element;
14
14
  declare function AccordionItem({
15
15
  className,
16
16
  ...props
17
- }: AccordionItemProps): import("react/jsx-runtime").JSX.Element;
17
+ }: AccordionItemProps): React.JSX.Element;
18
18
  declare function AccordionTrigger({
19
19
  className,
20
20
  children,
21
21
  ...props
22
- }: AccordionTriggerProps): import("react/jsx-runtime").JSX.Element;
22
+ }: AccordionTriggerProps): React.JSX.Element;
23
23
  declare function AccordionContent({
24
24
  className,
25
25
  children,
26
26
  ...props
27
- }: AccordionContentProps): import("react/jsx-runtime").JSX.Element;
27
+ }: AccordionContentProps): React.JSX.Element;
28
28
  //#endregion
29
29
  export { Accordion, AccordionContent, AccordionContentProps, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, AccordionTriggerProps };
30
30
  //# sourceMappingURL=accordion.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{IconChevronDown as t,IconChevronUp as n}from"@tabler/icons-react";import{Accordion as r}from"radix-ui";import{jsx as i,jsxs as a}from"react/jsx-runtime";function Accordion({className:t,...n}){return i(r.Root,{"data-slot":`accordion`,className:e(`flex w-full flex-col border rounded-sm`,t),...n})}function AccordionItem({className:t,...n}){return i(r.Item,{"data-slot":`accordion-item`,className:e(`not-last:border-b px-4`,t),...n})}function AccordionTrigger({className:o,children:s,...c}){return i(r.Header,{className:`flex`,children:a(r.Trigger,{"data-slot":`accordion-trigger`,className:e(`group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground`,o),...c,children:[s,i(t,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden`}),i(n,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline`})]})})}function AccordionContent({className:t,children:n,...a}){return i(r.Content,{"data-slot":`accordion-content`,className:`wrap-break-word data-closed:overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up`,...a,children:i(`div`,{className:e(`h-(--radix-accordion-content-height) pt-0 pb-2.5`,t),children:n})})}export{Accordion,AccordionContent,AccordionItem,AccordionTrigger};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{IconChevronDown as t,IconChevronUp as n}from"@tabler/icons-react";import{Accordion as r}from"radix-ui";import{jsx as i,jsxs as a}from"react/jsx-runtime";function Accordion({className:t,...n}){return i(r.Root,{"data-slot":`accordion`,className:e(`flex w-full flex-col border rounded-sm`,t),...n})}function AccordionItem({className:t,...n}){return i(r.Item,{"data-slot":`accordion-item`,className:e(`not-last:border-b px-4`,t),...n})}function AccordionTrigger({className:o,children:s,...c}){return i(r.Header,{className:`flex`,children:a(r.Trigger,{"data-slot":`accordion-trigger`,className:e(`group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground`,o),...c,children:[s,i(t,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden`}),i(n,{"data-slot":`accordion-trigger-icon`,className:`pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline`})]})})}function AccordionContent({className:t,children:n,...a}){return i(r.Content,{"data-slot":`accordion-content`,className:`wrap-break-word data-closed:overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up`,...a,children:i(`div`,{className:e(`h-(--radix-accordion-content-height) pt-0 pb-2.5`,t),children:n})})}export{Accordion,AccordionContent,AccordionItem,AccordionTrigger};
2
2
  //# sourceMappingURL=accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","names":["AccordionPrimitive"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconChevronDown, IconChevronUp } from '@tabler/icons-react'\nimport { Accordion as AccordionPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>\n\nexport type AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>\n\nexport type AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger>\n\nexport type AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Content>\n\nfunction Accordion({ className, ...props }: AccordionProps) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn('flex w-full flex-col border rounded-sm', className)}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('not-last:border-b px-4', className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({ className, children, ...props }: AccordionTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground',\n className\n )}\n {...props}\n >\n {children}\n <IconChevronDown\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\"\n />\n <IconChevronUp\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\"\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({ className, children, ...props }: AccordionContentProps) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"wrap-break-word data-closed:overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div className={cn('h-(--radix-accordion-content-height) pt-0 pb-2.5', className)}>{children}</div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger }\n"],"mappings":"kOAeA,SAAS,UAAU,CAAE,YAAW,GAAG,GAAyB,CAC1D,OACE,EAACA,EAAmB,KAApB,CACE,YAAU,YACV,UAAW,EAAG,yCAA0C,CAAS,EACjE,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OACE,EAACA,EAAmB,KAApB,CACE,YAAU,iBACV,UAAW,EAAG,yBAA0B,CAAS,EACjD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,WAAU,GAAG,GAAgC,CAClF,OACE,EAACA,EAAmB,OAApB,CAA2B,UAAU,gBACnC,EAACA,EAAmB,QAApB,CACE,YAAU,oBACV,UAAW,EACT,mfACA,CACF,EACA,GAAI,WANN,CAQG,EACD,EAAC,EAAD,CACE,YAAU,yBACV,UAAU,2EACX,CAAA,EACD,EAAC,EAAD,CACE,YAAU,yBACV,UAAU,kFACX,CAAA,CACyB,GACH,CAAA,CAE/B,CAEA,SAAS,iBAAiB,CAAE,YAAW,WAAU,GAAG,GAAgC,CAClF,OACE,EAACA,EAAmB,QAApB,CACE,YAAU,oBACV,UAAU,wHACV,GAAI,WAEJ,EAAC,MAAD,CAAK,UAAW,EAAG,mDAAoD,CAAS,EAAI,UAAc,CAAA,CACxE,CAAA,CAEhC"}
1
+ {"version":3,"file":"accordion.js","names":["AccordionPrimitive"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconChevronDown, IconChevronUp } from '@tabler/icons-react'\nimport { Accordion as AccordionPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>\n\nexport type AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>\n\nexport type AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger>\n\nexport type AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Content>\n\nfunction Accordion({ className, ...props }: AccordionProps) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn('flex w-full flex-col border rounded-sm', className)}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('not-last:border-b px-4', className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({ className, children, ...props }: AccordionTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground',\n className\n )}\n {...props}\n >\n {children}\n <IconChevronDown\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\"\n />\n <IconChevronUp\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\"\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({ className, children, ...props }: AccordionContentProps) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"wrap-break-word data-closed:overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div className={cn('h-(--radix-accordion-content-height) pt-0 pb-2.5', className)}>{children}</div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger }\n"],"mappings":"6OAeA,SAAS,UAAU,CAAE,YAAW,GAAG,GAAyB,CAC1D,OACE,EAACA,EAAmB,KAApB,CACE,YAAU,YACV,UAAW,EAAG,yCAA0C,CAAS,EACjE,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,cAAc,CAAE,YAAW,GAAG,GAA6B,CAClE,OACE,EAACA,EAAmB,KAApB,CACE,YAAU,iBACV,UAAW,EAAG,yBAA0B,CAAS,EACjD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,WAAU,GAAG,GAAgC,CAClF,OACE,EAACA,EAAmB,OAApB,CAA2B,UAAU,gBACnC,EAACA,EAAmB,QAApB,CACE,YAAU,oBACV,UAAW,EACT,mfACA,CACF,EACA,GAAI,WANN,CAQG,EACD,EAAC,EAAD,CACE,YAAU,yBACV,UAAU,2EACX,CAAA,EACD,EAAC,EAAD,CACE,YAAU,yBACV,UAAU,kFACX,CAAA,CACyB,GACH,CAAA,CAE/B,CAEA,SAAS,iBAAiB,CAAE,YAAW,WAAU,GAAG,GAAgC,CAClF,OACE,EAACA,EAAmB,QAApB,CACE,YAAU,oBACV,UAAU,wHACV,GAAI,WAEJ,EAAC,MAAD,CAAK,UAAW,EAAG,mDAAoD,CAAS,EAAI,UAAc,CAAA,CACxE,CAAA,CAEhC"}
@@ -1,4 +1,4 @@
1
- import { n as __name } from "../chunk-CHh1Zzun.js";
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { Button } from "./button.js";
3
3
  import { AlertDialog as AlertDialog$1 } from "radix-ui";
4
4
  import * as React from "react";
@@ -20,56 +20,56 @@ type AlertDialogActionProps = React.ComponentProps<typeof AlertDialog$1.Action>
20
20
  type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialog$1.Cancel> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'color' | 'size'>;
21
21
  declare function AlertDialog({
22
22
  ...props
23
- }: AlertDialogProps): import("react/jsx-runtime").JSX.Element;
23
+ }: AlertDialogProps): React.JSX.Element;
24
24
  declare function AlertDialogTrigger({
25
25
  ...props
26
- }: AlertDialogTriggerProps): import("react/jsx-runtime").JSX.Element;
26
+ }: AlertDialogTriggerProps): React.JSX.Element;
27
27
  declare function AlertDialogPortal({
28
28
  ...props
29
- }: AlertDialogPortalProps): import("react/jsx-runtime").JSX.Element;
29
+ }: AlertDialogPortalProps): React.JSX.Element;
30
30
  declare function AlertDialogOverlay({
31
31
  className,
32
32
  ...props
33
- }: AlertDialogOverlayProps): import("react/jsx-runtime").JSX.Element;
33
+ }: AlertDialogOverlayProps): React.JSX.Element;
34
34
  declare function AlertDialogContent({
35
35
  className,
36
36
  size,
37
37
  ...props
38
- }: AlertDialogContentProps): import("react/jsx-runtime").JSX.Element;
38
+ }: AlertDialogContentProps): React.JSX.Element;
39
39
  declare function AlertDialogHeader({
40
40
  className,
41
41
  ...props
42
- }: AlertDialogHeaderProps): import("react/jsx-runtime").JSX.Element;
42
+ }: AlertDialogHeaderProps): React.JSX.Element;
43
43
  declare function AlertDialogFooter({
44
44
  className,
45
45
  ...props
46
- }: AlertDialogFooterProps): import("react/jsx-runtime").JSX.Element;
46
+ }: AlertDialogFooterProps): React.JSX.Element;
47
47
  declare function AlertDialogMedia({
48
48
  className,
49
49
  ...props
50
- }: AlertDialogMediaProps): import("react/jsx-runtime").JSX.Element;
50
+ }: AlertDialogMediaProps): React.JSX.Element;
51
51
  declare function AlertDialogTitle({
52
52
  className,
53
53
  ...props
54
- }: AlertDialogTitleProps): import("react/jsx-runtime").JSX.Element;
54
+ }: AlertDialogTitleProps): React.JSX.Element;
55
55
  declare function AlertDialogDescription({
56
56
  className,
57
57
  ...props
58
- }: AlertDialogDescriptionProps): import("react/jsx-runtime").JSX.Element;
58
+ }: AlertDialogDescriptionProps): React.JSX.Element;
59
59
  declare function AlertDialogAction({
60
60
  className,
61
61
  variant,
62
62
  color,
63
63
  size,
64
64
  ...props
65
- }: AlertDialogActionProps): import("react/jsx-runtime").JSX.Element;
65
+ }: AlertDialogActionProps): React.JSX.Element;
66
66
  declare function AlertDialogCancel({
67
67
  className,
68
68
  variant,
69
69
  color,
70
70
  size,
71
71
  ...props
72
- }: AlertDialogCancelProps): import("react/jsx-runtime").JSX.Element;
72
+ }: AlertDialogCancelProps): React.JSX.Element;
73
73
  //#endregion
74
74
  export { AlertDialog, AlertDialogAction, AlertDialogActionProps, AlertDialogCancel, AlertDialogCancelProps, AlertDialogContent, AlertDialogContentProps, AlertDialogDescription, AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogFooterProps, AlertDialogHeader, AlertDialogHeaderProps, AlertDialogMedia, AlertDialogMediaProps, AlertDialogOverlay, AlertDialogOverlayProps, AlertDialogPortal, AlertDialogPortalProps, AlertDialogProps, AlertDialogTitle, AlertDialogTitleProps, AlertDialogTrigger, AlertDialogTriggerProps };
75
75
  //# sourceMappingURL=alert-dialog.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{AlertDialog as n}from"radix-ui";import{jsx as r,jsxs as i}from"react/jsx-runtime";function AlertDialog({...e}){return r(n.Root,{"data-slot":`alert-dialog`,...e})}function AlertDialogTrigger({...e}){return r(n.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function AlertDialogPortal({...e}){return r(n.Portal,{"data-slot":`alert-dialog-portal`,...e})}function AlertDialogOverlay({className:t,...i}){return r(n.Overlay,{"data-slot":`alert-dialog-overlay`,className:e(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t),...i})}function AlertDialogContent({className:t,size:a=`md`,...o}){return i(AlertDialogPortal,{children:[r(AlertDialogOverlay,{}),r(n.Content,{"data-slot":`alert-dialog-content`,"data-size":a,className:e(`group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=md]:max-w-xs data-[size=sm]:max-w-xs data-[size=md]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,t),...o})]})}function AlertDialogHeader({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-header`,className:e(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=md]/alert-dialog-content:place-items-start sm:group-data-[size=md]/alert-dialog-content:text-left sm:group-data-[size=md]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,t),...n})}function AlertDialogFooter({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-footer`,className:e(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,t),...n})}function AlertDialogMedia({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-media`,className:e(`mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=md]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6`,t),...n})}function AlertDialogTitle({className:t,...i}){return r(n.Title,{"data-slot":`alert-dialog-title`,className:e(`text-base font-medium sm:group-data-[size=md]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,t),...i})}function AlertDialogDescription({className:t,...i}){return r(n.Description,{"data-slot":`alert-dialog-description`,className:e(`text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,t),...i})}function AlertDialogAction({className:i,variant:a=`solid`,color:o=`primary`,size:s=`md`,...c}){return r(t,{variant:a,color:o,size:s,asChild:!0,children:r(n.Action,{"data-slot":`alert-dialog-action`,className:e(i),...c})})}function AlertDialogCancel({className:i,variant:a=`outline`,color:o=`primary`,size:s=`md`,...c}){return r(t,{variant:a,color:o,size:s,asChild:!0,children:r(n.Cancel,{"data-slot":`alert-dialog-cancel`,className:e(i),...c})})}export{AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogMedia,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{AlertDialog as n}from"radix-ui";import{jsx as r,jsxs as i}from"react/jsx-runtime";function AlertDialog({...e}){return r(n.Root,{"data-slot":`alert-dialog`,...e})}function AlertDialogTrigger({...e}){return r(n.Trigger,{"data-slot":`alert-dialog-trigger`,...e})}function AlertDialogPortal({...e}){return r(n.Portal,{"data-slot":`alert-dialog-portal`,...e})}function AlertDialogOverlay({className:t,...i}){return r(n.Overlay,{"data-slot":`alert-dialog-overlay`,className:e(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,t),...i})}function AlertDialogContent({className:t,size:a=`md`,...o}){return i(AlertDialogPortal,{children:[r(AlertDialogOverlay,{}),r(n.Content,{"data-slot":`alert-dialog-content`,"data-size":a,className:e(`group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=md]:max-w-xs data-[size=sm]:max-w-xs data-[size=md]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,t),...o})]})}function AlertDialogHeader({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-header`,className:e(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=md]/alert-dialog-content:place-items-start sm:group-data-[size=md]/alert-dialog-content:text-left sm:group-data-[size=md]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,t),...n})}function AlertDialogFooter({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-footer`,className:e(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,t),...n})}function AlertDialogMedia({className:t,...n}){return r(`div`,{"data-slot":`alert-dialog-media`,className:e(`mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=md]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6`,t),...n})}function AlertDialogTitle({className:t,...i}){return r(n.Title,{"data-slot":`alert-dialog-title`,className:e(`text-base font-medium sm:group-data-[size=md]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,t),...i})}function AlertDialogDescription({className:t,...i}){return r(n.Description,{"data-slot":`alert-dialog-description`,className:e(`text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,t),...i})}function AlertDialogAction({className:i,variant:a=`solid`,color:o=`primary`,size:s=`md`,...c}){return r(t,{variant:a,color:o,size:s,asChild:!0,children:r(n.Action,{"data-slot":`alert-dialog-action`,className:e(i),...c})})}function AlertDialogCancel({className:i,variant:a=`outline`,color:o=`primary`,size:s=`md`,...c}){return r(t,{variant:a,color:o,size:s,asChild:!0,children:r(n.Cancel,{"data-slot":`alert-dialog-cancel`,className:e(i),...c})})}export{AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogMedia,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger};
2
2
  //# sourceMappingURL=alert-dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\n\nexport type AlertDialogProps = React.ComponentProps<typeof AlertDialogPrimitive.Root>\n\nexport type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogPrimitive.Trigger>\n\nexport type AlertDialogPortalProps = React.ComponentProps<typeof AlertDialogPrimitive.Portal>\n\nexport type AlertDialogOverlayProps = React.ComponentProps<typeof AlertDialogPrimitive.Overlay>\n\nexport type AlertDialogContentProps = React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: 'sm' | 'md'\n}\n\nexport type AlertDialogHeaderProps = React.ComponentProps<'div'>\n\nexport type AlertDialogFooterProps = React.ComponentProps<'div'>\n\nexport type AlertDialogMediaProps = React.ComponentProps<'div'>\n\nexport type AlertDialogTitleProps = React.ComponentProps<typeof AlertDialogPrimitive.Title>\n\nexport type AlertDialogDescriptionProps = React.ComponentProps<typeof AlertDialogPrimitive.Description>\n\nexport type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'color' | 'size'>\n\nexport type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'color' | 'size'>\n\nfunction AlertDialog({ ...props }: AlertDialogProps) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogTriggerProps) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPortalProps) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n}\n\nfunction AlertDialogOverlay({ className, ...props }: AlertDialogOverlayProps) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({ className, size = 'md', ...props }: AlertDialogContentProps) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n 'group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=md]:max-w-xs data-[size=sm]:max-w-xs data-[size=md]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n 'grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=md]/alert-dialog-content:place-items-start sm:group-data-[size=md]/alert-dialog-content:text-left sm:group-data-[size=md]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({ className, ...props }: AlertDialogFooterProps) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n '-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({ className, ...props }: AlertDialogMediaProps) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=md]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({ className, ...props }: AlertDialogTitleProps) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n 'text-base font-medium sm:group-data-[size=md]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({ className, ...props }: AlertDialogDescriptionProps) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n 'text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = 'solid',\n color = 'primary',\n size = 'md',\n ...props\n}: AlertDialogActionProps) {\n return (\n <Button variant={variant} color={color} size={size} asChild>\n <AlertDialogPrimitive.Action data-slot=\"alert-dialog-action\" className={cn(className)} {...props} />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = 'outline',\n color = 'primary',\n size = 'md',\n ...props\n}: AlertDialogCancelProps) {\n return (\n <Button variant={variant} color={color} size={size} asChild>\n <AlertDialogPrimitive.Cancel data-slot=\"alert-dialog-cancel\" className={cn(className)} {...props} />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger\n}\n"],"mappings":"gMAmCA,SAAS,YAAY,CAAE,GAAG,GAA2B,CACnD,OAAO,EAACA,EAAqB,KAAtB,CAA2B,YAAU,eAAe,GAAI,CAAQ,CAAA,CACzE,CAEA,SAAS,mBAAmB,CAAE,GAAG,GAAkC,CACjE,OAAO,EAACA,EAAqB,QAAtB,CAA8B,YAAU,uBAAuB,GAAI,CAAQ,CAAA,CACpF,CAEA,SAAS,kBAAkB,CAAE,GAAG,GAAiC,CAC/D,OAAO,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,GAAI,CAAQ,CAAA,CAClF,CAEA,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAACA,EAAqB,QAAtB,CACE,YAAU,uBACV,UAAW,EACT,gLACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,mBAAmB,CAAE,YAAW,OAAO,KAAM,GAAG,GAAkC,CACzF,OACE,EAAC,kBAAD,CAAA,SAAA,CACE,EAAC,mBAAD,CAAqB,CAAA,EACrB,EAACA,EAAqB,QAAtB,CACE,YAAU,uBACV,YAAW,EACX,UAAW,EACT,8YACA,CACF,EACA,GAAI,CACL,CAAA,CACgB,CAAA,CAAA,CAEvB,CAEA,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OACE,EAAC,MAAD,CACE,YAAU,sBACV,UAAW,EACT,sYACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OACE,EAAC,MAAD,CACE,YAAU,sBACV,UAAW,EACT,gNACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,qBACV,UAAW,EACT,wKACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAACA,EAAqB,MAAtB,CACE,YAAU,qBACV,UAAW,EACT,+IACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,uBAAuB,CAAE,YAAW,GAAG,GAAsC,CACpF,OACE,EAACA,EAAqB,YAAtB,CACE,YAAU,2BACV,UAAW,EACT,iIACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,kBAAkB,CACzB,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,GAAG,GACsB,CACzB,OACE,EAAC,EAAD,CAAiB,UAAgB,QAAa,OAAM,QAAA,YAClD,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,UAAW,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC7F,CAAA,CAEZ,CAEA,SAAS,kBAAkB,CACzB,YACA,UAAU,UACV,QAAQ,UACR,OAAO,KACP,GAAG,GACsB,CACzB,OACE,EAAC,EAAD,CAAiB,UAAgB,QAAa,OAAM,QAAA,YAClD,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,UAAW,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC7F,CAAA,CAEZ"}
1
+ {"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\n\nexport type AlertDialogProps = React.ComponentProps<typeof AlertDialogPrimitive.Root>\n\nexport type AlertDialogTriggerProps = React.ComponentProps<typeof AlertDialogPrimitive.Trigger>\n\nexport type AlertDialogPortalProps = React.ComponentProps<typeof AlertDialogPrimitive.Portal>\n\nexport type AlertDialogOverlayProps = React.ComponentProps<typeof AlertDialogPrimitive.Overlay>\n\nexport type AlertDialogContentProps = React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: 'sm' | 'md'\n}\n\nexport type AlertDialogHeaderProps = React.ComponentProps<'div'>\n\nexport type AlertDialogFooterProps = React.ComponentProps<'div'>\n\nexport type AlertDialogMediaProps = React.ComponentProps<'div'>\n\nexport type AlertDialogTitleProps = React.ComponentProps<typeof AlertDialogPrimitive.Title>\n\nexport type AlertDialogDescriptionProps = React.ComponentProps<typeof AlertDialogPrimitive.Description>\n\nexport type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'color' | 'size'>\n\nexport type AlertDialogCancelProps = React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'color' | 'size'>\n\nfunction AlertDialog({ ...props }: AlertDialogProps) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogTriggerProps) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPortalProps) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n}\n\nfunction AlertDialogOverlay({ className, ...props }: AlertDialogOverlayProps) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({ className, size = 'md', ...props }: AlertDialogContentProps) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n 'group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 ring-1 ring-foreground/10 duration-100 outline-none data-[size=md]:max-w-xs data-[size=sm]:max-w-xs data-[size=md]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n 'grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=md]/alert-dialog-content:place-items-start sm:group-data-[size=md]/alert-dialog-content:text-left sm:group-data-[size=md]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({ className, ...props }: AlertDialogFooterProps) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n '-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({ className, ...props }: AlertDialogMediaProps) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=md]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({ className, ...props }: AlertDialogTitleProps) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n 'text-base font-medium sm:group-data-[size=md]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({ className, ...props }: AlertDialogDescriptionProps) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n 'text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = 'solid',\n color = 'primary',\n size = 'md',\n ...props\n}: AlertDialogActionProps) {\n return (\n <Button variant={variant} color={color} size={size} asChild>\n <AlertDialogPrimitive.Action data-slot=\"alert-dialog-action\" className={cn(className)} {...props} />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = 'outline',\n color = 'primary',\n size = 'md',\n ...props\n}: AlertDialogCancelProps) {\n return (\n <Button variant={variant} color={color} size={size} asChild>\n <AlertDialogPrimitive.Cancel data-slot=\"alert-dialog-cancel\" className={cn(className)} {...props} />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger\n}\n"],"mappings":"2MAmCA,SAAS,YAAY,CAAE,GAAG,GAA2B,CACnD,OAAO,EAACA,EAAqB,KAAtB,CAA2B,YAAU,eAAe,GAAI,CAAQ,CAAA,CACzE,CAEA,SAAS,mBAAmB,CAAE,GAAG,GAAkC,CACjE,OAAO,EAACA,EAAqB,QAAtB,CAA8B,YAAU,uBAAuB,GAAI,CAAQ,CAAA,CACpF,CAEA,SAAS,kBAAkB,CAAE,GAAG,GAAiC,CAC/D,OAAO,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,GAAI,CAAQ,CAAA,CAClF,CAEA,SAAS,mBAAmB,CAAE,YAAW,GAAG,GAAkC,CAC5E,OACE,EAACA,EAAqB,QAAtB,CACE,YAAU,uBACV,UAAW,EACT,gLACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,mBAAmB,CAAE,YAAW,OAAO,KAAM,GAAG,GAAkC,CACzF,OACE,EAAC,kBAAD,CAAA,SAAA,CACE,EAAC,mBAAD,CAAqB,CAAA,EACrB,EAACA,EAAqB,QAAtB,CACE,YAAU,uBACV,YAAW,EACX,UAAW,EACT,8YACA,CACF,EACA,GAAI,CACL,CAAA,CACgB,CAAA,CAAA,CAEvB,CAEA,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OACE,EAAC,MAAD,CACE,YAAU,sBACV,UAAW,EACT,sYACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,kBAAkB,CAAE,YAAW,GAAG,GAAiC,CAC1E,OACE,EAAC,MAAD,CACE,YAAU,sBACV,UAAW,EACT,gNACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,qBACV,UAAW,EACT,wKACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAACA,EAAqB,MAAtB,CACE,YAAU,qBACV,UAAW,EACT,+IACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,uBAAuB,CAAE,YAAW,GAAG,GAAsC,CACpF,OACE,EAACA,EAAqB,YAAtB,CACE,YAAU,2BACV,UAAW,EACT,iIACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,kBAAkB,CACzB,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,GAAG,GACsB,CACzB,OACE,EAAC,EAAD,CAAiB,UAAgB,QAAa,OAAM,QAAA,YAClD,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,UAAW,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC7F,CAAA,CAEZ,CAEA,SAAS,kBAAkB,CACzB,YACA,UAAU,UACV,QAAQ,UACR,OAAO,KACP,GAAG,GACsB,CACzB,OACE,EAAC,EAAD,CAAiB,UAAgB,QAAa,OAAM,QAAA,YAClD,EAACA,EAAqB,OAAtB,CAA6B,YAAU,sBAAsB,UAAW,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC7F,CAAA,CAEZ"}
@@ -1,4 +1,4 @@
1
- import { n as __name } from "../chunk-CHh1Zzun.js";
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
4
 
@@ -14,19 +14,19 @@ declare function Alert({
14
14
  className,
15
15
  variant,
16
16
  ...props
17
- }: AlertProps): import("react/jsx-runtime").JSX.Element;
17
+ }: AlertProps): React.JSX.Element;
18
18
  declare function AlertTitle({
19
19
  className,
20
20
  ...props
21
- }: AlertTitleProps): import("react/jsx-runtime").JSX.Element;
21
+ }: AlertTitleProps): React.JSX.Element;
22
22
  declare function AlertDescription({
23
23
  className,
24
24
  ...props
25
- }: AlertDescriptionProps): import("react/jsx-runtime").JSX.Element;
25
+ }: AlertDescriptionProps): React.JSX.Element;
26
26
  declare function AlertAction({
27
27
  className,
28
28
  ...props
29
- }: AlertActionProps): import("react/jsx-runtime").JSX.Element;
29
+ }: AlertActionProps): React.JSX.Element;
30
30
  //#endregion
31
31
  export { Alert, AlertAction, AlertActionProps, AlertDescription, AlertDescriptionProps, AlertProps, AlertTitle, AlertTitleProps };
32
32
  //# sourceMappingURL=alert.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function Alert({className:n,variant:i,...a}){return t(`div`,{"data-slot":`alert`,role:`alert`,className:e(r({variant:i}),n),...a})}function AlertTitle({className:n,...r}){return t(`div`,{"data-slot":`alert-title`,className:e(`font-medium group-has-[>svg]/alert:col-start-2`,`[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function AlertDescription({className:n,...r}){return t(`div`,{"data-slot":`alert-description`,className:e(`text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4`,`[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function AlertAction({className:n,...r}){return t(`div`,{"data-slot":`alert-action`,className:e(`absolute top-2 right-2`,n),...r})}export{Alert,AlertAction,AlertDescription,AlertTitle};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function Alert({className:n,variant:i,...a}){return t(`div`,{"data-slot":`alert`,role:`alert`,className:e(r({variant:i}),n),...a})}function AlertTitle({className:n,...r}){return t(`div`,{"data-slot":`alert-title`,className:e(`font-medium group-has-[>svg]/alert:col-start-2`,`[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function AlertDescription({className:n,...r}){return t(`div`,{"data-slot":`alert-description`,className:e(`text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4`,`[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function AlertAction({className:n,...r}){return t(`div`,{"data-slot":`alert-action`,className:e(`absolute top-2 right-2`,n),...r})}export{Alert,AlertAction,AlertDescription,AlertTitle};
2
2
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive: 'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n }\n)\n\nexport type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants>\n\nexport type AlertTitleProps = React.ComponentProps<'div'>\n\nexport type AlertDescriptionProps = React.ComponentProps<'div'>\n\nexport type AlertActionProps = React.ComponentProps<'div'>\n\nfunction Alert({ className, variant, ...props }: AlertProps) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n}\n\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'font-medium group-has-[>svg]/alert:col-start-2',\n '[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4',\n '[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: AlertActionProps) {\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />\n}\n\nexport { Alert, AlertAction, AlertDescription, AlertTitle }\n"],"mappings":"yJAMA,MAAM,EAAgB,EACpB,4TACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YAAa,mGACf,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAUA,SAAS,MAAM,CAAE,YAAW,UAAS,GAAG,GAAqB,CAC3D,OAAO,EAAC,MAAD,CAAK,YAAU,QAAQ,KAAK,QAAQ,UAAW,EAAG,EAAc,CAAE,SAAQ,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC/G,CAEA,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OACE,EAAC,MAAD,CACE,YAAU,cACV,UAAW,EACT,iDACA,uEACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,oBACV,UAAW,EACT,wFACA,uEACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OAAO,EAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAG,yBAA0B,CAAS,EAAG,GAAI,CAAQ,CAAA,CACvG"}
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive: 'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n }\n)\n\nexport type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants>\n\nexport type AlertTitleProps = React.ComponentProps<'div'>\n\nexport type AlertDescriptionProps = React.ComponentProps<'div'>\n\nexport type AlertActionProps = React.ComponentProps<'div'>\n\nfunction Alert({ className, variant, ...props }: AlertProps) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n}\n\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'font-medium group-has-[>svg]/alert:col-start-2',\n '[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4',\n '[&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: AlertActionProps) {\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />\n}\n\nexport { Alert, AlertAction, AlertDescription, AlertTitle }\n"],"mappings":"oKAMA,MAAM,EAAgB,EACpB,4TACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YAAa,mGACf,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAUA,SAAS,MAAM,CAAE,YAAW,UAAS,GAAG,GAAqB,CAC3D,OAAO,EAAC,MAAD,CAAK,YAAU,QAAQ,KAAK,QAAQ,UAAW,EAAG,EAAc,CAAE,SAAQ,CAAC,EAAG,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC/G,CAEA,SAAS,WAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OACE,EAAC,MAAD,CACE,YAAU,cACV,UAAW,EACT,iDACA,uEACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,iBAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAC,MAAD,CACE,YAAU,oBACV,UAAW,EACT,wFACA,uEACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OAAO,EAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAG,yBAA0B,CAAS,EAAG,GAAI,CAAQ,CAAA,CACvG"}
@@ -1,4 +1,4 @@
1
- import { n as __name } from "../chunk-CHh1Zzun.js";
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { VariantProps } from "class-variance-authority";
3
3
  import * as React from "react";
4
4
 
@@ -16,7 +16,7 @@ declare function Anchor({
16
16
  underline,
17
17
  asChild,
18
18
  ...props
19
- }: AnchorProps): import("react/jsx-runtime").JSX.Element;
19
+ }: AnchorProps): React.JSX.Element;
20
20
  //#endregion
21
21
  export { Anchor, AnchorProps, anchorVariants };
22
22
  //# sourceMappingURL=anchor.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`text-primary rounded-sm underline-offset-4 transition-colors outline-none hover:text-primary/80 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,{variants:{size:{xs:`text-xs`,sm:`text-sm`,md:`text-base`,lg:`text-lg`,xl:`text-xl`},underline:{always:`underline`,hover:`no-underline hover:underline`,never:`no-underline`,"not-hover":`underline hover:no-underline`}},defaultVariants:{size:`md`,underline:`hover`}});function Anchor({className:r,size:a=`md`,underline:o=`hover`,asChild:s=!1,...c}){return n(s?t.Root:`a`,{"data-slot":`anchor`,"data-size":a,"data-underline":o,className:e(i({size:a,underline:o}),r),...c})}export{Anchor,i as anchorVariants};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`text-primary rounded-sm underline-offset-4 transition-colors outline-none hover:text-primary/80 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,{variants:{size:{xs:`text-xs`,sm:`text-sm`,md:`text-base`,lg:`text-lg`,xl:`text-xl`},underline:{always:`underline`,hover:`no-underline hover:underline`,never:`no-underline`,"not-hover":`underline hover:no-underline`}},defaultVariants:{size:`md`,underline:`hover`}});function Anchor({className:r,size:a=`md`,underline:o=`hover`,asChild:s=!1,...c}){return n(s?t.Root:`a`,{"data-slot":`anchor`,"data-size":a,"data-underline":o,className:e(i({size:a,underline:o}),r),...c})}export{Anchor,i as anchorVariants};
2
2
  //# sourceMappingURL=anchor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.js","names":[],"sources":["../../src/components/anchor.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nconst anchorVariants = cva(\n 'text-primary rounded-sm underline-offset-4 transition-colors outline-none hover:text-primary/80 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n },\n underline: {\n always: 'underline',\n hover: 'no-underline hover:underline',\n never: 'no-underline',\n 'not-hover': 'underline hover:no-underline'\n }\n },\n defaultVariants: {\n size: 'md',\n underline: 'hover'\n }\n }\n)\n\nexport type AnchorProps = React.ComponentProps<'a'> &\n VariantProps<typeof anchorVariants> & {\n asChild?: boolean\n }\n\nfunction Anchor({ className, size = 'md', underline = 'hover', asChild = false, ...props }: AnchorProps) {\n const Comp = asChild ? Slot.Root : 'a'\n\n return (\n <Comp\n data-slot=\"anchor\"\n data-size={size}\n data-underline={underline}\n className={cn(anchorVariants({ size, underline }), className)}\n {...props}\n />\n )\n}\n\nexport { Anchor, anchorVariants }\n"],"mappings":"yLAOA,MAAM,EAAiB,EACrB,4KACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,EACA,UAAW,CACT,OAAQ,YACR,MAAO,+BACP,MAAO,eACP,YAAa,8BACf,CACF,EACA,gBAAiB,CACf,KAAM,KACN,UAAW,OACb,CACF,CACF,EAOA,SAAS,OAAO,CAAE,YAAW,OAAO,KAAM,YAAY,QAAS,UAAU,GAAO,GAAG,GAAsB,CAGvG,OACE,EAHW,EAAU,EAAK,KAAO,IAGjC,CACE,YAAU,SACV,YAAW,EACX,iBAAgB,EAChB,UAAW,EAAG,EAAe,CAAE,OAAM,WAAU,CAAC,EAAG,CAAS,EAC5D,GAAI,CACL,CAAA,CAEL"}
1
+ {"version":3,"file":"anchor.js","names":[],"sources":["../../src/components/anchor.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nconst anchorVariants = cva(\n 'text-primary rounded-sm underline-offset-4 transition-colors outline-none hover:text-primary/80 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl'\n },\n underline: {\n always: 'underline',\n hover: 'no-underline hover:underline',\n never: 'no-underline',\n 'not-hover': 'underline hover:no-underline'\n }\n },\n defaultVariants: {\n size: 'md',\n underline: 'hover'\n }\n }\n)\n\nexport type AnchorProps = React.ComponentProps<'a'> &\n VariantProps<typeof anchorVariants> & {\n asChild?: boolean\n }\n\nfunction Anchor({ className, size = 'md', underline = 'hover', asChild = false, ...props }: AnchorProps) {\n const Comp = asChild ? Slot.Root : 'a'\n\n return (\n <Comp\n data-slot=\"anchor\"\n data-size={size}\n data-underline={underline}\n className={cn(anchorVariants({ size, underline }), className)}\n {...props}\n />\n )\n}\n\nexport { Anchor, anchorVariants }\n"],"mappings":"oMAOA,MAAM,EAAiB,EACrB,4KACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACJ,GAAI,SACN,EACA,UAAW,CACT,OAAQ,YACR,MAAO,+BACP,MAAO,eACP,YAAa,8BACf,CACF,EACA,gBAAiB,CACf,KAAM,KACN,UAAW,OACb,CACF,CACF,EAOA,SAAS,OAAO,CAAE,YAAW,OAAO,KAAM,YAAY,QAAS,UAAU,GAAO,GAAG,GAAsB,CAGvG,OACE,EAHW,EAAU,EAAK,KAAO,IAGjC,CACE,YAAU,SACV,YAAW,EACX,iBAAgB,EAChB,UAAW,EAAG,EAAe,CAAE,OAAM,WAAU,CAAC,EAAG,CAAS,EAC5D,GAAI,CACL,CAAA,CAEL"}
@@ -1,12 +1,14 @@
1
- import { n as __name } from "../chunk-CHh1Zzun.js";
2
- import { f as ChartTooltipContentProps, o as ChartLegendContentProps } from "../chart-DHS2QeM8.js";
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
+ import { c as ChartLegendContentProps, m as ChartTooltipContentProps, n as ChartColorKey } from "../chart-lqgodZYQ.js";
3
3
  import * as React from "react";
4
+ import { Area, AreaChart as AreaChart$1 } from "recharts";
4
5
 
5
6
  //#region src/components/area-chart.d.ts
6
7
  type AreaChartSeries = {
7
8
  name: string;
8
9
  label?: string;
9
10
  color?: string;
11
+ colorKey?: ChartColorKey;
10
12
  };
11
13
  type AreaChartType = 'default' | 'stacked' | 'percent' | 'split';
12
14
  type AreaChartCurveType = 'linear' | 'monotone' | 'natural' | 'step' | 'bump' | 'stepAfter' | 'stepBefore';
@@ -30,6 +32,8 @@ type AreaChartProps = Omit<React.ComponentProps<'div'>, 'children'> & {
30
32
  animationDuration?: number;
31
33
  tooltipProps?: ChartTooltipContentProps;
32
34
  legendProps?: ChartLegendContentProps;
35
+ areaProps?: Partial<React.ComponentProps<typeof Area>>;
36
+ areaChartProps?: Omit<React.ComponentProps<typeof AreaChart$1>, 'data' | 'stackOffset'>;
33
37
  };
34
38
  declare function AreaChart({
35
39
  className,
@@ -51,8 +55,10 @@ declare function AreaChart({
51
55
  animationDuration,
52
56
  tooltipProps,
53
57
  legendProps,
58
+ areaProps,
59
+ areaChartProps,
54
60
  ...props
55
- }: AreaChartProps): import("react/jsx-runtime").JSX.Element;
61
+ }: AreaChartProps): React.JSX.Element;
56
62
  //#endregion
57
63
  export { AreaChart, AreaChartCurveType, AreaChartGridAxis, AreaChartProps, AreaChartSeries, AreaChartType };
58
64
  //# sourceMappingURL=area-chart.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{ChartContainer as t,ChartLegendContent as n,ChartTooltipContent as r}from"./chart.js";import{jsx as i,jsxs as a}from"react/jsx-runtime";import*as o from"react";import{Area as s,AreaChart as c,CartesianGrid as l,Legend as u,Tooltip as d,XAxis as f,YAxis as p}from"recharts";const m=[`var(--chart-1)`,`var(--chart-2)`,`var(--chart-3)`,`var(--chart-4)`,`var(--chart-5)`];function buildConfig(e){return e.reduce((e,t,n)=>(e[t.name]={label:t.label??t.name,color:t.color??m[n%m.length]},e),{})}function AreaChart({className:m,data:h,series:g,dataKey:_,type:v=`default`,curveType:y=`monotone`,withXAxis:b=!0,withYAxis:x=!0,gridAxis:S=`x`,withDots:C=!1,withTooltip:w=!0,withLegend:T=!1,connectNulls:E,unit:D,fillOpacity:O=.2,strokeWidth:k=2,animationDuration:A,tooltipProps:j,legendProps:M,...N}){let P=o.useMemo(()=>buildConfig(g),[g]),F=v===`default`?void 0:`stack`,I=v===`percent`?`expand`:v===`split`?`silhouette`:void 0;return i(t,{"data-slot":`area-chart`,className:e(`w-full`,m),config:P,...N,children:a(c,{data:h,stackOffset:I,children:[S!==`none`&&i(l,{vertical:S===`y`||S===`xy`,horizontal:S===`x`||S===`xy`}),b&&i(f,{dataKey:_,tickLine:!1,axisLine:!1,tickMargin:8}),x&&i(p,{tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:v===`percent`?e=>`${Math.round(e*100)}%`:D?e=>`${e}${D}`:void 0}),w&&i(d,{cursor:!1,content:i(r,{...j})}),T&&i(u,{content:i(n,{...M})}),g.map(e=>i(s,{type:y,dataKey:e.name,stackId:F,stroke:`var(--color-${e.name})`,fill:`var(--color-${e.name})`,fillOpacity:O,strokeWidth:k,dot:C,connectNulls:E,animationDuration:A,isAnimationActive:A!==0},e.name))]})})}export{AreaChart};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{ChartContainer as t,ChartLegendContent as n,ChartTooltipContent as r,DEFAULT_CHART_PALETTE as i,resolveChartColor as a}from"./chart.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"react";import{Area as l,AreaChart as u,CartesianGrid as d,Legend as f,Tooltip as p,XAxis as m,YAxis as h}from"recharts";function buildConfig(e){return e.reduce((e,t,n)=>(e[t.name]={label:t.label??t.name,color:t.color??a(t.colorKey)??i[n%i.length]},e),{})}function AreaChart({className:i,data:a,series:g,dataKey:_,type:v=`default`,curveType:y=`monotone`,withXAxis:b=!0,withYAxis:x=!0,gridAxis:S=`x`,withDots:C=!1,withTooltip:w=!0,withLegend:T=!1,connectNulls:E,unit:D,fillOpacity:O=.2,strokeWidth:k=2,animationDuration:A,tooltipProps:j,legendProps:M,areaProps:N,areaChartProps:P,...F}){let I=c.useMemo(()=>buildConfig(g),[g]),L=v==="default"?void 0:`stack`,R=v===`percent`?`expand`:v===`split`?`silhouette`:void 0;return o(t,{"data-slot":`area-chart`,className:e(`w-full`,i),config:I,...F,children:s(u,{...P,data:a,stackOffset:R,children:[S!==`none`&&o(d,{vertical:S===`y`||S===`xy`,horizontal:S===`x`||S===`xy`}),b&&o(m,{dataKey:_,tickLine:!1,axisLine:!1,tickMargin:8}),x&&o(h,{tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:v===`percent`?e=>`${Math.round(e*100)}%`:D?e=>`${e}${D}`:void 0}),w&&o(p,{cursor:!1,content:o(r,{...j})}),T&&o(f,{content:o(n,{...M})}),g.map(e=>o(l,{type:y,dataKey:e.name,stackId:L,stroke:I[e.name]?.color,fill:I[e.name]?.color,fillOpacity:O,strokeWidth:k,dot:C,connectNulls:E,animationDuration:A,isAnimationActive:A!==0,...N},e.name))]})})}export{AreaChart};
2
2
  //# sourceMappingURL=area-chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"area-chart.js","names":["RechartsAreaChart"],"sources":["../../src/components/area-chart.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Area, CartesianGrid, Legend, AreaChart as RechartsAreaChart, Tooltip, XAxis, YAxis } from 'recharts'\n\nimport { cn } from '../lib/utils'\nimport {\n type ChartConfig,\n ChartContainer,\n ChartLegendContent,\n type ChartLegendContentProps,\n ChartTooltipContent,\n type ChartTooltipContentProps\n} from './chart'\n\nconst DEFAULT_PALETTE = [\n 'var(--chart-1)',\n 'var(--chart-2)',\n 'var(--chart-3)',\n 'var(--chart-4)',\n 'var(--chart-5)'\n] as const\n\nexport type AreaChartSeries = {\n name: string\n label?: string\n color?: string\n}\n\nexport type AreaChartType = 'default' | 'stacked' | 'percent' | 'split'\nexport type AreaChartCurveType = 'linear' | 'monotone' | 'natural' | 'step' | 'bump' | 'stepAfter' | 'stepBefore'\nexport type AreaChartGridAxis = 'none' | 'x' | 'y' | 'xy'\n\nexport type AreaChartProps = Omit<React.ComponentProps<'div'>, 'children'> & {\n data: Array<Record<string, unknown>>\n series: AreaChartSeries[]\n dataKey: string\n type?: AreaChartType\n curveType?: AreaChartCurveType\n withXAxis?: boolean\n withYAxis?: boolean\n gridAxis?: AreaChartGridAxis\n withDots?: boolean\n withTooltip?: boolean\n withLegend?: boolean\n connectNulls?: boolean\n unit?: string\n fillOpacity?: number\n strokeWidth?: number\n animationDuration?: number\n tooltipProps?: ChartTooltipContentProps\n legendProps?: ChartLegendContentProps\n}\n\nfunction buildConfig(series: AreaChartSeries[]): ChartConfig {\n return series.reduce<ChartConfig>((acc, item, index) => {\n acc[item.name] = {\n label: item.label ?? item.name,\n color: item.color ?? DEFAULT_PALETTE[index % DEFAULT_PALETTE.length]\n }\n return acc\n }, {})\n}\n\nfunction AreaChart({\n className,\n data,\n series,\n dataKey,\n type = 'default',\n curveType = 'monotone',\n withXAxis = true,\n withYAxis = true,\n gridAxis = 'x',\n withDots = false,\n withTooltip = true,\n withLegend = false,\n connectNulls,\n unit,\n fillOpacity = 0.2,\n strokeWidth = 2,\n animationDuration,\n tooltipProps,\n legendProps,\n ...props\n}: AreaChartProps) {\n const config = React.useMemo(() => buildConfig(series), [series])\n const stackId = type === 'default' ? undefined : 'stack'\n const stackOffset = type === 'percent' ? 'expand' : type === 'split' ? 'silhouette' : undefined\n\n return (\n <ChartContainer data-slot=\"area-chart\" className={cn('w-full', className)} config={config} {...props}>\n <RechartsAreaChart data={data} stackOffset={stackOffset}>\n {gridAxis !== 'none' && (\n <CartesianGrid\n vertical={gridAxis === 'y' || gridAxis === 'xy'}\n horizontal={gridAxis === 'x' || gridAxis === 'xy'}\n />\n )}\n {withXAxis && <XAxis dataKey={dataKey} tickLine={false} axisLine={false} tickMargin={8} />}\n {withYAxis && (\n <YAxis\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={\n type === 'percent'\n ? (value: number) => `${Math.round(value * 100)}%`\n : unit\n ? (value) => `${value}${unit}`\n : undefined\n }\n />\n )}\n {withTooltip && <Tooltip cursor={false} content={<ChartTooltipContent {...tooltipProps} />} />}\n {withLegend && <Legend content={<ChartLegendContent {...legendProps} />} />}\n {series.map((item) => (\n <Area\n key={item.name}\n type={curveType}\n dataKey={item.name}\n stackId={stackId}\n stroke={`var(--color-${item.name})`}\n fill={`var(--color-${item.name})`}\n fillOpacity={fillOpacity}\n strokeWidth={strokeWidth}\n dot={withDots}\n connectNulls={connectNulls}\n animationDuration={animationDuration}\n isAnimationActive={animationDuration !== 0}\n />\n ))}\n </RechartsAreaChart>\n </ChartContainer>\n )\n}\n\nexport { AreaChart }\n"],"mappings":"0VAcA,MAAM,EAAkB,CACtB,iBACA,iBACA,iBACA,iBACA,gBACF,EAiCA,SAAS,YAAY,EAAwC,CAC3D,OAAO,EAAO,QAAqB,EAAK,EAAM,KAC5C,EAAI,EAAK,MAAQ,CACf,MAAO,EAAK,OAAS,EAAK,KAC1B,MAAO,EAAK,OAAS,EAAgB,EAAQ,EAAgB,OAC/D,EACO,GACN,CAAC,CAAC,CACP,CAEA,SAAS,UAAU,CACjB,YACA,OACA,SACA,UACA,OAAO,UACP,YAAY,WACZ,YAAY,GACZ,YAAY,GACZ,WAAW,IACX,WAAW,GACX,cAAc,GACd,aAAa,GACb,eACA,OACA,cAAc,GACd,cAAc,EACd,oBACA,eACA,cACA,GAAG,GACc,CACjB,IAAM,EAAS,EAAM,YAAc,YAAY,CAAM,EAAG,CAAC,CAAM,CAAC,EAC1D,EAAU,IAAS,UAAY,IAAA,GAAY,QAC3C,EAAc,IAAS,UAAY,SAAW,IAAS,QAAU,aAAe,IAAA,GAEtF,OACE,EAAC,EAAD,CAAgB,YAAU,aAAa,UAAW,EAAG,SAAU,CAAS,EAAW,SAAQ,GAAI,WAC7F,EAACA,EAAD,CAAyB,OAAmB,uBAA5C,CACG,IAAa,QACZ,EAAC,EAAD,CACE,SAAU,IAAa,KAAO,IAAa,KAC3C,WAAY,IAAa,KAAO,IAAa,IAC9C,CAAA,EAEF,GAAa,EAAC,EAAD,CAAgB,UAAS,SAAU,GAAO,SAAU,GAAO,WAAY,CAAI,CAAA,EACxF,GACC,EAAC,EAAD,CACE,SAAU,GACV,SAAU,GACV,WAAY,EACZ,cACE,IAAS,UACJ,GAAkB,GAAG,KAAK,MAAM,EAAQ,GAAG,EAAE,GAC9C,EACG,GAAU,GAAG,IAAQ,IACtB,IAAA,EAET,CAAA,EAEF,GAAe,EAAC,EAAD,CAAS,OAAQ,GAAO,QAAS,EAAC,EAAD,CAAqB,GAAI,CAAe,CAAA,CAAI,CAAA,EAC5F,GAAc,EAAC,EAAD,CAAQ,QAAS,EAAC,EAAD,CAAoB,GAAI,CAAc,CAAA,CAAI,CAAA,EACzE,EAAO,IAAK,GACX,EAAC,EAAD,CAEE,KAAM,EACN,QAAS,EAAK,KACL,UACT,OAAQ,eAAe,EAAK,KAAK,GACjC,KAAM,eAAe,EAAK,KAAK,GAClB,cACA,cACb,IAAK,EACS,eACK,oBACnB,kBAAmB,IAAsB,CAC1C,EAZM,EAAK,IAYX,CACF,CACgB,GACL,CAAA,CAEpB"}
1
+ {"version":3,"file":"area-chart.js","names":["RechartsAreaChart"],"sources":["../../src/components/area-chart.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Area, CartesianGrid, Legend, AreaChart as RechartsAreaChart, Tooltip, XAxis, YAxis } from 'recharts'\n\nimport { cn } from '../lib/utils'\nimport {\n type ChartColorKey,\n type ChartConfig,\n ChartContainer,\n ChartLegendContent,\n type ChartLegendContentProps,\n ChartTooltipContent,\n type ChartTooltipContentProps,\n DEFAULT_CHART_PALETTE,\n resolveChartColor\n} from './chart'\n\nexport type AreaChartSeries = {\n name: string\n label?: string\n color?: string\n colorKey?: ChartColorKey\n}\n\nexport type AreaChartType = 'default' | 'stacked' | 'percent' | 'split'\nexport type AreaChartCurveType = 'linear' | 'monotone' | 'natural' | 'step' | 'bump' | 'stepAfter' | 'stepBefore'\nexport type AreaChartGridAxis = 'none' | 'x' | 'y' | 'xy'\n\nexport type AreaChartProps = Omit<React.ComponentProps<'div'>, 'children'> & {\n data: Array<Record<string, unknown>>\n series: AreaChartSeries[]\n dataKey: string\n type?: AreaChartType\n curveType?: AreaChartCurveType\n withXAxis?: boolean\n withYAxis?: boolean\n gridAxis?: AreaChartGridAxis\n withDots?: boolean\n withTooltip?: boolean\n withLegend?: boolean\n connectNulls?: boolean\n unit?: string\n fillOpacity?: number\n strokeWidth?: number\n animationDuration?: number\n tooltipProps?: ChartTooltipContentProps\n legendProps?: ChartLegendContentProps\n areaProps?: Partial<React.ComponentProps<typeof Area>>\n areaChartProps?: Omit<React.ComponentProps<typeof RechartsAreaChart>, 'data' | 'stackOffset'>\n}\n\nfunction buildConfig(series: AreaChartSeries[]): ChartConfig {\n return series.reduce<ChartConfig>((acc, item, index) => {\n acc[item.name] = {\n label: item.label ?? item.name,\n color:\n item.color ?? resolveChartColor(item.colorKey) ?? DEFAULT_CHART_PALETTE[index % DEFAULT_CHART_PALETTE.length]\n }\n return acc\n }, {})\n}\n\nfunction AreaChart({\n className,\n data,\n series,\n dataKey,\n type = 'default',\n curveType = 'monotone',\n withXAxis = true,\n withYAxis = true,\n gridAxis = 'x',\n withDots = false,\n withTooltip = true,\n withLegend = false,\n connectNulls,\n unit,\n fillOpacity = 0.2,\n strokeWidth = 2,\n animationDuration,\n tooltipProps,\n legendProps,\n areaProps,\n areaChartProps,\n ...props\n}: AreaChartProps) {\n const config = React.useMemo(() => buildConfig(series), [series])\n const stackId = type === 'default' ? undefined : 'stack'\n const stackOffset = type === 'percent' ? 'expand' : type === 'split' ? 'silhouette' : undefined\n\n return (\n <ChartContainer data-slot=\"area-chart\" className={cn('w-full', className)} config={config} {...props}>\n <RechartsAreaChart {...areaChartProps} data={data} stackOffset={stackOffset}>\n {gridAxis !== 'none' && (\n <CartesianGrid\n vertical={gridAxis === 'y' || gridAxis === 'xy'}\n horizontal={gridAxis === 'x' || gridAxis === 'xy'}\n />\n )}\n {withXAxis && <XAxis dataKey={dataKey} tickLine={false} axisLine={false} tickMargin={8} />}\n {withYAxis && (\n <YAxis\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={\n type === 'percent'\n ? (value: number) => `${Math.round(value * 100)}%`\n : unit\n ? (value) => `${value}${unit}`\n : undefined\n }\n />\n )}\n {withTooltip && <Tooltip cursor={false} content={<ChartTooltipContent {...tooltipProps} />} />}\n {withLegend && <Legend content={<ChartLegendContent {...legendProps} />} />}\n {series.map((item) => (\n <Area\n key={item.name}\n type={curveType}\n dataKey={item.name}\n stackId={stackId}\n stroke={config[item.name]?.color}\n fill={config[item.name]?.color}\n fillOpacity={fillOpacity}\n strokeWidth={strokeWidth}\n dot={withDots}\n connectNulls={connectNulls}\n animationDuration={animationDuration}\n isAnimationActive={animationDuration !== 0}\n {...areaProps}\n />\n ))}\n </RechartsAreaChart>\n </ChartContainer>\n )\n}\n\nexport { AreaChart }\n"],"mappings":"uZAmDA,SAAS,YAAY,EAAwC,CAC3D,OAAO,EAAO,QAAqB,EAAK,EAAM,KAC5C,EAAI,EAAK,MAAQ,CACf,MAAO,EAAK,OAAS,EAAK,KAC1B,MACE,EAAK,OAAS,EAAkB,EAAK,QAAQ,GAAK,EAAsB,EAAQ,EAAsB,OAC1G,EACO,GACN,CAAC,CAAC,CACP,CAEA,SAAS,UAAU,CACjB,YACA,OACA,SACA,UACA,OAAO,UACP,YAAY,WACZ,YAAY,GACZ,YAAY,GACZ,WAAW,IACX,WAAW,GACX,cAAc,GACd,aAAa,GACb,eACA,OACA,cAAc,GACd,cAAc,EACd,oBACA,eACA,cACA,YACA,iBACA,GAAG,GACc,CACjB,IAAM,EAAS,EAAM,YAAc,YAAY,CAAM,EAAG,CAAC,CAAM,CAAC,EAC1D,EAAU,IAAS,UAAY,IAAA,GAAY,QAC3C,EAAc,IAAS,UAAY,SAAW,IAAS,QAAU,aAAe,IAAA,GAEtF,OACE,EAAC,EAAD,CAAgB,YAAU,aAAa,UAAW,EAAG,SAAU,CAAS,EAAW,SAAQ,GAAI,WAC7F,EAACA,EAAD,CAAmB,GAAI,EAAsB,OAAmB,uBAAhE,CACG,IAAa,QACZ,EAAC,EAAD,CACE,SAAU,IAAa,KAAO,IAAa,KAC3C,WAAY,IAAa,KAAO,IAAa,IAC9C,CAAA,EAEF,GAAa,EAAC,EAAD,CAAgB,UAAS,SAAU,GAAO,SAAU,GAAO,WAAY,CAAI,CAAA,EACxF,GACC,EAAC,EAAD,CACE,SAAU,GACV,SAAU,GACV,WAAY,EACZ,cACE,IAAS,UACJ,GAAkB,GAAG,KAAK,MAAM,EAAQ,GAAG,EAAE,GAC9C,EACG,GAAU,GAAG,IAAQ,IACtB,IAAA,EAET,CAAA,EAEF,GAAe,EAAC,EAAD,CAAS,OAAQ,GAAO,QAAS,EAAC,EAAD,CAAqB,GAAI,CAAe,CAAA,CAAI,CAAA,EAC5F,GAAc,EAAC,EAAD,CAAQ,QAAS,EAAC,EAAD,CAAoB,GAAI,CAAc,CAAA,CAAI,CAAA,EACzE,EAAO,IAAK,GACX,EAAC,EAAD,CAEE,KAAM,EACN,QAAS,EAAK,KACL,UACT,OAAQ,EAAO,EAAK,KAAK,EAAE,MAC3B,KAAM,EAAO,EAAK,KAAK,EAAE,MACZ,cACA,cACb,IAAK,EACS,eACK,oBACnB,kBAAmB,IAAsB,EACzC,GAAI,CACL,EAbM,EAAK,IAaX,CACF,CACgB,GACL,CAAA,CAEpB"}
@@ -1,4 +1,4 @@
1
- import { n as __name } from "../chunk-CHh1Zzun.js";
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
2
  import { Avatar as Avatar$1 } from "radix-ui";
3
3
  import * as React from "react";
4
4
 
@@ -15,27 +15,27 @@ declare function Avatar({
15
15
  className,
16
16
  size,
17
17
  ...props
18
- }: AvatarProps): import("react/jsx-runtime").JSX.Element;
18
+ }: AvatarProps): React.JSX.Element;
19
19
  declare function AvatarImage({
20
20
  className,
21
21
  ...props
22
- }: AvatarImageProps): import("react/jsx-runtime").JSX.Element;
22
+ }: AvatarImageProps): React.JSX.Element;
23
23
  declare function AvatarFallback({
24
24
  className,
25
25
  ...props
26
- }: AvatarFallbackProps): import("react/jsx-runtime").JSX.Element;
26
+ }: AvatarFallbackProps): React.JSX.Element;
27
27
  declare function AvatarBadge({
28
28
  className,
29
29
  ...props
30
- }: AvatarBadgeProps): import("react/jsx-runtime").JSX.Element;
30
+ }: AvatarBadgeProps): React.JSX.Element;
31
31
  declare function AvatarGroup({
32
32
  className,
33
33
  ...props
34
- }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
34
+ }: AvatarGroupProps): React.JSX.Element;
35
35
  declare function AvatarGroupCount({
36
36
  className,
37
37
  ...props
38
- }: AvatarGroupCountProps): import("react/jsx-runtime").JSX.Element;
38
+ }: AvatarGroupCountProps): React.JSX.Element;
39
39
  //#endregion
40
40
  export { Avatar, AvatarBadge, AvatarBadgeProps, AvatarFallback, AvatarFallbackProps, AvatarGroup, AvatarGroupCount, AvatarGroupCountProps, AvatarGroupProps, AvatarImage, AvatarImageProps, AvatarProps };
41
41
  //# sourceMappingURL=avatar.d.ts.map