@tribepad/themis 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/dist/elements/Accordion/index.js +325 -66
  2. package/dist/elements/Accordion/index.js.map +1 -1
  3. package/dist/elements/Accordion/index.mjs +317 -3
  4. package/dist/elements/Accordion/index.mjs.map +1 -1
  5. package/dist/elements/Avatar/index.js +461 -45
  6. package/dist/elements/Avatar/index.js.map +1 -1
  7. package/dist/elements/Avatar/index.mjs +456 -3
  8. package/dist/elements/Avatar/index.mjs.map +1 -1
  9. package/dist/elements/Badge/index.js +238 -36
  10. package/dist/elements/Badge/index.js.map +1 -1
  11. package/dist/elements/Badge/index.mjs +234 -4
  12. package/dist/elements/Badge/index.mjs.map +1 -1
  13. package/dist/elements/Breadcrumbs/index.js +808 -39
  14. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  15. package/dist/elements/Breadcrumbs/index.mjs +810 -7
  16. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  17. package/dist/elements/Button/index.js +282 -19
  18. package/dist/elements/Button/index.js.map +1 -1
  19. package/dist/elements/Button/index.mjs +283 -4
  20. package/dist/elements/Button/index.mjs.map +1 -1
  21. package/dist/elements/ButtonGroup/index.js +229 -56
  22. package/dist/elements/ButtonGroup/index.js.map +1 -1
  23. package/dist/elements/ButtonGroup/index.mjs +222 -3
  24. package/dist/elements/ButtonGroup/index.mjs.map +1 -1
  25. package/dist/elements/Card/Card.d.ts.map +1 -1
  26. package/dist/elements/Card/index.js +563 -67
  27. package/dist/elements/Card/index.js.map +1 -1
  28. package/dist/elements/Card/index.mjs +560 -6
  29. package/dist/elements/Card/index.mjs.map +1 -1
  30. package/dist/elements/Carousel/index.js +782 -14
  31. package/dist/elements/Carousel/index.js.map +1 -1
  32. package/dist/elements/Carousel/index.mjs +786 -8
  33. package/dist/elements/Carousel/index.mjs.map +1 -1
  34. package/dist/elements/Chart/index.js +1833 -36
  35. package/dist/elements/Chart/index.js.map +1 -1
  36. package/dist/elements/Chart/index.mjs +1832 -4
  37. package/dist/elements/Chart/index.mjs.map +1 -1
  38. package/dist/elements/Checkbox/index.js +310 -39
  39. package/dist/elements/Checkbox/index.js.map +1 -1
  40. package/dist/elements/Checkbox/index.mjs +306 -4
  41. package/dist/elements/Checkbox/index.mjs.map +1 -1
  42. package/dist/elements/CheckboxGroup/index.js +445 -59
  43. package/dist/elements/CheckboxGroup/index.js.map +1 -1
  44. package/dist/elements/CheckboxGroup/index.mjs +439 -4
  45. package/dist/elements/CheckboxGroup/index.mjs.map +1 -1
  46. package/dist/elements/DatePicker/index.js +871 -89
  47. package/dist/elements/DatePicker/index.js.map +1 -1
  48. package/dist/elements/DatePicker/index.mjs +853 -4
  49. package/dist/elements/DatePicker/index.mjs.map +1 -1
  50. package/dist/elements/Dropdown/index.js +189 -35
  51. package/dist/elements/Dropdown/index.js.map +1 -1
  52. package/dist/elements/Dropdown/index.mjs +184 -2
  53. package/dist/elements/Dropdown/index.mjs.map +1 -1
  54. package/dist/elements/FileField/index.js +1532 -129
  55. package/dist/elements/FileField/index.js.map +1 -1
  56. package/dist/elements/FileField/index.mjs +1507 -7
  57. package/dist/elements/FileField/index.mjs.map +1 -1
  58. package/dist/elements/FormLayout/index.js +166 -11
  59. package/dist/elements/FormLayout/index.js.map +1 -1
  60. package/dist/elements/FormLayout/index.mjs +167 -2
  61. package/dist/elements/FormLayout/index.mjs.map +1 -1
  62. package/dist/elements/Modal/index.js +228 -46
  63. package/dist/elements/Modal/index.js.map +1 -1
  64. package/dist/elements/Modal/index.mjs +220 -1
  65. package/dist/elements/Modal/index.mjs.map +1 -1
  66. package/dist/elements/NumberField/index.js +659 -48
  67. package/dist/elements/NumberField/index.js.map +1 -1
  68. package/dist/elements/NumberField/index.mjs +654 -6
  69. package/dist/elements/NumberField/index.mjs.map +1 -1
  70. package/dist/elements/OTPInput/index.js +729 -6
  71. package/dist/elements/OTPInput/index.js.map +1 -1
  72. package/dist/elements/OTPInput/index.mjs +732 -2
  73. package/dist/elements/OTPInput/index.mjs.map +1 -1
  74. package/dist/elements/Panel/index.js +326 -27
  75. package/dist/elements/Panel/index.js.map +1 -1
  76. package/dist/elements/Panel/index.mjs +323 -2
  77. package/dist/elements/Panel/index.mjs.map +1 -1
  78. package/dist/elements/Progress/index.js +181 -22
  79. package/dist/elements/Progress/index.js.map +1 -1
  80. package/dist/elements/Progress/index.mjs +181 -3
  81. package/dist/elements/Progress/index.mjs.map +1 -1
  82. package/dist/elements/RadioGroup/index.js +358 -34
  83. package/dist/elements/RadioGroup/index.js.map +1 -1
  84. package/dist/elements/RadioGroup/index.mjs +359 -4
  85. package/dist/elements/RadioGroup/index.mjs.map +1 -1
  86. package/dist/elements/Resizable/components/ResizableHandle.d.ts +0 -8
  87. package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -1
  88. package/dist/elements/Resizable/components/ResizablePanel.d.ts +0 -8
  89. package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -1
  90. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +0 -8
  91. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -1
  92. package/dist/elements/Resizable/components/ResizablePopover.d.ts +0 -8
  93. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -1
  94. package/dist/elements/Resizable/index.js +1568 -51
  95. package/dist/elements/Resizable/index.js.map +1 -1
  96. package/dist/elements/Resizable/index.mjs +1566 -6
  97. package/dist/elements/Resizable/index.mjs.map +1 -1
  98. package/dist/elements/Select/index.js +580 -22
  99. package/dist/elements/Select/index.js.map +1 -1
  100. package/dist/elements/Select/index.mjs +582 -2
  101. package/dist/elements/Select/index.mjs.map +1 -1
  102. package/dist/elements/Skeleton/index.js +77 -15
  103. package/dist/elements/Skeleton/index.js.map +1 -1
  104. package/dist/elements/Skeleton/index.mjs +78 -3
  105. package/dist/elements/Skeleton/index.mjs.map +1 -1
  106. package/dist/elements/Switch/index.js +153 -21
  107. package/dist/elements/Switch/index.js.map +1 -1
  108. package/dist/elements/Switch/index.mjs +149 -5
  109. package/dist/elements/Switch/index.mjs.map +1 -1
  110. package/dist/elements/Table/index.js +589 -68
  111. package/dist/elements/Table/index.js.map +1 -1
  112. package/dist/elements/Table/index.mjs +578 -5
  113. package/dist/elements/Table/index.mjs.map +1 -1
  114. package/dist/elements/Tabs/index.js +328 -63
  115. package/dist/elements/Tabs/index.js.map +1 -1
  116. package/dist/elements/Tabs/index.mjs +320 -3
  117. package/dist/elements/Tabs/index.mjs.map +1 -1
  118. package/dist/elements/TextField/index.js +695 -51
  119. package/dist/elements/TextField/index.js.map +1 -1
  120. package/dist/elements/TextField/index.mjs +684 -7
  121. package/dist/elements/TextField/index.mjs.map +1 -1
  122. package/dist/elements/TimeField/index.js +244 -33
  123. package/dist/elements/TimeField/index.js.map +1 -1
  124. package/dist/elements/TimeField/index.mjs +238 -2
  125. package/dist/elements/TimeField/index.mjs.map +1 -1
  126. package/dist/elements/Toast/index.js +727 -48
  127. package/dist/elements/Toast/index.js.map +1 -1
  128. package/dist/elements/Toast/index.mjs +724 -5
  129. package/dist/elements/Toast/index.mjs.map +1 -1
  130. package/dist/elements/Tooltip/index.js +315 -49
  131. package/dist/elements/Tooltip/index.js.map +1 -1
  132. package/dist/elements/Tooltip/index.mjs +310 -4
  133. package/dist/elements/Tooltip/index.mjs.map +1 -1
  134. package/dist/elements/index.js +12417 -799
  135. package/dist/elements/index.js.map +1 -1
  136. package/dist/elements/index.mjs +12233 -40
  137. package/dist/elements/index.mjs.map +1 -1
  138. package/dist/index.js +12452 -825
  139. package/dist/index.js.map +1 -1
  140. package/dist/index.mjs +12262 -42
  141. package/dist/index.mjs.map +1 -1
  142. package/dist/schemas/index.js +47 -21
  143. package/dist/schemas/index.js.map +1 -1
  144. package/dist/schemas/index.mjs +47 -2
  145. package/dist/schemas/index.mjs.map +1 -1
  146. package/dist/styles/index.js +161 -147
  147. package/dist/styles/index.js.map +1 -1
  148. package/dist/styles/index.mjs +128 -2
  149. package/dist/styles/index.mjs.map +1 -1
  150. package/dist/utils/index.js +7 -7
  151. package/dist/utils/index.js.map +1 -1
  152. package/dist/utils/index.mjs +9 -2
  153. package/dist/utils/index.mjs.map +1 -1
  154. package/package.json +1 -1
  155. package/dist/Carousel-NTZX5TOW.js +0 -16
  156. package/dist/Carousel-NTZX5TOW.js.map +0 -1
  157. package/dist/Carousel-YH3DOQJU.mjs +0 -7
  158. package/dist/Carousel-YH3DOQJU.mjs.map +0 -1
  159. package/dist/chunk-2HIUTHMU.mjs +0 -234
  160. package/dist/chunk-2HIUTHMU.mjs.map +0 -1
  161. package/dist/chunk-34GTFTDO.js +0 -431
  162. package/dist/chunk-34GTFTDO.js.map +0 -1
  163. package/dist/chunk-3H7ASYR7.js +0 -250
  164. package/dist/chunk-3H7ASYR7.js.map +0 -1
  165. package/dist/chunk-3IEN7JOP.js +0 -316
  166. package/dist/chunk-3IEN7JOP.js.map +0 -1
  167. package/dist/chunk-3JHN4GAL.js +0 -326
  168. package/dist/chunk-3JHN4GAL.js.map +0 -1
  169. package/dist/chunk-3MJPASQU.js +0 -232
  170. package/dist/chunk-3MJPASQU.js.map +0 -1
  171. package/dist/chunk-3XD2JUL3.js +0 -572
  172. package/dist/chunk-3XD2JUL3.js.map +0 -1
  173. package/dist/chunk-3YOY2VJ6.js +0 -189
  174. package/dist/chunk-3YOY2VJ6.js.map +0 -1
  175. package/dist/chunk-4DU5JSXB.js +0 -408
  176. package/dist/chunk-4DU5JSXB.js.map +0 -1
  177. package/dist/chunk-4E4E2GSS.js +0 -352
  178. package/dist/chunk-4E4E2GSS.js.map +0 -1
  179. package/dist/chunk-4NHAP4AN.mjs +0 -3
  180. package/dist/chunk-4NHAP4AN.mjs.map +0 -1
  181. package/dist/chunk-4S33J5NY.mjs +0 -415
  182. package/dist/chunk-4S33J5NY.mjs.map +0 -1
  183. package/dist/chunk-5SMGRT3G.mjs +0 -354
  184. package/dist/chunk-5SMGRT3G.mjs.map +0 -1
  185. package/dist/chunk-5SVLJN2C.mjs +0 -22
  186. package/dist/chunk-5SVLJN2C.mjs.map +0 -1
  187. package/dist/chunk-66WTU4EB.mjs +0 -299
  188. package/dist/chunk-66WTU4EB.mjs.map +0 -1
  189. package/dist/chunk-6S25NMOT.mjs +0 -335
  190. package/dist/chunk-6S25NMOT.mjs.map +0 -1
  191. package/dist/chunk-6SP7UB3D.js +0 -4
  192. package/dist/chunk-6SP7UB3D.js.map +0 -1
  193. package/dist/chunk-6TYWWQHM.mjs +0 -565
  194. package/dist/chunk-6TYWWQHM.mjs.map +0 -1
  195. package/dist/chunk-A3YUJA6W.mjs +0 -384
  196. package/dist/chunk-A3YUJA6W.mjs.map +0 -1
  197. package/dist/chunk-A6KEDVUR.js +0 -61
  198. package/dist/chunk-A6KEDVUR.js.map +0 -1
  199. package/dist/chunk-A77RUEWL.js +0 -730
  200. package/dist/chunk-A77RUEWL.js.map +0 -1
  201. package/dist/chunk-AA4IKMPE.mjs +0 -3
  202. package/dist/chunk-AA4IKMPE.mjs.map +0 -1
  203. package/dist/chunk-AKIA6GW6.mjs +0 -163
  204. package/dist/chunk-AKIA6GW6.mjs.map +0 -1
  205. package/dist/chunk-AL6P275L.mjs +0 -435
  206. package/dist/chunk-AL6P275L.mjs.map +0 -1
  207. package/dist/chunk-AZ3RJYTB.js +0 -37
  208. package/dist/chunk-AZ3RJYTB.js.map +0 -1
  209. package/dist/chunk-B5Q4UPL6.js +0 -32
  210. package/dist/chunk-B5Q4UPL6.js.map +0 -1
  211. package/dist/chunk-B6DHPMDP.mjs +0 -335
  212. package/dist/chunk-B6DHPMDP.mjs.map +0 -1
  213. package/dist/chunk-BDXKKMBZ.mjs +0 -184
  214. package/dist/chunk-BDXKKMBZ.mjs.map +0 -1
  215. package/dist/chunk-BL6E2DLZ.mjs +0 -52
  216. package/dist/chunk-BL6E2DLZ.mjs.map +0 -1
  217. package/dist/chunk-CGFDS4XS.mjs +0 -121
  218. package/dist/chunk-CGFDS4XS.mjs.map +0 -1
  219. package/dist/chunk-CJIW5TKI.js +0 -139
  220. package/dist/chunk-CJIW5TKI.js.map +0 -1
  221. package/dist/chunk-CKNISJOQ.js +0 -314
  222. package/dist/chunk-CKNISJOQ.js.map +0 -1
  223. package/dist/chunk-D6CBOECS.mjs +0 -1757
  224. package/dist/chunk-D6CBOECS.mjs.map +0 -1
  225. package/dist/chunk-DDWEVC2S.js +0 -166
  226. package/dist/chunk-DDWEVC2S.js.map +0 -1
  227. package/dist/chunk-DZ556D2F.mjs +0 -176
  228. package/dist/chunk-DZ556D2F.mjs.map +0 -1
  229. package/dist/chunk-E2KQFV3O.mjs +0 -10
  230. package/dist/chunk-E2KQFV3O.mjs.map +0 -1
  231. package/dist/chunk-EMMLADSC.js +0 -126
  232. package/dist/chunk-EMMLADSC.js.map +0 -1
  233. package/dist/chunk-EP4WOI5D.mjs +0 -926
  234. package/dist/chunk-EP4WOI5D.mjs.map +0 -1
  235. package/dist/chunk-FJRXLJC2.mjs +0 -160
  236. package/dist/chunk-FJRXLJC2.mjs.map +0 -1
  237. package/dist/chunk-FKQI434R.js +0 -345
  238. package/dist/chunk-FKQI434R.js.map +0 -1
  239. package/dist/chunk-FPKEAJRZ.mjs +0 -100
  240. package/dist/chunk-FPKEAJRZ.mjs.map +0 -1
  241. package/dist/chunk-FWQYB22U.js +0 -183
  242. package/dist/chunk-FWQYB22U.js.map +0 -1
  243. package/dist/chunk-GD5GHTMA.js +0 -189
  244. package/dist/chunk-GD5GHTMA.js.map +0 -1
  245. package/dist/chunk-GE5XTSDZ.js +0 -447
  246. package/dist/chunk-GE5XTSDZ.js.map +0 -1
  247. package/dist/chunk-GVE47ZAX.mjs +0 -32
  248. package/dist/chunk-GVE47ZAX.mjs.map +0 -1
  249. package/dist/chunk-HK46BT5U.mjs +0 -18
  250. package/dist/chunk-HK46BT5U.mjs.map +0 -1
  251. package/dist/chunk-HQVRMR6N.js +0 -365
  252. package/dist/chunk-HQVRMR6N.js.map +0 -1
  253. package/dist/chunk-HSGBJPJO.mjs +0 -398
  254. package/dist/chunk-HSGBJPJO.mjs.map +0 -1
  255. package/dist/chunk-I3AUTOMZ.mjs +0 -125
  256. package/dist/chunk-I3AUTOMZ.mjs.map +0 -1
  257. package/dist/chunk-IEI5LD5C.mjs +0 -1161
  258. package/dist/chunk-IEI5LD5C.mjs.map +0 -1
  259. package/dist/chunk-IIPTC2X7.mjs +0 -118
  260. package/dist/chunk-IIPTC2X7.mjs.map +0 -1
  261. package/dist/chunk-J7TLHF2Q.js +0 -4
  262. package/dist/chunk-J7TLHF2Q.js.map +0 -1
  263. package/dist/chunk-JJOWXFXQ.mjs +0 -765
  264. package/dist/chunk-JJOWXFXQ.mjs.map +0 -1
  265. package/dist/chunk-JPTSS2OA.mjs +0 -3
  266. package/dist/chunk-JPTSS2OA.mjs.map +0 -1
  267. package/dist/chunk-KFXXRLTP.js +0 -396
  268. package/dist/chunk-KFXXRLTP.js.map +0 -1
  269. package/dist/chunk-KPRRBSG6.mjs +0 -272
  270. package/dist/chunk-KPRRBSG6.mjs.map +0 -1
  271. package/dist/chunk-NFSBGRDB.mjs +0 -57
  272. package/dist/chunk-NFSBGRDB.mjs.map +0 -1
  273. package/dist/chunk-NGJVCFTM.js +0 -219
  274. package/dist/chunk-NGJVCFTM.js.map +0 -1
  275. package/dist/chunk-NSQ6MZJ6.mjs +0 -728
  276. package/dist/chunk-NSQ6MZJ6.mjs.map +0 -1
  277. package/dist/chunk-NYQYHT76.mjs +0 -296
  278. package/dist/chunk-NYQYHT76.mjs.map +0 -1
  279. package/dist/chunk-OLJJGI5B.js +0 -1193
  280. package/dist/chunk-OLJJGI5B.js.map +0 -1
  281. package/dist/chunk-Q3572X2J.js +0 -292
  282. package/dist/chunk-Q3572X2J.js.map +0 -1
  283. package/dist/chunk-QH7N7D4I.mjs +0 -210
  284. package/dist/chunk-QH7N7D4I.mjs.map +0 -1
  285. package/dist/chunk-R7XUIV25.js +0 -466
  286. package/dist/chunk-R7XUIV25.js.map +0 -1
  287. package/dist/chunk-RFFO4KPM.js +0 -135
  288. package/dist/chunk-RFFO4KPM.js.map +0 -1
  289. package/dist/chunk-RFX7QKA7.mjs +0 -180
  290. package/dist/chunk-RFX7QKA7.mjs.map +0 -1
  291. package/dist/chunk-SN5LFAP3.js +0 -940
  292. package/dist/chunk-SN5LFAP3.js.map +0 -1
  293. package/dist/chunk-T4COXKQ3.js +0 -24
  294. package/dist/chunk-T4COXKQ3.js.map +0 -1
  295. package/dist/chunk-TS54QM27.js +0 -125
  296. package/dist/chunk-TS54QM27.js.map +0 -1
  297. package/dist/chunk-UE2S4PCX.mjs +0 -220
  298. package/dist/chunk-UE2S4PCX.mjs.map +0 -1
  299. package/dist/chunk-UTW3QX2A.mjs +0 -282
  300. package/dist/chunk-UTW3QX2A.mjs.map +0 -1
  301. package/dist/chunk-V74LGMAE.js +0 -1767
  302. package/dist/chunk-V74LGMAE.js.map +0 -1
  303. package/dist/chunk-VIREG536.js +0 -12
  304. package/dist/chunk-VIREG536.js.map +0 -1
  305. package/dist/chunk-VY7M7346.js +0 -4
  306. package/dist/chunk-VY7M7346.js.map +0 -1
  307. package/dist/chunk-W3TJOO7H.mjs +0 -319
  308. package/dist/chunk-W3TJOO7H.mjs.map +0 -1
  309. package/dist/chunk-WIUOB36M.js +0 -54
  310. package/dist/chunk-WIUOB36M.js.map +0 -1
  311. package/dist/chunk-WJGLM4CY.js +0 -291
  312. package/dist/chunk-WJGLM4CY.js.map +0 -1
  313. package/dist/chunk-WNURH5OO.mjs +0 -453
  314. package/dist/chunk-WNURH5OO.mjs.map +0 -1
  315. package/dist/chunk-X25TNRSD.mjs +0 -364
  316. package/dist/chunk-X25TNRSD.mjs.map +0 -1
  317. package/dist/chunk-Y3GT7ETK.js +0 -108
  318. package/dist/chunk-Y3GT7ETK.js.map +0 -1
  319. package/dist/chunk-Z4FRNOF6.mjs +0 -115
  320. package/dist/chunk-Z4FRNOF6.mjs.map +0 -1
  321. package/dist/chunk-ZMYLD3BN.js +0 -166
  322. package/dist/chunk-ZMYLD3BN.js.map +0 -1
  323. package/dist/chunk-ZP2KV6EX.js +0 -815
  324. package/dist/chunk-ZP2KV6EX.js.map +0 -1
  325. package/dist/chunk-ZVKXFELU.js +0 -366
  326. package/dist/chunk-ZVKXFELU.js.map +0 -1
