@uselets/ui 1.20.3 → 2.0.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 (295) hide show
  1. package/README.md +322 -425
  2. package/dist/as-child-Dxg3Xo1G.d.ts +41 -0
  3. package/dist/cli/uselets.mjs +5 -4
  4. package/dist/cli/uselets.mjs.map +1 -1
  5. package/dist/components/accordion.d.ts +12 -8
  6. package/dist/components/accordion.js +1 -1
  7. package/dist/components/accordion.js.map +1 -1
  8. package/dist/components/alert-dialog.d.ts +20 -15
  9. package/dist/components/alert-dialog.js +1 -1
  10. package/dist/components/alert-dialog.js.map +1 -1
  11. package/dist/components/alert.d.ts +1 -1
  12. package/dist/components/alert.js +1 -1
  13. package/dist/components/alert.js.map +1 -1
  14. package/dist/components/anchor.d.ts +3 -5
  15. package/dist/components/anchor.js +1 -1
  16. package/dist/components/anchor.js.map +1 -1
  17. package/dist/components/area-chart.d.ts +54 -0
  18. package/dist/components/area-chart.js +1 -1
  19. package/dist/components/area-chart.js.map +1 -1
  20. package/dist/components/avatar.d.ts +12 -7
  21. package/dist/components/avatar.js +1 -1
  22. package/dist/components/avatar.js.map +1 -1
  23. package/dist/components/badge.d.ts +3 -5
  24. package/dist/components/badge.js +1 -1
  25. package/dist/components/badge.js.map +1 -1
  26. package/dist/components/bar-chart.d.ts +48 -0
  27. package/dist/components/bar-chart.js +1 -1
  28. package/dist/components/bar-chart.js.map +1 -1
  29. package/dist/components/bottom-nav.d.ts +7 -3
  30. package/dist/components/bottom-nav.js +1 -1
  31. package/dist/components/bottom-nav.js.map +1 -1
  32. package/dist/components/breadcrumb.d.ts +3 -4
  33. package/dist/components/breadcrumb.js +1 -1
  34. package/dist/components/breadcrumb.js.map +1 -1
  35. package/dist/components/button-group.d.ts +3 -4
  36. package/dist/components/button-group.js +1 -1
  37. package/dist/components/button-group.js.map +1 -1
  38. package/dist/components/button.d.ts +8 -4
  39. package/dist/components/button.js +1 -1
  40. package/dist/components/button.js.map +1 -1
  41. package/dist/components/calendar.d.ts +4 -0
  42. package/dist/components/calendar.js +1 -1
  43. package/dist/components/calendar.js.map +1 -1
  44. package/dist/components/card.d.ts +4 -0
  45. package/dist/components/card.js +1 -1
  46. package/dist/components/card.js.map +1 -1
  47. package/dist/components/carousel.d.ts +11 -3
  48. package/dist/components/carousel.js +1 -1
  49. package/dist/components/carousel.js.map +1 -1
  50. package/dist/components/center.d.ts +1 -1
  51. package/dist/components/center.js +1 -1
  52. package/dist/components/center.js.map +1 -1
  53. package/dist/components/chart.js +4 -4
  54. package/dist/components/chart.js.map +1 -1
  55. package/dist/components/checkbox.d.ts +14 -4
  56. package/dist/components/checkbox.js +1 -1
  57. package/dist/components/checkbox.js.map +1 -1
  58. package/dist/components/code.js +1 -1
  59. package/dist/components/code.js.map +1 -1
  60. package/dist/components/collapsible.d.ts +8 -7
  61. package/dist/components/collapsible.js +1 -1
  62. package/dist/components/collapsible.js.map +1 -1
  63. package/dist/components/combobox.d.ts +48 -26
  64. package/dist/components/combobox.js +1 -1
  65. package/dist/components/combobox.js.map +1 -1
  66. package/dist/components/command.d.ts +16 -2
  67. package/dist/components/command.js +1 -1
  68. package/dist/components/command.js.map +1 -1
  69. package/dist/components/container.d.ts +1 -1
  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 +177 -2
  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 +24 -2
  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 +33 -15
  79. package/dist/components/dialog.js +1 -1
  80. package/dist/components/dialog.js.map +1 -1
  81. package/dist/components/direction.d.ts +7 -0
  82. package/dist/components/direction.js +1 -0
  83. package/dist/components/donut-chart.d.ts +12 -0
  84. package/dist/components/donut-chart.js +1 -1
  85. package/dist/components/donut-chart.js.map +1 -1
  86. package/dist/components/drawer.d.ts +33 -15
  87. package/dist/components/drawer.js +1 -1
  88. package/dist/components/drawer.js.map +1 -1
  89. package/dist/components/dropdown-menu.d.ts +36 -26
  90. package/dist/components/dropdown-menu.js +1 -1
  91. package/dist/components/dropdown-menu.js.map +1 -1
  92. package/dist/components/dropzone.d.ts +19 -0
  93. package/dist/components/dropzone.js +1 -1
  94. package/dist/components/dropzone.js.map +1 -1
  95. package/dist/components/empty.js +1 -1
  96. package/dist/components/empty.js.map +1 -1
  97. package/dist/components/field.d.ts +16 -4
  98. package/dist/components/field.js +1 -1
  99. package/dist/components/field.js.map +1 -1
  100. package/dist/components/flex.d.ts +1 -1
  101. package/dist/components/flex.js +1 -1
  102. package/dist/components/flex.js.map +1 -1
  103. package/dist/components/grid.d.ts +13 -0
  104. package/dist/components/grid.js +1 -1
  105. package/dist/components/grid.js.map +1 -1
  106. package/dist/components/group.d.ts +1 -1
  107. package/dist/components/group.js +1 -1
  108. package/dist/components/group.js.map +1 -1
  109. package/dist/components/heading.d.ts +3 -5
  110. package/dist/components/heading.js +1 -1
  111. package/dist/components/heading.js.map +1 -1
  112. package/dist/components/hover-card.d.ts +7 -6
  113. package/dist/components/hover-card.js +1 -1
  114. package/dist/components/hover-card.js.map +1 -1
  115. package/dist/components/input-group.d.ts +2 -2
  116. package/dist/components/input-group.js +1 -1
  117. package/dist/components/input-group.js.map +1 -1
  118. package/dist/components/input-otp.d.ts +4 -2
  119. package/dist/components/input-otp.js +1 -1
  120. package/dist/components/input-otp.js.map +1 -1
  121. package/dist/components/input.d.ts +1 -1
  122. package/dist/components/input.js +1 -1
  123. package/dist/components/input.js.map +1 -1
  124. package/dist/components/kbd.js +1 -1
  125. package/dist/components/kbd.js.map +1 -1
  126. package/dist/components/label.d.ts +3 -4
  127. package/dist/components/label.js +1 -1
  128. package/dist/components/label.js.map +1 -1
  129. package/dist/components/list.d.ts +8 -5
  130. package/dist/components/list.js +1 -1
  131. package/dist/components/list.js.map +1 -1
  132. package/dist/components/logo.d.ts +113 -0
  133. package/dist/components/logo.js +1 -1
  134. package/dist/components/marker.d.ts +4 -5
  135. package/dist/components/marker.js +1 -1
  136. package/dist/components/marker.js.map +1 -1
  137. package/dist/components/mask-input.d.ts +6 -0
  138. package/dist/components/mask-input.js +1 -1
  139. package/dist/components/mask-input.js.map +1 -1
  140. package/dist/components/native-select.d.ts +5 -1
  141. package/dist/components/native-select.js +1 -1
  142. package/dist/components/native-select.js.map +1 -1
  143. package/dist/components/navigation-menu.d.ts +19 -20
  144. package/dist/components/navigation-menu.js +1 -1
  145. package/dist/components/navigation-menu.js.map +1 -1
  146. package/dist/components/number-field.d.ts +18 -13
  147. package/dist/components/number-field.js +1 -1
  148. package/dist/components/number-field.js.map +1 -1
  149. package/dist/components/pagination.d.ts +9 -0
  150. package/dist/components/pagination.js +1 -1
  151. package/dist/components/pagination.js.map +1 -1
  152. package/dist/components/phone-input.d.ts +6 -0
  153. package/dist/components/phone-input.js +1 -1
  154. package/dist/components/phone-input.js.map +1 -1
  155. package/dist/components/pie-chart.d.ts +53 -0
  156. package/dist/components/pie-chart.js +1 -1
  157. package/dist/components/pie-chart.js.map +1 -1
  158. package/dist/components/popover.d.ts +13 -12
  159. package/dist/components/popover.js +1 -1
  160. package/dist/components/popover.js.map +1 -1
  161. package/dist/components/progress.d.ts +9 -3
  162. package/dist/components/progress.js +1 -1
  163. package/dist/components/progress.js.map +1 -1
  164. package/dist/components/radio-group.d.ts +20 -6
  165. package/dist/components/radio-group.js +1 -1
  166. package/dist/components/radio-group.js.map +1 -1
  167. package/dist/components/resizable.d.ts +1 -0
  168. package/dist/components/resizable.js +1 -1
  169. package/dist/components/resizable.js.map +1 -1
  170. package/dist/components/ring-progress.d.ts +9 -1
  171. package/dist/components/ring-progress.js +1 -1
  172. package/dist/components/ring-progress.js.map +1 -1
  173. package/dist/components/scroll-area.d.ts +3 -3
  174. package/dist/components/scroll-area.js +1 -1
  175. package/dist/components/scroll-area.js.map +1 -1
  176. package/dist/components/select.d.ts +25 -20
  177. package/dist/components/select.js +1 -1
  178. package/dist/components/select.js.map +1 -1
  179. package/dist/components/separator.d.ts +9 -4
  180. package/dist/components/separator.js +1 -1
  181. package/dist/components/separator.js.map +1 -1
  182. package/dist/components/sidebar.d.ts +63 -18
  183. package/dist/components/sidebar.js +1 -1
  184. package/dist/components/sidebar.js.map +1 -1
  185. package/dist/components/simple-grid.d.ts +7 -0
  186. package/dist/components/simple-grid.js +1 -1
  187. package/dist/components/simple-grid.js.map +1 -1
  188. package/dist/components/skeleton.d.ts +4 -0
  189. package/dist/components/skeleton.js +1 -1
  190. package/dist/components/skeleton.js.map +1 -1
  191. package/dist/components/slider.d.ts +2 -2
  192. package/dist/components/slider.js +1 -1
  193. package/dist/components/slider.js.map +1 -1
  194. package/dist/components/sonner.js +1 -1
  195. package/dist/components/sonner.js.map +1 -1
  196. package/dist/components/spinner.d.ts +1 -1
  197. package/dist/components/spinner.js +1 -1
  198. package/dist/components/spinner.js.map +1 -1
  199. package/dist/components/stack.d.ts +1 -1
  200. package/dist/components/stack.js +1 -1
  201. package/dist/components/stack.js.map +1 -1
  202. package/dist/components/stepper.d.ts +46 -25
  203. package/dist/components/stepper.js +1 -1
  204. package/dist/components/stepper.js.map +1 -1
  205. package/dist/components/switch.d.ts +17 -3
  206. package/dist/components/switch.js +1 -1
  207. package/dist/components/switch.js.map +1 -1
  208. package/dist/components/table.d.ts +10 -1
  209. package/dist/components/table.js +1 -1
  210. package/dist/components/table.js.map +1 -1
  211. package/dist/components/tabs.d.ts +14 -10
  212. package/dist/components/tabs.js +1 -1
  213. package/dist/components/tabs.js.map +1 -1
  214. package/dist/components/text.d.ts +3 -5
  215. package/dist/components/text.js +1 -1
  216. package/dist/components/text.js.map +1 -1
  217. package/dist/components/textarea.d.ts +1 -1
  218. package/dist/components/textarea.js +1 -1
  219. package/dist/components/textarea.js.map +1 -1
  220. package/dist/components/theme.d.ts +12 -0
  221. package/dist/components/theme.js +1 -1
  222. package/dist/components/theme.js.map +1 -1
  223. package/dist/components/timeline.d.ts +25 -1
  224. package/dist/components/timeline.js +1 -1
  225. package/dist/components/timeline.js.map +1 -1
  226. package/dist/components/toggle-group.d.ts +16 -6
  227. package/dist/components/toggle-group.js +1 -1
  228. package/dist/components/toggle-group.js.map +1 -1
  229. package/dist/components/toggle.d.ts +4 -4
  230. package/dist/components/toggle.js +1 -1
  231. package/dist/components/toggle.js.map +1 -1
  232. package/dist/components/tooltip.d.ts +15 -8
  233. package/dist/components/tooltip.js +1 -1
  234. package/dist/components/tooltip.js.map +1 -1
  235. package/dist/components/unstyled-button.d.ts +3 -5
  236. package/dist/components/unstyled-button.js +1 -1
  237. package/dist/components/unstyled-button.js.map +1 -1
  238. package/dist/components/visibility.d.ts +2 -0
  239. package/dist/components/visibility.js +1 -1
  240. package/dist/components/visibility.js.map +1 -1
  241. package/dist/hooks/use-breakpoint-value.d.ts +1 -0
  242. package/dist/hooks/use-breakpoint-value.js.map +1 -1
  243. package/dist/hooks/use-breakpoint.d.ts +1 -0
  244. package/dist/hooks/use-breakpoint.js.map +1 -1
  245. package/dist/hooks/use-disclosure.d.ts +3 -0
  246. package/dist/hooks/use-disclosure.js +1 -1
  247. package/dist/hooks/use-disclosure.js.map +1 -1
  248. package/dist/hooks/use-document-visibility.d.ts +1 -0
  249. package/dist/hooks/use-document-visibility.js.map +1 -1
  250. package/dist/hooks/use-hotkeys.d.ts +1 -1
  251. package/dist/hooks/use-hotkeys.js +1 -1
  252. package/dist/hooks/use-idle.d.ts +9 -0
  253. package/dist/hooks/use-idle.js.map +1 -1
  254. package/dist/hooks/use-interval.d.ts +1 -0
  255. package/dist/hooks/use-interval.js.map +1 -1
  256. package/dist/hooks/use-local-storage.d.ts +6 -0
  257. package/dist/hooks/use-local-storage.js +1 -1
  258. package/dist/hooks/use-local-storage.js.map +1 -1
  259. package/dist/hooks/use-mask.d.ts +1 -0
  260. package/dist/hooks/use-mask.js.map +1 -1
  261. package/dist/hooks/use-mobile.d.ts +1 -0
  262. package/dist/hooks/use-mobile.js.map +1 -1
  263. package/dist/index.d.ts +9 -7
  264. package/dist/index.js +1 -1
  265. package/dist/lib/as-child.d.ts +2 -0
  266. package/dist/lib/as-child.js +2 -0
  267. package/dist/lib/as-child.js.map +1 -0
  268. package/dist/lib/badge.js.map +1 -1
  269. package/dist/lib/button.js.map +1 -1
  270. package/dist/lib/color.js.map +1 -1
  271. package/dist/lib/compose-refs.js +1 -1
  272. package/dist/lib/compose-refs.js.map +1 -1
  273. package/dist/lib/progress.js.map +1 -1
  274. package/dist/lib/utils.d.ts +1 -1
  275. package/dist/lib/utils.js.map +1 -1
  276. package/dist/logo--R3_XDgA.js +2 -0
  277. package/dist/logo--R3_XDgA.js.map +1 -0
  278. package/dist/postcss.config.js.map +1 -1
  279. package/dist/resolve-class-name-BurP8ngI.js +2 -0
  280. package/dist/resolve-class-name-BurP8ngI.js.map +1 -0
  281. package/dist/skills/uselets-ui/SKILL.md +9 -3
  282. package/dist/skills/uselets-ui/references/component-catalog.md +31 -16
  283. package/dist/skills/uselets-ui/references/migration-v1-to-v2.md +599 -0
  284. package/dist/skills/uselets-ui/references/package-guide.md +23 -7
  285. package/dist/styles/base.css +21 -0
  286. package/dist/{use-hotkeys-DOjcX9Tt.d.ts → use-hotkeys-D1_TEIwN.d.ts} +2 -1
  287. package/dist/use-hotkeys-YDJmGWX6.js.map +1 -1
  288. package/package.json +18 -19
  289. package/skills/uselets-ui/SKILL.md +9 -3
  290. package/skills/uselets-ui/references/component-catalog.md +31 -16
  291. package/skills/uselets-ui/references/migration-v1-to-v2.md +599 -0
  292. package/skills/uselets-ui/references/package-guide.md +23 -7
  293. package/dist/data-table-DWWVGWbU.d.ts +0 -4184
  294. package/dist/logo-B0thHtTS.js +0 -2
  295. package/dist/logo-B0thHtTS.js.map +0 -1
