@badnpm/ui 0.0.0 → 0.0.1

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 (283) hide show
  1. package/README.md +11 -11
  2. package/dist/cjs/components/accordion.cjs +24 -0
  3. package/dist/cjs/components/alert-dialog.cjs +56 -0
  4. package/dist/cjs/components/alert.cjs +34 -0
  5. package/dist/cjs/components/aspect-ratio.cjs +12 -0
  6. package/dist/cjs/components/attachment.cjs +80 -0
  7. package/dist/cjs/components/avatar.cjs +31 -0
  8. package/dist/cjs/components/badge.cjs +38 -0
  9. package/dist/cjs/components/breadcrumb.cjs +46 -0
  10. package/dist/cjs/components/bubble.cjs +66 -0
  11. package/dist/cjs/components/button-group.cjs +43 -0
  12. package/dist/cjs/components/calendar.cjs +100 -0
  13. package/dist/cjs/components/card.cjs +34 -0
  14. package/dist/cjs/components/carousel.cjs +113 -0
  15. package/dist/cjs/components/chart.cjs +160 -0
  16. package/dist/cjs/components/checkbox.cjs +13 -0
  17. package/dist/cjs/components/code-block.cjs +110 -0
  18. package/dist/cjs/components/collapsible.cjs +18 -0
  19. package/dist/cjs/components/combobox.cjs +96 -0
  20. package/dist/cjs/components/command.cjs +46 -0
  21. package/dist/cjs/components/context-menu.cjs +69 -0
  22. package/dist/cjs/components/dialog.cjs +50 -0
  23. package/dist/cjs/components/drawer.cjs +108 -0
  24. package/dist/cjs/components/dropdown-menu.cjs +68 -0
  25. package/dist/cjs/components/empty.cjs +42 -0
  26. package/dist/cjs/components/field.cjs +80 -0
  27. package/dist/cjs/components/hover-card.cjs +20 -0
  28. package/dist/cjs/components/input-group.cjs +66 -0
  29. package/dist/cjs/components/input-otp.cjs +46 -0
  30. package/dist/cjs/components/item.cjs +91 -0
  31. package/dist/cjs/components/kbd.cjs +14 -0
  32. package/dist/cjs/components/label.cjs +11 -0
  33. package/dist/cjs/components/marker.cjs +41 -0
  34. package/dist/cjs/components/menubar.cjs +75 -0
  35. package/dist/cjs/components/message-scroller.cjs +45 -0
  36. package/dist/cjs/components/message.cjs +30 -0
  37. package/dist/cjs/components/native-select.cjs +19 -0
  38. package/dist/cjs/components/navigation-menu.cjs +43 -0
  39. package/dist/cjs/components/pagination.cjs +36 -0
  40. package/dist/cjs/components/popover.cjs +31 -0
  41. package/dist/cjs/components/progress.cjs +28 -0
  42. package/dist/cjs/components/questionnaire.cjs +70 -0
  43. package/dist/cjs/components/radio-group.cjs +16 -0
  44. package/dist/cjs/components/resizable.cjs +39 -0
  45. package/dist/cjs/components/scroll-area.cjs +15 -0
  46. package/dist/cjs/components/select.cjs +47 -0
  47. package/dist/cjs/components/separator.cjs +11 -0
  48. package/dist/cjs/components/sheet.cjs +47 -0
  49. package/dist/cjs/components/sidebar.cjs +301 -0
  50. package/dist/cjs/components/skeleton.cjs +10 -0
  51. package/dist/cjs/components/slider.cjs +16 -0
  52. package/dist/cjs/components/spinner.cjs +11 -0
  53. package/dist/cjs/components/switch.cjs +12 -0
  54. package/dist/cjs/components/table.cjs +38 -0
  55. package/dist/cjs/components/tabs.cjs +37 -0
  56. package/dist/cjs/components/textarea.cjs +10 -0
  57. package/dist/cjs/components/toast.cjs +82 -0
  58. package/dist/cjs/components/toggle-group.cjs +47 -0
  59. package/dist/cjs/components/toggle.cjs +30 -0
  60. package/dist/cjs/components/tooltip.cjs +24 -0
  61. package/dist/cjs/components/trace.cjs +40 -0
  62. package/dist/cjs/hooks/use-highlighted-code.cjs +73 -0
  63. package/dist/cjs/hooks/use-hydrated.cjs +2 -2
  64. package/dist/cjs/hooks/use-mobile.cjs +36 -0
  65. package/dist/cjs/index.cjs +467 -0
  66. package/dist/cjs/lib/highlighter.cjs +96 -0
  67. package/dist/cjs/providers/preference-provider.cjs +13 -13
  68. package/dist/cjs/providers/theme-provider.cjs +10 -10
  69. package/dist/cjs/types/components/accordion.d.ts +9 -0
  70. package/dist/cjs/types/components/alert-dialog.d.ts +20 -0
  71. package/dist/cjs/types/components/alert.d.ts +13 -0
  72. package/dist/cjs/types/components/aspect-ratio.d.ts +7 -0
  73. package/dist/cjs/types/components/attachment.d.ts +26 -0
  74. package/dist/cjs/types/components/avatar.d.ts +13 -0
  75. package/dist/cjs/types/components/badge.d.ts +11 -0
  76. package/dist/cjs/types/components/breadcrumb.d.ts +12 -0
  77. package/dist/cjs/types/components/bubble.d.ts +19 -0
  78. package/dist/cjs/types/components/button-group.d.ts +14 -0
  79. package/dist/cjs/types/components/button.d.ts +4 -4
  80. package/dist/cjs/types/components/calendar.d.ts +12 -0
  81. package/dist/cjs/types/components/card.d.ts +13 -0
  82. package/dist/cjs/types/components/carousel.d.ts +31 -0
  83. package/dist/cjs/types/components/chart.d.ts +47 -0
  84. package/dist/cjs/types/components/checkbox.d.ts +6 -0
  85. package/dist/cjs/types/components/code-block.d.ts +29 -0
  86. package/dist/cjs/types/components/collapsible.d.ts +8 -0
  87. package/dist/cjs/types/components/combobox.d.ts +26 -0
  88. package/dist/cjs/types/components/command.d.ts +21 -0
  89. package/dist/cjs/types/components/context-menu.d.ts +31 -0
  90. package/dist/cjs/types/components/dialog.d.ts +19 -0
  91. package/dist/cjs/types/components/direction.d.ts +1 -0
  92. package/dist/cjs/types/components/drawer.d.ts +18 -0
  93. package/dist/cjs/types/components/dropdown-menu.d.ts +31 -0
  94. package/dist/cjs/types/components/empty.d.ts +15 -0
  95. package/dist/cjs/types/components/field.d.ts +28 -0
  96. package/dist/cjs/types/components/hover-card.d.ts +8 -0
  97. package/dist/cjs/types/components/index.d.ts +62 -0
  98. package/dist/cjs/types/components/input-group.d.ts +21 -0
  99. package/dist/cjs/types/components/input-otp.d.ts +13 -0
  100. package/dist/cjs/types/components/input.d.ts +2 -2
  101. package/dist/cjs/types/components/item.d.ts +25 -0
  102. package/dist/cjs/types/components/kbd.d.ts +6 -0
  103. package/dist/cjs/types/components/label.d.ts +5 -0
  104. package/dist/cjs/types/components/marker.d.ts +13 -0
  105. package/dist/cjs/types/components/menubar.d.ts +31 -0
  106. package/dist/cjs/types/components/message-scroller.d.ts +13 -0
  107. package/dist/cjs/types/components/message.d.ts +12 -0
  108. package/dist/cjs/types/components/native-select.d.ts +10 -0
  109. package/dist/cjs/types/components/navigation-menu.d.ts +15 -0
  110. package/dist/cjs/types/components/pagination.d.ts +19 -0
  111. package/dist/cjs/types/components/popover.d.ts +11 -0
  112. package/dist/cjs/types/components/progress.d.ts +10 -0
  113. package/dist/cjs/types/components/questionnaire.d.ts +21 -0
  114. package/dist/cjs/types/components/radio-group.d.ts +8 -0
  115. package/dist/cjs/types/components/resizable.d.ts +10 -0
  116. package/dist/cjs/types/components/scroll-area.d.ts +7 -0
  117. package/dist/cjs/types/components/select.d.ts +17 -0
  118. package/dist/cjs/types/components/separator.d.ts +6 -0
  119. package/dist/cjs/types/components/sheet.d.ts +16 -0
  120. package/dist/cjs/types/components/sidebar.d.ts +66 -0
  121. package/dist/cjs/types/components/skeleton.d.ts +5 -0
  122. package/dist/cjs/types/components/slider.d.ts +6 -0
  123. package/dist/cjs/types/components/spinner.d.ts +5 -0
  124. package/dist/cjs/types/components/switch.d.ts +8 -0
  125. package/dist/cjs/types/components/table.d.ts +12 -0
  126. package/dist/cjs/types/components/tabs.d.ts +14 -0
  127. package/dist/cjs/types/components/textarea.d.ts +5 -0
  128. package/dist/cjs/types/components/theme-toggle.d.ts +2 -2
  129. package/dist/cjs/types/components/toast.d.ts +19 -0
  130. package/dist/cjs/types/components/toggle-group.d.ts +13 -0
  131. package/dist/cjs/types/components/toggle.d.ts +12 -0
  132. package/dist/cjs/types/components/tooltip.d.ts +9 -0
  133. package/dist/cjs/types/components/trace.d.ts +20 -0
  134. package/dist/cjs/types/hooks/index.d.ts +2 -0
  135. package/dist/cjs/types/hooks/use-highlighted-code.d.ts +3 -0
  136. package/dist/cjs/types/hooks/use-mobile.d.ts +3 -0
  137. package/dist/cjs/types/index.d.ts +65 -0
  138. package/dist/cjs/types/lib/highlighter.d.ts +11 -0
  139. package/dist/cjs/types/lib/index.d.ts +1 -0
  140. package/dist/cjs/types/providers/preference-provider.d.ts +2 -2
  141. package/dist/cjs/types/providers/theme-provider.d.ts +2 -2
  142. package/dist/esm/components/accordion.js +19 -0
  143. package/dist/esm/components/alert-dialog.js +43 -0
  144. package/dist/esm/components/alert.js +29 -0
  145. package/dist/esm/components/aspect-ratio.js +10 -0
  146. package/dist/esm/components/attachment.js +70 -0
  147. package/dist/esm/components/avatar.js +24 -0
  148. package/dist/esm/components/badge.js +35 -0
  149. package/dist/esm/components/breadcrumb.js +38 -0
  150. package/dist/esm/components/bubble.js +61 -0
  151. package/dist/esm/components/button-group.js +38 -0
  152. package/dist/esm/components/calendar.js +78 -0
  153. package/dist/esm/components/card.js +26 -0
  154. package/dist/esm/components/carousel.js +87 -0
  155. package/dist/esm/components/chart.js +133 -0
  156. package/dist/esm/components/checkbox.js +11 -0
  157. package/dist/esm/components/code-block.js +82 -0
  158. package/dist/esm/components/collapsible.js +14 -0
  159. package/dist/esm/components/combobox.js +60 -0
  160. package/dist/esm/components/command.js +36 -0
  161. package/dist/esm/components/context-menu.js +53 -0
  162. package/dist/esm/components/dialog.js +39 -0
  163. package/dist/esm/components/drawer.js +77 -0
  164. package/dist/esm/components/dropdown-menu.js +52 -0
  165. package/dist/esm/components/empty.js +35 -0
  166. package/dist/esm/components/field.js +69 -0
  167. package/dist/esm/components/hover-card.js +16 -0
  168. package/dist/esm/components/input-group.js +59 -0
  169. package/dist/esm/components/input-otp.js +22 -0
  170. package/dist/esm/components/item.js +80 -0
  171. package/dist/esm/components/kbd.js +11 -0
  172. package/dist/esm/components/label.js +9 -0
  173. package/dist/esm/components/marker.js +36 -0
  174. package/dist/esm/components/menubar.js +58 -0
  175. package/dist/esm/components/message-scroller.js +27 -0
  176. package/dist/esm/components/message.js +23 -0
  177. package/dist/esm/components/native-select.js +15 -0
  178. package/dist/esm/components/navigation-menu.js +33 -0
  179. package/dist/esm/components/pagination.js +28 -0
  180. package/dist/esm/components/popover.js +24 -0
  181. package/dist/esm/components/progress.js +22 -0
  182. package/dist/esm/components/questionnaire.js +54 -0
  183. package/dist/esm/components/radio-group.js +13 -0
  184. package/dist/esm/components/resizable.js +16 -0
  185. package/dist/esm/components/scroll-area.js +12 -0
  186. package/dist/esm/components/select.js +36 -0
  187. package/dist/esm/components/separator.js +9 -0
  188. package/dist/esm/components/sheet.js +38 -0
  189. package/dist/esm/components/sidebar.js +257 -0
  190. package/dist/esm/components/skeleton.js +8 -0
  191. package/dist/esm/components/slider.js +14 -0
  192. package/dist/esm/components/spinner.js +9 -0
  193. package/dist/esm/components/switch.js +10 -0
  194. package/dist/esm/components/table.js +29 -0
  195. package/dist/esm/components/tabs.js +31 -0
  196. package/dist/esm/components/textarea.js +8 -0
  197. package/dist/esm/components/toast.js +68 -0
  198. package/dist/esm/components/toggle-group.js +25 -0
  199. package/dist/esm/components/toggle.js +27 -0
  200. package/dist/esm/components/tooltip.js +19 -0
  201. package/dist/esm/components/trace.js +31 -0
  202. package/dist/esm/hooks/use-highlighted-code.js +52 -0
  203. package/dist/esm/hooks/use-mobile.js +15 -0
  204. package/dist/esm/index.js +65 -0
  205. package/dist/esm/lib/highlighter.js +93 -0
  206. package/dist/styles/custom.css +2 -0
  207. package/dist/styles/index.css +1 -1
  208. package/dist/types/components/accordion.d.ts +9 -0
  209. package/dist/types/components/alert-dialog.d.ts +20 -0
  210. package/dist/types/components/alert.d.ts +13 -0
  211. package/dist/types/components/aspect-ratio.d.ts +7 -0
  212. package/dist/types/components/attachment.d.ts +26 -0
  213. package/dist/types/components/avatar.d.ts +13 -0
  214. package/dist/types/components/badge.d.ts +11 -0
  215. package/dist/types/components/breadcrumb.d.ts +12 -0
  216. package/dist/types/components/bubble.d.ts +19 -0
  217. package/dist/types/components/button-group.d.ts +14 -0
  218. package/dist/types/components/button.d.ts +4 -4
  219. package/dist/types/components/calendar.d.ts +12 -0
  220. package/dist/types/components/card.d.ts +13 -0
  221. package/dist/types/components/carousel.d.ts +31 -0
  222. package/dist/types/components/chart.d.ts +47 -0
  223. package/dist/types/components/checkbox.d.ts +6 -0
  224. package/dist/types/components/code-block.d.ts +29 -0
  225. package/dist/types/components/collapsible.d.ts +8 -0
  226. package/dist/types/components/combobox.d.ts +26 -0
  227. package/dist/types/components/command.d.ts +21 -0
  228. package/dist/types/components/context-menu.d.ts +31 -0
  229. package/dist/types/components/dialog.d.ts +19 -0
  230. package/dist/types/components/direction.d.ts +1 -0
  231. package/dist/types/components/drawer.d.ts +18 -0
  232. package/dist/types/components/dropdown-menu.d.ts +31 -0
  233. package/dist/types/components/empty.d.ts +15 -0
  234. package/dist/types/components/field.d.ts +28 -0
  235. package/dist/types/components/hover-card.d.ts +8 -0
  236. package/dist/types/components/index.d.ts +62 -0
  237. package/dist/types/components/input-group.d.ts +21 -0
  238. package/dist/types/components/input-otp.d.ts +13 -0
  239. package/dist/types/components/input.d.ts +2 -2
  240. package/dist/types/components/item.d.ts +25 -0
  241. package/dist/types/components/kbd.d.ts +6 -0
  242. package/dist/types/components/label.d.ts +5 -0
  243. package/dist/types/components/marker.d.ts +13 -0
  244. package/dist/types/components/menubar.d.ts +31 -0
  245. package/dist/types/components/message-scroller.d.ts +13 -0
  246. package/dist/types/components/message.d.ts +12 -0
  247. package/dist/types/components/native-select.d.ts +10 -0
  248. package/dist/types/components/navigation-menu.d.ts +15 -0
  249. package/dist/types/components/pagination.d.ts +19 -0
  250. package/dist/types/components/popover.d.ts +11 -0
  251. package/dist/types/components/progress.d.ts +10 -0
  252. package/dist/types/components/questionnaire.d.ts +21 -0
  253. package/dist/types/components/radio-group.d.ts +8 -0
  254. package/dist/types/components/resizable.d.ts +10 -0
  255. package/dist/types/components/scroll-area.d.ts +7 -0
  256. package/dist/types/components/select.d.ts +17 -0
  257. package/dist/types/components/separator.d.ts +6 -0
  258. package/dist/types/components/sheet.d.ts +16 -0
  259. package/dist/types/components/sidebar.d.ts +66 -0
  260. package/dist/types/components/skeleton.d.ts +5 -0
  261. package/dist/types/components/slider.d.ts +6 -0
  262. package/dist/types/components/spinner.d.ts +5 -0
  263. package/dist/types/components/switch.d.ts +8 -0
  264. package/dist/types/components/table.d.ts +12 -0
  265. package/dist/types/components/tabs.d.ts +14 -0
  266. package/dist/types/components/textarea.d.ts +5 -0
  267. package/dist/types/components/theme-toggle.d.ts +2 -2
  268. package/dist/types/components/toast.d.ts +19 -0
  269. package/dist/types/components/toggle-group.d.ts +13 -0
  270. package/dist/types/components/toggle.d.ts +12 -0
  271. package/dist/types/components/tooltip.d.ts +9 -0
  272. package/dist/types/components/trace.d.ts +20 -0
  273. package/dist/types/hooks/index.d.ts +2 -0
  274. package/dist/types/hooks/use-highlighted-code.d.ts +3 -0
  275. package/dist/types/hooks/use-mobile.d.ts +3 -0
  276. package/dist/types/index.d.ts +65 -0
  277. package/dist/types/lib/highlighter.d.ts +11 -0
  278. package/dist/types/lib/index.d.ts +1 -0
  279. package/dist/types/providers/preference-provider.d.ts +2 -2
  280. package/dist/types/providers/theme-provider.d.ts +2 -2
  281. package/dist/umd/index.js +86764 -3487
  282. package/package.json +39 -4
  283. package/dist/styles/body.css +0 -7
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var mergeProps = require('@base-ui/react/merge-props');
5
+ var useRender = require('@base-ui/react/use-render');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var cn = require('cn');
8
+ var separator = require('./separator.cjs');
9
+
10
+ function ItemGroup({ className, ...props }) {
11
+ return (jsxRuntime.jsx("div", { role: "list", "data-slot": "item-group", className: cn.cn("group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2", className), ...props }));
12
+ }
13
+ function ItemSeparator({ className, ...props }) {
14
+ return (jsxRuntime.jsx(separator.Separator, { "data-slot": "item-separator", orientation: "horizontal", className: cn.cn("my-2", className), ...props }));
15
+ }
16
+ const itemVariants = classVarianceAuthority.cva("group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted", {
17
+ variants: {
18
+ variant: {
19
+ default: "border-transparent",
20
+ outline: "border-border",
21
+ muted: "border-transparent bg-muted/50",
22
+ },
23
+ size: {
24
+ default: "gap-2.5 px-3 py-2.5",
25
+ sm: "gap-2.5 px-3 py-2.5",
26
+ xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0",
27
+ },
28
+ },
29
+ defaultVariants: {
30
+ variant: "default",
31
+ size: "default",
32
+ },
33
+ });
34
+ function Item({ className, variant = "default", size = "default", render, ...props }) {
35
+ return useRender.useRender({
36
+ defaultTagName: "div",
37
+ props: mergeProps.mergeProps({
38
+ className: cn.cn(itemVariants({ variant, size, className })),
39
+ }, props),
40
+ render,
41
+ state: {
42
+ slot: "item",
43
+ variant,
44
+ size,
45
+ },
46
+ });
47
+ }
48
+ const itemMediaVariants = classVarianceAuthority.cva("flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none", {
49
+ variants: {
50
+ variant: {
51
+ default: "bg-transparent",
52
+ icon: "[&_svg:not([class*='size-'])]:size-4",
53
+ image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover",
54
+ },
55
+ },
56
+ defaultVariants: {
57
+ variant: "default",
58
+ },
59
+ });
60
+ function ItemMedia({ className, variant = "default", ...props }) {
61
+ return (jsxRuntime.jsx("div", { "data-slot": "item-media", "data-variant": variant, className: cn.cn(itemMediaVariants({ variant, className })), ...props }));
62
+ }
63
+ function ItemContent({ className, ...props }) {
64
+ return (jsxRuntime.jsx("div", { "data-slot": "item-content", className: cn.cn("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className), ...props }));
65
+ }
66
+ function ItemTitle({ className, ...props }) {
67
+ return (jsxRuntime.jsx("div", { "data-slot": "item-title", className: cn.cn("line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", className), ...props }));
68
+ }
69
+ function ItemDescription({ className, ...props }) {
70
+ return (jsxRuntime.jsx("p", { "data-slot": "item-description", className: cn.cn("line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className), ...props }));
71
+ }
72
+ function ItemActions({ className, ...props }) {
73
+ return (jsxRuntime.jsx("div", { "data-slot": "item-actions", className: cn.cn("flex items-center gap-2", className), ...props }));
74
+ }
75
+ function ItemHeader({ className, ...props }) {
76
+ return (jsxRuntime.jsx("div", { "data-slot": "item-header", className: cn.cn("flex basis-full items-center justify-between gap-2", className), ...props }));
77
+ }
78
+ function ItemFooter({ className, ...props }) {
79
+ return (jsxRuntime.jsx("div", { "data-slot": "item-footer", className: cn.cn("flex basis-full items-center justify-between gap-2", className), ...props }));
80
+ }
81
+
82
+ exports.Item = Item;
83
+ exports.ItemActions = ItemActions;
84
+ exports.ItemContent = ItemContent;
85
+ exports.ItemDescription = ItemDescription;
86
+ exports.ItemFooter = ItemFooter;
87
+ exports.ItemGroup = ItemGroup;
88
+ exports.ItemHeader = ItemHeader;
89
+ exports.ItemMedia = ItemMedia;
90
+ exports.ItemSeparator = ItemSeparator;
91
+ exports.ItemTitle = ItemTitle;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var cn = require('cn');
5
+
6
+ function Kbd({ className, ...props }) {
7
+ return (jsxRuntime.jsx("kbd", { "data-slot": "kbd", className: cn.cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3", className), ...props }));
8
+ }
9
+ function KbdGroup({ className, ...props }) {
10
+ return (jsxRuntime.jsx("kbd", { "data-slot": "kbd-group", className: cn.cn("inline-flex items-center gap-1", className), ...props }));
11
+ }
12
+
13
+ exports.Kbd = Kbd;
14
+ exports.KbdGroup = KbdGroup;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var cn = require('cn');
6
+
7
+ function Label({ className, ...props }) {
8
+ return (jsxRuntime.jsx("label", { "data-slot": "label", className: cn.cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
9
+ }
10
+
11
+ exports.Label = Label;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var mergeProps = require('@base-ui/react/merge-props');
5
+ var useRender = require('@base-ui/react/use-render');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var cn = require('cn');
8
+
9
+ const markerVariants = classVarianceAuthority.cva("group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground", {
10
+ variants: {
11
+ variant: {
12
+ default: "",
13
+ separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
14
+ border: "border-b border-border pb-2",
15
+ },
16
+ },
17
+ });
18
+ function Marker({ className, variant = "default", render, ...props }) {
19
+ return useRender.useRender({
20
+ defaultTagName: "div",
21
+ props: mergeProps.mergeProps({
22
+ className: cn.cn(markerVariants({ variant, className })),
23
+ }, props),
24
+ render,
25
+ state: {
26
+ slot: "marker",
27
+ variant,
28
+ },
29
+ });
30
+ }
31
+ function MarkerIcon({ className, ...props }) {
32
+ return (jsxRuntime.jsx("span", { "data-slot": "marker-icon", "aria-hidden": "true", className: cn.cn("size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
33
+ }
34
+ function MarkerContent({ className, ...props }) {
35
+ return (jsxRuntime.jsx("span", { "data-slot": "marker-content", className: cn.cn("min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className), ...props }));
36
+ }
37
+
38
+ exports.Marker = Marker;
39
+ exports.MarkerContent = MarkerContent;
40
+ exports.MarkerIcon = MarkerIcon;
41
+ exports.markerVariants = markerVariants;
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var menu = require('@base-ui/react/menu');
6
+ var menubar = require('@base-ui/react/menubar');
7
+ var cn = require('cn');
8
+ var dropdownMenu = require('./dropdown-menu.cjs');
9
+ var lucideReact = require('lucide-react');
10
+
11
+ function Menubar({ className, ...props }) {
12
+ return (jsxRuntime.jsx(menubar.Menubar, { "data-slot": "menubar", className: cn.cn("flex h-8 items-center gap-0.5 rounded-lg border p-[3px]", className), ...props }));
13
+ }
14
+ function MenubarMenu({ ...props }) {
15
+ return jsxRuntime.jsx(dropdownMenu.DropdownMenu, { "data-slot": "menubar-menu", ...props });
16
+ }
17
+ function MenubarGroup({ ...props }) {
18
+ return jsxRuntime.jsx(dropdownMenu.DropdownMenuGroup, { "data-slot": "menubar-group", ...props });
19
+ }
20
+ function MenubarPortal({ ...props }) {
21
+ return jsxRuntime.jsx(dropdownMenu.DropdownMenuPortal, { "data-slot": "menubar-portal", ...props });
22
+ }
23
+ function MenubarTrigger({ className, ...props }) {
24
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuTrigger, { "data-slot": "menubar-trigger", className: cn.cn("flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", className), ...props }));
25
+ }
26
+ function MenubarContent({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) {
27
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuContent, { "data-slot": "menubar-content", align: align, alignOffset: alignOffset, sideOffset: sideOffset, className: cn.cn("min-w-36 rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", className), ...props }));
28
+ }
29
+ function MenubarItem({ className, inset, variant = "default", ...props }) {
30
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuItem, { "data-slot": "menubar-item", "data-inset": inset, "data-variant": variant, className: cn.cn("group/menubar-item gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!", className), ...props }));
31
+ }
32
+ function MenubarCheckboxItem({ className, children, checked, inset, ...props }) {
33
+ return (jsxRuntime.jsxs(menu.Menu.CheckboxItem, { "data-slot": "menubar-checkbox-item", "data-inset": inset, className: cn.cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), checked: checked, ...props, children: [jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: jsxRuntime.jsx(menu.Menu.CheckboxItemIndicator, { children: jsxRuntime.jsx(lucideReact.CheckIcon, {}) }) }), children] }));
34
+ }
35
+ function MenubarRadioGroup({ ...props }) {
36
+ return jsxRuntime.jsx(dropdownMenu.DropdownMenuRadioGroup, { "data-slot": "menubar-radio-group", ...props });
37
+ }
38
+ function MenubarRadioItem({ className, children, inset, ...props }) {
39
+ return (jsxRuntime.jsxs(menu.Menu.RadioItem, { "data-slot": "menubar-radio-item", "data-inset": inset, className: cn.cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: jsxRuntime.jsx(menu.Menu.RadioItemIndicator, { children: jsxRuntime.jsx(lucideReact.CheckIcon, {}) }) }), children] }));
40
+ }
41
+ function MenubarLabel({ className, inset, ...props }) {
42
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuLabel, { "data-slot": "menubar-label", "data-inset": inset, className: cn.cn("px-1.5 py-1 text-sm font-medium data-inset:pl-7", className), ...props }));
43
+ }
44
+ function MenubarSeparator({ className, ...props }) {
45
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuSeparator, { "data-slot": "menubar-separator", className: cn.cn("-mx-1 my-1 h-px bg-border", className), ...props }));
46
+ }
47
+ function MenubarShortcut({ className, ...props }) {
48
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuShortcut, { "data-slot": "menubar-shortcut", className: cn.cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className), ...props }));
49
+ }
50
+ function MenubarSub({ ...props }) {
51
+ return jsxRuntime.jsx(dropdownMenu.DropdownMenuSub, { "data-slot": "menubar-sub", ...props });
52
+ }
53
+ function MenubarSubTrigger({ className, inset, ...props }) {
54
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuSubTrigger, { "data-slot": "menubar-sub-trigger", "data-inset": inset, className: cn.cn("gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4", className), ...props }));
55
+ }
56
+ function MenubarSubContent({ className, ...props }) {
57
+ return (jsxRuntime.jsx(dropdownMenu.DropdownMenuSubContent, { "data-slot": "menubar-sub-content", className: cn.cn("min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 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-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }));
58
+ }
59
+
60
+ exports.Menubar = Menubar;
61
+ exports.MenubarCheckboxItem = MenubarCheckboxItem;
62
+ exports.MenubarContent = MenubarContent;
63
+ exports.MenubarGroup = MenubarGroup;
64
+ exports.MenubarItem = MenubarItem;
65
+ exports.MenubarLabel = MenubarLabel;
66
+ exports.MenubarMenu = MenubarMenu;
67
+ exports.MenubarPortal = MenubarPortal;
68
+ exports.MenubarRadioGroup = MenubarRadioGroup;
69
+ exports.MenubarRadioItem = MenubarRadioItem;
70
+ exports.MenubarSeparator = MenubarSeparator;
71
+ exports.MenubarShortcut = MenubarShortcut;
72
+ exports.MenubarSub = MenubarSub;
73
+ exports.MenubarSubContent = MenubarSubContent;
74
+ exports.MenubarSubTrigger = MenubarSubTrigger;
75
+ exports.MenubarTrigger = MenubarTrigger;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var messageScroller = require('@shadcn/react/message-scroller');
5
+ var cn = require('cn');
6
+ var button = require('./button.cjs');
7
+ var lucideReact = require('lucide-react');
8
+
9
+ function MessageScrollerProvider(props) {
10
+ return jsxRuntime.jsx(messageScroller.MessageScroller.Provider, { ...props });
11
+ }
12
+ function MessageScroller({ className, ...props }) {
13
+ return (jsxRuntime.jsx(messageScroller.MessageScroller.Root, { "data-slot": "message-scroller", className: cn.cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className), ...props }));
14
+ }
15
+ function MessageScrollerViewport({ className, ...props }) {
16
+ return (jsxRuntime.jsx(messageScroller.MessageScroller.Viewport, { "data-slot": "message-scroller-viewport", className: cn.cn("size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible", className), ...props }));
17
+ }
18
+ function MessageScrollerContent({ className, ...props }) {
19
+ return (jsxRuntime.jsx(messageScroller.MessageScroller.Content, { "data-slot": "message-scroller-content", className: cn.cn("flex h-max min-h-full flex-col gap-6", className), ...props }));
20
+ }
21
+ function MessageScrollerItem({ className, scrollAnchor = false, ...props }) {
22
+ return (jsxRuntime.jsx(messageScroller.MessageScroller.Item, { "data-slot": "message-scroller-item", scrollAnchor: scrollAnchor, className: cn.cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className), ...props }));
23
+ }
24
+ function MessageScrollerButton({ direction = "end", className, children, render, variant = "secondary", size = "icon-sm", ...props }) {
25
+ return (jsxRuntime.jsx(messageScroller.MessageScroller.Button, { "data-slot": "message-scroller-button", "data-direction": direction, "data-variant": variant, "data-size": size, direction: direction, className: cn.cn("absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180", className), render: render ?? jsxRuntime.jsx(button.Button, { variant: variant, size: size }), ...props, children: children ?? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(lucideReact.ArrowDownIcon, {}), jsxRuntime.jsx("span", { className: "sr-only", children: direction === "end" ? "Scroll to end" : "Scroll to start" })] })) }));
26
+ }
27
+
28
+ Object.defineProperty(exports, "useMessageScroller", {
29
+ enumerable: true,
30
+ get: function () { return messageScroller.useMessageScroller; }
31
+ });
32
+ Object.defineProperty(exports, "useMessageScrollerScrollable", {
33
+ enumerable: true,
34
+ get: function () { return messageScroller.useMessageScrollerScrollable; }
35
+ });
36
+ Object.defineProperty(exports, "useMessageScrollerVisibility", {
37
+ enumerable: true,
38
+ get: function () { return messageScroller.useMessageScrollerVisibility; }
39
+ });
40
+ exports.MessageScroller = MessageScroller;
41
+ exports.MessageScrollerButton = MessageScrollerButton;
42
+ exports.MessageScrollerContent = MessageScrollerContent;
43
+ exports.MessageScrollerItem = MessageScrollerItem;
44
+ exports.MessageScrollerProvider = MessageScrollerProvider;
45
+ exports.MessageScrollerViewport = MessageScrollerViewport;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var cn = require('cn');
5
+
6
+ function MessageGroup({ className, ...props }) {
7
+ return (jsxRuntime.jsx("div", { "data-slot": "message-group", className: cn.cn("flex min-w-0 flex-col gap-2", className), ...props }));
8
+ }
9
+ function Message({ className, align = "start", ...props }) {
10
+ return (jsxRuntime.jsx("div", { "data-slot": "message", "data-align": align, className: cn.cn("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className), ...props }));
11
+ }
12
+ function MessageAvatar({ className, ...props }) {
13
+ return (jsxRuntime.jsx("div", { "data-slot": "message-avatar", className: cn.cn("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8", className), ...props }));
14
+ }
15
+ function MessageContent({ className, ...props }) {
16
+ return (jsxRuntime.jsx("div", { "data-slot": "message-content", className: cn.cn("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className), ...props }));
17
+ }
18
+ function MessageHeader({ className, ...props }) {
19
+ return (jsxRuntime.jsx("div", { "data-slot": "message-header", className: cn.cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className), ...props }));
20
+ }
21
+ function MessageFooter({ className, ...props }) {
22
+ return (jsxRuntime.jsx("div", { "data-slot": "message-footer", className: cn.cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end", className), ...props }));
23
+ }
24
+
25
+ exports.Message = Message;
26
+ exports.MessageAvatar = MessageAvatar;
27
+ exports.MessageContent = MessageContent;
28
+ exports.MessageFooter = MessageFooter;
29
+ exports.MessageGroup = MessageGroup;
30
+ exports.MessageHeader = MessageHeader;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var cn = require('cn');
5
+ var lucideReact = require('lucide-react');
6
+
7
+ function NativeSelect({ className, size = "default", ...props }) {
8
+ return (jsxRuntime.jsxs("div", { className: cn.cn("group/native-select relative w-fit has-[select:disabled]:opacity-50", className), "data-slot": "native-select-wrapper", "data-size": size, children: [jsxRuntime.jsx("select", { "data-slot": "native-select", "data-size": size, className: "h-8 w-full min-w-0 appearance-none rounded-lg border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", ...props }), jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none", "aria-hidden": "true", "data-slot": "native-select-icon" })] }));
9
+ }
10
+ function NativeSelectOption({ className, ...props }) {
11
+ return (jsxRuntime.jsx("option", { "data-slot": "native-select-option", className: cn.cn("bg-[Canvas] text-[CanvasText]", className), ...props }));
12
+ }
13
+ function NativeSelectOptGroup({ className, ...props }) {
14
+ return (jsxRuntime.jsx("optgroup", { "data-slot": "native-select-optgroup", className: cn.cn("bg-[Canvas] text-[CanvasText]", className), ...props }));
15
+ }
16
+
17
+ exports.NativeSelect = NativeSelect;
18
+ exports.NativeSelectOptGroup = NativeSelectOptGroup;
19
+ exports.NativeSelectOption = NativeSelectOption;
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var navigationMenu = require('@base-ui/react/navigation-menu');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var cn = require('cn');
7
+ var lucideReact = require('lucide-react');
8
+
9
+ function NavigationMenu({ align = "start", className, children, ...props }) {
10
+ return (jsxRuntime.jsxs(navigationMenu.NavigationMenu.Root, { "data-slot": "navigation-menu", className: cn.cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className), ...props, children: [children, jsxRuntime.jsx(NavigationMenuPositioner, { align: align })] }));
11
+ }
12
+ function NavigationMenuList({ className, ...props }) {
13
+ return (jsxRuntime.jsx(navigationMenu.NavigationMenu.List, { "data-slot": "navigation-menu-list", className: cn.cn("group flex flex-1 list-none items-center justify-center gap-0", className), ...props }));
14
+ }
15
+ function NavigationMenuItem({ className, ...props }) {
16
+ return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Item, { "data-slot": "navigation-menu-item", className: cn.cn("relative", className), ...props }));
17
+ }
18
+ const navigationMenuTriggerStyle = classVarianceAuthority.cva("group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted");
19
+ function NavigationMenuTrigger({ className, children, ...props }) {
20
+ return (jsxRuntime.jsxs(navigationMenu.NavigationMenu.Trigger, { "data-slot": "navigation-menu-trigger", className: cn.cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [children, " ", jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180", "aria-hidden": "true" })] }));
21
+ }
22
+ function NavigationMenuContent({ className, ...props }) {
23
+ return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Content, { "data-slot": "navigation-menu-content", className: cn.cn("data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 data-ending-style:opacity-0 data-starting-style:opacity-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95", className), ...props }));
24
+ }
25
+ function NavigationMenuPositioner({ className, side = "bottom", sideOffset = 8, align = "start", alignOffset = 0, ...props }) {
26
+ return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Portal, { children: jsxRuntime.jsx(navigationMenu.NavigationMenu.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, className: cn.cn("isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", className), ...props, children: jsxRuntime.jsx(navigationMenu.NavigationMenu.Popup, { className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-lg bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0", children: jsxRuntime.jsx(navigationMenu.NavigationMenu.Viewport, { className: "relative size-full overflow-hidden" }) }) }) }));
27
+ }
28
+ function NavigationMenuLink({ className, ...props }) {
29
+ return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Link, { "data-slot": "navigation-menu-link", className: cn.cn("flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", className), ...props }));
30
+ }
31
+ function NavigationMenuIndicator({ className, ...props }) {
32
+ return (jsxRuntime.jsx(navigationMenu.NavigationMenu.Icon, { "data-slot": "navigation-menu-indicator", className: cn.cn("top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in", className), ...props, children: jsxRuntime.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" }) }));
33
+ }
34
+
35
+ exports.NavigationMenu = NavigationMenu;
36
+ exports.NavigationMenuContent = NavigationMenuContent;
37
+ exports.NavigationMenuIndicator = NavigationMenuIndicator;
38
+ exports.NavigationMenuItem = NavigationMenuItem;
39
+ exports.NavigationMenuLink = NavigationMenuLink;
40
+ exports.NavigationMenuList = NavigationMenuList;
41
+ exports.NavigationMenuPositioner = NavigationMenuPositioner;
42
+ exports.NavigationMenuTrigger = NavigationMenuTrigger;
43
+ exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var cn = require('cn');
5
+ var button = require('./button.cjs');
6
+ var lucideReact = require('lucide-react');
7
+
8
+ function Pagination({ className, ...props }) {
9
+ return (jsxRuntime.jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn.cn("mx-auto flex w-full justify-center", className), ...props }));
10
+ }
11
+ function PaginationContent({ className, ...props }) {
12
+ return (jsxRuntime.jsx("ul", { "data-slot": "pagination-content", className: cn.cn("flex items-center gap-0.5", className), ...props }));
13
+ }
14
+ function PaginationItem({ ...props }) {
15
+ return jsxRuntime.jsx("li", { "data-slot": "pagination-item", ...props });
16
+ }
17
+ function PaginationLink({ className, isActive, size = "icon", ...props }) {
18
+ return (jsxRuntime.jsx(button.Button, { variant: isActive ? "outline" : "ghost", size: size, className: cn.cn(className), nativeButton: false, render: jsxRuntime.jsx("a", { "aria-current": isActive ? "page" : undefined, "data-slot": "pagination-link", "data-active": isActive, ...props }) }));
19
+ }
20
+ function PaginationPrevious({ className, text = "Previous", ...props }) {
21
+ return (jsxRuntime.jsxs(PaginationLink, { "aria-label": "Go to previous page", size: "default", className: cn.cn("pl-1.5!", className), ...props, children: [jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { "data-icon": "inline-start" }), jsxRuntime.jsx("span", { className: "hidden sm:block", children: text })] }));
22
+ }
23
+ function PaginationNext({ className, text = "Next", ...props }) {
24
+ return (jsxRuntime.jsxs(PaginationLink, { "aria-label": "Go to next page", size: "default", className: cn.cn("pr-1.5!", className), ...props, children: [jsxRuntime.jsx("span", { className: "hidden sm:block", children: text }), jsxRuntime.jsx(lucideReact.ChevronRightIcon, { "data-icon": "inline-end" })] }));
25
+ }
26
+ function PaginationEllipsis({ className, ...props }) {
27
+ return (jsxRuntime.jsxs("span", { "aria-hidden": true, "data-slot": "pagination-ellipsis", className: cn.cn("flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, {}), jsxRuntime.jsx("span", { className: "sr-only", children: "More pages" })] }));
28
+ }
29
+
30
+ exports.Pagination = Pagination;
31
+ exports.PaginationContent = PaginationContent;
32
+ exports.PaginationEllipsis = PaginationEllipsis;
33
+ exports.PaginationItem = PaginationItem;
34
+ exports.PaginationLink = PaginationLink;
35
+ exports.PaginationNext = PaginationNext;
36
+ exports.PaginationPrevious = PaginationPrevious;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var popover = require('@base-ui/react/popover');
5
+ var cn = require('cn');
6
+
7
+ function Popover({ ...props }) {
8
+ return jsxRuntime.jsx(popover.Popover.Root, { "data-slot": "popover", ...props });
9
+ }
10
+ function PopoverTrigger({ ...props }) {
11
+ return jsxRuntime.jsx(popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
12
+ }
13
+ function PopoverContent({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, ...props }) {
14
+ return (jsxRuntime.jsx(popover.Popover.Portal, { children: jsxRuntime.jsx(popover.Popover.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: jsxRuntime.jsx(popover.Popover.Popup, { "data-slot": "popover-content", className: cn.cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }) }) }));
15
+ }
16
+ function PopoverHeader({ className, ...props }) {
17
+ return (jsxRuntime.jsx("div", { "data-slot": "popover-header", className: cn.cn("flex flex-col gap-0.5 text-sm", className), ...props }));
18
+ }
19
+ function PopoverTitle({ className, ...props }) {
20
+ return (jsxRuntime.jsx(popover.Popover.Title, { "data-slot": "popover-title", className: cn.cn("font-medium", className), ...props }));
21
+ }
22
+ function PopoverDescription({ className, ...props }) {
23
+ return (jsxRuntime.jsx(popover.Popover.Description, { "data-slot": "popover-description", className: cn.cn("text-muted-foreground", className), ...props }));
24
+ }
25
+
26
+ exports.Popover = Popover;
27
+ exports.PopoverContent = PopoverContent;
28
+ exports.PopoverDescription = PopoverDescription;
29
+ exports.PopoverHeader = PopoverHeader;
30
+ exports.PopoverTitle = PopoverTitle;
31
+ exports.PopoverTrigger = PopoverTrigger;
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var progress = require('@base-ui/react/progress');
6
+ var cn = require('cn');
7
+
8
+ function Progress({ className, children, value, ...props }) {
9
+ return (jsxRuntime.jsxs(progress.Progress.Root, { value: value, "data-slot": "progress", className: cn.cn("flex flex-wrap gap-3", className), ...props, children: [children, jsxRuntime.jsx(ProgressTrack, { children: jsxRuntime.jsx(ProgressIndicator, {}) })] }));
10
+ }
11
+ function ProgressTrack({ className, ...props }) {
12
+ return (jsxRuntime.jsx(progress.Progress.Track, { className: cn.cn("relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted", className), "data-slot": "progress-track", ...props }));
13
+ }
14
+ function ProgressIndicator({ className, ...props }) {
15
+ return (jsxRuntime.jsx(progress.Progress.Indicator, { "data-slot": "progress-indicator", className: cn.cn("h-full bg-primary transition-all", className), ...props }));
16
+ }
17
+ function ProgressLabel({ className, ...props }) {
18
+ return (jsxRuntime.jsx(progress.Progress.Label, { className: cn.cn("text-sm font-medium", className), "data-slot": "progress-label", ...props }));
19
+ }
20
+ function ProgressValue({ className, ...props }) {
21
+ return (jsxRuntime.jsx(progress.Progress.Value, { className: cn.cn("ml-auto text-sm text-muted-foreground tabular-nums", className), "data-slot": "progress-value", ...props }));
22
+ }
23
+
24
+ exports.Progress = Progress;
25
+ exports.ProgressIndicator = ProgressIndicator;
26
+ exports.ProgressLabel = ProgressLabel;
27
+ exports.ProgressTrack = ProgressTrack;
28
+ exports.ProgressValue = ProgressValue;
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var questionnaire = require('@shadcn/react/questionnaire');
6
+ var cn = require('cn');
7
+ var button = require('./button.cjs');
8
+ var lucideReact = require('lucide-react');
9
+
10
+ function Questionnaire({ className, ...props }) {
11
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Root, { "data-slot": "questionnaire", className: cn.cn("flex w-full min-w-0 flex-col gap-4", className), ...props }));
12
+ }
13
+ function QuestionnaireProgress({ className, ...props }) {
14
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Progress, { "data-slot": "questionnaire-progress", className: cn.cn("min-h-[1lh] w-fit min-w-[14ch] text-xs font-medium text-muted-foreground tabular-nums", className), ...props }));
15
+ }
16
+ function QuestionnaireItem({ className, ...props }) {
17
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Item, { "data-slot": "questionnaire-item", className: cn.cn("flex min-w-0 flex-col gap-4 border-0 p-0 outline-none", className), ...props }));
18
+ }
19
+ function QuestionnaireTitle({ className, ...props }) {
20
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Title, { "data-slot": "questionnaire-title", className: cn.cn("font-heading text-base leading-snug font-medium text-pretty [&:not(:has(~[data-slot=questionnaire-description]))]:mb-4", className), ...props }));
21
+ }
22
+ function QuestionnaireDescription({ className, ...props }) {
23
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Description, { "data-slot": "questionnaire-description", className: cn.cn("text-sm text-pretty text-muted-foreground", className), ...props }));
24
+ }
25
+ function QuestionnaireChoices({ className, ...props }) {
26
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Choices, { "data-slot": "questionnaire-choices", className: cn.cn("group/questionnaire-choices grid min-w-0 gap-2", className), ...props }));
27
+ }
28
+ function QuestionnaireChoice({ children, className, ...props }) {
29
+ return (jsxRuntime.jsxs(questionnaire.Questionnaire.Choice, { "data-slot": "questionnaire-choice", className: cn.cn("group/questionnaire-choice relative flex min-h-11 cursor-pointer items-start gap-2.5 rounded-lg border border-input bg-transparent px-3 py-2.5 text-start text-sm transition-colors outline-none select-none hover:bg-muted/50 has-[>input:focus-visible]:border-ring has-[>input:focus-visible]:ring-3 has-[>input:focus-visible]:ring-ring/50 data-invalid:border-destructive dark:bg-input/20 data-checked:border-primary/40 data-checked:bg-muted dark:data-checked:bg-muted", "data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50", className), ...props, children: [jsxRuntime.jsx(questionnaire.Questionnaire.ChoiceInput, { "data-slot": "questionnaire-choice-input", className: "absolute inset-0 z-10 size-full cursor-pointer opacity-0" }), jsxRuntime.jsxs("span", { "aria-hidden": "true", "data-slot": "questionnaire-choice-indicator", className: "pointer-events-none relative flex size-4 shrink-0 translate-y-[--spacing(0.45)] items-center justify-center rounded-[4px] border border-input group-has-data-[slot=questionnaire-choice-description]/questionnaire-choice:translate-y-0.5 group-data-[type=radio]/questionnaire-choice:rounded-full group-data-checked/questionnaire-choice:border-primary group-data-checked/questionnaire-choice:bg-primary group-data-checked/questionnaire-choice:text-primary-foreground dark:bg-input/30 dark:group-data-checked/questionnaire-choice:bg-primary", children: [jsxRuntime.jsx("span", { "data-slot": "questionnaire-choice-indicator-dot", className: "hidden size-2 rounded-full bg-primary-foreground group-data-[type=checkbox]/questionnaire-choice:hidden group-data-checked/questionnaire-choice:block" }), jsxRuntime.jsx(lucideReact.CheckIcon, { "data-slot": "questionnaire-choice-indicator-check", className: "hidden size-3.5 group-data-[type=radio]/questionnaire-choice:hidden group-data-checked/questionnaire-choice:block" })] }), jsxRuntime.jsx(questionnaire.Questionnaire.ChoiceLabel, { "data-slot": "questionnaire-choice-label", className: "flex min-w-0 flex-1 flex-col gap-0.5 leading-snug", children: children }), jsxRuntime.jsx(questionnaire.Questionnaire.ChoiceShortcut, { "data-slot": "questionnaire-choice-shortcut", className: "pointer-events-none ms-auto hidden size-5 shrink-0 translate-y-[--spacing(0.45)] items-center justify-center rounded-md border border-input bg-background font-mono text-[0.625rem] leading-none font-medium text-muted-foreground group-has-data-[slot=questionnaire-choice-description]/questionnaire-choice:translate-y-0.5 group-data-[shortcut]/questionnaire-choice:inline-flex" })] }));
30
+ }
31
+ function QuestionnaireChoiceDescription({ className, ...props }) {
32
+ return (jsxRuntime.jsx("span", { "data-slot": "questionnaire-choice-description", className: cn.cn("text-muted-foreground", className), ...props }));
33
+ }
34
+ function QuestionnaireInput({ className, ...props }) {
35
+ return (jsxRuntime.jsx("div", { "data-slot": "questionnaire-input-wrapper", className: "group/questionnaire-input relative w-full min-w-0", children: jsxRuntime.jsx(questionnaire.Questionnaire.Input, { "data-slot": "questionnaire-input", className: cn.cn("h-8 min-h-11 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-[color,box-shadow,background-color] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 sm:min-h-0 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", "selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground", className), ...props }) }));
36
+ }
37
+ function QuestionnaireError({ className, ...props }) {
38
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Error, { "data-slot": "questionnaire-error", className: cn.cn("mt-2 text-sm text-destructive", className), ...props }));
39
+ }
40
+ function QuestionnaireActions({ className, ...props }) {
41
+ return (jsxRuntime.jsx("div", { "data-slot": "questionnaire-actions", className: cn.cn("grid min-h-11 w-full grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-2 sm:min-h-8", className), ...props }));
42
+ }
43
+ function QuestionnairePrevious({ children, className, size = "default", variant = "outline", ...props }) {
44
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Previous, { "data-slot": "questionnaire-previous", "data-size": size, "data-variant": variant, className: cn.cn(button.buttonVariants({ size, variant }), "col-start-1 row-start-1 min-h-11 justify-self-start sm:min-h-0", className), ...props, children: children ?? "Previous" }));
45
+ }
46
+ function QuestionnaireSkip({ children, className, size = "default", variant = "outline", ...props }) {
47
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Skip, { "data-slot": "questionnaire-skip", "data-size": size, "data-variant": variant, className: cn.cn(button.buttonVariants({ size, variant }), "col-start-2 row-start-1 min-h-11 justify-self-end sm:min-h-0", className), ...props, children: children ?? "Skip" }));
48
+ }
49
+ function QuestionnaireNext({ children, className, size = "default", variant = "default", ...props }) {
50
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Next, { "data-slot": "questionnaire-next", "data-size": size, "data-variant": variant, className: cn.cn(button.buttonVariants({ size, variant }), "col-start-3 row-start-1 min-h-11 justify-self-end sm:min-h-0", className), ...props, children: children ?? "Next" }));
51
+ }
52
+ function QuestionnaireSubmit({ children, className, size = "default", variant = "default", ...props }) {
53
+ return (jsxRuntime.jsx(questionnaire.Questionnaire.Submit, { "data-slot": "questionnaire-submit", "data-size": size, "data-variant": variant, className: cn.cn(button.buttonVariants({ size, variant }), "col-start-3 row-start-1 min-h-11 justify-self-end sm:min-h-0", className), ...props, children: children ?? "Submit" }));
54
+ }
55
+
56
+ exports.Questionnaire = Questionnaire;
57
+ exports.QuestionnaireActions = QuestionnaireActions;
58
+ exports.QuestionnaireChoice = QuestionnaireChoice;
59
+ exports.QuestionnaireChoiceDescription = QuestionnaireChoiceDescription;
60
+ exports.QuestionnaireChoices = QuestionnaireChoices;
61
+ exports.QuestionnaireDescription = QuestionnaireDescription;
62
+ exports.QuestionnaireError = QuestionnaireError;
63
+ exports.QuestionnaireInput = QuestionnaireInput;
64
+ exports.QuestionnaireItem = QuestionnaireItem;
65
+ exports.QuestionnaireNext = QuestionnaireNext;
66
+ exports.QuestionnairePrevious = QuestionnairePrevious;
67
+ exports.QuestionnaireProgress = QuestionnaireProgress;
68
+ exports.QuestionnaireSkip = QuestionnaireSkip;
69
+ exports.QuestionnaireSubmit = QuestionnaireSubmit;
70
+ exports.QuestionnaireTitle = QuestionnaireTitle;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var radio = require('@base-ui/react/radio');
5
+ var radioGroup = require('@base-ui/react/radio-group');
6
+ var cn = require('cn');
7
+
8
+ function RadioGroup({ className, ...props }) {
9
+ return (jsxRuntime.jsx(radioGroup.RadioGroup, { "data-slot": "radio-group", className: cn.cn("grid w-full gap-2", className), ...props }));
10
+ }
11
+ function RadioGroupItem({ className, ...props }) {
12
+ return (jsxRuntime.jsx(radio.Radio.Root, { "data-slot": "radio-group-item", className: cn.cn("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input 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-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary", className), ...props, children: jsxRuntime.jsx(radio.Radio.Indicator, { "data-slot": "radio-group-indicator", className: "flex size-4 items-center justify-center", children: jsxRuntime.jsx("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" }) }) }));
13
+ }
14
+
15
+ exports.RadioGroup = RadioGroup;
16
+ exports.RadioGroupItem = RadioGroupItem;