@@ -1,6 +1,855 @@
1
- export { Calendar, CalendarPropsSchema, DateField, DateFieldPropsSchema, DatePicker, DatePickerPropsSchema, DateRangePicker, DateRangePickerPropsSchema, RangeCalendarPropsSchema, calendarCellVariants, calendarGridHeaderCellVariants, calendarGridVariants, calendarHeaderVariants, calendarNavButtonVariants, dateFieldVariants, datePickerDescriptionVariants, datePickerErrorVariants, datePickerLabelVariants, datePickerPopoverVariants, datePickerTriggerVariants, dateSegmentVariants, getLocalTimeZone, isWeekend, now, parseDate, parseDateTime, parseZonedDateTime, today } from '../../chunk-JJOWXFXQ.mjs';
2
- import '../../chunk-Z4FRNOF6.mjs';
3
- import '../../chunk-HK46BT5U.mjs';
4
- import '../../chunk-E2KQFV3O.mjs';
1
+ "use client";
2
+ import { createContext, forwardRef, useMemo } from 'react';
3
+ import { DatePicker as DatePicker$1, Label, Group, DateInput, DateSegment, Button, Text, FieldError, Popover, Dialog, Calendar as Calendar$2, Heading, CalendarGrid, CalendarGridHeader, CalendarHeaderCell, CalendarGridBody, CalendarCell, DateRangePicker as DateRangePicker$1, RangeCalendar, DateField as DateField$1 } from 'react-aria-components';
4
+ import { Calendar as Calendar$1, ChevronLeft, ChevronRight } from 'lucide-react';
5
+ import { clsx } from 'clsx';
6
+ import { twMerge } from 'tailwind-merge';
7
+ import { cva } from 'class-variance-authority';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+ import { z } from 'zod';
10
+ export { getLocalTimeZone, isWeekend, now, parseDate, parseDateTime, parseZonedDateTime, today } from '@internationalized/date';
11
+
12
+ // src/elements/DatePicker/DatePicker.tsx
13
+ function cn(...inputs) {
14
+ return twMerge(clsx(inputs));
15
+ }
16
+
17
+ // src/styles/shared-variants.ts
18
+ var FOCUS_WITHIN_RING = [
19
+ "focus-within:outline-none",
20
+ "focus-within:ring-2",
21
+ "focus-within:ring-[var(--ring)]",
22
+ "focus-within:ring-offset-2"
23
+ ];
24
+ var FOCUS_RING = [
25
+ "focus:outline-none",
26
+ "focus:ring-2",
27
+ "focus:ring-[var(--ring)]"
28
+ ];
29
+ var FOCUS_HIGHLIGHT = [
30
+ "focus:outline-none",
31
+ "focus:bg-[var(--accent)]",
32
+ "focus:text-[var(--accent-foreground)]"
33
+ ];
34
+ var DISABLED_STANDARD = [
35
+ "disabled:pointer-events-none",
36
+ "disabled:opacity-50"
37
+ ];
38
+ var DISABLED_DATA_ATTR = [
39
+ "data-[disabled]:pointer-events-none",
40
+ "data-[disabled]:opacity-50",
41
+ "data-[disabled]:cursor-not-allowed"
42
+ ];
43
+ var TEXT_SIZE_SMALL_SCALE = {
44
+ sm: "text-xs",
45
+ default: "text-sm",
46
+ lg: "text-base"
47
+ };
48
+ var TEXT_SIZE_MEDIUM_SCALE = {
49
+ sm: "text-sm",
50
+ default: "text-base",
51
+ lg: "text-lg"
52
+ };
53
+ var FIELD_HEIGHTS = {
54
+ sm: "h-9",
55
+ // 36px
56
+ default: "h-11",
57
+ // 44px
58
+ lg: "h-14"
59
+ // 56px
60
+ };
61
+ var ERROR_MESSAGE_BASE = [
62
+ "flex",
63
+ "items-center",
64
+ "gap-1.5",
65
+ "text-[var(--destructive)]"
66
+ ];
67
+ var DESCRIPTION_BASE = [
68
+ "text-[var(--menu-muted)]"
69
+ ];
70
+ var LABEL_BASE = [
71
+ "font-medium",
72
+ "text-[var(--content-foreground)]"
73
+ ];
74
+ var POPOVER_ANIMATION_IN = [
75
+ "data-[entering]:animate-in",
76
+ "data-[entering]:fade-in-0",
77
+ "data-[entering]:zoom-in-95"
78
+ ];
79
+ var POPOVER_ANIMATION_OUT = [
80
+ "data-[exiting]:animate-out",
81
+ "data-[exiting]:fade-out-0",
82
+ "data-[exiting]:zoom-out-95"
83
+ ];
84
+ var REDUCED_MOTION = [
85
+ "motion-reduce:transition-none",
86
+ "motion-reduce:animate-none"
87
+ ];
88
+ var TRANSITION_FAST = [
89
+ "transition-colors",
90
+ "duration-150"
91
+ ];
92
+ var HOVER_ACCENT = [
93
+ "hover:bg-[var(--accent)]",
94
+ "hover:text-[var(--accent-foreground)]"
95
+ ];
96
+ function combineStyles(...styles) {
97
+ return styles.flatMap((s) => Array.isArray(s) ? [...s] : [s]);
98
+ }
99
+
100
+ // src/elements/DatePicker/DatePicker.variants.ts
101
+ var dateFieldVariants = cva(
102
+ combineStyles(
103
+ "flex items-center rounded-md border",
104
+ "bg-[var(--content-background)] text-[var(--content-foreground)]",
105
+ "transition-colors duration-200",
106
+ FOCUS_WITHIN_RING,
107
+ DISABLED_DATA_ATTR
108
+ ),
109
+ {
110
+ variants: {
111
+ size: {
112
+ sm: `${FIELD_HEIGHTS.sm} px-3 text-sm gap-0.5`,
113
+ default: `${FIELD_HEIGHTS.default} px-4 text-base gap-1`,
114
+ lg: `${FIELD_HEIGHTS.lg} px-5 text-lg gap-1.5`
115
+ },
116
+ isInvalid: {
117
+ true: "border-[var(--destructive)] focus-within:ring-[var(--destructive)]",
118
+ false: "border-[var(--input)] hover:border-[var(--input)]/80"
119
+ }
120
+ },
121
+ defaultVariants: {
122
+ size: "default",
123
+ isInvalid: false
124
+ }
125
+ }
126
+ );
127
+ var dateSegmentVariants = cva(
128
+ combineStyles(
129
+ "tabular-nums rounded px-0.5",
130
+ FOCUS_HIGHLIGHT,
131
+ "data-[placeholder]:text-[var(--menu-muted)]",
132
+ "data-[type=literal]:text-[var(--menu-muted)]"
133
+ ),
134
+ {
135
+ variants: {
136
+ size: TEXT_SIZE_MEDIUM_SCALE
137
+ },
138
+ defaultVariants: {
139
+ size: "default"
140
+ }
141
+ }
142
+ );
143
+ var calendarCellVariants = cva(
144
+ combineStyles(
145
+ "flex items-center justify-center rounded-md cursor-pointer",
146
+ TRANSITION_FAST,
147
+ HOVER_ACCENT,
148
+ FOCUS_RING,
149
+ // Selected state
150
+ "data-[selected]:bg-[var(--primary)] data-[selected]:text-[var(--primary-foreground)]",
151
+ "data-[selected]:hover:bg-[var(--primary)]/90 data-[selected]:font-semibold",
152
+ // Today indicator
153
+ "data-[today]:border data-[today]:border-[var(--primary)]",
154
+ // Range selection
155
+ "data-[selection-start]:rounded-l-md data-[selection-start]:rounded-r-none",
156
+ "data-[selection-end]:rounded-r-md data-[selection-end]:rounded-l-none",
157
+ "data-[selected]:data-[selection-start]:rounded-l-md",
158
+ "data-[selected]:data-[selection-end]:rounded-r-md",
159
+ // Unavailable/outside/disabled states
160
+ "data-[unavailable]:text-[var(--menu-muted)] data-[unavailable]:pointer-events-none data-[unavailable]:opacity-50 data-[unavailable]:line-through",
161
+ "data-[outside-month]:text-[var(--menu-muted)] data-[outside-month]:opacity-50",
162
+ "data-[disabled]:text-[var(--menu-muted)] data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
163
+ ),
164
+ {
165
+ variants: {
166
+ size: {
167
+ sm: "h-9 w-9 text-sm",
168
+ default: "h-11 w-11 text-base",
169
+ lg: "h-14 w-14 text-lg"
170
+ }
171
+ },
172
+ defaultVariants: {
173
+ size: "default"
174
+ }
175
+ }
176
+ );
177
+ var calendarHeaderVariants = cva(
178
+ "flex items-center justify-between px-1 pb-4",
179
+ {
180
+ variants: {
181
+ size: TEXT_SIZE_MEDIUM_SCALE
182
+ },
183
+ defaultVariants: {
184
+ size: "default"
185
+ }
186
+ }
187
+ );
188
+ var calendarNavButtonVariants = cva(
189
+ combineStyles(
190
+ "inline-flex items-center justify-center rounded-md text-[var(--menu-muted)]",
191
+ TRANSITION_FAST,
192
+ HOVER_ACCENT,
193
+ FOCUS_RING,
194
+ DISABLED_STANDARD
195
+ ),
196
+ {
197
+ variants: {
198
+ size: {
199
+ sm: "h-7 w-7",
200
+ default: "h-9 w-9",
201
+ lg: "h-11 w-11"
202
+ }
203
+ },
204
+ defaultVariants: {
205
+ size: "default"
206
+ }
207
+ }
208
+ );
209
+ var calendarGridVariants = cva(
210
+ "w-full border-collapse",
211
+ {
212
+ variants: {
213
+ size: TEXT_SIZE_MEDIUM_SCALE
214
+ },
215
+ defaultVariants: {
216
+ size: "default"
217
+ }
218
+ }
219
+ );
220
+ var calendarGridHeaderCellVariants = cva(
221
+ "text-center font-medium text-[var(--menu-muted)] pb-2",
222
+ {
223
+ variants: {
224
+ size: {
225
+ sm: "text-xs w-9",
226
+ default: "text-sm w-11",
227
+ lg: "text-base w-14"
228
+ }
229
+ },
230
+ defaultVariants: {
231
+ size: "default"
232
+ }
233
+ }
234
+ );
235
+ var datePickerPopoverVariants = cva(
236
+ combineStyles(
237
+ "z-50 rounded-md border p-3 shadow-md outline-none",
238
+ "bg-[var(--menu-background)] text-[var(--menu-foreground)]",
239
+ POPOVER_ANIMATION_IN,
240
+ POPOVER_ANIMATION_OUT,
241
+ REDUCED_MOTION
242
+ ),
243
+ {
244
+ variants: {
245
+ size: {
246
+ sm: "w-[260px]",
247
+ default: "w-[320px]",
248
+ lg: "w-[380px]"
249
+ }
250
+ },
251
+ defaultVariants: {
252
+ size: "default"
253
+ }
254
+ }
255
+ );
256
+ var datePickerTriggerVariants = cva(
257
+ combineStyles(
258
+ "inline-flex items-center justify-center rounded-md text-[var(--menu-muted)]",
259
+ TRANSITION_FAST,
260
+ HOVER_ACCENT,
261
+ FOCUS_RING,
262
+ DISABLED_DATA_ATTR
263
+ ),
264
+ {
265
+ variants: {
266
+ size: {
267
+ sm: "h-7 w-7",
268
+ default: "h-9 w-9",
269
+ lg: "h-11 w-11"
270
+ }
271
+ },
272
+ defaultVariants: {
273
+ size: "default"
274
+ }
275
+ }
276
+ );
277
+ var datePickerDescriptionVariants = cva(
278
+ combineStyles(DESCRIPTION_BASE, "mt-1"),
279
+ {
280
+ variants: {
281
+ size: TEXT_SIZE_SMALL_SCALE
282
+ },
283
+ defaultVariants: {
284
+ size: "default"
285
+ }
286
+ }
287
+ );
288
+ var datePickerErrorVariants = cva(
289
+ combineStyles(ERROR_MESSAGE_BASE, "mt-1"),
290
+ {
291
+ variants: {
292
+ size: TEXT_SIZE_SMALL_SCALE
293
+ },
294
+ defaultVariants: {
295
+ size: "default"
296
+ }
297
+ }
298
+ );
299
+ var datePickerLabelVariants = cva(
300
+ combineStyles(
301
+ LABEL_BASE,
302
+ "block mb-1.5",
303
+ 'data-[required]:after:content-["*"] data-[required]:after:ml-0.5 data-[required]:after:text-[var(--destructive)]'
304
+ ),
305
+ {
306
+ variants: {
307
+ size: {
308
+ sm: "text-sm",
309
+ default: "text-sm",
310
+ lg: "text-base"
311
+ }
312
+ },
313
+ defaultVariants: {
314
+ size: "default"
315
+ }
316
+ }
317
+ );
318
+ var DatePickerContext = createContext({
319
+ size: "default"
320
+ });
321
+ var DatePicker = forwardRef(
322
+ ({
323
+ label,
324
+ description,
325
+ errorMessage,
326
+ size = "default",
327
+ className,
328
+ placement = "bottom",
329
+ ...props
330
+ }, ref) => {
331
+ const contextValue = useMemo(
332
+ () => ({
333
+ size,
334
+ isInvalid: props.isInvalid,
335
+ isDisabled: props.isDisabled
336
+ }),
337
+ [size, props.isInvalid, props.isDisabled]
338
+ );
339
+ return /* @__PURE__ */ jsx(DatePickerContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
340
+ DatePicker$1,
341
+ {
342
+ ref,
343
+ className: cn("group flex flex-col gap-1", className),
344
+ ...props,
345
+ children: [
346
+ /* @__PURE__ */ jsx(
347
+ Label,
348
+ {
349
+ className: cn(datePickerLabelVariants({ size })),
350
+ "data-required": props.isRequired || void 0,
351
+ children: label
352
+ }
353
+ ),
354
+ /* @__PURE__ */ jsxs(
355
+ Group,
356
+ {
357
+ className: cn(
358
+ dateFieldVariants({
359
+ size,
360
+ isInvalid: props.isInvalid
361
+ })
362
+ ),
363
+ children: [
364
+ /* @__PURE__ */ jsx(DateInput, { className: "flex flex-1 items-center", children: (segment) => /* @__PURE__ */ jsx(
365
+ DateSegment,
366
+ {
367
+ segment,
368
+ className: cn(dateSegmentVariants({ size }))
369
+ }
370
+ ) }),
371
+ /* @__PURE__ */ jsx(
372
+ Button,
373
+ {
374
+ className: cn(datePickerTriggerVariants({ size })),
375
+ "aria-label": "Open calendar",
376
+ children: /* @__PURE__ */ jsx(Calendar$1, { className: "h-4 w-4" })
377
+ }
378
+ )
379
+ ]
380
+ }
381
+ ),
382
+ description && /* @__PURE__ */ jsx(
383
+ Text,
384
+ {
385
+ slot: "description",
386
+ className: cn(datePickerDescriptionVariants({ size })),
387
+ children: description
388
+ }
389
+ ),
390
+ /* @__PURE__ */ jsx(FieldError, { className: cn(datePickerErrorVariants({ size })), children: errorMessage }),
391
+ /* @__PURE__ */ jsx(
392
+ Popover,
393
+ {
394
+ placement,
395
+ className: cn(datePickerPopoverVariants({ size })),
396
+ children: /* @__PURE__ */ jsx(Dialog, { className: "outline-none", children: /* @__PURE__ */ jsxs(Calendar$2, { className: "w-full", children: [
397
+ /* @__PURE__ */ jsxs("div", { className: cn(calendarHeaderVariants({ size })), children: [
398
+ /* @__PURE__ */ jsx(
399
+ Button,
400
+ {
401
+ slot: "previous",
402
+ className: cn(calendarNavButtonVariants({ size })),
403
+ "aria-label": "Previous month",
404
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
405
+ }
406
+ ),
407
+ /* @__PURE__ */ jsx(Heading, { className: "flex-1 text-center font-semibold" }),
408
+ /* @__PURE__ */ jsx(
409
+ Button,
410
+ {
411
+ slot: "next",
412
+ className: cn(calendarNavButtonVariants({ size })),
413
+ "aria-label": "Next month",
414
+ children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
415
+ }
416
+ )
417
+ ] }),
418
+ /* @__PURE__ */ jsxs(CalendarGrid, { className: cn(calendarGridVariants({ size })), children: [
419
+ /* @__PURE__ */ jsx(CalendarGridHeader, { children: (day) => /* @__PURE__ */ jsx(
420
+ CalendarHeaderCell,
421
+ {
422
+ className: cn(calendarGridHeaderCellVariants({ size })),
423
+ children: day
424
+ }
425
+ ) }),
426
+ /* @__PURE__ */ jsx(CalendarGridBody, { children: (date) => /* @__PURE__ */ jsx(
427
+ CalendarCell,
428
+ {
429
+ date,
430
+ className: cn(calendarCellVariants({ size }))
431
+ }
432
+ ) })
433
+ ] })
434
+ ] }) })
435
+ }
436
+ )
437
+ ]
438
+ }
439
+ ) });
440
+ }
441
+ );
442
+ DatePicker.displayName = "DatePicker";
443
+ var DateRangePicker = forwardRef(
444
+ ({
445
+ label,
446
+ description,
447
+ errorMessage,
448
+ size = "default",
449
+ className,
450
+ placement = "bottom",
451
+ startName,
452
+ endName,
453
+ ...props
454
+ }, ref) => {
455
+ return /* @__PURE__ */ jsxs(
456
+ DateRangePicker$1,
457
+ {
458
+ ref,
459
+ className: cn("group flex flex-col gap-1", className),
460
+ startName,
461
+ endName,
462
+ ...props,
463
+ children: [
464
+ /* @__PURE__ */ jsx(
465
+ Label,
466
+ {
467
+ className: cn(datePickerLabelVariants({ size })),
468
+ "data-required": props.isRequired || void 0,
469
+ children: label
470
+ }
471
+ ),
472
+ /* @__PURE__ */ jsxs(
473
+ Group,
474
+ {
475
+ className: cn(
476
+ dateFieldVariants({
477
+ size,
478
+ isInvalid: props.isInvalid
479
+ })
480
+ ),
481
+ children: [
482
+ /* @__PURE__ */ jsx(DateInput, { slot: "start", className: "flex items-center", children: (segment) => /* @__PURE__ */ jsx(
483
+ DateSegment,
484
+ {
485
+ segment,
486
+ className: cn(dateSegmentVariants({ size }))
487
+ }
488
+ ) }),
489
+ /* @__PURE__ */ jsx(
490
+ "span",
491
+ {
492
+ "aria-hidden": "true",
493
+ className: "px-2 text-[var(--menu-muted)]",
494
+ children: "\u2013"
495
+ }
496
+ ),
497
+ /* @__PURE__ */ jsx(DateInput, { slot: "end", className: "flex items-center", children: (segment) => /* @__PURE__ */ jsx(
498
+ DateSegment,
499
+ {
500
+ segment,
501
+ className: cn(dateSegmentVariants({ size }))
502
+ }
503
+ ) }),
504
+ /* @__PURE__ */ jsx(
505
+ Button,
506
+ {
507
+ className: cn(datePickerTriggerVariants({ size })),
508
+ "aria-label": "Open calendar",
509
+ children: /* @__PURE__ */ jsx(Calendar$1, { className: "h-4 w-4" })
510
+ }
511
+ )
512
+ ]
513
+ }
514
+ ),
515
+ description && /* @__PURE__ */ jsx(
516
+ Text,
517
+ {
518
+ slot: "description",
519
+ className: cn(datePickerDescriptionVariants({ size })),
520
+ children: description
521
+ }
522
+ ),
523
+ /* @__PURE__ */ jsx(FieldError, { className: cn(datePickerErrorVariants({ size })), children: errorMessage }),
524
+ /* @__PURE__ */ jsx(
525
+ Popover,
526
+ {
527
+ placement,
528
+ className: cn(datePickerPopoverVariants({ size })),
529
+ children: /* @__PURE__ */ jsx(Dialog, { className: "outline-none", children: /* @__PURE__ */ jsxs(RangeCalendar, { className: "w-full", children: [
530
+ /* @__PURE__ */ jsxs("div", { className: cn(calendarHeaderVariants({ size })), children: [
531
+ /* @__PURE__ */ jsx(
532
+ Button,
533
+ {
534
+ slot: "previous",
535
+ className: cn(calendarNavButtonVariants({ size })),
536
+ "aria-label": "Previous month",
537
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
538
+ }
539
+ ),
540
+ /* @__PURE__ */ jsx(Heading, { className: "flex-1 text-center font-semibold" }),
541
+ /* @__PURE__ */ jsx(
542
+ Button,
543
+ {
544
+ slot: "next",
545
+ className: cn(calendarNavButtonVariants({ size })),
546
+ "aria-label": "Next month",
547
+ children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
548
+ }
549
+ )
550
+ ] }),
551
+ /* @__PURE__ */ jsxs(CalendarGrid, { className: cn(calendarGridVariants({ size })), children: [
552
+ /* @__PURE__ */ jsx(CalendarGridHeader, { children: (day) => /* @__PURE__ */ jsx(
553
+ CalendarHeaderCell,
554
+ {
555
+ className: cn(calendarGridHeaderCellVariants({ size })),
556
+ children: day
557
+ }
558
+ ) }),
559
+ /* @__PURE__ */ jsx(CalendarGridBody, { children: (date) => /* @__PURE__ */ jsx(
560
+ CalendarCell,
561
+ {
562
+ date,
563
+ className: cn(calendarCellVariants({ size }))
564
+ }
565
+ ) })
566
+ ] })
567
+ ] }) })
568
+ }
569
+ )
570
+ ]
571
+ }
572
+ );
573
+ }
574
+ );
575
+ DateRangePicker.displayName = "DateRangePicker";
576
+ var DateField = forwardRef(
577
+ ({
578
+ label,
579
+ description,
580
+ errorMessage,
581
+ size = "default",
582
+ className,
583
+ ...props
584
+ }, ref) => {
585
+ return /* @__PURE__ */ jsxs(
586
+ DateField$1,
587
+ {
588
+ ref,
589
+ className: cn("group flex flex-col gap-1", className),
590
+ ...props,
591
+ children: [
592
+ /* @__PURE__ */ jsx(
593
+ Label,
594
+ {
595
+ className: cn(datePickerLabelVariants({ size })),
596
+ "data-required": props.isRequired || void 0,
597
+ children: label
598
+ }
599
+ ),
600
+ /* @__PURE__ */ jsx(
601
+ DateInput,
602
+ {
603
+ className: cn(
604
+ dateFieldVariants({
605
+ size,
606
+ isInvalid: props.isInvalid
607
+ }),
608
+ "w-fit"
609
+ ),
610
+ children: (segment) => /* @__PURE__ */ jsx(
611
+ DateSegment,
612
+ {
613
+ segment,
614
+ className: cn(dateSegmentVariants({ size }))
615
+ }
616
+ )
617
+ }
618
+ ),
619
+ description && /* @__PURE__ */ jsx(
620
+ Text,
621
+ {
622
+ slot: "description",
623
+ className: cn(datePickerDescriptionVariants({ size })),
624
+ children: description
625
+ }
626
+ ),
627
+ /* @__PURE__ */ jsx(FieldError, { className: cn(datePickerErrorVariants({ size })), children: errorMessage })
628
+ ]
629
+ }
630
+ );
631
+ }
632
+ );
633
+ DateField.displayName = "DateField";
634
+ var Calendar = forwardRef(
635
+ ({ size = "default", className, ...props }, ref) => {
636
+ return /* @__PURE__ */ jsxs(
637
+ Calendar$2,
638
+ {
639
+ ref,
640
+ className: cn("w-fit", className),
641
+ ...props,
642
+ children: [
643
+ /* @__PURE__ */ jsxs("div", { className: cn(calendarHeaderVariants({ size })), children: [
644
+ /* @__PURE__ */ jsx(
645
+ Button,
646
+ {
647
+ slot: "previous",
648
+ className: cn(calendarNavButtonVariants({ size })),
649
+ "aria-label": "Previous month",
650
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
651
+ }
652
+ ),
653
+ /* @__PURE__ */ jsx(Heading, { className: "flex-1 text-center font-semibold" }),
654
+ /* @__PURE__ */ jsx(
655
+ Button,
656
+ {
657
+ slot: "next",
658
+ className: cn(calendarNavButtonVariants({ size })),
659
+ "aria-label": "Next month",
660
+ children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
661
+ }
662
+ )
663
+ ] }),
664
+ /* @__PURE__ */ jsxs(CalendarGrid, { className: cn(calendarGridVariants({ size })), children: [
665
+ /* @__PURE__ */ jsx(CalendarGridHeader, { children: (day) => /* @__PURE__ */ jsx(
666
+ CalendarHeaderCell,
667
+ {
668
+ className: cn(calendarGridHeaderCellVariants({ size })),
669
+ children: day
670
+ }
671
+ ) }),
672
+ /* @__PURE__ */ jsx(CalendarGridBody, { children: (date) => /* @__PURE__ */ jsx(
673
+ CalendarCell,
674
+ {
675
+ date,
676
+ className: cn(calendarCellVariants({ size }))
677
+ }
678
+ ) })
679
+ ] })
680
+ ]
681
+ }
682
+ );
683
+ }
684
+ );
685
+ Calendar.displayName = "Calendar";
686
+ var DatePickerPropsSchema = z.object({
687
+ // Value props
688
+ value: z.custom().optional(),
689
+ defaultValue: z.custom().optional(),
690
+ placeholderValue: z.custom().optional(),
691
+ // Granularity props
692
+ granularity: z.enum(["day", "hour", "minute", "second"]).default("day"),
693
+ hourCycle: z.union([z.literal(12), z.literal(24)]).optional(),
694
+ hideTimeZone: z.boolean().optional(),
695
+ shouldForceLeadingZeros: z.boolean().optional(),
696
+ // Constraint props
697
+ minValue: z.custom().optional(),
698
+ maxValue: z.custom().optional(),
699
+ /** Callback to determine if a specific date is unavailable for selection */
700
+ isDateUnavailable: z.function().optional(),
701
+ // State props
702
+ isOpen: z.boolean().optional(),
703
+ defaultOpen: z.boolean().optional(),
704
+ isDisabled: z.boolean().optional(),
705
+ isReadOnly: z.boolean().optional(),
706
+ isRequired: z.boolean().optional(),
707
+ isInvalid: z.boolean().optional(),
708
+ // Validation props
709
+ /** Custom validation function that returns an error message or null */
710
+ validate: z.function().optional(),
711
+ validationBehavior: z.enum(["native", "aria"]).default("native"),
712
+ // Display props
713
+ label: z.string(),
714
+ description: z.string().optional(),
715
+ /** Error message string or render function */
716
+ errorMessage: z.union([z.string(), z.function()]).optional(),
717
+ // Calendar props
718
+ firstDayOfWeek: z.enum(["sun", "mon", "tue", "wed", "thu", "fri", "sat"]).optional(),
719
+ pageBehavior: z.enum(["single", "visible"]).optional(),
720
+ // Form props
721
+ name: z.string().optional(),
722
+ // Popover props
723
+ placement: z.enum(["bottom", "top", "left", "right"]).optional(),
724
+ visibleDuration: z.object({ months: z.number() }).optional(),
725
+ // Variant props
726
+ size: z.enum(["sm", "default", "lg"]).default("default"),
727
+ // Event props
728
+ /** Called when the date value changes */
729
+ onChange: z.function().optional(),
730
+ /** Called when the popover open state changes */
731
+ onOpenChange: z.function().optional(),
732
+ /** Called when the field gains focus */
733
+ onFocus: z.function().optional(),
734
+ /** Called when the field loses focus */
735
+ onBlur: z.function().optional(),
736
+ /** Called when focus state changes */
737
+ onFocusChange: z.function().optional(),
738
+ // Standard props
739
+ className: z.string().optional(),
740
+ children: z.any().optional()
741
+ });
742
+ var DateRangePickerPropsSchema = DatePickerPropsSchema.omit({
743
+ value: true,
744
+ defaultValue: true,
745
+ onChange: true
746
+ }).extend({
747
+ // Range value props
748
+ value: z.object({
749
+ start: z.custom(),
750
+ end: z.custom()
751
+ }).optional(),
752
+ defaultValue: z.object({
753
+ start: z.custom(),
754
+ end: z.custom()
755
+ }).optional(),
756
+ // Form props for range
757
+ startName: z.string().optional(),
758
+ endName: z.string().optional(),
759
+ // Range event props
760
+ /** Called when the date range value changes */
761
+ onChange: z.function().optional()
762
+ });
763
+ var DateFieldPropsSchema = z.object({
764
+ // Value props
765
+ value: z.custom().optional(),
766
+ defaultValue: z.custom().optional(),
767
+ placeholderValue: z.custom().optional(),
768
+ // Granularity props
769
+ granularity: z.enum(["day", "hour", "minute", "second"]).default("day"),
770
+ hourCycle: z.union([z.literal(12), z.literal(24)]).optional(),
771
+ hideTimeZone: z.boolean().optional(),
772
+ shouldForceLeadingZeros: z.boolean().optional(),
773
+ // Constraint props
774
+ minValue: z.custom().optional(),
775
+ maxValue: z.custom().optional(),
776
+ // State props
777
+ isDisabled: z.boolean().optional(),
778
+ isReadOnly: z.boolean().optional(),
779
+ isRequired: z.boolean().optional(),
780
+ isInvalid: z.boolean().optional(),
781
+ // Validation props
782
+ /** Custom validation function that returns an error message or null */
783
+ validate: z.function().optional(),
784
+ validationBehavior: z.enum(["native", "aria"]).default("native"),
785
+ // Display props
786
+ label: z.string(),
787
+ description: z.string().optional(),
788
+ /** Error message string or render function */
789
+ errorMessage: z.union([z.string(), z.function()]).optional(),
790
+ // Form props
791
+ name: z.string().optional(),
792
+ // Variant props
793
+ size: z.enum(["sm", "default", "lg"]).default("default"),
794
+ // Event props
795
+ /** Called when the date value changes */
796
+ onChange: z.function().optional(),
797
+ /** Called when the field gains focus */
798
+ onFocus: z.function().optional(),
799
+ /** Called when the field loses focus */
800
+ onBlur: z.function().optional(),
801
+ /** Called when focus state changes */
802
+ onFocusChange: z.function().optional(),
803
+ // Standard props
804
+ className: z.string().optional()
805
+ });
806
+ var CalendarPropsSchema = z.object({
807
+ // Value props
808
+ value: z.custom().optional(),
809
+ defaultValue: z.custom().optional(),
810
+ focusedValue: z.custom().optional(),
811
+ defaultFocusedValue: z.custom().optional(),
812
+ // Constraint props
813
+ minValue: z.custom().optional(),
814
+ maxValue: z.custom().optional(),
815
+ /** Callback to determine if a specific date is unavailable for selection */
816
+ isDateUnavailable: z.function().optional(),
817
+ // State props
818
+ isDisabled: z.boolean().optional(),
819
+ isReadOnly: z.boolean().optional(),
820
+ // Calendar props
821
+ firstDayOfWeek: z.enum(["sun", "mon", "tue", "wed", "thu", "fri", "sat"]).optional(),
822
+ pageBehavior: z.enum(["single", "visible"]).optional(),
823
+ visibleDuration: z.object({ months: z.number() }).optional(),
824
+ // Variant props
825
+ size: z.enum(["sm", "default", "lg"]).default("default"),
826
+ // Event props
827
+ /** Called when the date value changes */
828
+ onChange: z.function().optional(),
829
+ /** Called when the focused date changes */
830
+ onFocusChange: z.function().optional(),
831
+ // Standard props
832
+ className: z.string().optional()
833
+ });
834
+ var RangeCalendarPropsSchema = CalendarPropsSchema.omit({
835
+ value: true,
836
+ defaultValue: true,
837
+ onChange: true
838
+ }).extend({
839
+ // Range value props
840
+ value: z.object({
841
+ start: z.custom(),
842
+ end: z.custom()
843
+ }).optional(),
844
+ defaultValue: z.object({
845
+ start: z.custom(),
846
+ end: z.custom()
847
+ }).optional(),
848
+ // Range event props
849
+ /** Called when the date range value changes */
850
+ onChange: z.function().optional()
851
+ });
852
+
853
+ export { Calendar, CalendarPropsSchema, DateField, DateFieldPropsSchema, DatePicker, DatePickerPropsSchema, DateRangePicker, DateRangePickerPropsSchema, RangeCalendarPropsSchema, calendarCellVariants, calendarGridHeaderCellVariants, calendarGridVariants, calendarHeaderVariants, calendarNavButtonVariants, dateFieldVariants, datePickerDescriptionVariants, datePickerErrorVariants, datePickerLabelVariants, datePickerPopoverVariants, datePickerTriggerVariants, dateSegmentVariants };
5
854
  //# sourceMappingURL=index.mjs.map
6
855
  //# sourceMappingURL=index.mjs.map