@@ -1,13 +1,19 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { Progress as Progress$1 } from "radix-ui";
3
- import { VariantProps } from "class-variance-authority";
4
2
  import * as React from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import { Progress as Progress$1 } from "@base-ui/react/progress";
5
5
  //#region src/components/progress.d.ts
6
6
  declare const progressVariants: (props?: ({
7
7
  size?: "lg" | "md" | "sm" | null | undefined;
8
8
  color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
9
9
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
- export type ProgressProps = React.ComponentProps<typeof Progress$1.Root> & VariantProps<typeof progressVariants>;
10
+ export type ProgressProps = Omit<React.ComponentProps<typeof Progress$1.Root>, 'render' | 'value'> & VariantProps<typeof progressVariants> & {
11
+ /**
12
+ * Progress from `0` to `100`. `null` renders an indeterminate bar.
13
+ * @default null
14
+ */
15
+ value?: number | null;
16
+ };
11
17
  declare function Progress({ className, value, size, color, ...props }: ProgressProps): React.JSX.Element;
12
18
  //#endregion
13
19
  export { Progress, progressVariants };
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{progressColorVariants as t}from"../lib/progress.js";import{Progress as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`relative flex w-full items-center overflow-x-hidden rounded-full bg-muted`,{variants:{size:{sm:`h-0.5`,md:`h-1`,lg:`h-1.5`},color:t},defaultVariants:{size:`md`,color:`primary`}});function Progress({className:t,value:i,size:o=`md`,color:s=`primary`,...c}){return r(n.Root,{"data-slot":`progress`,"data-size":o,"data-color":s,className:e(a({size:o,color:s}),t),...c,children:r(n.Indicator,{"data-slot":`progress-indicator`,className:`size-full flex-1 bg-(--progress-color) transition-all`,style:{transform:`translateX(-${100-(i||0)}%)`}})})}export{Progress,a as progressVariants};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{t}from"../resolve-class-name-BurP8ngI.js";import{progressColorVariants as n}from"../lib/progress.js";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";import{Progress as a}from"@base-ui/react/progress";const o=i(`relative flex w-full items-center overflow-x-hidden rounded-full bg-muted`,{variants:{size:{sm:`h-0.5`,md:`h-1`,lg:`h-1.5`},color:n},defaultVariants:{size:`md`,color:`primary`}});function Progress({className:n,value:i=null,size:s=`md`,color:c=`primary`,...l}){return/* @__PURE__ */ r(a.Root,{"data-slot":`progress`,"data-size":s,"data-color":c,value:i,...l,children:/* @__PURE__ */ r(a.Track,{"data-slot":`progress-track`,className:r=>e(o({size:s,color:c}),t(n,r)),children:/* @__PURE__ */ r(a.Indicator,{"data-slot":`progress-indicator`,className:`h-full bg-(--progress-color) transition-all`})})})}export{Progress,o as progressVariants};
2
2
  //# sourceMappingURL=progress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","names":["ProgressPrimitive"],"sources":["../../src/components/progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Progress as ProgressPrimitive } from 'radix-ui'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\n\nconst progressVariants = cva('relative flex w-full items-center overflow-x-hidden rounded-full bg-muted', {\n variants: {\n size: {\n sm: 'h-0.5',\n md: 'h-1',\n lg: 'h-1.5'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root> & VariantProps<typeof progressVariants>\n\nfunction Progress({ className, value, size = 'md', color = 'primary', ...props }: ProgressProps) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n data-size={size}\n data-color={color}\n className={cn(progressVariants({ size, color }), className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"size-full flex-1 bg-(--progress-color) transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress, progressVariants }\n"],"mappings":"mQAQA,MAAM,EAAmB,EAAI,4EAA6E,CACxG,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,GAAI,MACJ,GAAI,OACN,EACA,MAAO,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAID,SAAS,SAAS,CAAE,YAAW,QAAO,OAAO,KAAM,QAAQ,UAAW,GAAG,GAAwB,CAC/F,OACE,EAACA,EAAkB,KAAnB,CACE,YAAU,WACV,YAAW,EACX,aAAY,EACZ,UAAW,EAAG,EAAiB,CAAE,OAAM,OAAM,CAAC,EAAG,CAAS,EAC1D,GAAI,EAEJ,SAAA,EAACA,EAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,wDACV,MAAO,CAAE,UAAW,eAAe,KAAO,GAAS,GAAG,GAAI,CAC3D,CAAA,CACqB,CAAA,CAE5B"}
1
+ {"version":3,"file":"progress.js","names":["ProgressPrimitive","Progress$1","progressVariants","cva","progressColorVariants","props","size","color","cn","resolveClassName","className","state"],"sources":["../../src/components/progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Progress as ProgressPrimitive } from '@base-ui/react/progress'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nconst progressVariants = cva('relative flex w-full items-center overflow-x-hidden rounded-full bg-muted', {\n variants: {\n size: {\n sm: 'h-0.5',\n md: 'h-1',\n lg: 'h-1.5'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type ProgressProps = Omit<React.ComponentProps<typeof ProgressPrimitive.Root>, 'render' | 'value'> &\n VariantProps<typeof progressVariants> & {\n /**\n * Progress from `0` to `100`. `null` renders an indeterminate bar.\n * @default null\n */\n value?: number | null\n }\n\nfunction Progress({ className, value = null, size = 'md', color = 'primary', ...props }: ProgressProps) {\n return (\n <ProgressPrimitive.Root data-slot=\"progress\" data-size={size} data-color={color} value={value} {...props}>\n <ProgressPrimitive.Track\n data-slot=\"progress-track\"\n className={(state) => cn(progressVariants({ size, color }), resolveClassName(className, state))}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"h-full bg-(--progress-color) transition-all\"\n />\n </ProgressPrimitive.Track>\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress, progressVariants }\n"],"mappings":"mUASA,MAAME,EAAmBC,EAAI,4EAA6E,CACxG,SAAU,CACR,KAAM,CACJ,GAAI,QACJ,GAAI,MACJ,GAAI,OACN,EACA,MAAOC,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAWD,SAAS,SAAS,CAAE,YAAW,QAAQ,KAAM,OAAO,KAAM,QAAQ,UAAW,GAAGC,GAAwB,CACtG,MACE,kBAACL,EAAkB,KAAnB,CAAwB,YAAU,WAAW,YAAWM,EAAM,aAAYC,EAAc,QAAO,GAAIF,EACjG,SAAA,kBAACL,EAAkB,MAAnB,CACE,YAAU,iBACV,UAAY,GAAUQ,EAAGN,EAAiB,CAAE,OAAM,OAAM,CAAC,EAAGO,EAAiBC,EAAWC,CAAK,CAAC,EAE9F,SAAA,kBAACX,EAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,6CACX,CAAA,CACsB,CAAA,CACH,CAAA,CAE5B"}
@@ -1,25 +1,39 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
2
  import { UIColor } from "../lib/color.js";
3
3
  import { LabelProps } from "./label.js";
4
- import { RadioGroup as RadioGroup$1 } from "radix-ui";
5
- import { VariantProps } from "class-variance-authority";
6
4
  import * as React from "react";
7
5
  import { ReactNode } from "react";
6
+ import { VariantProps } from "class-variance-authority";
7
+ import { Radio } from "@base-ui/react/radio";
8
+ import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
8
9
  //#region src/components/radio-group.d.ts
9
- export type RadioGroupProps = React.ComponentProps<typeof RadioGroup$1.Root> & {
10
+ export type RadioGroupProps<Value = string> = Omit<RadioGroup$1.Props<Value>, 'render'> & {
11
+ asChild?: boolean;
12
+ } & {
13
+ /**
14
+ * Palette family for every item in the group.
15
+ * @default 'primary'
16
+ */
10
17
  color?: UIColor;
11
18
  };
12
19
  declare const radioGroupItemVariants: (props?: ({
13
20
  color?: "blue" | "brand" | "gray" | "green" | "indigo" | "pink" | "primary" | "red" | "yellow" | "zinc" | null | undefined;
14
21
  size?: "lg" | "md" | "sm" | null | undefined;
15
22
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
- export type RadioGroupItemProps = React.ComponentProps<typeof RadioGroup$1.Item> & VariantProps<typeof radioGroupItemVariants> & {
23
+ export type RadioGroupItemProps = Omit<React.ComponentProps<typeof Radio.Root>, 'render'> & VariantProps<typeof radioGroupItemVariants> & {
24
+ /** Overrides the group color for this item. */
17
25
  color?: UIColor;
26
+ /** Label rendered next to the radio and linked to it. */
18
27
  label?: ReactNode;
28
+ /** Props for the rendered label. */
19
29
  labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>;
30
+ /** Helper text rendered below the label. */
31
+ description?: ReactNode;
32
+ /** Props for the rendered description. */
33
+ descriptionProps?: Omit<React.ComponentProps<'p'>, 'children'>;
20
34
  };
21
- declare function RadioGroup({ className, color, ...props }: RadioGroupProps): React.JSX.Element;
22
- declare function RadioGroupItem({ className, color, id, label, labelProps, size, ...props }: RadioGroupItemProps): React.JSX.Element;
35
+ declare function RadioGroup<Value = string>({ className, color, asChild, children, 'aria-invalid': ariaInvalid, ...props }: RadioGroupProps<Value>): React.JSX.Element;
36
+ declare function RadioGroupItem({ className, color, id, label, labelProps, description, descriptionProps, size, ...props }: RadioGroupItemProps): React.JSX.Element;
23
37
  //#endregion
24
38
  export { RadioGroup, RadioGroupItem };
25
39
  //# sourceMappingURL=radio-group.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{selectionControlColorVariants as t}from"../lib/color.js";import{Label as n}from"./label.js";import{useFieldControlId as r}from"./field.js";import{RadioGroup as i}from"radix-ui";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{cva as s}from"class-variance-authority";import{useId as c}from"react";const l=s([`group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none`,`after:absolute after:-inset-x-3 after:-inset-y-2`,`focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50`,`disabled:cursor-not-allowed disabled:opacity-50`,`aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20`,`aria-invalid:aria-checked:border-(--selection-control) dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`dark:data-unchecked:bg-input/30`,`data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)`],{variants:{color:t,size:{sm:`size-4`,md:`size-4.5`,lg:`size-5.5`}},defaultVariants:{size:`md`}}),u=s(`flex items-center justify-center`,{variants:{size:{sm:`size-4`,md:`size-4.5`,lg:`size-5.5`}},defaultVariants:{size:`md`}}),d=s(`absolute top-1/2 left-1/2 rounded-full bg-primary-foreground`,{variants:{size:{sm:`size-1.5`,md:`size-2`,lg:`size-2.5`}},defaultVariants:{size:`md`}}),f=s(``,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-xl`}},defaultVariants:{size:`md`}});function RadioGroup({className:n,color:r=`primary`,...o}){return a(i.Root,{"data-slot":`radio-group`,"data-color":r,className:e(`grid w-full gap-2`,t[r],n),...o})}function RadioGroupItem({className:t,color:s,id:p,label:m,labelProps:h,size:g=`md`,..._}){let v=c(),y=r(p),b=m!==void 0,x=y??(b?v:void 0),{className:S,...C}=h??{},w=a(i.Item,{"data-slot":`radio-group-item`,"data-color":s,"data-size":g,id:x,className:e(l({color:s,size:g}),t),..._,children:a(i.Indicator,{"data-slot":`radio-group-indicator`,className:e(u({size:g})),children:a(`span`,{className:e(d({size:g}),`-translate-x-1/2 -translate-y-1/2`)})})});return b?o(`div`,{"data-slot":`radio-group-item-field`,className:`flex items-center gap-2`,children:[w,a(n,{...C,htmlFor:x,className:e(f({size:g}),S),children:m})]}):w}export{RadioGroup,RadioGroupItem};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{selectionControlColorVariants as r}from"../lib/color.js";import{Label as i}from"./label.js";import{useFieldControlId as a,useFieldInvalid as o,useFieldLabelId as s}from"./field.js";import{createContext as c,useContext as l,useId as u}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{Radio as m}from"@base-ui/react/radio";import{RadioGroup as h}from"@base-ui/react/radio-group";const g=p([`group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none`,`after:absolute after:-inset-x-3 after:-inset-y-2`,`focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50`,`data-disabled:cursor-not-allowed data-disabled:opacity-50`,`dark:data-unchecked:bg-input/30`,`data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)`],{variants:{color:r,size:{sm:`size-4`,md:`size-4.5`,lg:`size-5.5`}},defaultVariants:{size:`md`}}),_=p(`flex items-center justify-center`,{variants:{size:{sm:`size-4`,md:`size-4.5`,lg:`size-5.5`}},defaultVariants:{size:`md`}}),v=p(`absolute top-1/2 left-1/2 rounded-full bg-primary-foreground`,{variants:{size:{sm:`size-1.5`,md:`size-2`,lg:`size-2.5`}},defaultVariants:{size:`md`}}),y=p(``,{variants:{size:{sm:`text-xs`,md:`text-sm`,lg:`text-lg`}},defaultVariants:{size:`md`}}),b=p(`text-muted-foreground text-left leading-normal font-normal [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,{variants:{size:{sm:`text-xs`,md:`text-xs`,lg:`text-sm`}},defaultVariants:{size:`md`}}),x=c(void 0);function RadioGroup({className:i,color:c=`primary`,asChild:l,children:u,"aria-invalid":f,...p}){let m=a(),g=s(),_=o(f);return/* @__PURE__ */ d(x.Provider,{value:m,children:/* @__PURE__ */ d(h,{"data-slot":`radio-group`,"data-color":c,"aria-labelledby":g,"aria-invalid":_,className:e=>t(`grid w-full gap-2`,r[c],n(i,e)),...p,...e(l,u)})})}function RadioGroupItem({className:e,color:r,id:o,label:s,labelProps:c,description:p,descriptionProps:h,size:S=`md`,...C}){let w=u(),T=a(o),E=l(x),D=s!==void 0,O=(o===void 0&&T===E?void 0:T)??(D?w:void 0),{className:k,...A}=c??{},j=u(),M=p!==void 0,{className:N,...P}=h??{},F=M?P.id??j:void 0,I=/* @__PURE__ */ d(m.Root,{"data-slot":`radio-group-item`,"data-color":r,"data-size":S,id:O,"aria-describedby":F,className:i=>t(g({color:r,size:S}),n(e,i)),...C,children:/* @__PURE__ */ d(m.Indicator,{"data-slot":`radio-group-indicator`,className:t(_({size:S})),children:/* @__PURE__ */ d(`span`,{className:t(v({size:S}),`-translate-x-1/2 -translate-y-1/2`)})})});return!D&&!M?I:/* @__PURE__ */ f(`div`,{"data-slot":`radio-group-item-field`,className:`grid grid-cols-[auto_1fr] items-center justify-items-start gap-x-2 gap-y-0.5`,children:[I,D&&/* @__PURE__ */ d(i,{...A,htmlFor:O,className:t(y({size:S}),k),children:s}),M&&/* @__PURE__ */ d(`p`,{"data-slot":`radio-group-item-description`,...P,id:F,className:t(`col-start-2`,b({size:S}),N),children:p})]})}export{RadioGroup,RadioGroupItem};
2
2
  //# sourceMappingURL=radio-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","names":["RadioGroupPrimitive","Label"],"sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { type ReactNode, useId } from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui'\n\nimport type { UIColor } from '../lib/color'\nimport { selectionControlColorVariants } from '../lib/color'\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\nimport { Label, type LabelProps } from './label'\n\nexport type RadioGroupProps = React.ComponentProps<typeof RadioGroupPrimitive.Root> & {\n color?: UIColor\n}\n\nconst radioGroupItemVariants = cva(\n [\n 'group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none',\n 'after:absolute after:-inset-x-3 after:-inset-y-2',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20',\n 'aria-invalid:aria-checked:border-(--selection-control) dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'dark:data-unchecked:bg-input/30',\n 'data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)'\n ],\n {\n variants: {\n color: selectionControlColorVariants,\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst radioGroupIndicatorVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupIndicatorDotVariants = cva('absolute top-1/2 left-1/2 rounded-full bg-primary-foreground', {\n variants: {\n size: {\n sm: 'size-1.5',\n md: 'size-2',\n lg: 'size-2.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupItemLabelVariants = cva('', {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-xl'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type RadioGroupItemProps = React.ComponentProps<typeof RadioGroupPrimitive.Item> &\n VariantProps<typeof radioGroupItemVariants> & {\n color?: UIColor\n label?: ReactNode\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n }\n\nfunction RadioGroup({ className, color = 'primary', ...props }: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n data-color={color}\n className={cn('grid w-full gap-2', selectionControlColorVariants[color], className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({ className, color, id, label, labelProps, size = 'md', ...props }: RadioGroupItemProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const hasLabel = label !== undefined\n const resolvedId = fieldControlId ?? (hasLabel ? generatedId : undefined)\n const { className: labelClassName, ...labelRootProps } = labelProps ?? {}\n\n const item = (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n className={cn(radioGroupItemVariants({ color, size }), className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className={cn(radioGroupIndicatorVariants({ size }))}\n >\n <span className={cn(radioGroupIndicatorDotVariants({ size }), '-translate-x-1/2 -translate-y-1/2')} />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n\n if (!hasLabel) {\n return item\n }\n\n return (\n <div data-slot=\"radio-group-item-field\" className=\"flex items-center gap-2\">\n {item}\n <Label\n {...labelRootProps}\n htmlFor={resolvedId}\n className={cn(radioGroupItemLabelVariants({ size }), labelClassName)}\n >\n {label}\n </Label>\n </div>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"],"mappings":"oYAgBA,MAAM,EAAyB,EAC7B,CACE,iHACA,mDACA,4EACA,kDACA,uFACA,uIACA,kCACA,oIACF,EACA,CACE,SAAU,CACR,MAAO,EACP,KAAM,CACJ,GAAI,SACJ,GAAI,WACJ,GAAI,UACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CACF,EAEM,EAA8B,EAAI,mCAAoC,CAC1E,SAAU,CACR,KAAM,CACJ,GAAI,SACJ,GAAI,WACJ,GAAI,UACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAEK,EAAiC,EAAI,+DAAgE,CACzG,SAAU,CACR,KAAM,CACJ,GAAI,WACJ,GAAI,SACJ,GAAI,UACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EAEK,EAA8B,EAAI,GAAI,CAC1C,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CAAC,EASD,SAAS,WAAW,CAAE,YAAW,QAAQ,UAAW,GAAG,GAA0B,CAC/E,OACE,EAACA,EAAoB,KAArB,CACE,YAAU,cACV,aAAY,EACZ,UAAW,EAAG,oBAAqB,EAA8B,GAAQ,CAAS,EAClF,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,eAAe,CAAE,YAAW,QAAO,KAAI,QAAO,aAAY,OAAO,KAAM,GAAG,GAA8B,CAC/G,IAAM,EAAc,EAAM,EACpB,EAAiB,EAAkB,CAAE,EACrC,EAAW,IAAU,IAAA,GACrB,EAAa,IAAmB,EAAW,EAAc,IAAA,IACzD,CAAE,UAAW,EAAgB,GAAG,GAAmB,GAAc,CAAC,EAElE,EACJ,EAACA,EAAoB,KAArB,CACE,YAAU,mBACV,aAAY,EACZ,YAAW,EACX,GAAI,EACJ,UAAW,EAAG,EAAuB,CAAE,QAAO,MAAK,CAAC,EAAG,CAAS,EAChE,GAAI,EAEJ,SAAA,EAACA,EAAoB,UAArB,CACE,YAAU,wBACV,UAAW,EAAG,EAA4B,CAAE,MAAK,CAAC,CAAC,EAEnD,SAAA,EAAC,OAAD,CAAM,UAAW,EAAG,EAA+B,CAAE,MAAK,CAAC,EAAG,mCAAmC,CAAI,CAAA,CACxE,CAAA,CACP,CAAA,EAO5B,OAJK,EAKH,EAAC,MAAD,CAAK,YAAU,yBAAyB,UAAU,0BAAlD,SAAA,CACG,EACD,EAACC,EAAD,CACE,GAAI,EACJ,QAAS,EACT,UAAW,EAAG,EAA4B,CAAE,MAAK,CAAC,EAAG,CAAc,EAElE,SAAA,CACI,CAAA,CACJ,IAbE,CAeX"}
1
+ {"version":3,"file":"radio-group.js","names":["RadioGroupPrimitive","RadioPrimitive","resolveClassName","RadioGroup$1","radioGroupItemVariants","cva","selectionControlColorVariants","radioGroupIndicatorVariants","radioGroupIndicatorDotVariants","radioGroupItemLabelVariants","radioGroupItemDescriptionVariants","RadioGroupFieldControlIdContext","createContext","ariaInvalid","props","fieldControlId","useFieldControlId","fieldLabelId","useFieldLabelId","invalid","useFieldInvalid","color","cn","className","state","toAsChildRenderProps","asChild","children","generatedId","useId","id","groupFieldControlId","useContext","hasLabel","label","resolvedId","labelClassName","labelRootProps","labelProps","descriptionId","hasDescription","description","descriptionClassName","descriptionRootProps","descriptionProps","resolvedDescriptionId","item","Radio","size","Label"],"sources":["../../src/components/radio-group.tsx"],"sourcesContent":["import type * as React from 'react'\nimport { createContext, type ReactNode, useContext, useId } from 'react'\n\nimport { Radio as RadioPrimitive } from '@base-ui/react/radio'\nimport { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { toAsChildRenderProps } from '../lib/as-child'\nimport type { UIColor } from '../lib/color'\nimport { selectionControlColorVariants } from '../lib/color'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { useFieldControlId, useFieldInvalid, useFieldLabelId } from './field'\nimport { Label, type LabelProps } from './label'\n\nexport type RadioGroupProps<Value = string> = Omit<RadioGroupPrimitive.Props<Value>, 'render'> & {\n asChild?: boolean\n} & {\n /**\n * Palette family for every item in the group.\n * @default 'primary'\n */\n color?: UIColor\n}\n\nconst radioGroupItemVariants = cva(\n [\n 'group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input outline-none',\n 'after:absolute after:-inset-x-3 after:-inset-y-2',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-50',\n 'dark:data-unchecked:bg-input/30',\n 'data-checked:border-(--selection-control) data-checked:bg-(--selection-control) data-checked:text-(--selection-control-foreground)'\n ],\n {\n variants: {\n color: selectionControlColorVariants,\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst radioGroupIndicatorVariants = cva('flex items-center justify-center', {\n variants: {\n size: {\n sm: 'size-4',\n md: 'size-4.5',\n lg: 'size-5.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupIndicatorDotVariants = cva('absolute top-1/2 left-1/2 rounded-full bg-primary-foreground', {\n variants: {\n size: {\n sm: 'size-1.5',\n md: 'size-2',\n lg: 'size-2.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupItemLabelVariants = cva('', {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-lg'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nconst radioGroupItemDescriptionVariants = cva(\n 'text-muted-foreground text-left leading-normal font-normal [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary',\n {\n variants: {\n size: {\n sm: 'text-xs',\n md: 'text-xs',\n lg: 'text-sm'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nexport type RadioGroupItemProps = Omit<React.ComponentProps<typeof RadioPrimitive.Root>, 'render'> &\n VariantProps<typeof radioGroupItemVariants> & {\n /** Overrides the group color for this item. */\n color?: UIColor\n /** Label rendered next to the radio and linked to it. */\n label?: ReactNode\n /** Props for the rendered label. */\n labelProps?: Omit<LabelProps, 'children' | 'htmlFor'>\n /** Helper text rendered below the label. */\n description?: ReactNode\n /** Props for the rendered description. */\n descriptionProps?: Omit<React.ComponentProps<'p'>, 'children'>\n }\n\n// The `Field` control id claimed by the enclosing `RadioGroup`. Items must not reuse it (every item would share\n// one id); an item only takes a Field control id when it sits in its own nested `Field`.\nconst RadioGroupFieldControlIdContext = createContext<string | undefined>(undefined)\n\nfunction RadioGroup<Value = string>({\n className,\n color = 'primary',\n asChild,\n children,\n 'aria-invalid': ariaInvalid,\n ...props\n}: RadioGroupProps<Value>) {\n const fieldControlId = useFieldControlId()\n const fieldLabelId = useFieldLabelId()\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <RadioGroupFieldControlIdContext.Provider value={fieldControlId}>\n <RadioGroupPrimitive\n data-slot=\"radio-group\"\n data-color={color}\n aria-labelledby={fieldLabelId}\n aria-invalid={invalid}\n className={(state) =>\n cn('grid w-full gap-2', selectionControlColorVariants[color], resolveClassName(className, state))\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n </RadioGroupFieldControlIdContext.Provider>\n )\n}\n\nfunction RadioGroupItem({\n className,\n color,\n id,\n label,\n labelProps,\n description,\n descriptionProps,\n size = 'md',\n ...props\n}: RadioGroupItemProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const groupFieldControlId = useContext(RadioGroupFieldControlIdContext)\n const hasLabel = label !== undefined\n const ownFieldControlId = id === undefined && fieldControlId === groupFieldControlId ? undefined : fieldControlId\n const resolvedId = ownFieldControlId ?? (hasLabel ? generatedId : undefined)\n const { className: labelClassName, ...labelRootProps } = labelProps ?? {}\n const descriptionId = useId()\n const hasDescription = description !== undefined\n const { className: descriptionClassName, ...descriptionRootProps } = descriptionProps ?? {}\n const resolvedDescriptionId = hasDescription ? (descriptionRootProps.id ?? descriptionId) : undefined\n\n const item = (\n <RadioPrimitive.Root\n data-slot=\"radio-group-item\"\n data-color={color}\n data-size={size}\n id={resolvedId}\n aria-describedby={resolvedDescriptionId}\n className={(state) => cn(radioGroupItemVariants({ color, size }), resolveClassName(className, state))}\n {...props}\n >\n <RadioPrimitive.Indicator data-slot=\"radio-group-indicator\" className={cn(radioGroupIndicatorVariants({ size }))}>\n <span className={cn(radioGroupIndicatorDotVariants({ size }), '-translate-x-1/2 -translate-y-1/2')} />\n </RadioPrimitive.Indicator>\n </RadioPrimitive.Root>\n )\n\n if (!hasLabel && !hasDescription) {\n return item\n }\n\n return (\n <div\n data-slot=\"radio-group-item-field\"\n className=\"grid grid-cols-[auto_1fr] items-center justify-items-start gap-x-2 gap-y-0.5\"\n >\n {item}\n {hasLabel && (\n <Label\n {...labelRootProps}\n htmlFor={resolvedId}\n className={cn(radioGroupItemLabelVariants({ size }), labelClassName)}\n >\n {label}\n </Label>\n )}\n {hasDescription && (\n <p\n data-slot=\"radio-group-item-description\"\n {...descriptionRootProps}\n id={resolvedDescriptionId}\n className={cn('col-start-2', radioGroupItemDescriptionVariants({ size }), descriptionClassName)}\n >\n {description}\n </p>\n )}\n </div>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ import * as ResizablePrimitive from "react-resizable-panels";
4
4
  export type ResizablePanelGroupProps = ResizablePrimitive.GroupProps;
5
5
  export type ResizablePanelProps = ResizablePrimitive.PanelProps;
6
6
  export type ResizableHandleProps = ResizablePrimitive.SeparatorProps & {
7
+ /** Shows a visible grip on the handle. */
7
8
  withHandle?: boolean;
8
9
  };
9
10
  declare function ResizablePanelGroup({ className, ...props }: ResizablePanelGroupProps): import("react").JSX.Element;
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import*as n from"react-resizable-panels";function ResizablePanelGroup({className:r,...i}){return t(n.Group,{"data-slot":`resizable-panel-group`,className:e(`flex h-full w-full aria-[orientation=vertical]:flex-col`,r),...i})}function ResizablePanel({...e}){return t(n.Panel,{"data-slot":`resizable-panel`,...e})}function ResizableHandle({withHandle:r,className:i,...a}){return t(n.Separator,{"data-slot":`resizable-handle`,className:e(`relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90`,i),...a,children:r&&t(`div`,{className:`z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border`})})}export{ResizableHandle,ResizablePanel,ResizablePanelGroup};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import*as n from"react-resizable-panels";function ResizablePanelGroup({className:r,...i}){return/* @__PURE__ */ t(n.Group,{"data-slot":`resizable-panel-group`,className:e(`flex h-full w-full aria-[orientation=vertical]:flex-col`,r),...i})}function ResizablePanel({...e}){return/* @__PURE__ */ t(n.Panel,{"data-slot":`resizable-panel`,...e})}function ResizableHandle({withHandle:r,className:i,...a}){return/* @__PURE__ */ t(n.Separator,{"data-slot":`resizable-handle`,className:e(`relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90`,i),...a,children:r&&/* @__PURE__ */ t(`div`,{className:`z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border`})})}export{ResizableHandle,ResizablePanel,ResizablePanelGroup};
2
2
  //# sourceMappingURL=resizable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.js","names":[],"sources":["../../src/components/resizable.tsx"],"sourcesContent":["import * as ResizablePrimitive from 'react-resizable-panels'\n\nimport { cn } from '../lib/utils'\n\nexport type ResizablePanelGroupProps = ResizablePrimitive.GroupProps\n\nexport type ResizablePanelProps = ResizablePrimitive.PanelProps\n\nexport type ResizableHandleProps = ResizablePrimitive.SeparatorProps & {\n withHandle?: boolean\n}\n\nfunction ResizablePanelGroup({ className, ...props }: ResizablePanelGroupProps) {\n return (\n <ResizablePrimitive.Group\n data-slot=\"resizable-panel-group\"\n className={cn('flex h-full w-full aria-[orientation=vertical]:flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: ResizablePanelProps) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />\n}\n\nfunction ResizableHandle({ withHandle, className, ...props }: ResizableHandleProps) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n 'relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90',\n className\n )}\n {...props}\n >\n {withHandle && <div className=\"z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border\" />}\n </ResizablePrimitive.Separator>\n )\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup }\n"],"mappings":"8JAYA,SAAS,oBAAoB,CAAE,YAAW,GAAG,GAAmC,CAC9E,OACE,EAAC,EAAmB,MAApB,CACE,YAAU,wBACV,UAAW,EAAG,0DAA2D,CAAS,EAClF,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,eAAe,CAAE,GAAG,GAA8B,CACzD,OAAO,EAAC,EAAmB,MAApB,CAA0B,YAAU,kBAAkB,GAAI,CAAQ,CAAA,CAC3E,CAEA,SAAS,gBAAgB,CAAE,aAAY,YAAW,GAAG,GAA+B,CAClF,OACE,EAAC,EAAmB,UAApB,CACE,YAAU,mBACV,UAAW,EACT,ukBACA,CACF,EACA,GAAI,EAEH,SAAA,GAAc,EAAC,MAAD,CAAK,UAAU,iDAAmD,CAAA,CACrD,CAAA,CAElC"}
1
+ {"version":3,"file":"resizable.js","names":["ResizablePrimitive","props","cn","className","withHandle"],"sources":["../../src/components/resizable.tsx"],"sourcesContent":["import * as ResizablePrimitive from 'react-resizable-panels'\n\nimport { cn } from '../lib/utils'\n\nexport type ResizablePanelGroupProps = ResizablePrimitive.GroupProps\n\nexport type ResizablePanelProps = ResizablePrimitive.PanelProps\n\nexport type ResizableHandleProps = ResizablePrimitive.SeparatorProps & {\n /** Shows a visible grip on the handle. */\n withHandle?: boolean\n}\n\nfunction ResizablePanelGroup({ className, ...props }: ResizablePanelGroupProps) {\n return (\n <ResizablePrimitive.Group\n data-slot=\"resizable-panel-group\"\n className={cn('flex h-full w-full aria-[orientation=vertical]:flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: ResizablePanelProps) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />\n}\n\nfunction ResizableHandle({ withHandle, className, ...props }: ResizableHandleProps) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n 'relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90',\n className\n )}\n {...props}\n >\n {withHandle && <div className=\"z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border\" />}\n </ResizablePrimitive.Separator>\n )\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup }\n"],"mappings":"8JAaA,SAAS,oBAAoB,CAAE,YAAW,GAAGC,GAAmC,CAC9E,MACE,kBAACD,EAAmB,MAApB,CACE,YAAU,wBACV,UAAWE,EAAG,0DAA2DC,CAAS,EAClF,GAAIF,CACL,CAAA,CAEL,CAEA,SAAS,eAAe,CAAE,GAAGA,GAA8B,CACzD,MAAO,kBAACD,EAAmB,MAApB,CAA0B,YAAU,kBAAkB,GAAIC,CAAQ,CAAA,CAC3E,CAEA,SAAS,gBAAgB,CAAE,aAAY,YAAW,GAAGA,GAA+B,CAClF,MACE,kBAACD,EAAmB,UAApB,CACE,YAAU,mBACV,UAAWE,EACT,ukBACAC,CACF,EACA,GAAIF,EAEH,SAAAG,GAAc,kBAAC,MAAD,CAAK,UAAU,iDAAmD,CAAA,CACrD,CAAA,CAElC"}
@@ -1,6 +1,6 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { VariantProps } from "class-variance-authority";
3
2
  import * as React from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
4
  //#region src/components/ring-progress.d.ts
5
5
  declare const ringProgressVariants: (props?: ({
6
6
  size?: "lg" | "md" | "sm" | null | undefined;
@@ -8,7 +8,15 @@ declare const ringProgressVariants: (props?: ({
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export type RingProgressThickness = 'thin' | 'md' | 'thick';
10
10
  export type RingProgressProps = React.ComponentProps<'svg'> & VariantProps<typeof ringProgressVariants> & {
11
+ /**
12
+ * Progress from `0` to `100`.
13
+ * @default 0
14
+ */
11
15
  value?: number;
16
+ /**
17
+ * Stroke width of the ring.
18
+ * @default 'md'
19
+ */
12
20
  thickness?: RingProgressThickness;
13
21
  };
14
22
  declare function RingProgress({ className, value, size, color, thickness, ...props }: RingProgressProps): React.JSX.Element;
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{progressColorVariants as t}from"../lib/progress.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`shrink-0`,{variants:{size:{sm:`size-8`,md:`size-10`,lg:`size-12`},color:t},defaultVariants:{size:`md`,color:`primary`}}),o={thin:8,md:12,thick:16};function RingProgress({className:t,value:i=0,size:s=`md`,color:c=`primary`,thickness:l=`md`,...u}){let d=o[l],f=(100-d)/2,p=2*Math.PI*f,m=Math.min(100,Math.max(0,i)),h=p*(1-m/100);return r(`svg`,{"data-slot":`ring-progress`,"data-size":s,"data-color":c,"data-thickness":l,role:`progressbar`,"aria-valuenow":m,"aria-valuemin":0,"aria-valuemax":100,viewBox:`0 0 100 100`,className:e(a({size:s,color:c}),t),...u,children:[n(`circle`,{cx:`50`,cy:`50`,r:f,fill:`none`,strokeWidth:d,className:`stroke-muted`}),n(`circle`,{cx:`50`,cy:`50`,r:f,fill:`none`,strokeWidth:d,strokeLinecap:`round`,strokeDasharray:p,strokeDashoffset:h,transform:`rotate(-90 50 50)`,className:`stroke-(--progress-color) transition-all`})]})}export{RingProgress,a as ringProgressVariants};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{progressColorVariants as t}from"../lib/progress.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`shrink-0`,{variants:{size:{sm:`size-8`,md:`size-10`,lg:`size-12`},color:t},defaultVariants:{size:`md`,color:`primary`}}),o={thin:8,md:12,thick:16};function RingProgress({className:t,value:i=0,size:s=`md`,color:c=`primary`,thickness:l=`md`,...u}){let d=o[l],f=(100-d)/2,p=2*Math.PI*f,m=Math.min(100,Math.max(0,i)),h=p*(1-m/100);return/* @__PURE__ */ r(`svg`,{"data-slot":`ring-progress`,"data-size":s,"data-color":c,"data-thickness":l,role:`progressbar`,"aria-valuenow":m,"aria-valuemin":0,"aria-valuemax":100,viewBox:`0 0 100 100`,className:e(a({size:s,color:c}),t),...u,children:[/* @__PURE__ */ n(`circle`,{cx:`50`,cy:`50`,r:f,fill:`none`,strokeWidth:d,className:`stroke-muted`}),/* @__PURE__ */ n(`circle`,{cx:`50`,cy:`50`,r:f,fill:`none`,strokeWidth:d,strokeLinecap:`round`,strokeDasharray:p,strokeDashoffset:h,transform:`rotate(-90 50 50)`,className:`stroke-(--progress-color) transition-all`})]})}export{RingProgress,a as ringProgressVariants};
2
2
  //# sourceMappingURL=ring-progress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ring-progress.js","names":[],"sources":["../../src/components/ring-progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\n\nconst ringProgressVariants = cva('shrink-0', {\n variants: {\n size: {\n sm: 'size-8',\n md: 'size-10',\n lg: 'size-12'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type RingProgressThickness = 'thin' | 'md' | 'thick'\n\nconst ringThickness = {\n thin: 8,\n md: 12,\n thick: 16\n} as const satisfies Record<RingProgressThickness, number>\n\nexport type RingProgressProps = React.ComponentProps<'svg'> &\n VariantProps<typeof ringProgressVariants> & {\n value?: number\n thickness?: RingProgressThickness\n }\n\nfunction RingProgress({\n className,\n value = 0,\n size = 'md',\n color = 'primary',\n thickness = 'md',\n ...props\n}: RingProgressProps) {\n const strokeWidth = ringThickness[thickness]\n const radius = (100 - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const clamped = Math.min(100, Math.max(0, value))\n const strokeDashoffset = circumference * (1 - clamped / 100)\n\n return (\n <svg\n data-slot=\"ring-progress\"\n data-size={size}\n data-color={color}\n data-thickness={thickness}\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n viewBox=\"0 0 100 100\"\n className={cn(ringProgressVariants({ size, color }), className)}\n {...props}\n >\n <circle cx=\"50\" cy=\"50\" r={radius} fill=\"none\" strokeWidth={strokeWidth} className=\"stroke-muted\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={strokeDashoffset}\n transform=\"rotate(-90 50 50)\"\n className=\"stroke-(--progress-color) transition-all\"\n />\n </svg>\n )\n}\n\nexport { RingProgress, ringProgressVariants }\n"],"mappings":"yOAOA,MAAM,EAAuB,EAAI,WAAY,CAC3C,SAAU,CACR,KAAM,CACJ,GAAI,SACJ,GAAI,UACJ,GAAI,SACN,EACA,MAAO,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAIK,EAAgB,CACpB,KAAM,EACN,GAAI,GACJ,MAAO,EACT,EAQA,SAAS,aAAa,CACpB,YACA,QAAQ,EACR,OAAO,KACP,QAAQ,UACR,YAAY,KACZ,GAAG,GACiB,CACpB,IAAM,EAAc,EAAc,GAC5B,GAAU,IAAM,GAAe,EAC/B,EAAgB,EAAI,KAAK,GAAK,EAC9B,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAG,CAAK,CAAC,EAC1C,EAAmB,GAAiB,EAAI,EAAU,KAExD,OACE,EAAC,MAAD,CACE,YAAU,gBACV,YAAW,EACX,aAAY,EACZ,iBAAgB,EAChB,KAAK,cACL,gBAAe,EACf,gBAAe,EACf,gBAAe,IACf,QAAQ,cACR,UAAW,EAAG,EAAqB,CAAE,OAAM,OAAM,CAAC,EAAG,CAAS,EAC9D,GAAI,EAXN,SAAA,CAaE,EAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,KAAK,EAAG,EAAQ,KAAK,OAAoB,cAAa,UAAU,cAAgB,CAAA,EACnG,EAAC,SAAD,CACE,GAAG,KACH,GAAG,KACH,EAAG,EACH,KAAK,OACQ,cACb,cAAc,QACd,gBAAiB,EACC,mBAClB,UAAU,oBACV,UAAU,0CACX,CAAA,CACE,GAET"}
1
+ {"version":3,"file":"ring-progress.js","names":["ringProgressVariants","cva","progressColorVariants","ringThickness","props","strokeWidth","thickness","radius","circumference","clamped","value","strokeDashoffset","size","color","cn","className"],"sources":["../../src/components/ring-progress.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { progressColorVariants } from '../lib/progress'\nimport { cn } from '../lib/utils'\n\nconst ringProgressVariants = cva('shrink-0', {\n variants: {\n size: {\n sm: 'size-8',\n md: 'size-10',\n lg: 'size-12'\n },\n color: progressColorVariants\n },\n defaultVariants: {\n size: 'md',\n color: 'primary'\n }\n})\n\nexport type RingProgressThickness = 'thin' | 'md' | 'thick'\n\nconst ringThickness = {\n thin: 8,\n md: 12,\n thick: 16\n} as const satisfies Record<RingProgressThickness, number>\n\nexport type RingProgressProps = React.ComponentProps<'svg'> &\n VariantProps<typeof ringProgressVariants> & {\n /**\n * Progress from `0` to `100`.\n * @default 0\n */\n value?: number\n /**\n * Stroke width of the ring.\n * @default 'md'\n */\n thickness?: RingProgressThickness\n }\n\nfunction RingProgress({\n className,\n value = 0,\n size = 'md',\n color = 'primary',\n thickness = 'md',\n ...props\n}: RingProgressProps) {\n const strokeWidth = ringThickness[thickness]\n const radius = (100 - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const clamped = Math.min(100, Math.max(0, value))\n const strokeDashoffset = circumference * (1 - clamped / 100)\n\n return (\n <svg\n data-slot=\"ring-progress\"\n data-size={size}\n data-color={color}\n data-thickness={thickness}\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n viewBox=\"0 0 100 100\"\n className={cn(ringProgressVariants({ size, color }), className)}\n {...props}\n >\n <circle cx=\"50\" cy=\"50\" r={radius} fill=\"none\" strokeWidth={strokeWidth} className=\"stroke-muted\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={strokeDashoffset}\n transform=\"rotate(-90 50 50)\"\n className=\"stroke-(--progress-color) transition-all\"\n />\n </svg>\n )\n}\n\nexport { RingProgress, ringProgressVariants }\n"],"mappings":"yOAOA,MAAMA,EAAuBC,EAAI,WAAY,CAC3C,SAAU,CACR,KAAM,CACJ,GAAI,SACJ,GAAI,UACJ,GAAI,SACN,EACA,MAAOC,CACT,EACA,gBAAiB,CACf,KAAM,KACN,MAAO,SACT,CACF,CAAC,EAIKC,EAAgB,CACpB,KAAM,EACN,GAAI,GACJ,MAAO,EACT,EAgBA,SAAS,aAAa,CACpB,YACA,QAAQ,EACR,OAAO,KACP,QAAQ,UACR,YAAY,KACZ,GAAGC,GACiB,CACpB,IAAMC,EAAcF,EAAcG,GAC5BC,GAAU,IAAMF,GAAe,EAC/BG,EAAgB,EAAI,KAAK,GAAKD,EAC9BE,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAGC,CAAK,CAAC,EAC1CC,EAAmBH,GAAiB,EAAIC,EAAU,KAExD,MACE,kBAAC,MAAD,CACE,YAAU,gBACV,YAAWG,EACX,aAAYC,EACZ,iBAAgBP,EAChB,KAAK,cACL,gBAAeG,EACf,gBAAe,EACf,gBAAe,IACf,QAAQ,cACR,UAAWK,EAAGd,EAAqB,CAAE,OAAM,OAAM,CAAC,EAAGe,CAAS,EAC9D,GAAIX,EAXN,SAAA,CAaE,kBAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,KAAK,EAAGG,EAAQ,KAAK,OAAoB,cAAa,UAAU,cAAgB,CAAA,EACnG,kBAAC,SAAD,CACE,GAAG,KACH,GAAG,KACH,EAAGA,EACH,KAAK,OACQ,cACb,cAAc,QACd,gBAAiBC,EACC,mBAClB,UAAU,oBACV,UAAU,0CACX,CAAA,CACE,GAET"}
@@ -1,9 +1,9 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { ScrollArea as ScrollArea$1 } from "radix-ui";
3
2
  import * as React from "react";
3
+ import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
4
4
  //#region src/components/scroll-area.d.ts
5
- export type ScrollAreaProps = React.ComponentProps<typeof ScrollArea$1.Root>;
6
- export type ScrollBarProps = React.ComponentProps<typeof ScrollArea$1.ScrollAreaScrollbar>;
5
+ export type ScrollAreaProps = Omit<React.ComponentProps<typeof ScrollArea$1.Root>, 'render'>;
6
+ export type ScrollBarProps = Omit<React.ComponentProps<typeof ScrollArea$1.Scrollbar>, 'render'>;
7
7
  declare function ScrollArea({ className, children, ...props }: ScrollAreaProps): React.JSX.Element;
8
8
  declare function ScrollBar({ className, orientation, ...props }: ScrollBarProps): React.JSX.Element;
9
9
  //#endregion
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{ScrollArea as t}from"radix-ui";import{jsx as n,jsxs as r}from"react/jsx-runtime";function ScrollArea({className:i,children:a,...o}){return r(t.Root,{"data-slot":`scroll-area`,className:e(`relative`,i),...o,children:[n(t.Viewport,{"data-slot":`scroll-area-viewport`,className:e(`size-full rounded-[inherit] transition-[color,box-shadow] outline-none`,`focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`),children:a}),n(ScrollBar,{}),n(t.Corner,{})]})}function ScrollBar({className:r,orientation:i=`vertical`,...a}){return n(t.ScrollAreaScrollbar,{"data-slot":`scroll-area-scrollbar`,"data-orientation":i,orientation:i,className:e(`flex touch-none p-px transition-colors select-none`,`data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent`,`data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,r),...a,children:n(t.ScrollAreaThumb,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}export{ScrollArea,ScrollBar};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{t}from"../resolve-class-name-BurP8ngI.js";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{ScrollArea as i}from"@base-ui/react/scroll-area";function ScrollArea({className:a,children:o,...s}){return/* @__PURE__ */ r(i.Root,{"data-slot":`scroll-area`,className:n=>e(`relative`,t(a,n)),...s,children:[/* @__PURE__ */ n(i.Viewport,{"data-slot":`scroll-area-viewport`,className:e(`size-full rounded-[inherit] transition-[color,box-shadow] outline-none`,`focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`),children:/* @__PURE__ */ n(i.Content,{"data-slot":`scroll-area-content`,children:o})}),/* @__PURE__ */ n(ScrollBar,{}),/* @__PURE__ */ n(i.Corner,{})]})}function ScrollBar({className:r,orientation:a=`vertical`,...o}){return/* @__PURE__ */ n(i.Scrollbar,{"data-slot":`scroll-area-scrollbar`,"data-orientation":a,orientation:a,className:n=>e(`flex touch-none p-px transition-opacity select-none`,`opacity-0 delay-600 data-hovering:opacity-100 data-hovering:delay-0 data-scrolling:opacity-100 data-scrolling:delay-0`,`data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent`,`data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,t(r,n)),...o,children:/* @__PURE__ */ n(i.Thumb,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}export{ScrollArea,ScrollBar};
2
2
  //# sourceMappingURL=scroll-area.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.js","names":["ScrollAreaPrimitive"],"sources":["../../src/components/scroll-area.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type ScrollAreaProps = React.ComponentProps<typeof ScrollAreaPrimitive.Root>\n\nexport type ScrollBarProps = React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n\nfunction ScrollArea({ className, children, ...props }: ScrollAreaProps) {\n return (\n <ScrollAreaPrimitive.Root data-slot=\"scroll-area\" className={cn('relative', className)} {...props}>\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className={cn(\n 'size-full rounded-[inherit] transition-[color,box-shadow] outline-none',\n 'focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1'\n )}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({ className, orientation = 'vertical', ...props }: ScrollBarProps) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n 'flex touch-none p-px transition-colors select-none',\n 'data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent',\n 'data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"],"mappings":"qKAUA,SAAS,WAAW,CAAE,YAAW,WAAU,GAAG,GAA0B,CACtE,OACE,EAACA,EAAoB,KAArB,CAA0B,YAAU,cAAc,UAAW,EAAG,WAAY,CAAS,EAAG,GAAI,EAA5F,SAAA,CACE,EAACA,EAAoB,SAArB,CACE,YAAU,uBACV,UAAW,EACT,yEACA,6EACF,EAEC,UAC2B,CAAA,EAC9B,EAAC,UAAD,CAAY,CAAA,EACZ,EAACA,EAAoB,OAArB,CAA6B,CAAA,CACL,GAE9B,CAEA,SAAS,UAAU,CAAE,YAAW,cAAc,WAAY,GAAG,GAAyB,CACpF,OACE,EAACA,EAAoB,oBAArB,CACE,YAAU,wBACV,mBAAkB,EACL,cACb,UAAW,EACT,qDACA,+GACA,qGACA,CACF,EACA,GAAI,EAEJ,SAAA,EAACA,EAAoB,gBAArB,CACE,YAAU,oBACV,UAAU,wCACX,CAAA,CACsC,CAAA,CAE7C"}
1
+ {"version":3,"file":"scroll-area.js","names":["ScrollAreaPrimitive","ScrollArea$1","props","cn","resolveClassName","className","state","orientation"],"sources":["../../src/components/scroll-area.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area'\n\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type ScrollAreaProps = Omit<React.ComponentProps<typeof ScrollAreaPrimitive.Root>, 'render'>\n\nexport type ScrollBarProps = Omit<React.ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>, 'render'>\n\nfunction ScrollArea({ className, children, ...props }: ScrollAreaProps) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={(state) => cn('relative', resolveClassName(className, state))}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className={cn(\n 'size-full rounded-[inherit] transition-[color,box-shadow] outline-none',\n 'focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1'\n )}\n >\n <ScrollAreaPrimitive.Content data-slot=\"scroll-area-content\">{children}</ScrollAreaPrimitive.Content>\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({ className, orientation = 'vertical', ...props }: ScrollBarProps) {\n return (\n <ScrollAreaPrimitive.Scrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={(state) =>\n cn(\n 'flex touch-none p-px transition-opacity select-none',\n 'opacity-0 delay-600 data-hovering:opacity-100 data-hovering:delay-0 data-scrolling:opacity-100 data-scrolling:delay-0',\n 'data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent',\n 'data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <ScrollAreaPrimitive.Thumb data-slot=\"scroll-area-thumb\" className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.Scrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"],"mappings":"wOAWA,SAAS,WAAW,CAAE,YAAW,WAAU,GAAGE,GAA0B,CACtE,MACE,kBAACF,EAAoB,KAArB,CACE,YAAU,cACV,UAAY,GAAUG,EAAG,WAAYC,EAAiBC,EAAWC,CAAK,CAAC,EACvE,GAAIJ,EAHN,SAAA,CAKE,kBAACF,EAAoB,SAArB,CACE,YAAU,uBACV,UAAWG,EACT,yEACA,6EACF,EAEA,SAAA,kBAACH,EAAoB,QAArB,CAA6B,YAAU,sBAAuB,UAAsC,CAAA,CACxE,CAAA,EAC9B,kBAAC,UAAD,CAAY,CAAA,EACZ,kBAACA,EAAoB,OAArB,CAA6B,CAAA,CACL,GAE9B,CAEA,SAAS,UAAU,CAAE,YAAW,cAAc,WAAY,GAAGE,GAAyB,CACpF,MACE,kBAACF,EAAoB,UAArB,CACE,YAAU,wBACV,mBAAkBO,EACL,cACb,UAAY,GACVJ,EACE,sDACA,wHACA,+GACA,qGACAC,EAAiBC,EAAWC,CAAK,CACnC,EAEF,GAAIJ,EAEJ,SAAA,kBAACF,EAAoB,MAArB,CAA2B,YAAU,oBAAoB,UAAU,wCAA0C,CAAA,CAChF,CAAA,CAEnC"}
@@ -1,29 +1,34 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { Select as Select$1 } from "radix-ui";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
3
3
  import * as React from "react";
4
+ import { Select as Select$1 } from "@base-ui/react/select";
4
5
  //#region src/components/select.d.ts
5
- export type SelectProps = React.ComponentProps<typeof Select$1.Root>;
6
- export type SelectGroupProps = React.ComponentProps<typeof Select$1.Group>;
7
- export type SelectValueProps = React.ComponentProps<typeof Select$1.Value>;
8
- export type SelectTriggerProps = React.ComponentProps<typeof Select$1.Trigger> & {
6
+ export type SelectProps<Value = string, Multiple extends boolean | undefined = false> = Select$1.Root.Props<Value, Multiple>;
7
+ export type SelectGroupProps = AsChildPrimitiveProps<typeof Select$1.Group>;
8
+ export type SelectValueProps = AsChildPrimitiveProps<typeof Select$1.Value>;
9
+ export type SelectTriggerProps = AsChildPrimitiveProps<typeof Select$1.Trigger> & {
10
+ /**
11
+ * Height of the trigger.
12
+ * @default 'md'
13
+ */
9
14
  size?: 'sm' | 'md';
10
15
  };
11
- export type SelectContentProps = React.ComponentProps<typeof Select$1.Content>;
12
- export type SelectLabelProps = React.ComponentProps<typeof Select$1.Label>;
13
- export type SelectItemProps = React.ComponentProps<typeof Select$1.Item>;
14
- export type SelectSeparatorProps = React.ComponentProps<typeof Select$1.Separator>;
15
- export type SelectScrollUpButtonProps = React.ComponentProps<typeof Select$1.ScrollUpButton>;
16
- export type SelectScrollDownButtonProps = React.ComponentProps<typeof Select$1.ScrollDownButton>;
17
- declare function Select({ ...props }: SelectProps): React.JSX.Element;
18
- declare function SelectGroup({ className, ...props }: SelectGroupProps): React.JSX.Element;
19
- declare function SelectValue({ ...props }: SelectValueProps): React.JSX.Element;
20
- declare function SelectTrigger({ className, id, size, children, ...props }: SelectTriggerProps): React.JSX.Element;
21
- declare function SelectContent({ className, children, position, align, ...props }: SelectContentProps): React.JSX.Element;
22
- declare function SelectLabel({ className, ...props }: SelectLabelProps): React.JSX.Element;
16
+ export type SelectContentProps = Omit<React.ComponentProps<typeof Select$1.Popup>, 'render'> & Pick<React.ComponentProps<typeof Select$1.Positioner>, 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'alignItemWithTrigger' | 'sticky'>;
17
+ export type SelectLabelProps = AsChildPrimitiveProps<typeof Select$1.GroupLabel>;
18
+ export type SelectItemProps = Omit<React.ComponentProps<typeof Select$1.Item>, 'render'>;
19
+ export type SelectSeparatorProps = AsChildPrimitiveProps<typeof Select$1.Separator>;
20
+ export type SelectScrollUpButtonProps = AsChildPrimitiveProps<typeof Select$1.ScrollUpArrow>;
21
+ export type SelectScrollDownButtonProps = AsChildPrimitiveProps<typeof Select$1.ScrollDownArrow>;
22
+ declare function Select<Value = string, Multiple extends boolean | undefined = false>({ ...props }: SelectProps<Value, Multiple>): React.JSX.Element;
23
+ declare function SelectGroup({ className, asChild, children, ...props }: SelectGroupProps): React.JSX.Element;
24
+ declare function SelectValue({ asChild, children, ...props }: SelectValueProps): React.JSX.Element;
25
+ declare function SelectTrigger({ className, id, size, children, asChild, 'aria-invalid': ariaInvalid, ...props }: SelectTriggerProps): React.JSX.Element;
26
+ declare function SelectContent({ className, children, side, sideOffset, align, alignOffset, alignItemWithTrigger, sticky, ...props }: SelectContentProps): React.JSX.Element;
27
+ declare function SelectLabel({ className, asChild, children, ...props }: SelectLabelProps): React.JSX.Element;
23
28
  declare function SelectItem({ className, children, ...props }: SelectItemProps): React.JSX.Element;
24
- declare function SelectSeparator({ className, ...props }: SelectSeparatorProps): React.JSX.Element;
25
- declare function SelectScrollUpButton({ className, ...props }: SelectScrollUpButtonProps): React.JSX.Element;
26
- declare function SelectScrollDownButton({ className, ...props }: SelectScrollDownButtonProps): React.JSX.Element;
29
+ declare function SelectSeparator({ className, asChild, children, ...props }: SelectSeparatorProps): React.JSX.Element;
30
+ declare function SelectScrollUpButton({ className, asChild, children, ...props }: SelectScrollUpButtonProps): React.JSX.Element;
31
+ declare function SelectScrollDownButton({ className, asChild, children, ...props }: SelectScrollDownButtonProps): React.JSX.Element;
27
32
  //#endregion
28
33
  export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
29
34
  //# sourceMappingURL=select.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{useFieldControlId as t}from"./field.js";import{IconCheck as n,IconChevronDown as r,IconChevronUp as i,IconSelector as a}from"@tabler/icons-react";import{Select as o}from"radix-ui";import{jsx as s,jsxs as c}from"react/jsx-runtime";function Select({...e}){return s(o.Root,{"data-slot":`select`,...e})}function SelectGroup({className:t,...n}){return s(o.Group,{"data-slot":`select-group`,className:e(`scroll-my-1 p-1`,t),...n})}function SelectValue({...e}){return s(o.Value,{"data-slot":`select-value`,...e})}function SelectTrigger({className:n,id:r,size:i=`md`,children:l,...u}){let d=t(r);return c(o.Trigger,{id:d,"data-slot":`select-trigger`,"data-size":i,className:e(`border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]`,`*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,`disabled:cursor-not-allowed disabled:opacity-50`,n),...u,children:[l,s(o.Icon,{asChild:!0,children:s(a,{className:`text-muted-foreground size-4 pointer-events-none`})})]})}function SelectContent({className:t,children:n,position:r=`item-aligned`,align:i=`center`,...a}){return s(o.Portal,{children:c(o.Content,{"data-slot":`select-content`,"data-align-trigger":r===`item-aligned`,className:e(`bg-popover text-popover-foreground ring-foreground/10 relative z-50 min-w-36 max-h-(--radix-select-content-available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto`,`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,`data-[align-trigger=true]:animate-none`,r===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,t),position:r,align:i,...a,children:[s(SelectScrollUpButton,{}),s(o.Viewport,{"data-position":r,className:e(`data-[position=popper]:h-(--radix-select-trigger-height)`,`data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)`),children:n}),s(SelectScrollDownButton,{})]})})}function SelectLabel({className:t,...n}){return s(o.Label,{"data-slot":`select-label`,className:e(`text-muted-foreground px-1.5 py-1 text-xs`,t),...n})}function SelectItem({className:t,children:r,...i}){return c(o.Item,{"data-slot":`select-item`,className:e(`focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground`,`relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none`,`*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,`data-disabled:pointer-events-none data-disabled:opacity-50`,t),...i,children:[s(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`,children:s(o.ItemIndicator,{children:s(n,{className:`pointer-events-none`})})}),s(o.ItemText,{children:r})]})}function SelectSeparator({className:t,...n}){return s(o.Separator,{"data-slot":`select-separator`,className:e(`bg-border -mx-1 my-1 h-px pointer-events-none`,t),...n})}function SelectScrollUpButton({className:t,...n}){return s(o.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:e(`bg-popover z-10 flex cursor-default items-center justify-center py-1`,`[&_svg:not([class*='size-'])]:size-4`,t),...n,children:s(i,{})})}function SelectScrollDownButton({className:t,...n}){return s(o.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:e(`bg-popover z-10 flex cursor-default items-center justify-center py-1`,`[&_svg:not([class*='size-'])]:size-4`,t),...n,children:s(r,{})})}export{Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{useFieldControlId as r,useFieldInvalid as i}from"./field.js";import{IconCheck as a,IconChevronDown as o,IconChevronUp as s,IconSelector as c}from"@tabler/icons-react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{Select as d}from"@base-ui/react/select";function Select({...e}){return/* @__PURE__ */ l(d.Root,{"data-slot":`select`,...e})}function SelectGroup({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.Group,{"data-slot":`select-group`,className:e=>t(`scroll-my-1 p-1`,n(r,e)),...o,...e(i,a)})}function SelectValue({asChild:t,children:n,...r}){return/* @__PURE__ */ l(d.Value,{"data-slot":`select-value`,...r,...e(t,n)})}function SelectTrigger({className:a,id:o,size:s=`md`,children:f,asChild:p,"aria-invalid":m,...h}){let g=r(o),_=i(m);return/* @__PURE__ */ u(d.Trigger,{id:g,"aria-invalid":_,"data-slot":`select-trigger`,"data-size":s,className:e=>t(`border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]`,`*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,`disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50`,n(a,e)),...h,...e(p,f),children:[!p&&f,!p&&/* @__PURE__ */ l(d.Icon,{render:/* @__PURE__ */ l(c,{className:`text-muted-foreground size-4 pointer-events-none`})})]})}function SelectContent({className:e,children:r,side:i=`bottom`,sideOffset:a=4,align:o=`center`,alignOffset:s=0,alignItemWithTrigger:c=!0,sticky:f,...p}){return/* @__PURE__ */ l(d.Portal,{children:/* @__PURE__ */ l(d.Positioner,{side:i,sideOffset:a,align:o,alignOffset:s,alignItemWithTrigger:c,sticky:f,className:`isolate z-50`,children:/* @__PURE__ */ u(d.Popup,{"data-slot":`select-content`,"data-align-trigger":c,className:r=>t(`bg-popover text-popover-foreground ring-foreground/10 relative isolate z-50 min-w-[max(--spacing(36),var(--anchor-width))] max-h-(--available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--transform-origin) overflow-x-hidden overflow-y-auto`,`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,`data-[align-trigger=true]:animate-none`,n(e,r)),...p,children:[/* @__PURE__ */ l(SelectScrollUpButton,{}),/* @__PURE__ */ l(d.List,{children:r}),/* @__PURE__ */ l(SelectScrollDownButton,{})]})})})}function SelectLabel({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.GroupLabel,{"data-slot":`select-label`,className:e=>t(`text-muted-foreground px-1.5 py-1 text-xs`,n(r,e)),...o,...e(i,a)})}function SelectItem({className:e,children:r,...i}){return/* @__PURE__ */ u(d.Item,{"data-slot":`select-item`,className:r=>t(`focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground`,`relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none`,`*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,`[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,`data-disabled:pointer-events-none data-disabled:opacity-50`,n(e,r)),...i,children:[/* @__PURE__ */ l(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`,children:/* @__PURE__ */ l(d.ItemIndicator,{children:/* @__PURE__ */ l(a,{className:`pointer-events-none`})})}),/* @__PURE__ */ l(d.ItemText,{render:/* @__PURE__ */ l(`span`,{}),children:r})]})}function SelectSeparator({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.Separator,{"data-slot":`select-separator`,className:e=>t(`bg-border -mx-1 my-1 h-px pointer-events-none`,n(r,e)),...o,...e(i,a)})}function SelectScrollUpButton({className:r,asChild:i,children:a,...o}){return/* @__PURE__ */ l(d.ScrollUpArrow,{"data-slot":`select-scroll-up-button`,className:e=>t(`bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1`,`[&_svg:not([class*='size-'])]:size-4`,n(r,e)),...o,...e(i,a),children:/* @__PURE__ */ l(s,{})})}function SelectScrollDownButton({className:r,asChild:i,children:a,...s}){return/* @__PURE__ */ l(d.ScrollDownArrow,{"data-slot":`select-scroll-down-button`,className:e=>t(`bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1`,`[&_svg:not([class*='size-'])]:size-4`,n(r,e)),...s,...e(i,a),children:/* @__PURE__ */ l(o,{})})}export{Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue};
2
2
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":["SelectPrimitive"],"sources":["../../src/components/select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { IconCheck, IconChevronDown, IconChevronUp, IconSelector } from '@tabler/icons-react'\nimport { Select as SelectPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\n\nexport type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>\n\nexport type SelectGroupProps = React.ComponentProps<typeof SelectPrimitive.Group>\n\nexport type SelectValueProps = React.ComponentProps<typeof SelectPrimitive.Value>\n\nexport type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'md'\n}\n\nexport type SelectContentProps = React.ComponentProps<typeof SelectPrimitive.Content>\n\nexport type SelectLabelProps = React.ComponentProps<typeof SelectPrimitive.Label>\n\nexport type SelectItemProps = React.ComponentProps<typeof SelectPrimitive.Item>\n\nexport type SelectSeparatorProps = React.ComponentProps<typeof SelectPrimitive.Separator>\n\nexport type SelectScrollUpButtonProps = React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>\n\nexport type SelectScrollDownButtonProps = React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>\n\nfunction Select({ ...props }: SelectProps) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({ className, ...props }: SelectGroupProps) {\n return <SelectPrimitive.Group data-slot=\"select-group\" className={cn('scroll-my-1 p-1', className)} {...props} />\n}\n\nfunction SelectValue({ ...props }: SelectValueProps) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({ className, id, size = 'md', children, ...props }: SelectTriggerProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <SelectPrimitive.Trigger\n id={fieldControlId}\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n 'border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n '*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <IconSelector className=\"text-muted-foreground size-4 pointer-events-none\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'item-aligned',\n align = 'center',\n ...props\n}: SelectContentProps) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === 'item-aligned'}\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 relative z-50 min-w-36 max-h-(--radix-select-content-available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n 'data-[align-trigger=true]:animate-none',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n 'data-[position=popper]:h-(--radix-select-trigger-height)',\n 'data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({ className, ...props }: SelectLabelProps) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-1.5 py-1 text-xs', className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({ className, children, ...props }: SelectItemProps) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground',\n 'relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none',\n '*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <IconCheck className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({ className, ...props }: SelectSeparatorProps) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border -mx-1 my-1 h-px pointer-events-none', className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({ className, ...props }: SelectScrollUpButtonProps) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n 'bg-popover z-10 flex cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <IconChevronUp />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({ className, ...props }: SelectScrollDownButtonProps) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n 'bg-popover z-10 flex cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <IconChevronDown />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n}\n"],"mappings":"0TA8BA,SAAS,OAAO,CAAE,GAAG,GAAsB,CACzC,OAAO,EAACA,EAAgB,KAAjB,CAAsB,YAAU,SAAS,GAAI,CAAQ,CAAA,CAC9D,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OAAO,EAACA,EAAgB,MAAjB,CAAuB,YAAU,eAAe,UAAW,EAAG,kBAAmB,CAAS,EAAG,GAAI,CAAQ,CAAA,CAClH,CAEA,SAAS,YAAY,CAAE,GAAG,GAA2B,CACnD,OAAO,EAACA,EAAgB,MAAjB,CAAuB,YAAU,eAAe,GAAI,CAAQ,CAAA,CACrE,CAEA,SAAS,cAAc,CAAE,YAAW,KAAI,OAAO,KAAM,WAAU,GAAG,GAA6B,CAC7F,IAAM,EAAiB,EAAkB,CAAE,EAE3C,OACE,EAACA,EAAgB,QAAjB,CACE,GAAI,EACJ,YAAU,iBACV,YAAW,EACX,UAAW,EACT,gQACA,4EACA,qKACA,4FACA,qJACA,oFACA,kDACA,CACF,EACA,GAAI,EAdN,SAAA,CAgBG,EACD,EAACA,EAAgB,KAAjB,CAAsB,QAAA,GACpB,SAAA,EAAC,EAAD,CAAc,UAAU,kDAAoD,CAAA,CACxD,CAAA,CACC,GAE7B,CAEA,SAAS,cAAc,CACrB,YACA,WACA,WAAW,eACX,QAAQ,SACR,GAAG,GACkB,CACrB,OACE,EAACA,EAAgB,OAAjB,CAAA,SACE,EAACA,EAAgB,QAAjB,CACE,YAAU,iBACV,qBAAoB,IAAa,eACjC,UAAW,EACT,2PACA,uIACA,8JACA,yCACA,IAAa,UACX,kIACF,CACF,EACU,WACH,QACP,GAAI,EAdN,SAAA,CAgBE,EAAC,qBAAD,CAAuB,CAAA,EACvB,EAACA,EAAgB,SAAjB,CACE,gBAAe,EACf,UAAW,EACT,2DACA,2FACF,EAEC,UACuB,CAAA,EAC1B,EAAC,uBAAD,CAAyB,CAAA,CACF,CACH,CAAA,CAAA,CAAA,CAE5B,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAACA,EAAgB,MAAjB,CACE,YAAU,eACV,UAAW,EAAG,4CAA6C,CAAS,EACpE,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,WAAW,CAAE,YAAW,WAAU,GAAG,GAA0B,CACtE,OACE,EAACA,EAAgB,KAAjB,CACE,YAAU,cACV,UAAW,EACT,8GACA,0HACA,oEACA,oFACA,6DACA,CACF,EACA,GAAI,EAVN,SAAA,CAYE,EAAC,OAAD,CAAM,UAAU,+EACd,SAAA,EAACA,EAAgB,cAAjB,CAAA,SACE,EAAC,EAAD,CAAW,UAAU,qBAAuB,CAAA,CACf,CAAA,CAC3B,CAAA,EACN,EAACA,EAAgB,SAAjB,CAA2B,UAAmC,CAAA,CAC1C,GAE1B,CAEA,SAAS,gBAAgB,CAAE,YAAW,GAAG,GAA+B,CACtE,OACE,EAACA,EAAgB,UAAjB,CACE,YAAU,mBACV,UAAW,EAAG,gDAAiD,CAAS,EACxE,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,qBAAqB,CAAE,YAAW,GAAG,GAAoC,CAChF,OACE,EAACA,EAAgB,eAAjB,CACE,YAAU,0BACV,UAAW,EACT,uEACA,uCACA,CACF,EACA,GAAI,EAEJ,SAAA,EAAC,EAAD,CAAgB,CAAA,CACc,CAAA,CAEpC,CAEA,SAAS,uBAAuB,CAAE,YAAW,GAAG,GAAsC,CACpF,OACE,EAACA,EAAgB,iBAAjB,CACE,YAAU,4BACV,UAAW,EACT,uEACA,uCACA,CACF,EACA,GAAI,EAEJ,SAAA,EAAC,EAAD,CAAkB,CAAA,CACc,CAAA,CAEtC"}
1
+ {"version":3,"file":"select.js","names":["SelectPrimitive","resolveClassName","Select$1","props","cn","className","state","toAsChildRenderProps","asChild","children","ariaInvalid","fieldControlId","useFieldControlId","id","invalid","useFieldInvalid","size","IconSelector","alignItemWithTrigger","IconCheck","IconChevronUp","IconChevronDown"],"sources":["../../src/components/select.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Select as SelectPrimitive } from '@base-ui/react/select'\nimport { IconCheck, IconChevronDown, IconChevronUp, IconSelector } from '@tabler/icons-react'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\nimport { useFieldControlId, useFieldInvalid } from './field'\n\nexport type SelectProps<Value = string, Multiple extends boolean | undefined = false> = SelectPrimitive.Root.Props<\n Value,\n Multiple\n>\n\nexport type SelectGroupProps = AsChildPrimitiveProps<typeof SelectPrimitive.Group>\n\nexport type SelectValueProps = AsChildPrimitiveProps<typeof SelectPrimitive.Value>\n\nexport type SelectTriggerProps = AsChildPrimitiveProps<typeof SelectPrimitive.Trigger> & {\n /**\n * Height of the trigger.\n * @default 'md'\n */\n size?: 'sm' | 'md'\n}\n\nexport type SelectContentProps = Omit<React.ComponentProps<typeof SelectPrimitive.Popup>, 'render'> &\n Pick<\n React.ComponentProps<typeof SelectPrimitive.Positioner>,\n 'side' | 'sideOffset' | 'align' | 'alignOffset' | 'alignItemWithTrigger' | 'sticky'\n >\n\nexport type SelectLabelProps = AsChildPrimitiveProps<typeof SelectPrimitive.GroupLabel>\n\nexport type SelectItemProps = Omit<React.ComponentProps<typeof SelectPrimitive.Item>, 'render'>\n\nexport type SelectSeparatorProps = AsChildPrimitiveProps<typeof SelectPrimitive.Separator>\n\nexport type SelectScrollUpButtonProps = AsChildPrimitiveProps<typeof SelectPrimitive.ScrollUpArrow>\n\nexport type SelectScrollDownButtonProps = AsChildPrimitiveProps<typeof SelectPrimitive.ScrollDownArrow>\n\nfunction Select<Value = string, Multiple extends boolean | undefined = false>({\n ...props\n}: SelectProps<Value, Multiple>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({ className, asChild, children, ...props }: SelectGroupProps) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={(state) => cn('scroll-my-1 p-1', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction SelectValue({ asChild, children, ...props }: SelectValueProps) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} {...toAsChildRenderProps(asChild, children)} />\n}\n\nfunction SelectTrigger({\n className,\n id,\n size = 'md',\n children,\n asChild,\n 'aria-invalid': ariaInvalid,\n ...props\n}: SelectTriggerProps) {\n const fieldControlId = useFieldControlId(id)\n const invalid = useFieldInvalid(ariaInvalid)\n\n return (\n <SelectPrimitive.Trigger\n id={fieldControlId}\n aria-invalid={invalid}\n data-slot=\"select-trigger\"\n data-size={size}\n className={(state) =>\n cn(\n 'border-input data-placeholder:text-placeholder dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-1.5 whitespace-nowrap rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none outline-none',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3',\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40',\n 'data-[size=md]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)]',\n '*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n {!asChild && children}\n {!asChild && (\n <SelectPrimitive.Icon render={<IconSelector className=\"text-muted-foreground size-4 pointer-events-none\" />} />\n )}\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n side = 'bottom',\n sideOffset = 4,\n align = 'center',\n alignOffset = 0,\n alignItemWithTrigger = true,\n sticky,\n ...props\n}: SelectContentProps) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n alignItemWithTrigger={alignItemWithTrigger}\n sticky={sticky}\n className=\"isolate z-50\"\n >\n <SelectPrimitive.Popup\n data-slot=\"select-content\"\n data-align-trigger={alignItemWithTrigger}\n className={(state) =>\n cn(\n 'bg-popover text-popover-foreground ring-foreground/10 relative isolate z-50 min-w-[max(--spacing(36),var(--anchor-width))] max-h-(--available-height) rounded-lg shadow-md ring-1 duration-100 origin-(--transform-origin) overflow-x-hidden overflow-y-auto',\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n 'data-[align-trigger=true]:animate-none',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.List>{children}</SelectPrimitive.List>\n <SelectScrollDownButton />\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({ className, asChild, children, ...props }: SelectLabelProps) {\n return (\n <SelectPrimitive.GroupLabel\n data-slot=\"select-label\"\n className={(state) => cn('text-muted-foreground px-1.5 py-1 text-xs', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction SelectItem({ className, children, ...props }: SelectItemProps) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={(state) =>\n cn(\n 'focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground',\n 'relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none',\n '*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2',\n \"[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n resolveClassName(className, state)\n )\n }\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <IconCheck className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText render={<span />}>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({ className, asChild, children, ...props }: SelectSeparatorProps) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={(state) => cn('bg-border -mx-1 my-1 h-px pointer-events-none', resolveClassName(className, state))}\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nfunction SelectScrollUpButton({ className, asChild, children, ...props }: SelectScrollUpButtonProps) {\n return (\n <SelectPrimitive.ScrollUpArrow\n data-slot=\"select-scroll-up-button\"\n className={(state) =>\n cn(\n 'bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n <IconChevronUp />\n </SelectPrimitive.ScrollUpArrow>\n )\n}\n\nfunction SelectScrollDownButton({ className, asChild, children, ...props }: SelectScrollDownButtonProps) {\n return (\n <SelectPrimitive.ScrollDownArrow\n data-slot=\"select-scroll-down-button\"\n className={(state) =>\n cn(\n 'bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1',\n \"[&_svg:not([class*='size-'])]:size-4\",\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n >\n <IconChevronDown />\n </SelectPrimitive.ScrollDownArrow>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n}\n"],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import { t as __name } from "../rolldown-runtime-BhWHdk3m.js";
2
- import { Separator as Separator$1 } from "radix-ui";
3
- import * as React from "react";
2
+ import { t as AsChildPrimitiveProps } from "../as-child-Dxg3Xo1G.js";
3
+ import { Separator as Separator$1 } from "@base-ui/react/separator";
4
4
  //#region src/components/separator.d.ts
5
- export type SeparatorProps = React.ComponentProps<typeof Separator$1.Root>;
6
- declare function Separator({ className, orientation, decorative, ...props }: SeparatorProps): React.JSX.Element;
5
+ export type SeparatorProps = AsChildPrimitiveProps<typeof Separator$1> & {
6
+ /**
7
+ * When `true` (default), the separator is purely visual and hidden from assistive technology.
8
+ */
9
+ decorative?: boolean;
10
+ };
11
+ declare function Separator({ className, orientation, decorative, asChild, children, ...props }: SeparatorProps): import("react").JSX.Element;
7
12
  //#endregion
8
13
  export { Separator };
9
14
  //# sourceMappingURL=separator.d.ts.map
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-BhWHdk3m.js";import{cn as e}from"../lib/utils.js";import{Separator as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function Separator({className:r,orientation:i=`horizontal`,decorative:a=!0,...o}){return n(t.Root,{"data-slot":`separator`,decorative:a,orientation:i,className:e(`bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,r),...o})}export{Separator};
1
+ import"../rolldown-runtime-BhWHdk3m.js";import{toAsChildRenderProps as e}from"../lib/as-child.js";import{cn as t}from"../lib/utils.js";import{t as n}from"../resolve-class-name-BurP8ngI.js";import{jsx as r}from"react/jsx-runtime";import{Separator as i}from"@base-ui/react/separator";function Separator({className:a,orientation:o=`horizontal`,decorative:s=!0,asChild:c,children:l,...u}){return/* @__PURE__ */ r(i,{"data-slot":`separator`,orientation:o,...s&&{role:`none`,"aria-orientation":void 0},className:e=>t(`bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,n(a,e)),...u,...e(c,l)})}export{Separator};
2
2
  //# sourceMappingURL=separator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator.js","names":["SeparatorPrimitive"],"sources":["../../src/components/separator.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { Separator as SeparatorPrimitive } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nexport type SeparatorProps = React.ComponentProps<typeof SeparatorPrimitive.Root>\n\nfunction Separator({ className, orientation = 'horizontal', decorative = true, ...props }: SeparatorProps) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"mappings":"0JAQA,SAAS,UAAU,CAAE,YAAW,cAAc,aAAc,aAAa,GAAM,GAAG,GAAyB,CACzG,OACE,EAACA,EAAmB,KAApB,CACE,YAAU,YACE,aACC,cACb,UAAW,EACT,+GACA,CACF,EACA,GAAI,CACL,CAAA,CAEL"}
1
+ {"version":3,"file":"separator.js","names":["SeparatorPrimitive","resolveClassName","Separator$1","props","decorative","cn","className","state","toAsChildRenderProps","asChild","children"],"sources":["../../src/components/separator.tsx"],"sourcesContent":["import { Separator as SeparatorPrimitive } from '@base-ui/react/separator'\n\nimport { type AsChildPrimitiveProps, toAsChildRenderProps } from '../lib/as-child'\nimport { cn } from '../lib/utils'\nimport { resolveClassName } from '../utils/resolve-class-name'\n\nexport type SeparatorProps = AsChildPrimitiveProps<typeof SeparatorPrimitive> & {\n /**\n * When `true` (default), the separator is purely visual and hidden from assistive technology.\n */\n decorative?: boolean\n}\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n asChild,\n children,\n ...props\n}: SeparatorProps) {\n return (\n <SeparatorPrimitive\n data-slot=\"separator\"\n orientation={orientation}\n {...(decorative && { role: 'none', 'aria-orientation': undefined })}\n className={(state) =>\n cn(\n 'bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch',\n resolveClassName(className, state)\n )\n }\n {...props}\n {...toAsChildRenderProps(asChild, children)}\n />\n )\n}\n\nexport { Separator }\n"],"mappings":"0RAaA,SAAS,UAAU,CACjB,YACA,cAAc,aACd,aAAa,GACb,UACA,WACA,GAAGG,GACc,CACjB,MACE,kBAACH,EAAD,CACE,YAAU,YACG,cACb,GAAKI,GAAc,CAAE,KAAM,OAAQ,mBAAoB,IAAA,EAAU,EACjE,UAAY,GACVC,EACE,+GACAJ,EAAiBK,EAAWC,CAAK,CACnC,EAEF,GAAIJ,EACJ,GAAIK,EAAqBC,EAASC,CAAQ,CAC3C,CAAA,CAEL"}