ixia-ui-react 1.8.0 → 2.1.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 (277) hide show
  1. package/README.md +24 -1
  2. package/dist/accordion/index.d.ts +41 -0
  3. package/dist/accordion/index.js +142 -0
  4. package/dist/accordion/index.js.map +1 -0
  5. package/dist/alert/index.d.ts +22 -0
  6. package/dist/alert/index.js +1 -0
  7. package/dist/alert-Dcu9R8CY.js +73 -0
  8. package/dist/alert-Dcu9R8CY.js.map +1 -0
  9. package/dist/alert-dialog/index.d.ts +39 -0
  10. package/dist/alert-dialog/index.js +134 -0
  11. package/dist/alert-dialog/index.js.map +1 -0
  12. package/dist/autocomplete/index.d.ts +2 -0
  13. package/dist/autocomplete/index.js +1 -0
  14. package/dist/autocomplete-BfpWVO1l.js +169 -0
  15. package/dist/autocomplete-BfpWVO1l.js.map +1 -0
  16. package/dist/avatar/index.d.ts +2 -0
  17. package/dist/avatar/index.js +1 -0
  18. package/dist/avatar-Bp4gZh21.js +93 -0
  19. package/dist/avatar-Bp4gZh21.js.map +1 -0
  20. package/dist/badge/index.d.ts +2 -0
  21. package/dist/badge/index.js +1 -0
  22. package/dist/badge-Cl-9WTW-.js +160 -0
  23. package/dist/badge-Cl-9WTW-.js.map +1 -0
  24. package/dist/bento-box/index.d.ts +30 -0
  25. package/dist/bento-box/index.js +103 -0
  26. package/dist/bento-box/index.js.map +1 -0
  27. package/dist/breadcrumb/index.d.ts +18 -0
  28. package/dist/breadcrumb/index.js +58 -0
  29. package/dist/breadcrumb/index.js.map +1 -0
  30. package/dist/button/index.d.ts +3 -0
  31. package/dist/button/index.js +1 -0
  32. package/dist/button-DXQvyQyj.js +309 -0
  33. package/dist/button-DXQvyQyj.js.map +1 -0
  34. package/dist/button-group/index.d.ts +2 -0
  35. package/dist/button-group/index.js +1 -0
  36. package/dist/button-group-BiSk3iIf.js +269 -0
  37. package/dist/button-group-BiSk3iIf.js.map +1 -0
  38. package/dist/button-group-context-CScS9Ntz.js +7 -0
  39. package/dist/button-group-context-CScS9Ntz.js.map +1 -0
  40. package/dist/button.types-BFKrBCGd.d.ts +10 -0
  41. package/dist/calendar/index.d.ts +63 -0
  42. package/dist/calendar/index.js +292 -0
  43. package/dist/calendar/index.js.map +1 -0
  44. package/dist/chart/index.d.ts +87 -0
  45. package/dist/chart/index.js +262 -0
  46. package/dist/chart/index.js.map +1 -0
  47. package/dist/checkbox/index.d.ts +2 -0
  48. package/dist/checkbox/index.js +1 -0
  49. package/dist/checkbox-BuUZ1Lly.js +54 -0
  50. package/dist/checkbox-BuUZ1Lly.js.map +1 -0
  51. package/dist/checkbox-group/index.d.ts +6 -0
  52. package/dist/checkbox-group/index.js +17 -0
  53. package/dist/checkbox-group/index.js.map +1 -0
  54. package/dist/cn-BDi0DfT5.js +29 -0
  55. package/dist/cn-BDi0DfT5.js.map +1 -0
  56. package/dist/code-block/index.d.ts +53 -0
  57. package/dist/code-block/index.js +193 -0
  58. package/dist/code-block/index.js.map +1 -0
  59. package/dist/collapsible/index.d.ts +2 -0
  60. package/dist/collapsible/index.js +1 -0
  61. package/dist/collapsible-C3OPWY9l.js +44 -0
  62. package/dist/collapsible-C3OPWY9l.js.map +1 -0
  63. package/dist/color-channel-slider/index.d.ts +2 -0
  64. package/dist/color-channel-slider/index.js +1 -0
  65. package/dist/color-channel-slider-h8mUPJ35.js +70 -0
  66. package/dist/color-channel-slider-h8mUPJ35.js.map +1 -0
  67. package/dist/color-picker/index.d.ts +137 -0
  68. package/dist/color-picker/index.js +621 -0
  69. package/dist/color-picker/index.js.map +1 -0
  70. package/dist/combobox/index.d.ts +64 -0
  71. package/dist/combobox/index.js +289 -0
  72. package/dist/combobox/index.js.map +1 -0
  73. package/dist/context-menu/index.d.ts +49 -0
  74. package/dist/context-menu/index.js +166 -0
  75. package/dist/context-menu/index.js.map +1 -0
  76. package/dist/copy-button/index.d.ts +2 -0
  77. package/dist/copy-button/index.js +1 -0
  78. package/dist/copy-button-BAG-P44v.js +28 -0
  79. package/dist/copy-button-BAG-P44v.js.map +1 -0
  80. package/dist/dialog/index.d.ts +36 -0
  81. package/dist/dialog/index.js +119 -0
  82. package/dist/dialog/index.js.map +1 -0
  83. package/dist/drawer/index.d.ts +31 -0
  84. package/dist/drawer/index.js +95 -0
  85. package/dist/drawer/index.js.map +1 -0
  86. package/dist/dropzone/index.d.ts +70 -0
  87. package/dist/dropzone/index.js +479 -0
  88. package/dist/dropzone/index.js.map +1 -0
  89. package/dist/field/index.d.ts +2 -0
  90. package/dist/field/index.js +1 -0
  91. package/dist/field-DkMfrmdj.js +254 -0
  92. package/dist/field-DkMfrmdj.js.map +1 -0
  93. package/dist/form/index.d.ts +220 -0
  94. package/dist/form/index.js +3 -0
  95. package/dist/form-V2VqHn0D.js +192 -0
  96. package/dist/form-V2VqHn0D.js.map +1 -0
  97. package/dist/has-single-element-child-DLGI0Dh2.js +12 -0
  98. package/dist/has-single-element-child-DLGI0Dh2.js.map +1 -0
  99. package/dist/hooks/index.d.ts +26 -0
  100. package/dist/hooks/index.js +1 -0
  101. package/dist/hooks-DUm-q_ig.js +68 -0
  102. package/dist/hooks-DUm-q_ig.js.map +1 -0
  103. package/dist/icon/index.d.ts +2 -0
  104. package/dist/icon/index.js +1 -0
  105. package/dist/icon-D3JWfCa2.js +85 -0
  106. package/dist/icon-D3JWfCa2.js.map +1 -0
  107. package/dist/icon-container/index.d.ts +10 -0
  108. package/dist/icon-container/index.js +64 -0
  109. package/dist/icon-container/index.js.map +1 -0
  110. package/dist/index-0ZQzIKoE.d.ts +11 -0
  111. package/dist/index-B0Qz4Egw.d.ts +33 -0
  112. package/dist/index-BJVMIPq4.d.ts +54 -0
  113. package/dist/index-BsV-u_jc.d.ts +4 -0
  114. package/dist/index-BygR7cUT.d.ts +22 -0
  115. package/dist/index-BzTOLSgZ.d.ts +9 -0
  116. package/dist/index-C15xiG9O.d.ts +14 -0
  117. package/dist/index-C2zco6-C.d.ts +15 -0
  118. package/dist/index-CIDOd4Z8.d.ts +56 -0
  119. package/dist/index-CQti9gFb.d.ts +49 -0
  120. package/dist/index-CiE-Rqit.d.ts +70 -0
  121. package/dist/index-CpNMNewO.d.ts +11 -0
  122. package/dist/index-D1kkOg9k.d.ts +14 -0
  123. package/dist/index-DLfdAked.d.ts +34 -0
  124. package/dist/index-DMaW_XF1.d.ts +24 -0
  125. package/dist/index-DVMheqs_.d.ts +9 -0
  126. package/dist/index-DXDObRKO.d.ts +14 -0
  127. package/dist/index-Db_QGr6S.d.ts +5 -0
  128. package/dist/index-DdFxZ3Xr.d.ts +22 -0
  129. package/dist/index-DyQYoAUf.d.ts +29 -0
  130. package/dist/index-PuhTRMce.d.ts +11 -0
  131. package/dist/index-Wb_tILYa.d.ts +24 -0
  132. package/dist/index-uaJUy56Z.d.ts +4 -0
  133. package/dist/index-x4f8gnaI.d.ts +15 -0
  134. package/dist/input/index.d.ts +3 -0
  135. package/dist/input/index.js +1 -0
  136. package/dist/input-Czt30vp7.js +179 -0
  137. package/dist/input-Czt30vp7.js.map +1 -0
  138. package/dist/input-group/index.d.ts +2 -0
  139. package/dist/input-group/index.js +1 -0
  140. package/dist/input-group-CgdazGrY.js +111 -0
  141. package/dist/input-group-CgdazGrY.js.map +1 -0
  142. package/dist/input-otp/index.d.ts +13 -0
  143. package/dist/input-otp/index.js +44 -0
  144. package/dist/input-otp/index.js.map +1 -0
  145. package/dist/input.types-816rEVWU.d.ts +20 -0
  146. package/dist/input.types-D0gyoaQv.js +48 -0
  147. package/dist/input.types-D0gyoaQv.js.map +1 -0
  148. package/dist/kbd/index.d.ts +9 -0
  149. package/dist/kbd/index.js +25 -0
  150. package/dist/kbd/index.js.map +1 -0
  151. package/dist/label/index.d.ts +8 -0
  152. package/dist/label/index.js +1 -0
  153. package/dist/label-BgpayDvN.js +27 -0
  154. package/dist/label-BgpayDvN.js.map +1 -0
  155. package/dist/layer-tree/index.d.ts +728 -0
  156. package/dist/layer-tree/index.js +685 -0
  157. package/dist/layer-tree/index.js.map +1 -0
  158. package/dist/map/google/index.d.ts +143 -0
  159. package/dist/map/google/index.js +445 -0
  160. package/dist/map/google/index.js.map +1 -0
  161. package/dist/map/index.d.ts +94 -0
  162. package/dist/map/index.js +208 -0
  163. package/dist/map/index.js.map +1 -0
  164. package/dist/map.context-Dw1D7E8m.js +11 -0
  165. package/dist/map.context-Dw1D7E8m.js.map +1 -0
  166. package/dist/menu/index.d.ts +2 -0
  167. package/dist/menu/index.js +1 -0
  168. package/dist/menu-sf13cnGp.js +173 -0
  169. package/dist/menu-sf13cnGp.js.map +1 -0
  170. package/dist/menu-tone-DWBEHoX2.js +22 -0
  171. package/dist/menu-tone-DWBEHoX2.js.map +1 -0
  172. package/dist/meter/index.d.ts +2 -0
  173. package/dist/meter/index.js +1 -0
  174. package/dist/meter-HD5taq57.js +116 -0
  175. package/dist/meter-HD5taq57.js.map +1 -0
  176. package/dist/nav-bar/index.d.ts +25 -0
  177. package/dist/nav-bar/index.js +133 -0
  178. package/dist/nav-bar/index.js.map +1 -0
  179. package/dist/navigation-menu/index.d.ts +43 -0
  180. package/dist/navigation-menu/index.js +176 -0
  181. package/dist/navigation-menu/index.js.map +1 -0
  182. package/dist/number-field/index.d.ts +14 -0
  183. package/dist/number-field/index.js +116 -0
  184. package/dist/number-field/index.js.map +1 -0
  185. package/dist/popover/index.d.ts +2 -0
  186. package/dist/popover/index.js +1 -0
  187. package/dist/popover-0WDxRi-s.js +114 -0
  188. package/dist/popover-0WDxRi-s.js.map +1 -0
  189. package/dist/preview-card/index.d.ts +13 -0
  190. package/dist/preview-card/index.js +35 -0
  191. package/dist/preview-card/index.js.map +1 -0
  192. package/dist/profile/index.d.ts +21 -0
  193. package/dist/profile/index.js +52 -0
  194. package/dist/profile/index.js.map +1 -0
  195. package/dist/progress/index.d.ts +23 -0
  196. package/dist/progress/index.js +97 -0
  197. package/dist/progress/index.js.map +1 -0
  198. package/dist/radar-ping/index.d.ts +11 -0
  199. package/dist/radar-ping/index.js +49 -0
  200. package/dist/radar-ping/index.js.map +1 -0
  201. package/dist/radio-group/index.d.ts +2 -0
  202. package/dist/radio-group/index.js +1 -0
  203. package/dist/radio-group-Dj43u35Z.js +47 -0
  204. package/dist/radio-group-Dj43u35Z.js.map +1 -0
  205. package/dist/resizeable/index.d.ts +11 -0
  206. package/dist/resizeable/index.js +31 -0
  207. package/dist/resizeable/index.js.map +1 -0
  208. package/dist/scroll-area/index.d.ts +11 -0
  209. package/dist/scroll-area/index.js +51 -0
  210. package/dist/scroll-area/index.js.map +1 -0
  211. package/dist/select/index.d.ts +2 -0
  212. package/dist/select/index.js +1 -0
  213. package/dist/select-DncJXYim.js +159 -0
  214. package/dist/select-DncJXYim.js.map +1 -0
  215. package/dist/separator/index.d.ts +2 -0
  216. package/dist/separator/index.js +1 -0
  217. package/dist/separator-DgIQp1cB.js +97 -0
  218. package/dist/separator-DgIQp1cB.js.map +1 -0
  219. package/dist/sidebar/index.d.ts +80 -0
  220. package/dist/sidebar/index.js +334 -0
  221. package/dist/sidebar/index.js.map +1 -0
  222. package/dist/site-header/index.d.ts +22 -0
  223. package/dist/site-header/index.js +55 -0
  224. package/dist/site-header/index.js.map +1 -0
  225. package/dist/skeleton/index.d.ts +4 -0
  226. package/dist/skeleton/index.js +1 -0
  227. package/dist/skeleton-DSG3FWby.js +13 -0
  228. package/dist/skeleton-DSG3FWby.js.map +1 -0
  229. package/dist/slider/index.d.ts +2 -0
  230. package/dist/slider/index.js +1 -0
  231. package/dist/slider-D_XlV4OW.js +114 -0
  232. package/dist/slider-D_XlV4OW.js.map +1 -0
  233. package/dist/slider-group/index.d.ts +46 -0
  234. package/dist/slider-group/index.js +198 -0
  235. package/dist/slider-group/index.js.map +1 -0
  236. package/dist/styles.css +4 -1
  237. package/dist/switch/index.d.ts +2 -0
  238. package/dist/switch/index.js +1 -0
  239. package/dist/switch-DXHixGHe.js +23 -0
  240. package/dist/switch-DXHixGHe.js.map +1 -0
  241. package/dist/table/index.d.ts +920 -0
  242. package/dist/table/index.js +1544 -0
  243. package/dist/table/index.js.map +1 -0
  244. package/dist/tabs/index.d.ts +2 -0
  245. package/dist/tabs/index.js +1 -0
  246. package/dist/tabs-DTC7coap.js +270 -0
  247. package/dist/tabs-DTC7coap.js.map +1 -0
  248. package/dist/text-area/index.d.ts +2 -0
  249. package/dist/text-area/index.js +1 -0
  250. package/dist/text-area-H6HjKnv_.js +50 -0
  251. package/dist/text-area-H6HjKnv_.js.map +1 -0
  252. package/dist/toast/index.d.ts +65 -0
  253. package/dist/toast/index.js +216 -0
  254. package/dist/toast/index.js.map +1 -0
  255. package/dist/toggle/index.d.ts +2 -0
  256. package/dist/toggle/index.js +1 -0
  257. package/dist/toggle-ZT9thVmz.js +73 -0
  258. package/dist/toggle-ZT9thVmz.js.map +1 -0
  259. package/dist/toggle-group/index.d.ts +10 -0
  260. package/dist/toggle-group/index.js +63 -0
  261. package/dist/toggle-group/index.js.map +1 -0
  262. package/dist/toggle-group-context-CBNZEf1I.js +6 -0
  263. package/dist/toggle-group-context-CBNZEf1I.js.map +1 -0
  264. package/dist/tooltip/index.d.ts +18 -0
  265. package/dist/tooltip/index.js +1 -0
  266. package/dist/tooltip-B6z3tDbW.js +41 -0
  267. package/dist/tooltip-B6z3tDbW.js.map +1 -0
  268. package/dist/trim-text-children-CQRFg2fL.js +33 -0
  269. package/dist/trim-text-children-CQRFg2fL.js.map +1 -0
  270. package/dist/utils/index.d.ts +4 -0
  271. package/dist/utils/index.js +3 -0
  272. package/dist/utils-BI2x7nW5.js +5 -0
  273. package/dist/utils-BI2x7nW5.js.map +1 -0
  274. package/package.json +100 -31
  275. package/dist/index.d.ts +0 -8000
  276. package/dist/index.js +0 -17274
  277. package/dist/index.js.map +0 -1
