@giddaa-housing/ui 1.0.0 → 1.2.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 (331) hide show
  1. package/css/generated/shared.css +1 -1
  2. package/css/giddaa.css +12 -2
  3. package/dist/accordion.d.ts +9 -10
  4. package/dist/accordion.js +41 -87
  5. package/dist/activity-timeline.d.ts +12 -16
  6. package/dist/activity-timeline.js +83 -198
  7. package/dist/alert.d.ts +8 -9
  8. package/dist/alert.js +53 -111
  9. package/dist/auth-layout.d.ts +4 -4
  10. package/dist/auth-layout.js +143 -294
  11. package/dist/avatar.d.ts +6 -6
  12. package/dist/avatar.js +49 -19
  13. package/dist/badge.d.ts +12 -14
  14. package/dist/badge.js +71 -11
  15. package/dist/bar-chart.d.ts +65 -67
  16. package/dist/bar-chart.js +232 -207
  17. package/dist/breadcrumb.d.ts +5 -5
  18. package/dist/breadcrumb.js +56 -118
  19. package/dist/bullet-chart.d.ts +41 -37
  20. package/dist/bullet-chart.js +125 -148
  21. package/dist/button-BZIeyUw6.d.ts +17 -0
  22. package/dist/button-group.d.ts +13 -16
  23. package/dist/button-group.js +39 -88
  24. package/dist/button.d.ts +2 -19
  25. package/dist/button.js +94 -13
  26. package/dist/calendar.d.ts +6 -6
  27. package/dist/calendar.js +138 -17
  28. package/dist/card.d.ts +14 -16
  29. package/dist/card.js +59 -145
  30. package/dist/carousel.d.ts +34 -35
  31. package/dist/carousel.js +335 -20
  32. package/dist/chart.d.ts +90 -63
  33. package/dist/chart.js +573 -28
  34. package/dist/checkbox.d.ts +10 -12
  35. package/dist/checkbox.js +82 -47
  36. package/dist/cn-BI_4DMBf.js +23 -0
  37. package/dist/collapsible.d.ts +7 -8
  38. package/dist/collapsible.js +22 -47
  39. package/dist/combobox.d.ts +10 -10
  40. package/dist/combobox.js +236 -44
  41. package/dist/cta.d.ts +12 -14
  42. package/dist/cta.js +175 -341
  43. package/dist/currency-selector.d.ts +31 -32
  44. package/dist/currency-selector.js +106 -184
  45. package/dist/data-table.d.ts +168 -0
  46. package/dist/data-table.js +676 -0
  47. package/dist/date-picker.d.ts +22 -23
  48. package/dist/date-picker.js +119 -192
  49. package/dist/details-card.d.ts +7 -7
  50. package/dist/details-card.js +104 -253
  51. package/dist/dialog.d.ts +13 -14
  52. package/dist/dialog.js +116 -209
  53. package/dist/dropdown-menu.d.ts +13 -13
  54. package/dist/dropdown-menu.js +180 -37
  55. package/dist/dropzone.d.ts +55 -55
  56. package/dist/dropzone.js +327 -439
  57. package/dist/editorial-card.d.ts +23 -25
  58. package/dist/editorial-card.js +129 -296
  59. package/dist/empty-state.d.ts +8 -9
  60. package/dist/empty-state.js +48 -105
  61. package/dist/field.d.ts +23 -25
  62. package/dist/field.js +110 -221
  63. package/dist/filter.d.ts +118 -0
  64. package/dist/filter.js +775 -0
  65. package/dist/footer.d.ts +8 -15
  66. package/dist/footer.js +197 -400
  67. package/dist/funnel-chart.d.ts +49 -48
  68. package/dist/funnel-chart.js +170 -189
  69. package/dist/gallery-indicator.d.ts +11 -12
  70. package/dist/gallery-indicator.js +75 -12
  71. package/dist/heatmap-chart.d.ts +47 -50
  72. package/dist/heatmap-chart.js +186 -237
  73. package/dist/infotip.d.ts +8 -9
  74. package/dist/infotip.js +33 -59
  75. package/dist/input-CfoEJ8A6.d.ts +12 -0
  76. package/dist/input-group.d.ts +16 -20
  77. package/dist/input-group.js +99 -23
  78. package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
  79. package/dist/input-size-context.d.ts +2 -11
  80. package/dist/input-size-context.js +17 -9
  81. package/dist/input.d.ts +2 -13
  82. package/dist/input.js +27 -11
  83. package/dist/item.d.ts +7 -8
  84. package/dist/item.js +22 -59
  85. package/dist/kpi-card.d.ts +18 -20
  86. package/dist/kpi-card.js +84 -192
  87. package/dist/label.d.ts +6 -6
  88. package/dist/label.js +40 -8
  89. package/dist/line-chart.d.ts +200 -129
  90. package/dist/line-chart.js +330 -105
  91. package/dist/list-item.d.ts +22 -0
  92. package/dist/list-item.js +84 -0
  93. package/dist/logo.d.ts +4 -4
  94. package/dist/logo.js +92 -9
  95. package/dist/map-indicator.d.ts +7 -7
  96. package/dist/map-indicator.js +80 -106
  97. package/dist/match.d.ts +10 -11
  98. package/dist/match.js +62 -107
  99. package/dist/media-gallery-hero.d.ts +40 -42
  100. package/dist/media-gallery-hero.js +182 -343
  101. package/dist/media-player.d.ts +17 -17
  102. package/dist/media-player.js +873 -1348
  103. package/dist/multi-step-form.d.ts +56 -0
  104. package/dist/multi-step-form.js +342 -0
  105. package/dist/number-input.d.ts +34 -34
  106. package/dist/number-input.js +64 -117
  107. package/dist/page-header.d.ts +10 -11
  108. package/dist/page-header.js +34 -79
  109. package/dist/pagination.d.ts +17 -21
  110. package/dist/pagination.js +132 -207
  111. package/dist/password-input.d.ts +5 -13
  112. package/dist/password-input.js +31 -55
  113. package/dist/phone-input.d.ts +19 -20
  114. package/dist/phone-input.js +226 -344
  115. package/dist/photo-gallery.d.ts +19 -19
  116. package/dist/photo-gallery.js +313 -449
  117. package/dist/picker-lzgmsNfG.js +32 -0
  118. package/dist/pie-chart.d.ts +121 -90
  119. package/dist/pie-chart.js +183 -149
  120. package/dist/popover.d.ts +9 -9
  121. package/dist/popover.js +72 -23
  122. package/dist/price-tag.d.ts +26 -27
  123. package/dist/price-tag.js +113 -173
  124. package/dist/progress.d.ts +16 -17
  125. package/dist/progress.js +169 -24
  126. package/dist/property-listing-card.d.ts +14 -17
  127. package/dist/property-listing-card.js +102 -220
  128. package/dist/purchase-option-card.d.ts +79 -0
  129. package/dist/purchase-option-card.js +176 -0
  130. package/dist/radar-chart.d.ts +29 -31
  131. package/dist/radar-chart.js +162 -137
  132. package/dist/radio-group.d.ts +11 -13
  133. package/dist/radio-group.js +46 -60
  134. package/dist/review-block.d.ts +14 -16
  135. package/dist/review-block.js +154 -10
  136. package/dist/rich-text-editor.d.ts +30 -14
  137. package/dist/rich-text-editor.js +592 -716
  138. package/dist/scatter-chart.d.ts +45 -47
  139. package/dist/scatter-chart.js +236 -240
  140. package/dist/search-input.d.ts +8 -16
  141. package/dist/search-input.js +57 -109
  142. package/dist/select.d.ts +8 -8
  143. package/dist/select.js +144 -27
  144. package/dist/separator.d.ts +8 -9
  145. package/dist/separator.js +32 -8
  146. package/dist/sheet.d.ts +11 -11
  147. package/dist/sheet.js +103 -24
  148. package/dist/sidebar.d.ts +32 -37
  149. package/dist/sidebar.js +364 -634
  150. package/dist/size-context-D4mYvcg8.d.ts +10 -0
  151. package/dist/size-context.d.ts +2 -11
  152. package/dist/size-context.js +17 -9
  153. package/dist/skeleton.d.ts +4 -5
  154. package/dist/skeleton.js +12 -8
  155. package/dist/slider.d.ts +8 -9
  156. package/dist/slider.js +64 -135
  157. package/dist/sparkline.d.ts +68 -58
  158. package/dist/sparkline.js +315 -251
  159. package/dist/stepper.d.ts +23 -24
  160. package/dist/stepper.js +149 -246
  161. package/dist/styles.css +1004 -116
  162. package/dist/switch.d.ts +10 -12
  163. package/dist/switch.js +48 -70
  164. package/dist/table-card.d.ts +35 -0
  165. package/dist/table-card.js +125 -0
  166. package/dist/table.d.ts +18 -14
  167. package/dist/table.js +117 -154
  168. package/dist/tabs.d.ts +33 -15
  169. package/dist/tabs.js +110 -18
  170. package/dist/tag.d.ts +21 -23
  171. package/dist/tag.js +103 -159
  172. package/dist/testimonial-block.d.ts +18 -19
  173. package/dist/testimonial-block.js +189 -358
  174. package/dist/textarea-IS_D8pXf.d.ts +11 -0
  175. package/dist/textarea.d.ts +2 -12
  176. package/dist/textarea.js +24 -11
  177. package/dist/time-picker.d.ts +11 -11
  178. package/dist/time-picker.js +245 -302
  179. package/dist/toast.d.ts +16 -18
  180. package/dist/toast.js +154 -205
  181. package/dist/tooltip.d.ts +8 -9
  182. package/dist/tooltip.js +37 -12
  183. package/dist/tree-map.d.ts +59 -62
  184. package/dist/tree-map.js +226 -269
  185. package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
  186. package/dist/waterfall-chart.d.ts +94 -97
  187. package/dist/waterfall-chart.js +455 -552
  188. package/package.json +36 -9
  189. package/dist/accordion.js.map +0 -1
  190. package/dist/activity-timeline.js.map +0 -1
  191. package/dist/alert.js.map +0 -1
  192. package/dist/auth-layout.js.map +0 -1
  193. package/dist/avatar.js.map +0 -1
  194. package/dist/badge.js.map +0 -1
  195. package/dist/bar-chart.js.map +0 -1
  196. package/dist/breadcrumb.js.map +0 -1
  197. package/dist/bullet-chart.js.map +0 -1
  198. package/dist/button-group.js.map +0 -1
  199. package/dist/button.js.map +0 -1
  200. package/dist/calendar.js.map +0 -1
  201. package/dist/card.js.map +0 -1
  202. package/dist/carousel.js.map +0 -1
  203. package/dist/chart.js.map +0 -1
  204. package/dist/checkbox.js.map +0 -1
  205. package/dist/chunk-322YCNVL.js +0 -278
  206. package/dist/chunk-322YCNVL.js.map +0 -1
  207. package/dist/chunk-3ACQVT7A.js +0 -25
  208. package/dist/chunk-3ACQVT7A.js.map +0 -1
  209. package/dist/chunk-3T65TLJX.js +0 -334
  210. package/dist/chunk-3T65TLJX.js.map +0 -1
  211. package/dist/chunk-6ZSGQHH2.js +0 -192
  212. package/dist/chunk-6ZSGQHH2.js.map +0 -1
  213. package/dist/chunk-7TBMLFGW.js +0 -41
  214. package/dist/chunk-7TBMLFGW.js.map +0 -1
  215. package/dist/chunk-B4H6RNDH.js +0 -135
  216. package/dist/chunk-B4H6RNDH.js.map +0 -1
  217. package/dist/chunk-BUXCGZ6X.js +0 -219
  218. package/dist/chunk-BUXCGZ6X.js.map +0 -1
  219. package/dist/chunk-CHII2QHH.js +0 -58
  220. package/dist/chunk-CHII2QHH.js.map +0 -1
  221. package/dist/chunk-DMNOXRRW.js +0 -147
  222. package/dist/chunk-DMNOXRRW.js.map +0 -1
  223. package/dist/chunk-EFSOSSIC.js +0 -130
  224. package/dist/chunk-EFSOSSIC.js.map +0 -1
  225. package/dist/chunk-FZDSVMKY.js +0 -363
  226. package/dist/chunk-FZDSVMKY.js.map +0 -1
  227. package/dist/chunk-GJOFIJS3.js +0 -246
  228. package/dist/chunk-GJOFIJS3.js.map +0 -1
  229. package/dist/chunk-HL3ZSYES.js +0 -23
  230. package/dist/chunk-HL3ZSYES.js.map +0 -1
  231. package/dist/chunk-JVLUBAPB.js +0 -129
  232. package/dist/chunk-JVLUBAPB.js.map +0 -1
  233. package/dist/chunk-KDPYSOYZ.js +0 -64
  234. package/dist/chunk-KDPYSOYZ.js.map +0 -1
  235. package/dist/chunk-KSMDANKI.js +0 -43
  236. package/dist/chunk-KSMDANKI.js.map +0 -1
  237. package/dist/chunk-MEKCCOP5.js +0 -46
  238. package/dist/chunk-MEKCCOP5.js.map +0 -1
  239. package/dist/chunk-NOFXVRWL.js +0 -451
  240. package/dist/chunk-NOFXVRWL.js.map +0 -1
  241. package/dist/chunk-PC5MHNVA.js +0 -171
  242. package/dist/chunk-PC5MHNVA.js.map +0 -1
  243. package/dist/chunk-QKAQZ2GU.js +0 -122
  244. package/dist/chunk-QKAQZ2GU.js.map +0 -1
  245. package/dist/chunk-QZHSHSVV.js +0 -26
  246. package/dist/chunk-QZHSHSVV.js.map +0 -1
  247. package/dist/chunk-RBMK26XD.js +0 -19
  248. package/dist/chunk-RBMK26XD.js.map +0 -1
  249. package/dist/chunk-SFNJGF6M.js +0 -262
  250. package/dist/chunk-SFNJGF6M.js.map +0 -1
  251. package/dist/chunk-UJJNLGTM.js +0 -112
  252. package/dist/chunk-UJJNLGTM.js.map +0 -1
  253. package/dist/chunk-VGR4ZWJ3.js +0 -418
  254. package/dist/chunk-VGR4ZWJ3.js.map +0 -1
  255. package/dist/chunk-XG47P6D4.js +0 -99
  256. package/dist/chunk-XG47P6D4.js.map +0 -1
  257. package/dist/chunk-XZZAHNVM.js +0 -21
  258. package/dist/chunk-XZZAHNVM.js.map +0 -1
  259. package/dist/chunk-Y4TTYVNE.js +0 -36
  260. package/dist/chunk-Y4TTYVNE.js.map +0 -1
  261. package/dist/chunk-YDWIHW6Q.js +0 -69
  262. package/dist/chunk-YDWIHW6Q.js.map +0 -1
  263. package/dist/collapsible.js.map +0 -1
  264. package/dist/combobox.js.map +0 -1
  265. package/dist/cta.js.map +0 -1
  266. package/dist/currency-selector.js.map +0 -1
  267. package/dist/date-picker.js.map +0 -1
  268. package/dist/details-card.js.map +0 -1
  269. package/dist/dialog.js.map +0 -1
  270. package/dist/dropdown-menu.js.map +0 -1
  271. package/dist/dropzone.js.map +0 -1
  272. package/dist/editorial-card.js.map +0 -1
  273. package/dist/empty-state.js.map +0 -1
  274. package/dist/field.js.map +0 -1
  275. package/dist/footer.js.map +0 -1
  276. package/dist/funnel-chart.js.map +0 -1
  277. package/dist/gallery-indicator.js.map +0 -1
  278. package/dist/heatmap-chart.js.map +0 -1
  279. package/dist/infotip.js.map +0 -1
  280. package/dist/input-group.js.map +0 -1
  281. package/dist/input-size-context.js.map +0 -1
  282. package/dist/input.js.map +0 -1
  283. package/dist/item.js.map +0 -1
  284. package/dist/kpi-card.js.map +0 -1
  285. package/dist/label.js.map +0 -1
  286. package/dist/line-chart.js.map +0 -1
  287. package/dist/logo.js.map +0 -1
  288. package/dist/map-indicator.js.map +0 -1
  289. package/dist/match.js.map +0 -1
  290. package/dist/media-gallery-hero.js.map +0 -1
  291. package/dist/media-player.js.map +0 -1
  292. package/dist/number-input.js.map +0 -1
  293. package/dist/page-header.js.map +0 -1
  294. package/dist/pagination.js.map +0 -1
  295. package/dist/password-input.js.map +0 -1
  296. package/dist/phone-input.js.map +0 -1
  297. package/dist/photo-gallery.js.map +0 -1
  298. package/dist/pie-chart.js.map +0 -1
  299. package/dist/popover.js.map +0 -1
  300. package/dist/price-tag.js.map +0 -1
  301. package/dist/progress.js.map +0 -1
  302. package/dist/property-listing-card.js.map +0 -1
  303. package/dist/radar-chart.js.map +0 -1
  304. package/dist/radio-group.js.map +0 -1
  305. package/dist/review-block.js.map +0 -1
  306. package/dist/rich-text-editor.js.map +0 -1
  307. package/dist/scatter-chart.js.map +0 -1
  308. package/dist/search-input.js.map +0 -1
  309. package/dist/select.js.map +0 -1
  310. package/dist/separator.js.map +0 -1
  311. package/dist/sheet.js.map +0 -1
  312. package/dist/sidebar.js.map +0 -1
  313. package/dist/size-context.js.map +0 -1
  314. package/dist/skeleton.js.map +0 -1
  315. package/dist/slider.js.map +0 -1
  316. package/dist/sparkline.js.map +0 -1
  317. package/dist/stepper.js.map +0 -1
  318. package/dist/switch.js.map +0 -1
  319. package/dist/tab-list.d.ts +0 -38
  320. package/dist/tab-list.js +0 -123
  321. package/dist/tab-list.js.map +0 -1
  322. package/dist/table.js.map +0 -1
  323. package/dist/tabs.js.map +0 -1
  324. package/dist/tag.js.map +0 -1
  325. package/dist/testimonial-block.js.map +0 -1
  326. package/dist/textarea.js.map +0 -1
  327. package/dist/time-picker.js.map +0 -1
  328. package/dist/toast.js.map +0 -1
  329. package/dist/tooltip.js.map +0 -1
  330. package/dist/tree-map.js.map +0 -1
  331. package/dist/waterfall-chart.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/progress.tsx"],"sourcesContent":["\"use client\";\n\nimport { Progress as ProgressPrimitive } from \"@base-ui/react/progress\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"./lib/cn\";\nimport {\n\ttype ComponentSize,\n\tSizeProvider,\n\tuseComponentSize,\n} from \"./size-context\";\n\nconst progressVariants = cva(\n\t\"group/progress flex w-full flex-wrap items-center\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"gap-x-2 gap-y-1.5\",\n\t\t\t\tmd: \"gap-x-3 gap-y-2\",\n\t\t\t\tlg: \"gap-x-4 gap-y-2.5\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\nconst circularProgressVariants = cva(\n\t\"relative grid place-items-center text-fg-on-brand\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"text-[9px]\",\n\t\t\t\tmd: \"text-[10px]\",\n\t\t\t\tlg: \"text-gdt-xs\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\nconst circularProgressLabelVariants = cva(\n\t\"relative z-10 font-medium tabular-nums leading-none\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"text-[9px]\",\n\t\t\t\tmd: \"text-[10px]\",\n\t\t\t\tlg: \"text-gdt-xs\",\n\t\t\t},\n\t\t\toverlay: {\n\t\t\t\ttrue: \"grid place-items-center rounded-full bg-black/65 text-white shadow-sm backdrop-blur-[1px]\",\n\t\t\t\tfalse: \"\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t\toverlay: false,\n\t\t},\n\t},\n);\n\nconst circularProgressSizes: Record<\n\tComponentSize,\n\t{ pixelSize: number; strokeWidth: number }\n> = {\n\tsm: { pixelSize: 40, strokeWidth: 3 },\n\tmd: { pixelSize: 48, strokeWidth: 4 },\n\tlg: { pixelSize: 56, strokeWidth: 5 },\n};\n\ntype ProgressProps = ProgressPrimitive.Root.Props &\n\tVariantProps<typeof progressVariants> & {\n\t\tdisabled?: boolean;\n\t};\n\ntype ProgressSize = NonNullable<VariantProps<typeof progressVariants>[\"size\"]>;\n\ntype CircularProgressProps = React.ComponentProps<\"div\"> &\n\tVariantProps<typeof circularProgressVariants> & {\n\t\tvalue: number;\n\t\tlabelOverlay?: boolean;\n\t\tpixelSize?: number;\n\t\tstrokeWidth?: number;\n\t\tstrokeLinecap?: \"round\" | \"butt\" | \"square\";\n\t};\n\nfunction Progress({\n\tclassName,\n\tchildren,\n\tvalue,\n\tsize,\n\tdisabled = false,\n\t...props\n}: ProgressProps) {\n\tconst resolvedSize = useComponentSize(size);\n\tconst hasCustomTrack = React.Children.toArray(children).some(\n\t\t(child) => React.isValidElement(child) && child.type === ProgressTrack,\n\t);\n\n\treturn (\n\t\t<SizeProvider size={resolvedSize}>\n\t\t\t<ProgressPrimitive.Root\n\t\t\t\tvalue={value}\n\t\t\t\taria-disabled={disabled || undefined}\n\t\t\t\tdata-disabled={disabled}\n\t\t\t\tdata-size={resolvedSize}\n\t\t\t\tdata-slot=\"progress\"\n\t\t\t\tclassName={cn(progressVariants({ size: resolvedSize }), className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t{!hasCustomTrack && (\n\t\t\t\t\t<ProgressTrack>\n\t\t\t\t\t\t<ProgressIndicator />\n\t\t\t\t\t</ProgressTrack>\n\t\t\t\t)}\n\t\t\t</ProgressPrimitive.Root>\n\t\t</SizeProvider>\n\t);\n}\n\nfunction ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {\n\treturn (\n\t\t<ProgressPrimitive.Track\n\t\t\tclassName={cn(\n\t\t\t\t\"order-3 relative flex basis-full items-center overflow-hidden rounded-full bg-surface-raised\",\n\t\t\t\t\"group-data-[size=sm]/progress:h-1 group-data-[size=md]/progress:h-1.5 group-data-[size=lg]/progress:h-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-slot=\"progress-track\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction ProgressIndicator({\n\tclassName,\n\t...props\n}: ProgressPrimitive.Indicator.Props) {\n\treturn (\n\t\t<ProgressPrimitive.Indicator\n\t\t\tdata-slot=\"progress-indicator\"\n\t\t\tclassName={cn(\n\t\t\t\t\"h-full rounded-full bg-action-primary transition-[width,transform,background-color] duration-300 ease-out group-data-[disabled=true]/progress:bg-line-strong\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {\n\treturn (\n\t\t<ProgressPrimitive.Label\n\t\t\tclassName={cn(\n\t\t\t\t\"order-1 min-w-0 text-fg-primary font-semibold leading-snug group-data-[disabled=true]/progress:text-fg-caption-placeholder\",\n\t\t\t\t\"group-data-[size=sm]/progress:text-gdt-xs group-data-[size=md]/progress:text-gdt-sm group-data-[size=lg]/progress:text-gdt-md\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-slot=\"progress-label\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {\n\treturn (\n\t\t<ProgressPrimitive.Value\n\t\t\tclassName={cn(\n\t\t\t\t\"order-2 ml-auto shrink-0 tabular-nums text-fg-secondary leading-snug group-data-[disabled=true]/progress:text-fg-caption-placeholder\",\n\t\t\t\t\"group-data-[size=sm]/progress:text-gdt-xs group-data-[size=md]/progress:text-gdt-sm group-data-[size=lg]/progress:text-gdt-md\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-slot=\"progress-value\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction ProgressCaption({ className, ...props }: React.ComponentProps<\"p\">) {\n\treturn (\n\t\t<p\n\t\t\tclassName={cn(\n\t\t\t\t\"order-4 basis-full text-fg-secondary leading-snug group-data-[disabled=true]/progress:text-fg-caption-placeholder\",\n\t\t\t\t\"group-data-[size=sm]/progress:text-gdt-subtext group-data-[size=md]/progress:text-gdt-xs group-data-[size=lg]/progress:text-gdt-sm\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdata-slot=\"progress-caption\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CircularProgress({\n\tclassName,\n\tstyle,\n\tvalue,\n\tsize,\n\tchildren,\n\tlabelOverlay = false,\n\tpixelSize,\n\tstrokeWidth,\n\tstrokeLinecap = \"round\",\n\t...props\n}: CircularProgressProps) {\n\tconst resolvedSize = useComponentSize(size);\n\tconst normalizedValue = Number.isFinite(value) ? value : 0;\n\tconst progress = Math.min(100, Math.max(0, Math.round(normalizedValue)));\n\tconst resolvedDimensions = circularProgressSizes[resolvedSize];\n\tconst resolvedPixelSize = pixelSize ?? resolvedDimensions.pixelSize;\n\tconst resolvedStrokeWidth = strokeWidth ?? resolvedDimensions.strokeWidth;\n\tconst radius = (resolvedPixelSize - resolvedStrokeWidth) / 2;\n\tconst labelSize = resolvedPixelSize - resolvedStrokeWidth * 3;\n\tconst circumference = 2 * Math.PI * radius;\n\tconst strokeDashoffset = circumference - (progress / 100) * circumference;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"progressbar\"\n\t\t\taria-valuemin={0}\n\t\t\taria-valuemax={100}\n\t\t\taria-valuenow={progress}\n\t\t\taria-valuetext={`${progress}%`}\n\t\t\tdata-slot=\"circular-progress\"\n\t\t\tclassName={cn(\n\t\t\t\tcircularProgressVariants({ size: resolvedSize }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={{ width: resolvedPixelSize, height: resolvedPixelSize, ...style }}\n\t\t\t{...props}\n\t\t>\n\t\t\t<svg\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"absolute inset-0 -rotate-90 transform\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\twidth={resolvedPixelSize}\n\t\t\t\theight={resolvedPixelSize}\n\t\t\t\tviewBox={`0 0 ${resolvedPixelSize} ${resolvedPixelSize}`}\n\t\t\t\tfill=\"none\"\n\t\t\t\tstroke=\"currentColor\"\n\t\t\t>\n\t\t\t\t<circle\n\t\t\t\t\tclassName=\"text-line\"\n\t\t\t\t\tstrokeWidth={resolvedStrokeWidth}\n\t\t\t\t\tcx={resolvedPixelSize / 2}\n\t\t\t\t\tcy={resolvedPixelSize / 2}\n\t\t\t\t\tr={radius}\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tclassName=\"text-action-primary transition-[stroke-dashoffset] duration-300 ease-linear\"\n\t\t\t\t\tstrokeWidth={resolvedStrokeWidth}\n\t\t\t\t\tstrokeLinecap={strokeLinecap}\n\t\t\t\t\tstrokeDasharray={circumference}\n\t\t\t\t\tstrokeDashoffset={strokeDashoffset}\n\t\t\t\t\tcx={resolvedPixelSize / 2}\n\t\t\t\t\tcy={resolvedPixelSize / 2}\n\t\t\t\t\tr={radius}\n\t\t\t\t/>\n\t\t\t</svg>\n\n\t\t\t{children ?? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\tcircularProgressLabelVariants({\n\t\t\t\t\t\t\tsize: resolvedSize,\n\t\t\t\t\t\t\toverlay: labelOverlay,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tlabelOverlay ? { width: labelSize, height: labelSize } : undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{progress}%\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\n/**\n * Composition example\n *\n * <Progress value={60} size=\"md\">\n * <ProgressLabel>Progress</ProgressLabel>\n * <ProgressValue>{(formatted) => formatted}</ProgressValue>\n * <ProgressCaption>\n *\t Uploading 3 files... Please don't close the window.\n * </ProgressCaption>\n * </Progress>\n */\n\nexport {\n\tCircularProgress,\n\tProgress,\n\tProgressTrack,\n\tProgressIndicator,\n\tProgressLabel,\n\tProgressValue,\n\tProgressCaption,\n\tcircularProgressVariants,\n\tprogressVariants,\n\ttype CircularProgressProps,\n\ttype ProgressProps,\n\ttype ProgressSize,\n};\n"],"mappings":"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","names":[]}