@@ -0,0 +1,269 @@
1
+ import { t as cn } from "./cn-BDi0DfT5.js";
2
+ import { t as ButtonGroupContext } from "./button-group-context-CScS9Ntz.js";
3
+ import { cva } from "class-variance-authority";
4
+ import { jsx } from "react/jsx-runtime";
5
+ // src/components/button-group/button-group.types.ts
6
+ const buttonGroupVariants = cva("inline-flex cursor-pointer items-center justify-center overflow-hidden rounded-full whitespace-nowrap transition-all select-none disabled:pointer-events-none disabled:opacity-50 [&>:where([data-slot=button],button)]:rounded-none", {
7
+ compoundVariants: [
8
+ {
9
+ className: "bg-brand-default text-brand-on-default",
10
+ tone: "brand",
11
+ variant: "fill"
12
+ },
13
+ {
14
+ className: "bg-accent-default text-accent-on-default",
15
+ tone: "accent",
16
+ variant: "fill"
17
+ },
18
+ {
19
+ className: "bg-neutral-default text-neutral-on-default",
20
+ tone: "neutral",
21
+ variant: "fill"
22
+ },
23
+ {
24
+ className: "bg-error-default text-error-on-default",
25
+ tone: "error",
26
+ variant: "fill"
27
+ },
28
+ {
29
+ className: "bg-info-default text-info-on-default",
30
+ tone: "info",
31
+ variant: "fill"
32
+ },
33
+ {
34
+ className: "bg-success-default text-success-on-default",
35
+ tone: "success",
36
+ variant: "fill"
37
+ },
38
+ {
39
+ className: "bg-warning-default text-warning-on-default",
40
+ tone: "warning",
41
+ variant: "fill"
42
+ },
43
+ {
44
+ className: "bg-brand-container text-brand-on-container",
45
+ tone: "brand",
46
+ variant: "secondary"
47
+ },
48
+ {
49
+ className: "bg-accent-container text-accent-on-container",
50
+ tone: "accent",
51
+ variant: "secondary"
52
+ },
53
+ {
54
+ className: "bg-neutral-container text-neutral-on-container",
55
+ tone: "neutral",
56
+ variant: "secondary"
57
+ },
58
+ {
59
+ className: "bg-error-container text-error-on-container",
60
+ tone: "error",
61
+ variant: "secondary"
62
+ },
63
+ {
64
+ className: "bg-info-container text-info-on-container",
65
+ tone: "info",
66
+ variant: "secondary"
67
+ },
68
+ {
69
+ className: "bg-success-container text-success-on-container",
70
+ tone: "success",
71
+ variant: "secondary"
72
+ },
73
+ {
74
+ className: "bg-warning-container text-warning-on-container",
75
+ tone: "warning",
76
+ variant: "secondary"
77
+ },
78
+ {
79
+ className: "border-brand-border text-brand-default",
80
+ tone: "brand",
81
+ variant: "outline"
82
+ },
83
+ {
84
+ className: "border-accent-border text-accent-default",
85
+ tone: "accent",
86
+ variant: "outline"
87
+ },
88
+ {
89
+ className: "border-neutral-border text-neutral-default",
90
+ tone: "neutral",
91
+ variant: "outline"
92
+ },
93
+ {
94
+ className: "border-error-border text-error-default",
95
+ tone: "error",
96
+ variant: "outline"
97
+ },
98
+ {
99
+ className: "border-info-border text-info-default",
100
+ tone: "info",
101
+ variant: "outline"
102
+ },
103
+ {
104
+ className: "border-success-border text-success-default",
105
+ tone: "success",
106
+ variant: "outline"
107
+ },
108
+ {
109
+ className: "border-warning-border text-warning-default",
110
+ tone: "warning",
111
+ variant: "outline"
112
+ },
113
+ {
114
+ className: "text-brand-default",
115
+ tone: "brand",
116
+ variant: "ghost"
117
+ },
118
+ {
119
+ className: "text-accent-default",
120
+ tone: "accent",
121
+ variant: "ghost"
122
+ },
123
+ {
124
+ className: "text-neutral-default",
125
+ tone: "neutral",
126
+ variant: "ghost"
127
+ },
128
+ {
129
+ className: "text-error-default",
130
+ tone: "error",
131
+ variant: "ghost"
132
+ },
133
+ {
134
+ className: "text-info-default",
135
+ tone: "info",
136
+ variant: "ghost"
137
+ },
138
+ {
139
+ className: "text-success-default",
140
+ tone: "success",
141
+ variant: "ghost"
142
+ },
143
+ {
144
+ className: "text-warning-default",
145
+ tone: "warning",
146
+ variant: "ghost"
147
+ },
148
+ {
149
+ className: "border-brand-border bg-brand-container text-brand-on-container",
150
+ tone: "brand",
151
+ variant: "soft"
152
+ },
153
+ {
154
+ className: "border-accent-border bg-accent-container text-accent-on-container",
155
+ tone: "accent",
156
+ variant: "soft"
157
+ },
158
+ {
159
+ className: "border-neutral-border bg-neutral-container text-neutral-on-container",
160
+ tone: "neutral",
161
+ variant: "soft"
162
+ },
163
+ {
164
+ className: "border-error-border bg-error-container text-error-on-container",
165
+ tone: "error",
166
+ variant: "soft"
167
+ },
168
+ {
169
+ className: "border-info-border bg-info-container text-info-on-container",
170
+ tone: "info",
171
+ variant: "soft"
172
+ },
173
+ {
174
+ className: "border-success-border bg-success-container text-success-on-container",
175
+ tone: "success",
176
+ variant: "soft"
177
+ },
178
+ {
179
+ className: "border-warning-border bg-warning-container text-warning-on-container",
180
+ tone: "warning",
181
+ variant: "soft"
182
+ },
183
+ {
184
+ className: "bg-brand-container text-brand-on-container",
185
+ tone: "brand",
186
+ variant: "elevated"
187
+ },
188
+ {
189
+ className: "bg-accent-container text-accent-on-container",
190
+ tone: "accent",
191
+ variant: "elevated"
192
+ },
193
+ {
194
+ className: "bg-surface-2 text-on-surface",
195
+ tone: "neutral",
196
+ variant: "elevated"
197
+ },
198
+ {
199
+ className: "bg-error-container text-error-on-container",
200
+ tone: "error",
201
+ variant: "elevated"
202
+ },
203
+ {
204
+ className: "bg-info-container text-info-on-container",
205
+ tone: "info",
206
+ variant: "elevated"
207
+ },
208
+ {
209
+ className: "bg-success-container text-success-on-container",
210
+ tone: "success",
211
+ variant: "elevated"
212
+ },
213
+ {
214
+ className: "bg-warning-container text-warning-on-container",
215
+ tone: "warning",
216
+ variant: "elevated"
217
+ }
218
+ ],
219
+ defaultVariants: {
220
+ orientation: "horizontal",
221
+ tone: "brand",
222
+ variant: "fill"
223
+ },
224
+ variants: {
225
+ orientation: {
226
+ horizontal: "[&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-1/2 [&>*+*]:before:left-0 [&>*+*]:before:h-1/2 [&>*+*]:before:w-px [&>*+*]:before:-translate-y-1/2 [&>*+*]:before:content-[\"\"]",
227
+ vertical: "flex-col [&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-0 [&>*+*]:before:left-1/2 [&>*+*]:before:h-px [&>*+*]:before:w-1/2 [&>*+*]:before:-translate-x-1/2 [&>*+*]:before:content-[\"\"]"
228
+ },
229
+ tone: {
230
+ accent: "[&>*+*]:before:bg-accent-border",
231
+ brand: "[&>*+*]:before:bg-brand-border",
232
+ error: "[&>*+*]:before:bg-error-border",
233
+ info: "[&>*+*]:before:bg-info-border",
234
+ neutral: "[&>*+*]:before:bg-neutral-border",
235
+ success: "[&>*+*]:before:bg-success-border",
236
+ warning: ""
237
+ },
238
+ variant: {
239
+ elevated: "shadow-xs",
240
+ fill: "",
241
+ ghost: "",
242
+ outline: "border",
243
+ secondary: "",
244
+ soft: "border"
245
+ }
246
+ }
247
+ });
248
+ // src/components/button-group/button-group.tsx
249
+ function ButtonGroup({ size = "medium", variant = "fill", tone = "brand", orientation, className, ref, ...props }) {
250
+ return /* @__PURE__ */ jsx(ButtonGroupContext, {
251
+ value: {
252
+ size,
253
+ tone,
254
+ variant
255
+ },
256
+ children: /* @__PURE__ */ jsx("div", {
257
+ className: cn(buttonGroupVariants({
258
+ orientation,
259
+ tone,
260
+ variant
261
+ }), className),
262
+ ref,
263
+ ...props
264
+ })
265
+ });
266
+ }
267
+ export { ButtonGroup as t };
268
+
269
+ //# sourceMappingURL=button-group-BiSk3iIf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group-BiSk3iIf.js","names":[],"sources":["../src/components/button-group/button-group.types.ts","../src/components/button-group/button-group.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { VariantProps } from 'class-variance-authority'\n\nimport type { ButtonProps } from '../button/button.types'\n\nexport const buttonGroupVariants = cva(\n 'inline-flex cursor-pointer items-center justify-center overflow-hidden rounded-full whitespace-nowrap transition-all select-none disabled:pointer-events-none disabled:opacity-50 [&>:where([data-slot=button],button)]:rounded-none',\n {\n compoundVariants: [\n {\n className: 'bg-brand-default text-brand-on-default',\n tone: 'brand',\n variant: 'fill',\n },\n {\n className: 'bg-accent-default text-accent-on-default',\n tone: 'accent',\n variant: 'fill',\n },\n {\n className: 'bg-neutral-default text-neutral-on-default',\n tone: 'neutral',\n variant: 'fill',\n },\n {\n className: 'bg-error-default text-error-on-default',\n tone: 'error',\n variant: 'fill',\n },\n {\n className: 'bg-info-default text-info-on-default',\n tone: 'info',\n variant: 'fill',\n },\n {\n className: 'bg-success-default text-success-on-default',\n tone: 'success',\n variant: 'fill',\n },\n {\n className: 'bg-warning-default text-warning-on-default',\n tone: 'warning',\n variant: 'fill',\n },\n {\n className: 'bg-brand-container text-brand-on-container',\n tone: 'brand',\n variant: 'secondary',\n },\n {\n className: 'bg-accent-container text-accent-on-container',\n tone: 'accent',\n variant: 'secondary',\n },\n {\n className: 'bg-neutral-container text-neutral-on-container',\n tone: 'neutral',\n variant: 'secondary',\n },\n {\n className: 'bg-error-container text-error-on-container',\n tone: 'error',\n variant: 'secondary',\n },\n {\n className: 'bg-info-container text-info-on-container',\n tone: 'info',\n variant: 'secondary',\n },\n {\n className: 'bg-success-container text-success-on-container',\n tone: 'success',\n variant: 'secondary',\n },\n {\n className: 'bg-warning-container text-warning-on-container',\n tone: 'warning',\n variant: 'secondary',\n },\n {\n className: 'border-brand-border text-brand-default',\n tone: 'brand',\n variant: 'outline',\n },\n {\n className: 'border-accent-border text-accent-default',\n tone: 'accent',\n variant: 'outline',\n },\n {\n className: 'border-neutral-border text-neutral-default',\n tone: 'neutral',\n variant: 'outline',\n },\n {\n className: 'border-error-border text-error-default',\n tone: 'error',\n variant: 'outline',\n },\n {\n className: 'border-info-border text-info-default',\n tone: 'info',\n variant: 'outline',\n },\n {\n className: 'border-success-border text-success-default',\n tone: 'success',\n variant: 'outline',\n },\n {\n className: 'border-warning-border text-warning-default',\n tone: 'warning',\n variant: 'outline',\n },\n {\n className: 'text-brand-default',\n tone: 'brand',\n variant: 'ghost',\n },\n {\n className: 'text-accent-default',\n tone: 'accent',\n variant: 'ghost',\n },\n {\n className: 'text-neutral-default',\n tone: 'neutral',\n variant: 'ghost',\n },\n {\n className: 'text-error-default',\n tone: 'error',\n variant: 'ghost',\n },\n {\n className: 'text-info-default',\n tone: 'info',\n variant: 'ghost',\n },\n {\n className: 'text-success-default',\n tone: 'success',\n variant: 'ghost',\n },\n {\n className: 'text-warning-default',\n tone: 'warning',\n variant: 'ghost',\n },\n {\n className: 'border-brand-border bg-brand-container text-brand-on-container',\n tone: 'brand',\n variant: 'soft',\n },\n {\n className: 'border-accent-border bg-accent-container text-accent-on-container',\n tone: 'accent',\n variant: 'soft',\n },\n {\n className: 'border-neutral-border bg-neutral-container text-neutral-on-container',\n tone: 'neutral',\n variant: 'soft',\n },\n {\n className: 'border-error-border bg-error-container text-error-on-container',\n tone: 'error',\n variant: 'soft',\n },\n {\n className: 'border-info-border bg-info-container text-info-on-container',\n tone: 'info',\n variant: 'soft',\n },\n {\n className: 'border-success-border bg-success-container text-success-on-container',\n tone: 'success',\n variant: 'soft',\n },\n {\n className: 'border-warning-border bg-warning-container text-warning-on-container',\n tone: 'warning',\n variant: 'soft',\n },\n {\n className: 'bg-brand-container text-brand-on-container',\n tone: 'brand',\n variant: 'elevated',\n },\n {\n className: 'bg-accent-container text-accent-on-container',\n tone: 'accent',\n variant: 'elevated',\n },\n {\n className: 'bg-surface-2 text-on-surface',\n tone: 'neutral',\n variant: 'elevated',\n },\n {\n className: 'bg-error-container text-error-on-container',\n tone: 'error',\n variant: 'elevated',\n },\n {\n className: 'bg-info-container text-info-on-container',\n tone: 'info',\n variant: 'elevated',\n },\n {\n className: 'bg-success-container text-success-on-container',\n tone: 'success',\n variant: 'elevated',\n },\n {\n className: 'bg-warning-container text-warning-on-container',\n tone: 'warning',\n variant: 'elevated',\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n tone: 'brand',\n variant: 'fill',\n },\n variants: {\n orientation: {\n horizontal:\n '[&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-1/2 [&>*+*]:before:left-0 [&>*+*]:before:h-1/2 [&>*+*]:before:w-px [&>*+*]:before:-translate-y-1/2 [&>*+*]:before:content-[\"\"]',\n vertical:\n 'flex-col [&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-0 [&>*+*]:before:left-1/2 [&>*+*]:before:h-px [&>*+*]:before:w-1/2 [&>*+*]:before:-translate-x-1/2 [&>*+*]:before:content-[\"\"]',\n },\n tone: {\n accent: '[&>*+*]:before:bg-accent-border',\n brand: '[&>*+*]:before:bg-brand-border',\n error: '[&>*+*]:before:bg-error-border',\n info: '[&>*+*]:before:bg-info-border',\n neutral: '[&>*+*]:before:bg-neutral-border',\n success: '[&>*+*]:before:bg-success-border',\n warning: '',\n },\n variant: {\n elevated: 'shadow-xs',\n fill: '',\n ghost: '',\n outline: 'border',\n secondary: '',\n soft: 'border',\n },\n },\n },\n)\n\nexport type ButtonGroupProps = React.ComponentProps<'div'> &\n VariantProps<typeof buttonGroupVariants> &\n Pick<ButtonProps, 'size'>\n","import { cn } from '@/utils/cn'\n\nimport { ButtonGroupContext } from './button-group-context'\nimport { buttonGroupVariants } from './button-group.types'\nimport type { ButtonGroupProps } from './button-group.types'\n\nexport function ButtonGroup({\n size = 'medium',\n variant = 'fill',\n tone = 'brand',\n orientation,\n className,\n ref,\n ...props\n}: ButtonGroupProps) {\n return (\n <ButtonGroupContext value={{ size, tone, variant }}>\n <div\n className={cn(buttonGroupVariants({ orientation, tone, variant }), className)}\n ref={ref}\n {...props}\n />\n </ButtonGroupContext>\n )\n}\n"],"mappings":";;;;;AAKA,MAAa,sBAAsB,IACjC,wOACA;CACE,kBAAkB;EAChB;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;CACF;CACA,iBAAiB;EACf,aAAa;EACb,MAAM;EACN,SAAS;CACX;CACA,UAAU;EACR,aAAa;GACX,YACE;GACF,UACE;EACJ;EACA,MAAM;GACJ,QAAQ;GACR,OAAO;GACP,OAAO;GACP,MAAM;GACN,SAAS;GACT,SAAS;GACT,SAAS;EACX;EACA,SAAS;GACP,UAAU;GACV,MAAM;GACN,OAAO;GACP,SAAS;GACT,WAAW;GACX,MAAM;EACR;CACF;AACF,CACF;;ACrPA,SAAgB,YAAY,EAC1B,OAAO,UACP,UAAU,QACV,OAAO,SACP,aACA,WACA,KACA,GAAG,SACgB;CACnB,OACE,oBAAC,oBAAD;EAAoB,OAAO;GAAE;GAAM;GAAM;EAAQ;EAC/C,UAAA,oBAAC,OAAD;GACE,WAAW,GAAG,oBAAoB;IAAE;IAAa;IAAM;GAAQ,CAAC,GAAG,SAAS;GACvE;GACL,GAAI;EACL,CAAA;CACiB,CAAA;AAExB"}
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from "react";
2
+ // src/components/button-group/button-group-context.ts
3
+ const ButtonGroupContext = createContext(void 0);
4
+ const useButtonGroupContext = () => useContext(ButtonGroupContext);
5
+ export { useButtonGroupContext as n, ButtonGroupContext as t };
6
+
7
+ //# sourceMappingURL=button-group-context-CScS9Ntz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group-context-CScS9Ntz.js","names":[],"sources":["../src/components/button-group/button-group-context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nimport type { ButtonGroupProps } from './button-group.types'\n\ntype ButtonGroupContextValue = Pick<ButtonGroupProps, 'size' | 'tone' | 'variant'>\n\nconst ButtonGroupContext = createContext<ButtonGroupContextValue | undefined>(undefined),\n useButtonGroupContext = () => useContext(ButtonGroupContext)\n\nexport { ButtonGroupContext, useButtonGroupContext }\n"],"mappings":";;AAMA,MAAM,qBAAqB,cAAmD,KAAA,CAAS;AACrF,MAAA,8BAA8B,WAAW,kBAAkB"}
@@ -0,0 +1,10 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { Button } from "@base-ui/react";
3
+ declare const buttonVariants: (props?: ({
4
+ size?: "extraSmall" | "large" | "medium" | "small" | null | undefined;
5
+ tone?: "accent" | "brand" | "error" | "info" | "neutral" | "success" | "warning" | null | undefined;
6
+ variant?: "elevated" | "fill" | "ghost" | "link" | "outline" | "secondary" | "soft" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ type ButtonProps = React.ComponentProps<typeof Button> & VariantProps<typeof buttonVariants>;
9
+ export { ButtonProps as t };
10
+ //# sourceMappingURL=button.types-BFKrBCGd.d.ts.map
@@ -0,0 +1,63 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import React from "react";
3
+ import "@daypicker/react/style.css";
4
+ import { DateRange, DayButton, Mode, PropsBase } from "@daypicker/react";
5
+ declare const calendarPanelVariants: (props?: ({
6
+ variant?: "elevated" | "ghost" | "outline" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ type CalendarSelected = Date | Date[] | DateRange;
9
+ interface CalendarState {
10
+ selectedDates: CalendarSelected | undefined;
11
+ }
12
+ interface CalendarAction {
13
+ type: 'SET_SELECTED_DATES';
14
+ payload: CalendarSelected | undefined;
15
+ }
16
+ type CalendarProps = React.ComponentProps<'div'> & {
17
+ defaultState?: CalendarState;
18
+ };
19
+ interface CalendarContextValue {
20
+ state: CalendarState;
21
+ dispatch: React.Dispatch<CalendarAction>;
22
+ }
23
+ type CalendarPickerProps = PropsBase & {
24
+ selected?: CalendarSelected;
25
+ onSelect?: (date: CalendarSelected | undefined) => void;
26
+ mode?: Mode;
27
+ };
28
+ type CalendarPanelProps = React.ComponentProps<'div'> & VariantProps<typeof calendarPanelVariants>;
29
+ type CalendarHeaderProps = React.ComponentProps<'div'>;
30
+ type CalendarSummaryProps = React.ComponentProps<'div'>;
31
+ type CalendarFooterProps = React.ComponentProps<'div'>;
32
+ type CalendarComponents = NonNullable<PropsBase['components']>;
33
+ type CalendarChevronProps = React.ComponentProps<NonNullable<CalendarComponents['Chevron']>>;
34
+ type CalendarNextMonthButtonProps = React.ComponentProps<NonNullable<CalendarComponents['NextMonthButton']>>;
35
+ type CalendarPreviousMonthButtonProps = React.ComponentProps<NonNullable<CalendarComponents['PreviousMonthButton']>>;
36
+ type CalendarDropdownProps = React.ComponentProps<NonNullable<CalendarComponents['Dropdown']>> & {
37
+ children?: React.ReactNode;
38
+ };
39
+ type CalendarDayButtonProps = React.ComponentProps<typeof DayButton>;
40
+ declare function Calendar$1({ defaultState, children }: CalendarProps): React.JSX.Element;
41
+ export declare function CalendarDayButton({ className, modifiers, ...props }: CalendarDayButtonProps): import("react").JSX.Element;
42
+ export declare function CalendarDropdown({ children, className, disabled, value, options, onChange, 'aria-label': ariaLabel }: CalendarDropdownProps): import("react").JSX.Element;
43
+ export declare function CalendarFooter({ className, children, ref, ...props }: CalendarFooterProps): import("react").JSX.Element;
44
+ export declare function CalendarHeader({ className, children, ref, ...props }: CalendarHeaderProps): import("react").JSX.Element;
45
+ export declare function CalendarNextMonthButton({ className, children, ...props }: CalendarNextMonthButtonProps): import("react").JSX.Element;
46
+ export declare function CalendarPanel({ variant, className, children, ref, ...props }: CalendarPanelProps): import("react").JSX.Element;
47
+ export declare function CalendarPicker({ className, components, mode, selected, onSelect, ...props }: CalendarPickerProps): import("react").JSX.Element;
48
+ export declare function CalendarPreviousMonthButton({ className, children, ...props }: CalendarPreviousMonthButtonProps): import("react").JSX.Element;
49
+ export declare function CalendarSummary({ className, children, ref, ...props }: CalendarSummaryProps): import("react").JSX.Element;
50
+ export declare function CalendarChevron({ orientation }: CalendarChevronProps): import("react").JSX.Element;
51
+ declare const Calendar: typeof Calendar$1 & {
52
+ DayButton: typeof CalendarDayButton;
53
+ Dropdown: typeof CalendarDropdown;
54
+ Footer: typeof CalendarFooter;
55
+ Header: typeof CalendarHeader;
56
+ NextMonthButton: typeof CalendarNextMonthButton;
57
+ Panel: typeof CalendarPanel;
58
+ Picker: typeof CalendarPicker;
59
+ PreviousMonthButton: typeof CalendarPreviousMonthButton;
60
+ Summary: typeof CalendarSummary;
61
+ };
62
+ export { Calendar, type CalendarAction, type CalendarChevronProps, type CalendarComponents, type CalendarContextValue, type CalendarDayButtonProps, type CalendarDropdownProps, type CalendarFooterProps, type CalendarHeaderProps, type CalendarNextMonthButtonProps, type CalendarPanelProps, type CalendarPickerProps, type CalendarPreviousMonthButtonProps, type CalendarProps, type CalendarSummaryProps };
63
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,292 @@
1
+ import { t as cn } from "../cn-BDi0DfT5.js";
2
+ import { t as formatDate } from "../utils-BI2x7nW5.js";
3
+ import { n as Icon } from "../icon-D3JWfCa2.js";
4
+ import { n as buttonVariants, t as Button } from "../button-DXQvyQyj.js";
5
+ import { a as SelectPopup, c as SelectIcon, i as SelectTitle, n as SelectValue, o as SelectList, r as SelectTrigger, s as SelectItem, t as Select } from "../select-DncJXYim.js";
6
+ import { cva } from "class-variance-authority";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import React, { useState } from "react";
9
+ import "@daypicker/react/style.css";
10
+ import { DayButton, DayPicker, getDefaultClassNames, isDateRange, labelDayButton } from "@daypicker/react";
11
+ // src/components/calendar/calendar.reducer.ts
12
+ const calendarReducer = (state, action) => {
13
+ switch (action.type) {
14
+ case "SET_SELECTED_DATES": return {
15
+ ...state,
16
+ selectedDates: action.payload
17
+ };
18
+ default: return state;
19
+ }
20
+ };
21
+ // src/components/calendar/calendar.tsx
22
+ const CalendarContext = React.createContext(void 0);
23
+ const useCalendar = () => {
24
+ const context = React.useContext(CalendarContext);
25
+ if (!context) throw new Error("useCalendar must be used within a Calendar");
26
+ return context;
27
+ };
28
+ function Calendar$1({ defaultState, children }) {
29
+ const [state, dispatch] = React.useReducer(calendarReducer, defaultState ?? { selectedDates: void 0 });
30
+ return /* @__PURE__ */ jsx(CalendarContext.Provider, {
31
+ value: {
32
+ dispatch,
33
+ state
34
+ },
35
+ children
36
+ });
37
+ }
38
+ // src/components/calendar/calendar-day-button.tsx
39
+ function CalendarDayButton({ className, modifiers, ...props }) {
40
+ return /* @__PURE__ */ jsx(DayButton, {
41
+ ...props,
42
+ modifiers,
43
+ className: cn(buttonVariants({
44
+ size: "medium",
45
+ tone: "neutral",
46
+ variant: "ghost"
47
+ }), "text-inherit hover:bg-brand-container hover:text-brand-on-container", modifiers.selected && "hover:bg-brand-default hover:text-brand-on-default", className)
48
+ });
49
+ }
50
+ // src/components/calendar/calendar-dropdown.tsx
51
+ function createSelectTarget(value) {
52
+ const element = document.createElement("select"), option = Object.assign(document.createElement("option"), { value });
53
+ element.append(option);
54
+ element.value = value;
55
+ return element;
56
+ }
57
+ function CalendarDropdown({ children, className, disabled, value, options, onChange, "aria-label": ariaLabel }) {
58
+ const handleValueChange = (newValue) => {
59
+ if (onChange) {
60
+ const element = createSelectTarget(newValue ?? "");
61
+ onChange({
62
+ bubbles: false,
63
+ cancelable: false,
64
+ currentTarget: element,
65
+ defaultPrevented: false,
66
+ eventPhase: Event.NONE,
67
+ isDefaultPrevented: () => false,
68
+ isPropagationStopped: () => false,
69
+ isTrusted: false,
70
+ nativeEvent: new Event("change"),
71
+ persist: () => void 0,
72
+ preventDefault: () => void 0,
73
+ stopPropagation: () => void 0,
74
+ target: element,
75
+ timeStamp: performance.now(),
76
+ type: "change"
77
+ });
78
+ }
79
+ };
80
+ return /* @__PURE__ */ jsxs(Select, {
81
+ disabled,
82
+ value: value?.toString(),
83
+ onValueChange: handleValueChange,
84
+ children: [/* @__PURE__ */ jsxs(SelectTrigger, {
85
+ variant: "ghost",
86
+ "aria-label": ariaLabel,
87
+ className: cn("", className),
88
+ children: [/* @__PURE__ */ jsx(SelectValue, { children: options?.find((option) => option.value === value)?.label }), children ?? /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) })]
89
+ }), /* @__PURE__ */ jsx(SelectPopup, { children: /* @__PURE__ */ jsx(SelectList, { children: options?.map((option) => /* @__PURE__ */ jsx(SelectItem, {
90
+ value: option.value.toString(),
91
+ disabled: option.disabled,
92
+ children: /* @__PURE__ */ jsx(SelectTitle, { children: option.label })
93
+ }, option.value)) }) })]
94
+ });
95
+ }
96
+ // src/components/calendar/calendar-footer.tsx
97
+ function CalendarFooter({ className, children, ref, ...props }) {
98
+ return /* @__PURE__ */ jsx("div", {
99
+ "data-slot": "calendar-footer",
100
+ className: cn("mt-xs flex flex-col gap-3xs border-t border-border pt-xs", className),
101
+ ref,
102
+ ...props,
103
+ children
104
+ });
105
+ }
106
+ // src/components/calendar/calendar-header.tsx
107
+ function CalendarHeader({ className, children, ref, ...props }) {
108
+ return /* @__PURE__ */ jsx("div", {
109
+ className: cn("", className),
110
+ ref,
111
+ ...props,
112
+ children
113
+ });
114
+ }
115
+ // src/components/calendar/calendar-next-month-button.tsx
116
+ function CalendarNextMonthButton({ className, children, ...props }) {
117
+ return /* @__PURE__ */ jsx(Button, {
118
+ variant: "ghost",
119
+ tone: "neutral",
120
+ size: "small",
121
+ className: cn("", className),
122
+ ...props,
123
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronRight" })
124
+ });
125
+ }
126
+ // src/components/calendar/calendar.types.ts
127
+ const calendarPanelVariants = cva("w-fit", {
128
+ compoundVariants: [{
129
+ className: "rounded-2xl p-sm",
130
+ variant: ["elevated", "outline"]
131
+ }],
132
+ defaultVariants: { variant: "elevated" },
133
+ variants: { variant: {
134
+ elevated: "bg-surface shadow-2xs",
135
+ ghost: "bg-transparent",
136
+ outline: "border border-border"
137
+ } }
138
+ });
139
+ // src/components/calendar/calendar-panel.tsx
140
+ function CalendarPanel({ variant, className, children, ref, ...props }) {
141
+ return /* @__PURE__ */ jsx("div", {
142
+ className: cn(calendarPanelVariants({ variant }), className),
143
+ ref,
144
+ ...props,
145
+ children
146
+ });
147
+ }
148
+ // src/components/calendar/calendar-chevron.tsx
149
+ const chevronIcons = {
150
+ down: "chevronDown",
151
+ left: "chevronLeft",
152
+ right: "chevronRight",
153
+ up: "chevronUp"
154
+ };
155
+ function CalendarChevron({ orientation = "left" }) {
156
+ return /* @__PURE__ */ jsx(Icon, { name: chevronIcons[orientation] });
157
+ }
158
+ // src/components/calendar/calendar-previous-month-button.tsx
159
+ function CalendarPreviousMonthButton({ className, children, ...props }) {
160
+ return /* @__PURE__ */ jsx(Button, {
161
+ ...props,
162
+ variant: "ghost",
163
+ tone: "neutral",
164
+ size: "small",
165
+ className: cn("", className),
166
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronLeft" })
167
+ });
168
+ }
169
+ // src/components/calendar/calendar-picker.tsx
170
+ function getMultipleSelected(selectedDates) {
171
+ if (Array.isArray(selectedDates)) return selectedDates;
172
+ }
173
+ function getRangeSelected(selectedDates) {
174
+ if (isDateRange(selectedDates)) return selectedDates;
175
+ }
176
+ function getSingleSelected(selectedDates) {
177
+ if (selectedDates instanceof Date) return selectedDates;
178
+ }
179
+ function labelDayButtonWithVisibleText(...args) {
180
+ const [date, modifiers, options, dateLib] = args;
181
+ return `${dateLib?.format(date, "d") ?? String(date.getDate())}, ${labelDayButton(date, modifiers, options, dateLib)}`;
182
+ }
183
+ const defaultClassNames = getDefaultClassNames();
184
+ const defaultComponents = {
185
+ Chevron: CalendarChevron,
186
+ DayButton: CalendarDayButton,
187
+ Dropdown: CalendarDropdown,
188
+ NextMonthButton: CalendarNextMonthButton,
189
+ PreviousMonthButton: CalendarPreviousMonthButton
190
+ };
191
+ const calendarClassNames = {
192
+ caption_label: "style-text-strong-0",
193
+ day: cn("size-xl! rounded-full style-text-default-0 transition-colors hover:bg-brand-container hover:text-brand-on-container data-selected:text-brand-on-default data-selected:hover:bg-brand-default", defaultClassNames.day),
194
+ day_button: cn("size-xl! rounded-full", defaultClassNames.day_button),
195
+ disabled: cn("pointer-events-none text-on-surface", defaultClassNames.disabled),
196
+ month_caption: "flex items-center justify-center h-lg",
197
+ month_grid: cn("mt-xs border-separate! border-spacing-3xs", defaultClassNames.month_grid),
198
+ nav: cn("h-lg! w-full justify-between!", defaultClassNames.nav),
199
+ outside: cn("border-none text-on-surface-muted", defaultClassNames.outside),
200
+ range_end: cn("rounded-l-none bg-brand-default text-brand-on-default"),
201
+ range_middle: cn("rounded-none! border-y border-brand-border bg-brand-container! text-brand-on-container! transition-none"),
202
+ range_start: cn("rounded-r-none bg-brand-default text-brand-on-default", "[&.rounded-l-none]:rounded-xl"),
203
+ selected: cn("bg-brand-default text-brand-on-default"),
204
+ today: cn("text-brand-default! data-selected:text-brand-on-default!", defaultClassNames.today),
205
+ week: cn("", defaultClassNames.week),
206
+ weekdays: cn("style-text-default-0 text-on-surface-muted", defaultClassNames.weekdays)
207
+ };
208
+ function CalendarPicker({ className, components, mode = "single", selected, onSelect, ...props }) {
209
+ const { state, dispatch } = useCalendar(), selectedValue = selected ?? state.selectedDates, handleSelect = (next) => {
210
+ dispatch({
211
+ payload: next,
212
+ type: "SET_SELECTED_DATES"
213
+ });
214
+ onSelect?.(next);
215
+ }, baseProps = {
216
+ className,
217
+ classNames: calendarClassNames,
218
+ components: {
219
+ ...defaultComponents,
220
+ ...components
221
+ },
222
+ labels: { labelDayButton: labelDayButtonWithVisibleText },
223
+ ...props
224
+ };
225
+ switch (mode) {
226
+ case "multiple": return /* @__PURE__ */ jsx(DayPicker, {
227
+ ...baseProps,
228
+ mode: "multiple",
229
+ selected: getMultipleSelected(selectedValue),
230
+ onSelect: handleSelect
231
+ });
232
+ case "range": return /* @__PURE__ */ jsx(DayPicker, {
233
+ ...baseProps,
234
+ mode: "range",
235
+ selected: getRangeSelected(selectedValue),
236
+ onSelect: handleSelect
237
+ });
238
+ default: return /* @__PURE__ */ jsx(DayPicker, {
239
+ ...baseProps,
240
+ mode: "single",
241
+ selected: getSingleSelected(selectedValue),
242
+ onSelect: handleSelect
243
+ });
244
+ }
245
+ }
246
+ // src/components/calendar/calendar-summary.tsx
247
+ const dateFormatOptions = {
248
+ day: "numeric",
249
+ month: "long",
250
+ year: "numeric"
251
+ };
252
+ const formatCalendarDate = (date) => formatDate(date, "en-US", dateFormatOptions);
253
+ function CalendarSummary({ className, children, ref, ...props }) {
254
+ const { state } = useCalendar(), [today, setToday] = useState(() => /* @__PURE__ */ new Date());
255
+ let formattedDate = void 0;
256
+ if (state.selectedDates instanceof Date) formattedDate = formatCalendarDate(state.selectedDates);
257
+ if (isDateRange(state.selectedDates)) {
258
+ const { from: startDate, to: endDate } = state.selectedDates;
259
+ if (startDate && endDate) formattedDate = `${formatCalendarDate(startDate)} - ${formatCalendarDate(endDate)}`;
260
+ }
261
+ return /* @__PURE__ */ jsxs("div", {
262
+ className: cn("flex flex-col", className),
263
+ ref,
264
+ ...props,
265
+ children: [
266
+ /* @__PURE__ */ jsx("span", {
267
+ className: "style-text-strong-1",
268
+ children: formatCalendarDate(today)
269
+ }),
270
+ /* @__PURE__ */ jsx("span", {
271
+ className: "style-text-strong-0",
272
+ children: formattedDate
273
+ }),
274
+ children
275
+ ]
276
+ });
277
+ }
278
+ // src/components/calendar/index.ts
279
+ const Calendar = Object.assign(Calendar$1, {
280
+ DayButton: CalendarDayButton,
281
+ Dropdown: CalendarDropdown,
282
+ Footer: CalendarFooter,
283
+ Header: CalendarHeader,
284
+ NextMonthButton: CalendarNextMonthButton,
285
+ Panel: CalendarPanel,
286
+ Picker: CalendarPicker,
287
+ PreviousMonthButton: CalendarPreviousMonthButton,
288
+ Summary: CalendarSummary
289
+ });
290
+ export { Calendar, CalendarChevron, CalendarDayButton, CalendarDropdown, CalendarFooter, CalendarHeader, CalendarNextMonthButton, CalendarPanel, CalendarPicker, CalendarPreviousMonthButton, CalendarSummary };
291
+
292
+ //# sourceMappingURL=index.js.map