@@ -1,25 +0,0 @@
1
- // src/input-size-context.tsx
2
- import { createContext, useContext } from "react";
3
- import { Fragment, jsx } from "react/jsx-runtime";
4
- var InputSizeContext = createContext(
5
- void 0
6
- );
7
- function InputSizeProvider({
8
- children,
9
- size
10
- }) {
11
- if (!size) {
12
- return /* @__PURE__ */ jsx(Fragment, { children });
13
- }
14
- return /* @__PURE__ */ jsx(InputSizeContext.Provider, { value: size, children });
15
- }
16
- function useInputComponentSize(size, fallback = "md") {
17
- const inheritedSize = useContext(InputSizeContext);
18
- return size ?? inheritedSize ?? fallback;
19
- }
20
-
21
- export {
22
- InputSizeProvider,
23
- useInputComponentSize
24
- };
25
- //# sourceMappingURL=chunk-3ACQVT7A.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/input-size-context.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, type ReactNode, useContext } from \"react\";\n\ntype InputComponentSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nconst InputSizeContext = createContext<InputComponentSize | undefined>(\n\tundefined,\n);\n\nfunction InputSizeProvider({\n\tchildren,\n\tsize,\n}: {\n\tchildren: ReactNode;\n\tsize?: InputComponentSize | null;\n}) {\n\tif (!size) {\n\t\treturn <>{children}</>;\n\t}\n\n\treturn (\n\t\t<InputSizeContext.Provider value={size}>\n\t\t\t{children}\n\t\t</InputSizeContext.Provider>\n\t);\n}\n\nfunction useInputComponentSize(\n\tsize?: InputComponentSize | null,\n\tfallback: InputComponentSize = \"md\",\n) {\n\tconst inheritedSize = useContext(InputSizeContext);\n\treturn size ?? inheritedSize ?? fallback;\n}\n\nexport { InputSizeProvider, useInputComponentSize, type InputComponentSize };\n"],"mappings":";AAEA,SAAS,eAA+B,kBAAkB;AAgBjD;AAZT,IAAM,mBAAmB;AAAA,EACxB;AACD;AAEA,SAAS,kBAAkB;AAAA,EAC1B;AAAA,EACA;AACD,GAGG;AACF,MAAI,CAAC,MAAM;AACV,WAAO,gCAAG,UAAS;AAAA,EACpB;AAEA,SACC,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,MAChC,UACF;AAEF;AAEA,SAAS,sBACR,MACA,WAA+B,MAC9B;AACD,QAAM,gBAAgB,WAAW,gBAAgB;AACjD,SAAO,QAAQ,iBAAiB;AACjC;","names":[]}
@@ -1,334 +0,0 @@
1
- import {
2
- SizeProvider,
3
- useComponentSize
4
- } from "./chunk-HL3ZSYES.js";
5
- import {
6
- cn
7
- } from "./chunk-Y4TTYVNE.js";
8
-
9
- // src/dropdown-menu.tsx
10
- import { Menu as MenuPrimitive } from "@base-ui/react/menu";
11
- import { cva } from "class-variance-authority";
12
- import { CheckIcon, ChevronRightIcon } from "lucide-react";
13
- import { jsx, jsxs } from "react/jsx-runtime";
14
- function DropdownMenu({
15
- children,
16
- size,
17
- ...props
18
- }) {
19
- return /* @__PURE__ */ jsx(SizeProvider, { size, children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props, children }) });
20
- }
21
- function DropdownMenuPortal({ ...props }) {
22
- return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
23
- }
24
- function DropdownMenuTrigger({ ...props }) {
25
- return /* @__PURE__ */ jsx(MenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
26
- }
27
- var dropdownMenuContentVariants = cva(
28
- "relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto border border-line-subtle bg-canvas text-fg-primary shadow-(--elevation-e1-shadow) duration-100 outline-none 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:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",
29
- {
30
- variants: {
31
- size: {
32
- sm: "rounded-lg p-1",
33
- md: "rounded-xl p-1.5",
34
- lg: "rounded-[18px] p-2"
35
- }
36
- },
37
- defaultVariants: {
38
- size: "md"
39
- }
40
- }
41
- );
42
- var dropdownMenuItemVariants = cva(
43
- "group/dropdown-menu-item relative flex w-full cursor-pointer items-center font-normal text-fg-primary outline-none transition-colors select-none focus:bg-surface focus:text-fg-primary data-highlighted:bg-surface data-highlighted:text-fg-primary data-[variant=destructive]:text-fg-danger data-[variant=destructive]:focus:bg-surface-danger-subtle data-[variant=destructive]:focus:text-fg-danger data-[variant=destructive]:data-highlighted:bg-surface-danger-subtle data-[variant=destructive]:data-highlighted:text-fg-danger data-disabled:pointer-events-none data-disabled:text-fg-caption-placeholder data-disabled:opacity-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:[&_svg]:text-fg-danger",
44
- {
45
- variants: {
46
- size: {
47
- sm: "gap-1.5 rounded-md px-3 py-1.5 text-gdt-xs [&_svg:not([class*='size-'])]:size-3.5",
48
- md: "gap-2 rounded-md px-4 py-2 text-gdt-sm [&_svg:not([class*='size-'])]:size-4",
49
- lg: "gap-2.5 rounded-md px-4 py-2.5 text-gdt-md [&_svg:not([class*='size-'])]:size-4.5"
50
- }
51
- },
52
- defaultVariants: {
53
- size: "md"
54
- }
55
- }
56
- );
57
- var dropdownMenuLabelVariants = cva(
58
- "font-medium text-fg-secondary data-inset:pl-8",
59
- {
60
- variants: {
61
- size: {
62
- sm: "px-3 py-1 text-gdt-xs",
63
- md: "px-3 py-1 text-gdt-xs",
64
- lg: "px-4 py-1.5 text-gdt-sm"
65
- }
66
- },
67
- defaultVariants: {
68
- size: "md"
69
- }
70
- }
71
- );
72
- function DropdownMenuContent({
73
- align = "start",
74
- alignOffset = 0,
75
- side = "bottom",
76
- sideOffset = 6,
77
- className,
78
- container,
79
- ...props
80
- }) {
81
- const resolvedSize = useComponentSize();
82
- return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { container, children: /* @__PURE__ */ jsx(
83
- MenuPrimitive.Positioner,
84
- {
85
- className: "isolate z-50 outline-none",
86
- align,
87
- alignOffset,
88
- side,
89
- sideOffset,
90
- children: /* @__PURE__ */ jsx(
91
- MenuPrimitive.Popup,
92
- {
93
- "data-slot": "dropdown-menu-content",
94
- "data-size": resolvedSize,
95
- className: cn(
96
- dropdownMenuContentVariants({ size: resolvedSize }),
97
- className
98
- ),
99
- ...props
100
- }
101
- )
102
- }
103
- ) });
104
- }
105
- function DropdownMenuGroup({ className, ...props }) {
106
- return /* @__PURE__ */ jsx(
107
- MenuPrimitive.Group,
108
- {
109
- "data-slot": "dropdown-menu-group",
110
- className: cn("scroll-my-1 space-y-0.5", className),
111
- ...props
112
- }
113
- );
114
- }
115
- function DropdownMenuLabel({
116
- className,
117
- inset,
118
- ...props
119
- }) {
120
- const resolvedSize = useComponentSize();
121
- return /* @__PURE__ */ jsx(
122
- MenuPrimitive.GroupLabel,
123
- {
124
- "data-slot": "dropdown-menu-label",
125
- "data-inset": inset,
126
- className: cn(
127
- dropdownMenuLabelVariants({ size: resolvedSize }),
128
- className
129
- ),
130
- ...props
131
- }
132
- );
133
- }
134
- function DropdownMenuItem({
135
- className,
136
- inset,
137
- variant = "default",
138
- ...props
139
- }) {
140
- const resolvedSize = useComponentSize();
141
- return /* @__PURE__ */ jsx(
142
- MenuPrimitive.Item,
143
- {
144
- "data-slot": "dropdown-menu-item",
145
- "data-inset": inset,
146
- "data-size": resolvedSize,
147
- "data-variant": variant,
148
- className: cn(
149
- dropdownMenuItemVariants({ size: resolvedSize }),
150
- "data-inset:pl-8",
151
- className
152
- ),
153
- ...props
154
- }
155
- );
156
- }
157
- function DropdownMenuSub({ ...props }) {
158
- return /* @__PURE__ */ jsx(MenuPrimitive.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
159
- }
160
- function DropdownMenuSubTrigger({
161
- className,
162
- inset,
163
- children,
164
- ...props
165
- }) {
166
- const resolvedSize = useComponentSize();
167
- return /* @__PURE__ */ jsxs(
168
- MenuPrimitive.SubmenuTrigger,
169
- {
170
- "data-slot": "dropdown-menu-sub-trigger",
171
- "data-inset": inset,
172
- "data-size": resolvedSize,
173
- className: cn(
174
- dropdownMenuItemVariants({ size: resolvedSize }),
175
- "data-inset:pl-8 data-open:bg-surface data-open:text-fg-primary data-popup-open:bg-surface data-popup-open:text-fg-primary",
176
- className
177
- ),
178
- ...props,
179
- children: [
180
- children,
181
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
182
- ]
183
- }
184
- );
185
- }
186
- function DropdownMenuSubContent({
187
- align = "start",
188
- alignOffset = -3,
189
- side = "right",
190
- sideOffset = 4,
191
- className,
192
- ...props
193
- }) {
194
- return /* @__PURE__ */ jsx(
195
- DropdownMenuContent,
196
- {
197
- "data-slot": "dropdown-menu-sub-content",
198
- className: cn(
199
- "w-auto min-w-28 shadow-(--elevation-e2-shadow)",
200
- className
201
- ),
202
- align,
203
- alignOffset,
204
- side,
205
- sideOffset,
206
- ...props
207
- }
208
- );
209
- }
210
- function DropdownMenuCheckboxItem({
211
- className,
212
- children,
213
- checked,
214
- inset,
215
- ...props
216
- }) {
217
- const resolvedSize = useComponentSize();
218
- return /* @__PURE__ */ jsxs(
219
- MenuPrimitive.CheckboxItem,
220
- {
221
- "data-slot": "dropdown-menu-checkbox-item",
222
- "data-inset": inset,
223
- "data-size": resolvedSize,
224
- className: cn(
225
- dropdownMenuItemVariants({ size: resolvedSize }),
226
- "pr-10 data-inset:pl-8",
227
- className
228
- ),
229
- checked,
230
- ...props,
231
- children: [
232
- /* @__PURE__ */ jsx(
233
- "span",
234
- {
235
- className: "pointer-events-none absolute right-3 flex items-center justify-center text-fg-brand",
236
- "data-slot": "dropdown-menu-checkbox-item-indicator",
237
- children: /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
238
- }
239
- ),
240
- children
241
- ]
242
- }
243
- );
244
- }
245
- function DropdownMenuRadioGroup({ ...props }) {
246
- return /* @__PURE__ */ jsx(
247
- MenuPrimitive.RadioGroup,
248
- {
249
- "data-slot": "dropdown-menu-radio-group",
250
- ...props
251
- }
252
- );
253
- }
254
- function DropdownMenuRadioItem({
255
- className,
256
- children,
257
- inset,
258
- ...props
259
- }) {
260
- const resolvedSize = useComponentSize();
261
- return /* @__PURE__ */ jsxs(
262
- MenuPrimitive.RadioItem,
263
- {
264
- "data-slot": "dropdown-menu-radio-item",
265
- "data-inset": inset,
266
- "data-size": resolvedSize,
267
- className: cn(
268
- dropdownMenuItemVariants({ size: resolvedSize }),
269
- "pr-10 data-inset:pl-8",
270
- className
271
- ),
272
- ...props,
273
- children: [
274
- /* @__PURE__ */ jsx(
275
- "span",
276
- {
277
- className: "pointer-events-none absolute right-3 flex items-center justify-center text-fg-brand",
278
- "data-slot": "dropdown-menu-radio-item-indicator",
279
- children: /* @__PURE__ */ jsx(MenuPrimitive.RadioItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
280
- }
281
- ),
282
- children
283
- ]
284
- }
285
- );
286
- }
287
- function DropdownMenuSeparator({
288
- className,
289
- ...props
290
- }) {
291
- return /* @__PURE__ */ jsx(
292
- MenuPrimitive.Separator,
293
- {
294
- "data-slot": "dropdown-menu-separator",
295
- className: cn("pointer-events-none my-1 h-px bg-line-subtle", className),
296
- ...props
297
- }
298
- );
299
- }
300
- function DropdownMenuShortcut({
301
- className,
302
- ...props
303
- }) {
304
- return /* @__PURE__ */ jsx(
305
- "span",
306
- {
307
- "data-slot": "dropdown-menu-shortcut",
308
- className: cn(
309
- "ml-auto text-gdt-xs tracking-widest text-fg-secondary group-focus/dropdown-menu-item:text-fg-primary group-data-highlighted/dropdown-menu-item:text-fg-primary",
310
- className
311
- ),
312
- ...props
313
- }
314
- );
315
- }
316
-
317
- export {
318
- DropdownMenu,
319
- DropdownMenuPortal,
320
- DropdownMenuTrigger,
321
- DropdownMenuContent,
322
- DropdownMenuGroup,
323
- DropdownMenuLabel,
324
- DropdownMenuItem,
325
- DropdownMenuSub,
326
- DropdownMenuSubTrigger,
327
- DropdownMenuSubContent,
328
- DropdownMenuCheckboxItem,
329
- DropdownMenuRadioGroup,
330
- DropdownMenuRadioItem,
331
- DropdownMenuSeparator,
332
- DropdownMenuShortcut
333
- };
334
- //# sourceMappingURL=chunk-3T65TLJX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport { cva } from \"class-variance-authority\";\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"./lib/cn\";\nimport {\n\ttype ComponentSize,\n\tSizeProvider,\n\tuseComponentSize,\n} from \"./size-context\";\n\ntype DropdownMenuSize = ComponentSize;\n\nfunction DropdownMenu({\n\tchildren,\n\tsize,\n\t...props\n}: MenuPrimitive.Root.Props & {\n\tsize?: DropdownMenuSize;\n}) {\n\treturn (\n\t\t<SizeProvider size={size}>\n\t\t\t<MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props}>\n\t\t\t\t{children}\n\t\t\t</MenuPrimitive.Root>\n\t\t</SizeProvider>\n\t);\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n\treturn <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n\treturn <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nconst dropdownMenuContentVariants = cva(\n\t\"relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto border border-line-subtle bg-canvas text-fg-primary shadow-(--elevation-e1-shadow) duration-100 outline-none 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:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"rounded-lg p-1\",\n\t\t\t\tmd: \"rounded-xl p-1.5\",\n\t\t\t\tlg: \"rounded-[18px] p-2\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\nconst dropdownMenuItemVariants = cva(\n\t\"group/dropdown-menu-item relative flex w-full cursor-pointer items-center font-normal text-fg-primary outline-none transition-colors select-none focus:bg-surface focus:text-fg-primary data-highlighted:bg-surface data-highlighted:text-fg-primary data-[variant=destructive]:text-fg-danger data-[variant=destructive]:focus:bg-surface-danger-subtle data-[variant=destructive]:focus:text-fg-danger data-[variant=destructive]:data-highlighted:bg-surface-danger-subtle data-[variant=destructive]:data-highlighted:text-fg-danger data-disabled:pointer-events-none data-disabled:text-fg-caption-placeholder data-disabled:opacity-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:[&_svg]:text-fg-danger\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"gap-1.5 rounded-md px-3 py-1.5 text-gdt-xs [&_svg:not([class*='size-'])]:size-3.5\",\n\t\t\t\tmd: \"gap-2 rounded-md px-4 py-2 text-gdt-sm [&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tlg: \"gap-2.5 rounded-md px-4 py-2.5 text-gdt-md [&_svg:not([class*='size-'])]:size-4.5\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\nconst dropdownMenuLabelVariants = cva(\n\t\"font-medium text-fg-secondary data-inset:pl-8\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"px-3 py-1 text-gdt-xs\",\n\t\t\t\tmd: \"px-3 py-1 text-gdt-xs\",\n\t\t\t\tlg: \"px-4 py-1.5 text-gdt-sm\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\nfunction DropdownMenuContent({\n\talign = \"start\",\n\talignOffset = 0,\n\tside = \"bottom\",\n\tsideOffset = 6,\n\tclassName,\n\tcontainer,\n\t...props\n}: MenuPrimitive.Popup.Props &\n\tPick<\n\t\tMenuPrimitive.Positioner.Props,\n\t\t\"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n\t> &\n\tPick<MenuPrimitive.Portal.Props, \"container\">) {\n\tconst resolvedSize = useComponentSize();\n\n\treturn (\n\t\t<MenuPrimitive.Portal container={container}>\n\t\t\t<MenuPrimitive.Positioner\n\t\t\t\tclassName=\"isolate z-50 outline-none\"\n\t\t\t\talign={align}\n\t\t\t\talignOffset={alignOffset}\n\t\t\t\tside={side}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t>\n\t\t\t\t<MenuPrimitive.Popup\n\t\t\t\t\tdata-slot=\"dropdown-menu-content\"\n\t\t\t\t\tdata-size={resolvedSize}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\tdropdownMenuContentVariants({ size: resolvedSize }),\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t</MenuPrimitive.Positioner>\n\t\t</MenuPrimitive.Portal>\n\t);\n}\n\nfunction DropdownMenuGroup({ className, ...props }: MenuPrimitive.Group.Props) {\n\treturn (\n\t\t<MenuPrimitive.Group\n\t\t\tdata-slot=\"dropdown-menu-group\"\n\t\t\tclassName={cn(\"scroll-my-1 space-y-0.5\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuLabel({\n\tclassName,\n\tinset,\n\t...props\n}: MenuPrimitive.GroupLabel.Props & {\n\tinset?: boolean;\n}) {\n\tconst resolvedSize = useComponentSize();\n\n\treturn (\n\t\t<MenuPrimitive.GroupLabel\n\t\t\tdata-slot=\"dropdown-menu-label\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\tdropdownMenuLabelVariants({ size: resolvedSize }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuItem({\n\tclassName,\n\tinset,\n\tvariant = \"default\",\n\t...props\n}: MenuPrimitive.Item.Props & {\n\tinset?: boolean;\n\tvariant?: \"default\" | \"destructive\";\n}) {\n\tconst resolvedSize = useComponentSize();\n\n\treturn (\n\t\t<MenuPrimitive.Item\n\t\t\tdata-slot=\"dropdown-menu-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-size={resolvedSize}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\tdropdownMenuItemVariants({ size: resolvedSize }),\n\t\t\t\t\"data-inset:pl-8\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n\treturn <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n\tinset?: boolean;\n}) {\n\tconst resolvedSize = useComponentSize();\n\n\treturn (\n\t\t<MenuPrimitive.SubmenuTrigger\n\t\t\tdata-slot=\"dropdown-menu-sub-trigger\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-size={resolvedSize}\n\t\t\tclassName={cn(\n\t\t\t\tdropdownMenuItemVariants({ size: resolvedSize }),\n\t\t\t\t\"data-inset:pl-8 data-open:bg-surface data-open:text-fg-primary data-popup-open:bg-surface data-popup-open:text-fg-primary\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n\t\t</MenuPrimitive.SubmenuTrigger>\n\t);\n}\n\nfunction DropdownMenuSubContent({\n\talign = \"start\",\n\talignOffset = -3,\n\tside = \"right\",\n\tsideOffset = 4,\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n\treturn (\n\t\t<DropdownMenuContent\n\t\t\tdata-slot=\"dropdown-menu-sub-content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"w-auto min-w-28 shadow-(--elevation-e2-shadow)\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\talign={align}\n\t\t\talignOffset={alignOffset}\n\t\t\tside={side}\n\t\t\tsideOffset={sideOffset}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuCheckboxItem({\n\tclassName,\n\tchildren,\n\tchecked,\n\tinset,\n\t...props\n}: MenuPrimitive.CheckboxItem.Props & {\n\tinset?: boolean;\n}) {\n\tconst resolvedSize = useComponentSize();\n\n\treturn (\n\t\t<MenuPrimitive.CheckboxItem\n\t\t\tdata-slot=\"dropdown-menu-checkbox-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-size={resolvedSize}\n\t\t\tclassName={cn(\n\t\t\t\tdropdownMenuItemVariants({ size: resolvedSize }),\n\t\t\t\t\"pr-10 data-inset:pl-8\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tchecked={checked}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none absolute right-3 flex items-center justify-center text-fg-brand\"\n\t\t\t\tdata-slot=\"dropdown-menu-checkbox-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.CheckboxItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.CheckboxItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</MenuPrimitive.CheckboxItem>\n\t);\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n\treturn (\n\t\t<MenuPrimitive.RadioGroup\n\t\t\tdata-slot=\"dropdown-menu-radio-group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuRadioItem({\n\tclassName,\n\tchildren,\n\tinset,\n\t...props\n}: MenuPrimitive.RadioItem.Props & {\n\tinset?: boolean;\n}) {\n\tconst resolvedSize = useComponentSize();\n\n\treturn (\n\t\t<MenuPrimitive.RadioItem\n\t\t\tdata-slot=\"dropdown-menu-radio-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-size={resolvedSize}\n\t\t\tclassName={cn(\n\t\t\t\tdropdownMenuItemVariants({ size: resolvedSize }),\n\t\t\t\t\"pr-10 data-inset:pl-8\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none absolute right-3 flex items-center justify-center text-fg-brand\"\n\t\t\t\tdata-slot=\"dropdown-menu-radio-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.RadioItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.RadioItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</MenuPrimitive.RadioItem>\n\t);\n}\n\nfunction DropdownMenuSeparator({\n\tclassName,\n\t...props\n}: MenuPrimitive.Separator.Props) {\n\treturn (\n\t\t<MenuPrimitive.Separator\n\t\t\tdata-slot=\"dropdown-menu-separator\"\n\t\t\tclassName={cn(\"pointer-events-none my-1 h-px bg-line-subtle\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuShortcut({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"dropdown-menu-shortcut\"\n\t\t\tclassName={cn(\n\t\t\t\t\"ml-auto text-gdt-xs tracking-widest text-fg-secondary group-focus/dropdown-menu-item:text-fg-primary group-data-highlighted/dropdown-menu-item:text-fg-primary\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuPortal,\n\tDropdownMenuTrigger,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuLabel,\n\tDropdownMenuItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuSubContent,\n\ttype DropdownMenuSize,\n};\n"],"mappings":"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","names":[]}
@@ -1,192 +0,0 @@
1
- import {
2
- Textarea
3
- } from "./chunk-KSMDANKI.js";
4
- import {
5
- Input
6
- } from "./chunk-MEKCCOP5.js";
7
- import {
8
- InputSizeProvider
9
- } from "./chunk-3ACQVT7A.js";
10
- import {
11
- Button
12
- } from "./chunk-B4H6RNDH.js";
13
- import {
14
- SizeProvider,
15
- useComponentSize
16
- } from "./chunk-HL3ZSYES.js";
17
- import {
18
- cn
19
- } from "./chunk-Y4TTYVNE.js";
20
-
21
- // src/input-group.tsx
22
- import { cva } from "class-variance-authority";
23
- import { jsx } from "react/jsx-runtime";
24
- var inputGroupVariants = cva(
25
- "group/input-group relative flex w-full min-w-0 items-center rounded-full has-[textarea]:rounded-xl has-data-[align=block-end]:rounded-xl has-data-[align=block-start]:rounded-xl border border-line bg-canvas transition-[background-color,border-color,box-shadow,color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:border-line-subtle has-disabled:bg-surface has-disabled:text-fg-caption-placeholder focus-within:border-line-focus focus-within:inset-ring-1 inset-ring-line-focus has-[[data-slot][aria-invalid=true]]:border-line-danger has-[[data-slot][aria-invalid=true]]:inset-shadow-none has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pl-2 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pl-2.5 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pl-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pl-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pr-2 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pr-2.5 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pr-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pr-3",
26
- {
27
- variants: {
28
- size: {
29
- sm: "h-8",
30
- md: "h-10",
31
- lg: "h-12",
32
- xl: "h-14"
33
- }
34
- },
35
- defaultVariants: {
36
- size: "md"
37
- }
38
- }
39
- );
40
- function InputGroup({
41
- className,
42
- size,
43
- ...props
44
- }) {
45
- const inheritedSize = useComponentSize();
46
- const resolvedSize = size ?? inheritedSize;
47
- const componentSize = resolvedSize === "xl" ? void 0 : resolvedSize;
48
- return /* @__PURE__ */ jsx(SizeProvider, { size: componentSize, children: /* @__PURE__ */ jsx(InputSizeProvider, { size: resolvedSize, children: /* @__PURE__ */ jsx(
49
- "div",
50
- {
51
- "data-slot": "input-group",
52
- "data-size": resolvedSize,
53
- role: "group",
54
- className: cn(inputGroupVariants({ size: resolvedSize }), className),
55
- ...props
56
- }
57
- ) }) });
58
- }
59
- var inputGroupAddonVariants = cva(
60
- "flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-gdt-sm font-normal text-fg-secondary select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[size=lg]/input-group:[&>svg:not([class*='size-'])]:size-4.5 group-data-[size=xl]/input-group:[&>svg:not([class*='size-'])]:size-5 [&>svg:not([class*='size-'])]:size-4",
61
- {
62
- variants: {
63
- align: {
64
- "inline-start": "order-first group-data-[size=sm]/input-group:pl-3 group-data-[size=md]/input-group:pl-3.5 group-data-[size=lg]/input-group:pl-4 group-data-[size=xl]/input-group:pl-4.5 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
65
- "inline-end": "order-last group-data-[size=sm]/input-group:pr-3 group-data-[size=md]/input-group:pr-3.5 group-data-[size=lg]/input-group:pr-4 group-data-[size=xl]/input-group:pr-4.5 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
66
- "block-start": "order-first w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
67
- "block-end": "order-last w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
68
- }
69
- },
70
- defaultVariants: {
71
- align: "inline-start"
72
- }
73
- }
74
- );
75
- function InputGroupAddon({
76
- className,
77
- align = "inline-start",
78
- ...props
79
- }) {
80
- return (
81
- // biome-ignore lint/a11y/useSemanticElements: addon is a structural wrapper for grouped input affordances.
82
- // biome-ignore lint/a11y/useKeyWithClickEvents: click only forwards focus to the sibling input and is not a standalone action target.
83
- /* @__PURE__ */ jsx(
84
- "div",
85
- {
86
- role: "group",
87
- "data-slot": "input-group-addon",
88
- "data-align": align,
89
- className: cn(inputGroupAddonVariants({ align }), className),
90
- onClick: (e) => {
91
- if (e.target.closest("button")) {
92
- return;
93
- }
94
- e.currentTarget.parentElement?.querySelector("input")?.focus();
95
- },
96
- ...props
97
- }
98
- )
99
- );
100
- }
101
- var inputGroupButtonVariants = cva(
102
- "flex items-center gap-2 text-sm shadow-none rounded-full",
103
- {
104
- variants: {
105
- size: {
106
- xs: "h-6 gap-1 px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
107
- sm: "",
108
- "icon-xs": "size-6 p-0 has-[>svg]:p-0",
109
- "icon-sm": "size-8 p-0 has-[>svg]:p-0"
110
- }
111
- },
112
- defaultVariants: {
113
- size: "xs"
114
- }
115
- }
116
- );
117
- function InputGroupButton({
118
- className,
119
- type = "button",
120
- variant = "ghost",
121
- size = "xs",
122
- ...props
123
- }) {
124
- return /* @__PURE__ */ jsx(
125
- Button,
126
- {
127
- type,
128
- "data-size": size,
129
- variant,
130
- className: cn(inputGroupButtonVariants({ size }), className),
131
- ...props
132
- }
133
- );
134
- }
135
- function InputGroupText({ className, ...props }) {
136
- return /* @__PURE__ */ jsx(
137
- "span",
138
- {
139
- className: cn(
140
- "flex items-center gap-2 text-gdt-sm text-fg-secondary [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
141
- className
142
- ),
143
- ...props
144
- }
145
- );
146
- }
147
- function InputGroupInput({
148
- className,
149
- size,
150
- ...props
151
- }) {
152
- return /* @__PURE__ */ jsx(
153
- Input,
154
- {
155
- "data-slot": "input-group-control",
156
- size,
157
- className: cn(
158
- "flex-1 rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent",
159
- className
160
- ),
161
- ...props
162
- }
163
- );
164
- }
165
- function InputGroupTextarea({
166
- className,
167
- size,
168
- ...props
169
- }) {
170
- return /* @__PURE__ */ jsx(
171
- Textarea,
172
- {
173
- "data-slot": "input-group-control",
174
- size,
175
- className: cn(
176
- "flex-1 resize-none rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent",
177
- className
178
- ),
179
- ...props
180
- }
181
- );
182
- }
183
-
184
- export {
185
- InputGroup,
186
- InputGroupAddon,
187
- InputGroupButton,
188
- InputGroupText,
189
- InputGroupInput,
190
- InputGroupTextarea
191
- };
192
- //# sourceMappingURL=chunk-6ZSGQHH2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/input-group.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { Button } from \"./button\";\nimport { Input, type InputSize } from \"./input\";\nimport { InputSizeProvider } from \"./input-size-context\";\nimport { cn } from \"./lib/cn\";\nimport {\n\ttype ComponentSize,\n\tSizeProvider,\n\tuseComponentSize,\n} from \"./size-context\";\nimport { Textarea, type TextareaSize } from \"./textarea\";\n\nconst inputGroupVariants = cva(\n\t\"group/input-group relative flex w-full min-w-0 items-center rounded-full has-[textarea]:rounded-xl has-data-[align=block-end]:rounded-xl has-data-[align=block-start]:rounded-xl border border-line bg-canvas transition-[background-color,border-color,box-shadow,color] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:border-line-subtle has-disabled:bg-surface has-disabled:text-fg-caption-placeholder focus-within:border-line-focus focus-within:inset-ring-1 inset-ring-line-focus has-[[data-slot][aria-invalid=true]]:border-line-danger has-[[data-slot][aria-invalid=true]]:inset-shadow-none has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pl-2 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pl-2.5 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pl-3 has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pl-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=sm]/input-group:pr-2 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=md]/input-group:pr-2.5 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=lg]/input-group:pr-3 has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:group-data-[size=xl]/input-group:pr-3\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tsm: \"h-8\",\n\t\t\t\tmd: \"h-10\",\n\t\t\t\tlg: \"h-12\",\n\t\t\t\txl: \"h-14\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"md\",\n\t\t},\n\t},\n);\n\nfunction InputGroup({\n\tclassName,\n\tsize,\n\t...props\n}: React.ComponentProps<\"div\"> & { size?: InputSize }) {\n\tconst inheritedSize = useComponentSize();\n\tconst resolvedSize = size ?? inheritedSize;\n\tconst componentSize: ComponentSize | undefined =\n\t\tresolvedSize === \"xl\" ? undefined : resolvedSize;\n\n\treturn (\n\t\t<SizeProvider size={componentSize}>\n\t\t\t<InputSizeProvider size={resolvedSize}>\n\t\t\t\t{/* biome-ignore lint/a11y/useSemanticElements: this primitive groups composite controls without forcing fieldset semantics. */}\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"input-group\"\n\t\t\t\t\tdata-size={resolvedSize}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\tclassName={cn(inputGroupVariants({ size: resolvedSize }), className)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t</InputSizeProvider>\n\t\t</SizeProvider>\n\t);\n}\n\nconst inputGroupAddonVariants = cva(\n\t\"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-gdt-sm font-normal text-fg-secondary select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[size=lg]/input-group:[&>svg:not([class*='size-'])]:size-4.5 group-data-[size=xl]/input-group:[&>svg:not([class*='size-'])]:size-5 [&>svg:not([class*='size-'])]:size-4\",\n\t{\n\t\tvariants: {\n\t\t\talign: {\n\t\t\t\t\"inline-start\":\n\t\t\t\t\t\"order-first group-data-[size=sm]/input-group:pl-3 group-data-[size=md]/input-group:pl-3.5 group-data-[size=lg]/input-group:pl-4 group-data-[size=xl]/input-group:pl-4.5 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]\",\n\t\t\t\t\"inline-end\":\n\t\t\t\t\t\"order-last group-data-[size=sm]/input-group:pr-3 group-data-[size=md]/input-group:pr-3.5 group-data-[size=lg]/input-group:pr-4 group-data-[size=xl]/input-group:pr-4.5 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]\",\n\t\t\t\t\"block-start\":\n\t\t\t\t\t\"order-first w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n\t\t\t\t\"block-end\":\n\t\t\t\t\t\"order-last w-full justify-start px-3 group-data-[size=md]/input-group:px-3.5 group-data-[size=lg]/input-group:px-4 group-data-[size=xl]/input-group:px-4.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\talign: \"inline-start\",\n\t\t},\n\t},\n);\n\nfunction InputGroupAddon({\n\tclassName,\n\talign = \"inline-start\",\n\t...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n\treturn (\n\t\t// biome-ignore lint/a11y/useSemanticElements: addon is a structural wrapper for grouped input affordances.\n\t\t// biome-ignore lint/a11y/useKeyWithClickEvents: click only forwards focus to the sibling input and is not a standalone action target.\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\tdata-slot=\"input-group-addon\"\n\t\t\tdata-align={align}\n\t\t\tclassName={cn(inputGroupAddonVariants({ align }), className)}\n\t\t\tonClick={(e) => {\n\t\t\t\tif ((e.target as HTMLElement).closest(\"button\")) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\te.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst inputGroupButtonVariants = cva(\n\t\"flex items-center gap-2 text-sm shadow-none rounded-full\",\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\txs: \"h-6 gap-1 px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n\t\t\t\tsm: \"\",\n\t\t\t\t\"icon-xs\": \"size-6 p-0 has-[>svg]:p-0\",\n\t\t\t\t\"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: \"xs\",\n\t\t},\n\t},\n);\n\nfunction InputGroupButton({\n\tclassName,\n\ttype = \"button\",\n\tvariant = \"ghost\",\n\tsize = \"xs\",\n\t...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\" | \"type\"> &\n\tVariantProps<typeof inputGroupButtonVariants> & {\n\t\ttype?: \"button\" | \"submit\" | \"reset\";\n\t}) {\n\treturn (\n\t\t<Button\n\t\t\ttype={type}\n\t\t\tdata-size={size}\n\t\t\tvariant={variant}\n\t\t\tclassName={cn(inputGroupButtonVariants({ size }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t\"flex items-center gap-2 text-gdt-sm text-fg-secondary [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupInput({\n\tclassName,\n\tsize,\n\t...props\n}: Omit<React.ComponentProps<\"input\">, \"size\"> & { size?: InputSize }) {\n\treturn (\n\t\t<Input\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\tsize={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex-1 rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction InputGroupTextarea({\n\tclassName,\n\tsize,\n\t...props\n}: Omit<React.ComponentProps<\"textarea\">, \"size\"> & { size?: TextareaSize }) {\n\treturn (\n\t\t<Textarea\n\t\t\tdata-slot=\"input-group-control\"\n\t\t\tsize={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex-1 resize-none rounded-none border-0 bg-transparent shadow-none inset-shadow-none inset-ring-0 focus:border-transparent focus:shadow-none focus:inset-shadow-none focus-visible:border-transparent focus-visible:shadow-none focus-visible:ring-0 focus-visible:inset-ring-0 focus-visible:inset-shadow-none disabled:bg-transparent aria-invalid:ring-0 aria-invalid:inset-ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tInputGroup,\n\tInputGroupAddon,\n\tInputGroupButton,\n\tInputGroupText,\n\tInputGroupInput,\n\tInputGroupTextarea,\n};\n"],"mappings":"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","names":[]}