@tribepad/themis 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +114 -0
  4. package/dist/Carousel-NTZX5TOW.js +16 -0
  5. package/dist/Carousel-NTZX5TOW.js.map +1 -0
  6. package/dist/Carousel-YH3DOQJU.mjs +7 -0
  7. package/dist/Carousel-YH3DOQJU.mjs.map +1 -0
  8. package/dist/chunk-2HIUTHMU.mjs +234 -0
  9. package/dist/chunk-2HIUTHMU.mjs.map +1 -0
  10. package/dist/chunk-34GTFTDO.js +431 -0
  11. package/dist/chunk-34GTFTDO.js.map +1 -0
  12. package/dist/chunk-3H7ASYR7.js +250 -0
  13. package/dist/chunk-3H7ASYR7.js.map +1 -0
  14. package/dist/chunk-3IEN7JOP.js +316 -0
  15. package/dist/chunk-3IEN7JOP.js.map +1 -0
  16. package/dist/chunk-3JHN4GAL.js +326 -0
  17. package/dist/chunk-3JHN4GAL.js.map +1 -0
  18. package/dist/chunk-3MJPASQU.js +232 -0
  19. package/dist/chunk-3MJPASQU.js.map +1 -0
  20. package/dist/chunk-3XD2JUL3.js +572 -0
  21. package/dist/chunk-3XD2JUL3.js.map +1 -0
  22. package/dist/chunk-3YOY2VJ6.js +189 -0
  23. package/dist/chunk-3YOY2VJ6.js.map +1 -0
  24. package/dist/chunk-4DU5JSXB.js +408 -0
  25. package/dist/chunk-4DU5JSXB.js.map +1 -0
  26. package/dist/chunk-4E4E2GSS.js +352 -0
  27. package/dist/chunk-4E4E2GSS.js.map +1 -0
  28. package/dist/chunk-4NHAP4AN.mjs +3 -0
  29. package/dist/chunk-4NHAP4AN.mjs.map +1 -0
  30. package/dist/chunk-4S33J5NY.mjs +415 -0
  31. package/dist/chunk-4S33J5NY.mjs.map +1 -0
  32. package/dist/chunk-5SMGRT3G.mjs +354 -0
  33. package/dist/chunk-5SMGRT3G.mjs.map +1 -0
  34. package/dist/chunk-5SVLJN2C.mjs +22 -0
  35. package/dist/chunk-5SVLJN2C.mjs.map +1 -0
  36. package/dist/chunk-66WTU4EB.mjs +299 -0
  37. package/dist/chunk-66WTU4EB.mjs.map +1 -0
  38. package/dist/chunk-6S25NMOT.mjs +335 -0
  39. package/dist/chunk-6S25NMOT.mjs.map +1 -0
  40. package/dist/chunk-6SP7UB3D.js +4 -0
  41. package/dist/chunk-6SP7UB3D.js.map +1 -0
  42. package/dist/chunk-6TYWWQHM.mjs +565 -0
  43. package/dist/chunk-6TYWWQHM.mjs.map +1 -0
  44. package/dist/chunk-A3YUJA6W.mjs +384 -0
  45. package/dist/chunk-A3YUJA6W.mjs.map +1 -0
  46. package/dist/chunk-A6KEDVUR.js +61 -0
  47. package/dist/chunk-A6KEDVUR.js.map +1 -0
  48. package/dist/chunk-A77RUEWL.js +730 -0
  49. package/dist/chunk-A77RUEWL.js.map +1 -0
  50. package/dist/chunk-AA4IKMPE.mjs +3 -0
  51. package/dist/chunk-AA4IKMPE.mjs.map +1 -0
  52. package/dist/chunk-AKIA6GW6.mjs +163 -0
  53. package/dist/chunk-AKIA6GW6.mjs.map +1 -0
  54. package/dist/chunk-AL6P275L.mjs +435 -0
  55. package/dist/chunk-AL6P275L.mjs.map +1 -0
  56. package/dist/chunk-AZ3RJYTB.js +37 -0
  57. package/dist/chunk-AZ3RJYTB.js.map +1 -0
  58. package/dist/chunk-B5Q4UPL6.js +32 -0
  59. package/dist/chunk-B5Q4UPL6.js.map +1 -0
  60. package/dist/chunk-B6DHPMDP.mjs +335 -0
  61. package/dist/chunk-B6DHPMDP.mjs.map +1 -0
  62. package/dist/chunk-BDXKKMBZ.mjs +184 -0
  63. package/dist/chunk-BDXKKMBZ.mjs.map +1 -0
  64. package/dist/chunk-BL6E2DLZ.mjs +52 -0
  65. package/dist/chunk-BL6E2DLZ.mjs.map +1 -0
  66. package/dist/chunk-CGFDS4XS.mjs +121 -0
  67. package/dist/chunk-CGFDS4XS.mjs.map +1 -0
  68. package/dist/chunk-CJIW5TKI.js +139 -0
  69. package/dist/chunk-CJIW5TKI.js.map +1 -0
  70. package/dist/chunk-CKNISJOQ.js +314 -0
  71. package/dist/chunk-CKNISJOQ.js.map +1 -0
  72. package/dist/chunk-D6CBOECS.mjs +1757 -0
  73. package/dist/chunk-D6CBOECS.mjs.map +1 -0
  74. package/dist/chunk-DDWEVC2S.js +166 -0
  75. package/dist/chunk-DDWEVC2S.js.map +1 -0
  76. package/dist/chunk-DZ556D2F.mjs +176 -0
  77. package/dist/chunk-DZ556D2F.mjs.map +1 -0
  78. package/dist/chunk-E2KQFV3O.mjs +10 -0
  79. package/dist/chunk-E2KQFV3O.mjs.map +1 -0
  80. package/dist/chunk-EMMLADSC.js +126 -0
  81. package/dist/chunk-EMMLADSC.js.map +1 -0
  82. package/dist/chunk-EP4WOI5D.mjs +926 -0
  83. package/dist/chunk-EP4WOI5D.mjs.map +1 -0
  84. package/dist/chunk-FJRXLJC2.mjs +160 -0
  85. package/dist/chunk-FJRXLJC2.mjs.map +1 -0
  86. package/dist/chunk-FKQI434R.js +345 -0
  87. package/dist/chunk-FKQI434R.js.map +1 -0
  88. package/dist/chunk-FPKEAJRZ.mjs +100 -0
  89. package/dist/chunk-FPKEAJRZ.mjs.map +1 -0
  90. package/dist/chunk-FWQYB22U.js +183 -0
  91. package/dist/chunk-FWQYB22U.js.map +1 -0
  92. package/dist/chunk-GD5GHTMA.js +189 -0
  93. package/dist/chunk-GD5GHTMA.js.map +1 -0
  94. package/dist/chunk-GE5XTSDZ.js +447 -0
  95. package/dist/chunk-GE5XTSDZ.js.map +1 -0
  96. package/dist/chunk-GVE47ZAX.mjs +32 -0
  97. package/dist/chunk-GVE47ZAX.mjs.map +1 -0
  98. package/dist/chunk-HK46BT5U.mjs +18 -0
  99. package/dist/chunk-HK46BT5U.mjs.map +1 -0
  100. package/dist/chunk-HQVRMR6N.js +365 -0
  101. package/dist/chunk-HQVRMR6N.js.map +1 -0
  102. package/dist/chunk-HSGBJPJO.mjs +398 -0
  103. package/dist/chunk-HSGBJPJO.mjs.map +1 -0
  104. package/dist/chunk-I3AUTOMZ.mjs +125 -0
  105. package/dist/chunk-I3AUTOMZ.mjs.map +1 -0
  106. package/dist/chunk-IEI5LD5C.mjs +1161 -0
  107. package/dist/chunk-IEI5LD5C.mjs.map +1 -0
  108. package/dist/chunk-IIPTC2X7.mjs +118 -0
  109. package/dist/chunk-IIPTC2X7.mjs.map +1 -0
  110. package/dist/chunk-J7TLHF2Q.js +4 -0
  111. package/dist/chunk-J7TLHF2Q.js.map +1 -0
  112. package/dist/chunk-JJOWXFXQ.mjs +765 -0
  113. package/dist/chunk-JJOWXFXQ.mjs.map +1 -0
  114. package/dist/chunk-JPTSS2OA.mjs +3 -0
  115. package/dist/chunk-JPTSS2OA.mjs.map +1 -0
  116. package/dist/chunk-KFXXRLTP.js +396 -0
  117. package/dist/chunk-KFXXRLTP.js.map +1 -0
  118. package/dist/chunk-KPRRBSG6.mjs +272 -0
  119. package/dist/chunk-KPRRBSG6.mjs.map +1 -0
  120. package/dist/chunk-NFSBGRDB.mjs +57 -0
  121. package/dist/chunk-NFSBGRDB.mjs.map +1 -0
  122. package/dist/chunk-NGJVCFTM.js +219 -0
  123. package/dist/chunk-NGJVCFTM.js.map +1 -0
  124. package/dist/chunk-NSQ6MZJ6.mjs +728 -0
  125. package/dist/chunk-NSQ6MZJ6.mjs.map +1 -0
  126. package/dist/chunk-NYQYHT76.mjs +296 -0
  127. package/dist/chunk-NYQYHT76.mjs.map +1 -0
  128. package/dist/chunk-OLJJGI5B.js +1193 -0
  129. package/dist/chunk-OLJJGI5B.js.map +1 -0
  130. package/dist/chunk-Q3572X2J.js +292 -0
  131. package/dist/chunk-Q3572X2J.js.map +1 -0
  132. package/dist/chunk-QH7N7D4I.mjs +210 -0
  133. package/dist/chunk-QH7N7D4I.mjs.map +1 -0
  134. package/dist/chunk-R7XUIV25.js +466 -0
  135. package/dist/chunk-R7XUIV25.js.map +1 -0
  136. package/dist/chunk-RFFO4KPM.js +135 -0
  137. package/dist/chunk-RFFO4KPM.js.map +1 -0
  138. package/dist/chunk-RFX7QKA7.mjs +180 -0
  139. package/dist/chunk-RFX7QKA7.mjs.map +1 -0
  140. package/dist/chunk-SN5LFAP3.js +940 -0
  141. package/dist/chunk-SN5LFAP3.js.map +1 -0
  142. package/dist/chunk-T4COXKQ3.js +24 -0
  143. package/dist/chunk-T4COXKQ3.js.map +1 -0
  144. package/dist/chunk-TS54QM27.js +125 -0
  145. package/dist/chunk-TS54QM27.js.map +1 -0
  146. package/dist/chunk-UE2S4PCX.mjs +220 -0
  147. package/dist/chunk-UE2S4PCX.mjs.map +1 -0
  148. package/dist/chunk-UTW3QX2A.mjs +282 -0
  149. package/dist/chunk-UTW3QX2A.mjs.map +1 -0
  150. package/dist/chunk-V74LGMAE.js +1767 -0
  151. package/dist/chunk-V74LGMAE.js.map +1 -0
  152. package/dist/chunk-VIREG536.js +12 -0
  153. package/dist/chunk-VIREG536.js.map +1 -0
  154. package/dist/chunk-VY7M7346.js +4 -0
  155. package/dist/chunk-VY7M7346.js.map +1 -0
  156. package/dist/chunk-W3TJOO7H.mjs +319 -0
  157. package/dist/chunk-W3TJOO7H.mjs.map +1 -0
  158. package/dist/chunk-WIUOB36M.js +54 -0
  159. package/dist/chunk-WIUOB36M.js.map +1 -0
  160. package/dist/chunk-WJGLM4CY.js +291 -0
  161. package/dist/chunk-WJGLM4CY.js.map +1 -0
  162. package/dist/chunk-WNURH5OO.mjs +453 -0
  163. package/dist/chunk-WNURH5OO.mjs.map +1 -0
  164. package/dist/chunk-X25TNRSD.mjs +364 -0
  165. package/dist/chunk-X25TNRSD.mjs.map +1 -0
  166. package/dist/chunk-Y3GT7ETK.js +108 -0
  167. package/dist/chunk-Y3GT7ETK.js.map +1 -0
  168. package/dist/chunk-Z4FRNOF6.mjs +115 -0
  169. package/dist/chunk-Z4FRNOF6.mjs.map +1 -0
  170. package/dist/chunk-ZMYLD3BN.js +166 -0
  171. package/dist/chunk-ZMYLD3BN.js.map +1 -0
  172. package/dist/chunk-ZP2KV6EX.js +815 -0
  173. package/dist/chunk-ZP2KV6EX.js.map +1 -0
  174. package/dist/chunk-ZVKXFELU.js +366 -0
  175. package/dist/chunk-ZVKXFELU.js.map +1 -0
  176. package/dist/elements/Accordion/Accordion.d.ts +139 -0
  177. package/dist/elements/Accordion/Accordion.d.ts.map +1 -0
  178. package/dist/elements/Accordion/Accordion.types.d.ts +143 -0
  179. package/dist/elements/Accordion/Accordion.types.d.ts.map +1 -0
  180. package/dist/elements/Accordion/index.d.ts +13 -0
  181. package/dist/elements/Accordion/index.d.ts.map +1 -0
  182. package/dist/elements/Accordion/index.js +78 -0
  183. package/dist/elements/Accordion/index.js.map +1 -0
  184. package/dist/elements/Accordion/index.mjs +5 -0
  185. package/dist/elements/Accordion/index.mjs.map +1 -0
  186. package/dist/elements/Avatar/Avatar.d.ts +51 -0
  187. package/dist/elements/Avatar/Avatar.d.ts.map +1 -0
  188. package/dist/elements/Avatar/Avatar.types.d.ts +145 -0
  189. package/dist/elements/Avatar/Avatar.types.d.ts.map +1 -0
  190. package/dist/elements/Avatar/AvatarGroup.d.ts +32 -0
  191. package/dist/elements/Avatar/AvatarGroup.d.ts.map +1 -0
  192. package/dist/elements/Avatar/index.d.ts +11 -0
  193. package/dist/elements/Avatar/index.d.ts.map +1 -0
  194. package/dist/elements/Avatar/index.js +54 -0
  195. package/dist/elements/Avatar/index.js.map +1 -0
  196. package/dist/elements/Avatar/index.mjs +5 -0
  197. package/dist/elements/Avatar/index.mjs.map +1 -0
  198. package/dist/elements/Badge/Badge.d.ts +39 -0
  199. package/dist/elements/Badge/Badge.d.ts.map +1 -0
  200. package/dist/elements/Badge/Badge.types.d.ts +76 -0
  201. package/dist/elements/Badge/Badge.types.d.ts.map +1 -0
  202. package/dist/elements/Badge/index.d.ts +18 -0
  203. package/dist/elements/Badge/index.d.ts.map +1 -0
  204. package/dist/elements/Badge/index.js +43 -0
  205. package/dist/elements/Badge/index.js.map +1 -0
  206. package/dist/elements/Badge/index.mjs +6 -0
  207. package/dist/elements/Badge/index.mjs.map +1 -0
  208. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts +91 -0
  209. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  210. package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts +114 -0
  211. package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -0
  212. package/dist/elements/Breadcrumbs/index.d.ts +14 -0
  213. package/dist/elements/Breadcrumbs/index.d.ts.map +1 -0
  214. package/dist/elements/Breadcrumbs/index.js +54 -0
  215. package/dist/elements/Breadcrumbs/index.js.map +1 -0
  216. package/dist/elements/Breadcrumbs/index.mjs +9 -0
  217. package/dist/elements/Breadcrumbs/index.mjs.map +1 -0
  218. package/dist/elements/Button/Button.d.ts +92 -0
  219. package/dist/elements/Button/Button.d.ts.map +1 -0
  220. package/dist/elements/Button/Button.types.d.ts +54 -0
  221. package/dist/elements/Button/Button.types.d.ts.map +1 -0
  222. package/dist/elements/Button/index.d.ts +18 -0
  223. package/dist/elements/Button/index.d.ts.map +1 -0
  224. package/dist/elements/Button/index.js +27 -0
  225. package/dist/elements/Button/index.js.map +1 -0
  226. package/dist/elements/Button/index.mjs +6 -0
  227. package/dist/elements/Button/index.mjs.map +1 -0
  228. package/dist/elements/ButtonGroup/ButtonGroup.d.ts +53 -0
  229. package/dist/elements/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  230. package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts +98 -0
  231. package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts.map +1 -0
  232. package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts +60 -0
  233. package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts.map +1 -0
  234. package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts +39 -0
  235. package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts.map +1 -0
  236. package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts +42 -0
  237. package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts.map +1 -0
  238. package/dist/elements/ButtonGroup/index.d.ts +35 -0
  239. package/dist/elements/ButtonGroup/index.d.ts.map +1 -0
  240. package/dist/elements/ButtonGroup/index.js +66 -0
  241. package/dist/elements/ButtonGroup/index.js.map +1 -0
  242. package/dist/elements/ButtonGroup/index.mjs +5 -0
  243. package/dist/elements/ButtonGroup/index.mjs.map +1 -0
  244. package/dist/elements/Card/Card.d.ts +104 -0
  245. package/dist/elements/Card/Card.d.ts.map +1 -0
  246. package/dist/elements/Card/Card.types.d.ts +227 -0
  247. package/dist/elements/Card/Card.types.d.ts.map +1 -0
  248. package/dist/elements/Card/index.d.ts +38 -0
  249. package/dist/elements/Card/index.d.ts.map +1 -0
  250. package/dist/elements/Card/index.js +85 -0
  251. package/dist/elements/Card/index.js.map +1 -0
  252. package/dist/elements/Card/index.mjs +8 -0
  253. package/dist/elements/Card/index.mjs.map +1 -0
  254. package/dist/elements/Carousel/Carousel.d.ts +13 -0
  255. package/dist/elements/Carousel/Carousel.d.ts.map +1 -0
  256. package/dist/elements/Carousel/Carousel.types.d.ts +65 -0
  257. package/dist/elements/Carousel/Carousel.types.d.ts.map +1 -0
  258. package/dist/elements/Carousel/LazyCarousel.d.ts +46 -0
  259. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -0
  260. package/dist/elements/Carousel/index.d.ts +5 -0
  261. package/dist/elements/Carousel/index.d.ts.map +1 -0
  262. package/dist/elements/Carousel/index.js +23 -0
  263. package/dist/elements/Carousel/index.js.map +1 -0
  264. package/dist/elements/Carousel/index.mjs +10 -0
  265. package/dist/elements/Carousel/index.mjs.map +1 -0
  266. package/dist/elements/Chart/Chart.d.ts +44 -0
  267. package/dist/elements/Chart/Chart.d.ts.map +1 -0
  268. package/dist/elements/Chart/Chart.types.d.ts +254 -0
  269. package/dist/elements/Chart/Chart.types.d.ts.map +1 -0
  270. package/dist/elements/Chart/ChartAnnouncer.d.ts +24 -0
  271. package/dist/elements/Chart/ChartAnnouncer.d.ts.map +1 -0
  272. package/dist/elements/Chart/ChartAxis.d.ts +42 -0
  273. package/dist/elements/Chart/ChartAxis.d.ts.map +1 -0
  274. package/dist/elements/Chart/ChartBarSeries.d.ts +54 -0
  275. package/dist/elements/Chart/ChartBarSeries.d.ts.map +1 -0
  276. package/dist/elements/Chart/ChartContext.d.ts +46 -0
  277. package/dist/elements/Chart/ChartContext.d.ts.map +1 -0
  278. package/dist/elements/Chart/ChartDataPoint.d.ts +56 -0
  279. package/dist/elements/Chart/ChartDataPoint.d.ts.map +1 -0
  280. package/dist/elements/Chart/ChartDataTable.d.ts +35 -0
  281. package/dist/elements/Chart/ChartDataTable.d.ts.map +1 -0
  282. package/dist/elements/Chart/ChartGrid.d.ts +32 -0
  283. package/dist/elements/Chart/ChartGrid.d.ts.map +1 -0
  284. package/dist/elements/Chart/ChartLegend.d.ts +32 -0
  285. package/dist/elements/Chart/ChartLegend.d.ts.map +1 -0
  286. package/dist/elements/Chart/ChartLineSeries.d.ts +52 -0
  287. package/dist/elements/Chart/ChartLineSeries.d.ts.map +1 -0
  288. package/dist/elements/Chart/ChartSVG.d.ts +62 -0
  289. package/dist/elements/Chart/ChartSVG.d.ts.map +1 -0
  290. package/dist/elements/Chart/ChartTooltip.d.ts +45 -0
  291. package/dist/elements/Chart/ChartTooltip.d.ts.map +1 -0
  292. package/dist/elements/Chart/chart.constants.d.ts +108 -0
  293. package/dist/elements/Chart/chart.constants.d.ts.map +1 -0
  294. package/dist/elements/Chart/chart.variants.d.ts +45 -0
  295. package/dist/elements/Chart/chart.variants.d.ts.map +1 -0
  296. package/dist/elements/Chart/index.d.ts +12 -0
  297. package/dist/elements/Chart/index.d.ts.map +1 -0
  298. package/dist/elements/Chart/index.js +47 -0
  299. package/dist/elements/Chart/index.js.map +1 -0
  300. package/dist/elements/Chart/index.mjs +6 -0
  301. package/dist/elements/Chart/index.mjs.map +1 -0
  302. package/dist/elements/Chart/useChartDimensions.d.ts +18 -0
  303. package/dist/elements/Chart/useChartDimensions.d.ts.map +1 -0
  304. package/dist/elements/Chart/useChartKeyboard.d.ts +42 -0
  305. package/dist/elements/Chart/useChartKeyboard.d.ts.map +1 -0
  306. package/dist/elements/Chart/useRovingTabIndex.d.ts +46 -0
  307. package/dist/elements/Chart/useRovingTabIndex.d.ts.map +1 -0
  308. package/dist/elements/Checkbox/Checkbox.d.ts +94 -0
  309. package/dist/elements/Checkbox/Checkbox.d.ts.map +1 -0
  310. package/dist/elements/Checkbox/Checkbox.types.d.ts +82 -0
  311. package/dist/elements/Checkbox/Checkbox.types.d.ts.map +1 -0
  312. package/dist/elements/Checkbox/index.d.ts +7 -0
  313. package/dist/elements/Checkbox/index.d.ts.map +1 -0
  314. package/dist/elements/Checkbox/index.js +47 -0
  315. package/dist/elements/Checkbox/index.js.map +1 -0
  316. package/dist/elements/Checkbox/index.mjs +6 -0
  317. package/dist/elements/Checkbox/index.mjs.map +1 -0
  318. package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts +130 -0
  319. package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  320. package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts +142 -0
  321. package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts.map +1 -0
  322. package/dist/elements/CheckboxGroup/index.d.ts +10 -0
  323. package/dist/elements/CheckboxGroup/index.d.ts.map +1 -0
  324. package/dist/elements/CheckboxGroup/index.js +71 -0
  325. package/dist/elements/CheckboxGroup/index.js.map +1 -0
  326. package/dist/elements/CheckboxGroup/index.mjs +6 -0
  327. package/dist/elements/CheckboxGroup/index.mjs.map +1 -0
  328. package/dist/elements/DatePicker/Calendar.d.ts +16 -0
  329. package/dist/elements/DatePicker/Calendar.d.ts.map +1 -0
  330. package/dist/elements/DatePicker/DateField.d.ts +13 -0
  331. package/dist/elements/DatePicker/DateField.d.ts.map +1 -0
  332. package/dist/elements/DatePicker/DatePicker.d.ts +16 -0
  333. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -0
  334. package/dist/elements/DatePicker/DatePicker.types.d.ts +390 -0
  335. package/dist/elements/DatePicker/DatePicker.types.d.ts.map +1 -0
  336. package/dist/elements/DatePicker/DatePicker.variants.d.ts +42 -0
  337. package/dist/elements/DatePicker/DatePicker.variants.d.ts.map +1 -0
  338. package/dist/elements/DatePicker/DateRangePicker.d.ts +13 -0
  339. package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -0
  340. package/dist/elements/DatePicker/index.d.ts +14 -0
  341. package/dist/elements/DatePicker/index.d.ts.map +1 -0
  342. package/dist/elements/DatePicker/index.js +123 -0
  343. package/dist/elements/DatePicker/index.js.map +1 -0
  344. package/dist/elements/DatePicker/index.mjs +6 -0
  345. package/dist/elements/DatePicker/index.mjs.map +1 -0
  346. package/dist/elements/Dropdown/Dropdown.d.ts +197 -0
  347. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -0
  348. package/dist/elements/Dropdown/Dropdown.types.d.ts +175 -0
  349. package/dist/elements/Dropdown/Dropdown.types.d.ts.map +1 -0
  350. package/dist/elements/Dropdown/index.d.ts +12 -0
  351. package/dist/elements/Dropdown/index.d.ts.map +1 -0
  352. package/dist/elements/Dropdown/index.js +41 -0
  353. package/dist/elements/Dropdown/index.js.map +1 -0
  354. package/dist/elements/Dropdown/index.mjs +4 -0
  355. package/dist/elements/Dropdown/index.mjs.map +1 -0
  356. package/dist/elements/FileField/FileField.d.ts +46 -0
  357. package/dist/elements/FileField/FileField.d.ts.map +1 -0
  358. package/dist/elements/FileField/FileField.types.d.ts +99 -0
  359. package/dist/elements/FileField/FileField.types.d.ts.map +1 -0
  360. package/dist/elements/FileField/FileField.variants.d.ts +49 -0
  361. package/dist/elements/FileField/FileField.variants.d.ts.map +1 -0
  362. package/dist/elements/FileField/FilePreview.d.ts +27 -0
  363. package/dist/elements/FileField/FilePreview.d.ts.map +1 -0
  364. package/dist/elements/FileField/FileProgress.d.ts +35 -0
  365. package/dist/elements/FileField/FileProgress.d.ts.map +1 -0
  366. package/dist/elements/FileField/FileProgress.variants.d.ts +55 -0
  367. package/dist/elements/FileField/FileProgress.variants.d.ts.map +1 -0
  368. package/dist/elements/FileField/index.d.ts +41 -0
  369. package/dist/elements/FileField/index.d.ts.map +1 -0
  370. package/dist/elements/FileField/index.js +138 -0
  371. package/dist/elements/FileField/index.js.map +1 -0
  372. package/dist/elements/FileField/index.mjs +9 -0
  373. package/dist/elements/FileField/index.mjs.map +1 -0
  374. package/dist/elements/FileField/useFilePreview.d.ts +46 -0
  375. package/dist/elements/FileField/useFilePreview.d.ts.map +1 -0
  376. package/dist/elements/FileField/utils.d.ts +134 -0
  377. package/dist/elements/FileField/utils.d.ts.map +1 -0
  378. package/dist/elements/FormLayout/FormLayout.d.ts +51 -0
  379. package/dist/elements/FormLayout/FormLayout.d.ts.map +1 -0
  380. package/dist/elements/FormLayout/FormLayout.types.d.ts +66 -0
  381. package/dist/elements/FormLayout/FormLayout.types.d.ts.map +1 -0
  382. package/dist/elements/FormLayout/index.d.ts +3 -0
  383. package/dist/elements/FormLayout/index.d.ts.map +1 -0
  384. package/dist/elements/FormLayout/index.js +17 -0
  385. package/dist/elements/FormLayout/index.js.map +1 -0
  386. package/dist/elements/FormLayout/index.mjs +4 -0
  387. package/dist/elements/FormLayout/index.mjs.map +1 -0
  388. package/dist/elements/Modal/Modal.d.ts +168 -0
  389. package/dist/elements/Modal/Modal.d.ts.map +1 -0
  390. package/dist/elements/Modal/Modal.types.d.ts +265 -0
  391. package/dist/elements/Modal/Modal.types.d.ts.map +1 -0
  392. package/dist/elements/Modal/index.d.ts +14 -0
  393. package/dist/elements/Modal/index.d.ts.map +1 -0
  394. package/dist/elements/Modal/index.js +52 -0
  395. package/dist/elements/Modal/index.js.map +1 -0
  396. package/dist/elements/Modal/index.mjs +3 -0
  397. package/dist/elements/Modal/index.mjs.map +1 -0
  398. package/dist/elements/NumberField/NumberField.d.ts +43 -0
  399. package/dist/elements/NumberField/NumberField.d.ts.map +1 -0
  400. package/dist/elements/NumberField/NumberField.types.d.ts +112 -0
  401. package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -0
  402. package/dist/elements/NumberField/NumberField.variants.d.ts +82 -0
  403. package/dist/elements/NumberField/NumberField.variants.d.ts.map +1 -0
  404. package/dist/elements/NumberField/index.d.ts +25 -0
  405. package/dist/elements/NumberField/index.d.ts.map +1 -0
  406. package/dist/elements/NumberField/index.js +57 -0
  407. package/dist/elements/NumberField/index.js.map +1 -0
  408. package/dist/elements/NumberField/index.mjs +8 -0
  409. package/dist/elements/NumberField/index.mjs.map +1 -0
  410. package/dist/elements/OTPInput/OTPInput.d.ts +105 -0
  411. package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -0
  412. package/dist/elements/OTPInput/OTPInput.styles.d.ts +83 -0
  413. package/dist/elements/OTPInput/OTPInput.styles.d.ts.map +1 -0
  414. package/dist/elements/OTPInput/OTPInput.types.d.ts +189 -0
  415. package/dist/elements/OTPInput/OTPInput.types.d.ts.map +1 -0
  416. package/dist/elements/OTPInput/components/OTPDigit.d.ts +51 -0
  417. package/dist/elements/OTPInput/components/OTPDigit.d.ts.map +1 -0
  418. package/dist/elements/OTPInput/hooks/useOTPInput.d.ts +36 -0
  419. package/dist/elements/OTPInput/hooks/useOTPInput.d.ts.map +1 -0
  420. package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts +59 -0
  421. package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts.map +1 -0
  422. package/dist/elements/OTPInput/index.d.ts +27 -0
  423. package/dist/elements/OTPInput/index.d.ts.map +1 -0
  424. package/dist/elements/OTPInput/index.js +13 -0
  425. package/dist/elements/OTPInput/index.js.map +1 -0
  426. package/dist/elements/OTPInput/index.mjs +4 -0
  427. package/dist/elements/OTPInput/index.mjs.map +1 -0
  428. package/dist/elements/Panel/Panel.d.ts +111 -0
  429. package/dist/elements/Panel/Panel.d.ts.map +1 -0
  430. package/dist/elements/Panel/Panel.types.d.ts +243 -0
  431. package/dist/elements/Panel/Panel.types.d.ts.map +1 -0
  432. package/dist/elements/Panel/index.d.ts +4 -0
  433. package/dist/elements/Panel/index.d.ts.map +1 -0
  434. package/dist/elements/Panel/index.js +33 -0
  435. package/dist/elements/Panel/index.js.map +1 -0
  436. package/dist/elements/Panel/index.mjs +4 -0
  437. package/dist/elements/Panel/index.mjs.map +1 -0
  438. package/dist/elements/Progress/Progress.d.ts +44 -0
  439. package/dist/elements/Progress/Progress.d.ts.map +1 -0
  440. package/dist/elements/Progress/Progress.types.d.ts +64 -0
  441. package/dist/elements/Progress/Progress.types.d.ts.map +1 -0
  442. package/dist/elements/Progress/index.d.ts +11 -0
  443. package/dist/elements/Progress/index.d.ts.map +1 -0
  444. package/dist/elements/Progress/index.js +30 -0
  445. package/dist/elements/Progress/index.js.map +1 -0
  446. package/dist/elements/Progress/index.mjs +5 -0
  447. package/dist/elements/Progress/index.mjs.map +1 -0
  448. package/dist/elements/RadioGroup/RadioGroup.d.ts +110 -0
  449. package/dist/elements/RadioGroup/RadioGroup.d.ts.map +1 -0
  450. package/dist/elements/RadioGroup/RadioGroup.types.d.ts +143 -0
  451. package/dist/elements/RadioGroup/RadioGroup.types.d.ts.map +1 -0
  452. package/dist/elements/RadioGroup/index.d.ts +10 -0
  453. package/dist/elements/RadioGroup/index.d.ts.map +1 -0
  454. package/dist/elements/RadioGroup/index.js +47 -0
  455. package/dist/elements/RadioGroup/index.js.map +1 -0
  456. package/dist/elements/RadioGroup/index.mjs +6 -0
  457. package/dist/elements/RadioGroup/index.mjs.map +1 -0
  458. package/dist/elements/Resizable/Resizable.types.d.ts +188 -0
  459. package/dist/elements/Resizable/Resizable.types.d.ts.map +1 -0
  460. package/dist/elements/Resizable/components/ResizableHandle.d.ts +28 -0
  461. package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -0
  462. package/dist/elements/Resizable/components/ResizablePanel.d.ts +24 -0
  463. package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -0
  464. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +26 -0
  465. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -0
  466. package/dist/elements/Resizable/components/ResizablePopover.d.ts +45 -0
  467. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -0
  468. package/dist/elements/Resizable/hooks/useResizable.d.ts +50 -0
  469. package/dist/elements/Resizable/hooks/useResizable.d.ts.map +1 -0
  470. package/dist/elements/Resizable/hooks/useResizableContext.d.ts +36 -0
  471. package/dist/elements/Resizable/hooks/useResizableContext.d.ts.map +1 -0
  472. package/dist/elements/Resizable/index.d.ts +37 -0
  473. package/dist/elements/Resizable/index.d.ts.map +1 -0
  474. package/dist/elements/Resizable/index.js +65 -0
  475. package/dist/elements/Resizable/index.js.map +1 -0
  476. package/dist/elements/Resizable/index.mjs +8 -0
  477. package/dist/elements/Resizable/index.mjs.map +1 -0
  478. package/dist/elements/Select/Select.d.ts +184 -0
  479. package/dist/elements/Select/Select.d.ts.map +1 -0
  480. package/dist/elements/Select/Select.types.d.ts +166 -0
  481. package/dist/elements/Select/Select.types.d.ts.map +1 -0
  482. package/dist/elements/Select/index.d.ts +35 -0
  483. package/dist/elements/Select/index.d.ts.map +1 -0
  484. package/dist/elements/Select/index.js +33 -0
  485. package/dist/elements/Select/index.js.map +1 -0
  486. package/dist/elements/Select/index.mjs +4 -0
  487. package/dist/elements/Select/index.mjs.map +1 -0
  488. package/dist/elements/Skeleton/Skeleton.d.ts +31 -0
  489. package/dist/elements/Skeleton/Skeleton.d.ts.map +1 -0
  490. package/dist/elements/Skeleton/Skeleton.types.d.ts +36 -0
  491. package/dist/elements/Skeleton/Skeleton.types.d.ts.map +1 -0
  492. package/dist/elements/Skeleton/index.d.ts +11 -0
  493. package/dist/elements/Skeleton/index.d.ts.map +1 -0
  494. package/dist/elements/Skeleton/index.js +22 -0
  495. package/dist/elements/Skeleton/index.js.map +1 -0
  496. package/dist/elements/Skeleton/index.mjs +5 -0
  497. package/dist/elements/Skeleton/index.mjs.map +1 -0
  498. package/dist/elements/Switch/Switch.d.ts +39 -0
  499. package/dist/elements/Switch/Switch.d.ts.map +1 -0
  500. package/dist/elements/Switch/Switch.types.d.ts +53 -0
  501. package/dist/elements/Switch/Switch.types.d.ts.map +1 -0
  502. package/dist/elements/Switch/index.d.ts +8 -0
  503. package/dist/elements/Switch/index.d.ts.map +1 -0
  504. package/dist/elements/Switch/index.js +49 -0
  505. package/dist/elements/Switch/index.js.map +1 -0
  506. package/dist/elements/Switch/index.mjs +31 -0
  507. package/dist/elements/Switch/index.mjs.map +1 -0
  508. package/dist/elements/Table/Table.d.ts +123 -0
  509. package/dist/elements/Table/Table.d.ts.map +1 -0
  510. package/dist/elements/Table/Table.types.d.ts +356 -0
  511. package/dist/elements/Table/Table.types.d.ts.map +1 -0
  512. package/dist/elements/Table/index.d.ts +5 -0
  513. package/dist/elements/Table/index.d.ts.map +1 -0
  514. package/dist/elements/Table/index.js +76 -0
  515. package/dist/elements/Table/index.js.map +1 -0
  516. package/dist/elements/Table/index.mjs +7 -0
  517. package/dist/elements/Table/index.mjs.map +1 -0
  518. package/dist/elements/Tabs/Tabs.d.ts +129 -0
  519. package/dist/elements/Tabs/Tabs.d.ts.map +1 -0
  520. package/dist/elements/Tabs/Tabs.types.d.ts +179 -0
  521. package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -0
  522. package/dist/elements/Tabs/index.d.ts +12 -0
  523. package/dist/elements/Tabs/index.d.ts.map +1 -0
  524. package/dist/elements/Tabs/index.js +74 -0
  525. package/dist/elements/Tabs/index.js.map +1 -0
  526. package/dist/elements/Tabs/index.mjs +5 -0
  527. package/dist/elements/Tabs/index.mjs.map +1 -0
  528. package/dist/elements/TextField/TextField.d.ts +155 -0
  529. package/dist/elements/TextField/TextField.d.ts.map +1 -0
  530. package/dist/elements/TextField/TextField.types.d.ts +258 -0
  531. package/dist/elements/TextField/TextField.types.d.ts.map +1 -0
  532. package/dist/elements/TextField/index.css +23 -0
  533. package/dist/elements/TextField/index.css.map +1 -0
  534. package/dist/elements/TextField/index.d.ts +13 -0
  535. package/dist/elements/TextField/index.d.ts.map +1 -0
  536. package/dist/elements/TextField/index.js +260 -0
  537. package/dist/elements/TextField/index.js.map +1 -0
  538. package/dist/elements/TextField/index.mjs +207 -0
  539. package/dist/elements/TextField/index.mjs.map +1 -0
  540. package/dist/elements/TimeField/TimeField.d.ts +34 -0
  541. package/dist/elements/TimeField/TimeField.d.ts.map +1 -0
  542. package/dist/elements/TimeField/TimeField.types.d.ts +151 -0
  543. package/dist/elements/TimeField/TimeField.types.d.ts.map +1 -0
  544. package/dist/elements/TimeField/index.d.ts +24 -0
  545. package/dist/elements/TimeField/index.d.ts.map +1 -0
  546. package/dist/elements/TimeField/index.js +45 -0
  547. package/dist/elements/TimeField/index.js.map +1 -0
  548. package/dist/elements/TimeField/index.mjs +4 -0
  549. package/dist/elements/TimeField/index.mjs.map +1 -0
  550. package/dist/elements/Toast/Toast.d.ts +105 -0
  551. package/dist/elements/Toast/Toast.d.ts.map +1 -0
  552. package/dist/elements/Toast/Toast.types.d.ts +209 -0
  553. package/dist/elements/Toast/Toast.types.d.ts.map +1 -0
  554. package/dist/elements/Toast/ToastProvider.d.ts +37 -0
  555. package/dist/elements/Toast/ToastProvider.d.ts.map +1 -0
  556. package/dist/elements/Toast/Toaster.d.ts +18 -0
  557. package/dist/elements/Toast/Toaster.d.ts.map +1 -0
  558. package/dist/elements/Toast/index.d.ts +27 -0
  559. package/dist/elements/Toast/index.d.ts.map +1 -0
  560. package/dist/elements/Toast/index.js +60 -0
  561. package/dist/elements/Toast/index.js.map +1 -0
  562. package/dist/elements/Toast/index.mjs +7 -0
  563. package/dist/elements/Toast/index.mjs.map +1 -0
  564. package/dist/elements/Tooltip/Tooltip.d.ts +108 -0
  565. package/dist/elements/Tooltip/Tooltip.d.ts.map +1 -0
  566. package/dist/elements/Tooltip/Tooltip.types.d.ts +135 -0
  567. package/dist/elements/Tooltip/Tooltip.types.d.ts.map +1 -0
  568. package/dist/elements/Tooltip/index.d.ts +11 -0
  569. package/dist/elements/Tooltip/index.d.ts.map +1 -0
  570. package/dist/elements/Tooltip/index.js +59 -0
  571. package/dist/elements/Tooltip/index.js.map +1 -0
  572. package/dist/elements/Tooltip/index.mjs +6 -0
  573. package/dist/elements/Tooltip/index.mjs.map +1 -0
  574. package/dist/elements/index.css +23 -0
  575. package/dist/elements/index.css.map +1 -0
  576. package/dist/elements/index.d.ts +42 -0
  577. package/dist/elements/index.d.ts.map +1 -0
  578. package/dist/elements/index.js +839 -0
  579. package/dist/elements/index.js.map +1 -0
  580. package/dist/elements/index.mjs +42 -0
  581. package/dist/elements/index.mjs.map +1 -0
  582. package/dist/index.css +23 -0
  583. package/dist/index.css.map +1 -0
  584. package/dist/index.d.ts +4 -0
  585. package/dist/index.d.ts.map +1 -0
  586. package/dist/index.js +865 -0
  587. package/dist/index.js.map +1 -0
  588. package/dist/index.mjs +44 -0
  589. package/dist/index.mjs.map +1 -0
  590. package/dist/schemas/BaseComponentProps.d.ts +25 -0
  591. package/dist/schemas/BaseComponentProps.d.ts.map +1 -0
  592. package/dist/schemas/RegistryItem.d.ts +55 -0
  593. package/dist/schemas/RegistryItem.d.ts.map +1 -0
  594. package/dist/schemas/index.d.ts +3 -0
  595. package/dist/schemas/index.d.ts.map +1 -0
  596. package/dist/schemas/index.js +29 -0
  597. package/dist/schemas/index.js.map +1 -0
  598. package/dist/schemas/index.mjs +4 -0
  599. package/dist/schemas/index.mjs.map +1 -0
  600. package/dist/styles/defaults.css +174 -0
  601. package/dist/styles/index.d.ts +7 -0
  602. package/dist/styles/index.d.ts.map +1 -0
  603. package/dist/styles/index.js +153 -0
  604. package/dist/styles/index.js.map +1 -0
  605. package/dist/styles/index.mjs +4 -0
  606. package/dist/styles/index.mjs.map +1 -0
  607. package/dist/styles/interaction-states.d.ts +96 -0
  608. package/dist/styles/interaction-states.d.ts.map +1 -0
  609. package/dist/styles/shared-variants.d.ts +120 -0
  610. package/dist/styles/shared-variants.d.ts.map +1 -0
  611. package/dist/styles/tokens.css +89 -0
  612. package/dist/utils/cn.d.ts +13 -0
  613. package/dist/utils/cn.d.ts.map +1 -0
  614. package/dist/utils/index.d.ts +2 -0
  615. package/dist/utils/index.d.ts.map +1 -0
  616. package/dist/utils/index.js +13 -0
  617. package/dist/utils/index.js.map +1 -0
  618. package/dist/utils/index.mjs +4 -0
  619. package/dist/utils/index.mjs.map +1 -0
  620. package/package.json +228 -0
  621. package/src/elements/Accordion/Accordion.stories.tsx +793 -0
  622. package/src/elements/Avatar/Avatar.stories.tsx +408 -0
  623. package/src/elements/Badge/Badge.stories.tsx +509 -0
  624. package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +623 -0
  625. package/src/elements/Button/Button.stories.tsx +670 -0
  626. package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +658 -0
  627. package/src/elements/Card/Card.stories.tsx +570 -0
  628. package/src/elements/Carousel/Carousel.stories.tsx +597 -0
  629. package/src/elements/Chart/Chart.stories.tsx +616 -0
  630. package/src/elements/Checkbox/Checkbox.stories.tsx +514 -0
  631. package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +1514 -0
  632. package/src/elements/DatePicker/DatePicker.stories.tsx +341 -0
  633. package/src/elements/Dropdown/Dropdown.stories.tsx +397 -0
  634. package/src/elements/FileField/FileField.stories.tsx +1021 -0
  635. package/src/elements/FileField/FileProgress.stories.tsx +359 -0
  636. package/src/elements/FormLayout/FormLayout.stories.tsx +637 -0
  637. package/src/elements/Modal/Modal.stories.tsx +640 -0
  638. package/src/elements/NumberField/NumberField.stories.tsx +678 -0
  639. package/src/elements/OTPInput/OTPInput.stories.tsx +404 -0
  640. package/src/elements/Panel/Panel.stories.tsx +769 -0
  641. package/src/elements/Progress/Progress.stories.tsx +668 -0
  642. package/src/elements/RadioGroup/RadioGroup.stories.tsx +1153 -0
  643. package/src/elements/Resizable/Resizable.stories.tsx +374 -0
  644. package/src/elements/Select/Select.stories.tsx +362 -0
  645. package/src/elements/Skeleton/Skeleton.stories.tsx +284 -0
  646. package/src/elements/Switch/Switch.stories.tsx +441 -0
  647. package/src/elements/Table/Table.stories.tsx +790 -0
  648. package/src/elements/Tabs/Tabs.stories.tsx +661 -0
  649. package/src/elements/TextField/TextField.stories.tsx +1878 -0
  650. package/src/elements/TimeField/TimeField.stories.tsx +671 -0
  651. package/src/elements/Toast/Toast.stories.tsx +971 -0
  652. package/src/elements/Tooltip/Tooltip.stories.tsx +748 -0
  653. package/tailwind.config.js +10 -0
  654. package/tailwind.config.v3.js +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/elements/DatePicker/DatePicker.variants.ts","../src/elements/DatePicker/DatePicker.tsx","../src/elements/DatePicker/DateRangePicker.tsx","../src/elements/DatePicker/DateField.tsx","../src/elements/DatePicker/Calendar.tsx","../src/elements/DatePicker/DatePicker.types.ts"],"names":["AriaDatePicker","AriaLabel","AriaGroup","AriaDateInput","AriaDateSegment","AriaButton","CalendarIcon","AriaText","AriaFieldError","AriaPopover","AriaDialog","AriaCalendar","AriaHeading","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","AriaCalendarCell","forwardRef","jsxs","AriaDateRangePicker","jsx","AriaRangeCalendar","ChevronLeft","ChevronRight","AriaDateField"],"mappings":"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","file":"chunk-JJOWXFXQ.mjs","sourcesContent":["/**\n * DatePicker CVA Variants\n * Uses shared utilities from styles/ for consistency and reduced bundle size.\n */\n\nimport { cva } from 'class-variance-authority';\nimport {\n FOCUS_WITHIN_RING,\n FOCUS_RING,\n FOCUS_HIGHLIGHT,\n DISABLED_DATA_ATTR,\n DISABLED_STANDARD,\n TEXT_SIZE_SMALL_SCALE,\n TEXT_SIZE_MEDIUM_SCALE,\n ERROR_MESSAGE_BASE,\n DESCRIPTION_BASE,\n LABEL_BASE,\n POPOVER_ANIMATION_IN,\n POPOVER_ANIMATION_OUT,\n REDUCED_MOTION,\n TRANSITION_FAST,\n HOVER_ACCENT,\n FIELD_HEIGHTS,\n combineStyles,\n} from '../../styles';\n\n// ============================================================================\n// Date Field Variants\n// ============================================================================\n\nexport const dateFieldVariants = cva(\n combineStyles(\n 'flex items-center rounded-md border',\n 'bg-[var(--content-background)] text-[var(--content-foreground)]',\n 'transition-colors duration-200',\n FOCUS_WITHIN_RING,\n DISABLED_DATA_ATTR\n ),\n {\n variants: {\n size: {\n sm: `${FIELD_HEIGHTS.sm} px-3 text-sm gap-0.5`,\n default: `${FIELD_HEIGHTS.default} px-4 text-base gap-1`,\n lg: `${FIELD_HEIGHTS.lg} px-5 text-lg gap-1.5`,\n },\n isInvalid: {\n true: 'border-[var(--destructive)] focus-within:ring-[var(--destructive)]',\n false: 'border-[var(--input)] hover:border-[var(--input)]/80',\n },\n },\n defaultVariants: {\n size: 'default',\n isInvalid: false,\n },\n }\n);\n\n// ============================================================================\n// Date Segment Variants\n// ============================================================================\n\nexport const dateSegmentVariants = cva(\n combineStyles(\n 'tabular-nums rounded px-0.5',\n FOCUS_HIGHLIGHT,\n 'data-[placeholder]:text-[var(--menu-muted)]',\n 'data-[type=literal]:text-[var(--menu-muted)]'\n ),\n {\n variants: {\n size: TEXT_SIZE_MEDIUM_SCALE,\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Calendar Cell Variants\n// ============================================================================\n\nexport const calendarCellVariants = cva(\n combineStyles(\n 'flex items-center justify-center rounded-md cursor-pointer',\n TRANSITION_FAST,\n HOVER_ACCENT,\n FOCUS_RING,\n // Selected state\n 'data-[selected]:bg-[var(--primary)] data-[selected]:text-[var(--primary-foreground)]',\n 'data-[selected]:hover:bg-[var(--primary)]/90 data-[selected]:font-semibold',\n // Today indicator\n 'data-[today]:border data-[today]:border-[var(--primary)]',\n // Range selection\n 'data-[selection-start]:rounded-l-md data-[selection-start]:rounded-r-none',\n 'data-[selection-end]:rounded-r-md data-[selection-end]:rounded-l-none',\n 'data-[selected]:data-[selection-start]:rounded-l-md',\n 'data-[selected]:data-[selection-end]:rounded-r-md',\n // Unavailable/outside/disabled states\n 'data-[unavailable]:text-[var(--menu-muted)] data-[unavailable]:pointer-events-none data-[unavailable]:opacity-50 data-[unavailable]:line-through',\n 'data-[outside-month]:text-[var(--menu-muted)] data-[outside-month]:opacity-50',\n 'data-[disabled]:text-[var(--menu-muted)] data-[disabled]:pointer-events-none data-[disabled]:opacity-50'\n ),\n {\n variants: {\n size: {\n sm: 'h-9 w-9 text-sm',\n default: 'h-11 w-11 text-base',\n lg: 'h-14 w-14 text-lg',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Calendar Header Variants\n// ============================================================================\n\nexport const calendarHeaderVariants = cva(\n 'flex items-center justify-between px-1 pb-4',\n {\n variants: {\n size: TEXT_SIZE_MEDIUM_SCALE,\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Calendar Navigation Button Variants\n// ============================================================================\n\nexport const calendarNavButtonVariants = cva(\n combineStyles(\n 'inline-flex items-center justify-center rounded-md text-[var(--menu-muted)]',\n TRANSITION_FAST,\n HOVER_ACCENT,\n FOCUS_RING,\n DISABLED_STANDARD\n ),\n {\n variants: {\n size: {\n sm: 'h-7 w-7',\n default: 'h-9 w-9',\n lg: 'h-11 w-11',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Calendar Grid Variants\n// ============================================================================\n\nexport const calendarGridVariants = cva(\n 'w-full border-collapse',\n {\n variants: {\n size: TEXT_SIZE_MEDIUM_SCALE,\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Calendar Grid Header Cell Variants\n// ============================================================================\n\nexport const calendarGridHeaderCellVariants = cva(\n 'text-center font-medium text-[var(--menu-muted)] pb-2',\n {\n variants: {\n size: {\n sm: 'text-xs w-9',\n default: 'text-sm w-11',\n lg: 'text-base w-14',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Popover Variants\n// ============================================================================\n\nexport const datePickerPopoverVariants = cva(\n combineStyles(\n 'z-50 rounded-md border p-3 shadow-md outline-none',\n 'bg-[var(--menu-background)] text-[var(--menu-foreground)]',\n POPOVER_ANIMATION_IN,\n POPOVER_ANIMATION_OUT,\n REDUCED_MOTION\n ),\n {\n variants: {\n size: {\n sm: 'w-[260px]',\n default: 'w-[320px]',\n lg: 'w-[380px]',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Trigger Button Variants\n// ============================================================================\n\nexport const datePickerTriggerVariants = cva(\n combineStyles(\n 'inline-flex items-center justify-center rounded-md text-[var(--menu-muted)]',\n TRANSITION_FAST,\n HOVER_ACCENT,\n FOCUS_RING,\n DISABLED_DATA_ATTR\n ),\n {\n variants: {\n size: {\n sm: 'h-7 w-7',\n default: 'h-9 w-9',\n lg: 'h-11 w-11',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Description and Error Variants\n// ============================================================================\n\nexport const datePickerDescriptionVariants = cva(\n combineStyles(DESCRIPTION_BASE, 'mt-1'),\n {\n variants: {\n size: TEXT_SIZE_SMALL_SCALE,\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\nexport const datePickerErrorVariants = cva(\n combineStyles(ERROR_MESSAGE_BASE, 'mt-1'),\n {\n variants: {\n size: TEXT_SIZE_SMALL_SCALE,\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Label Variants\n// ============================================================================\n\nexport const datePickerLabelVariants = cva(\n combineStyles(\n LABEL_BASE,\n 'block mb-1.5',\n 'data-[required]:after:content-[\"*\"] data-[required]:after:ml-0.5 data-[required]:after:text-[var(--destructive)]'\n ),\n {\n variants: {\n size: {\n sm: 'text-sm',\n default: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n","'use client';\n\n/**\n * DatePicker Component\n *\n * A fully accessible date picker combining keyboard-editable date segments\n * with a calendar popover for visual selection.\n *\n * Features:\n * - WCAG 2.2 AAA compliant (7:1 contrast, 44x44px touch targets)\n * - Keyboard-editable date segments with spinbutton behavior\n * - Calendar popover with month/year navigation\n * - Time selection with configurable granularity\n * - Internationalization and timezone support\n *\n * @see {@link ../../docs/prd/datepicker-prd.md} for requirements\n */\n\nimport { createContext, forwardRef, useMemo, type ReactElement } from 'react';\nimport {\n DatePicker as AriaDatePicker,\n DateInput as AriaDateInput,\n DateSegment as AriaDateSegment,\n Button as AriaButton,\n Calendar as AriaCalendar,\n CalendarGrid as AriaCalendarGrid,\n CalendarCell as AriaCalendarCell,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarGridBody as AriaCalendarGridBody,\n Heading as AriaHeading,\n Popover as AriaPopover,\n Dialog as AriaDialog,\n Label as AriaLabel,\n Text as AriaText,\n Group as AriaGroup,\n FieldError as AriaFieldError,\n} from 'react-aria-components';\nimport { Calendar as CalendarIcon, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport type { DatePickerProps, DatePickerContextValue } from './DatePicker.types';\nimport {\n dateFieldVariants,\n dateSegmentVariants,\n calendarCellVariants,\n calendarHeaderVariants,\n calendarNavButtonVariants,\n calendarGridVariants,\n calendarGridHeaderCellVariants,\n datePickerPopoverVariants,\n datePickerTriggerVariants,\n datePickerDescriptionVariants,\n datePickerErrorVariants,\n datePickerLabelVariants,\n} from './DatePicker.variants';\n\n// =============================================================================\n// Context\n// =============================================================================\n\nconst DatePickerContext = createContext<DatePickerContextValue>({\n size: 'default',\n});\n\n// Export for potential future use in compound components\nexport { DatePickerContext };\n\n// =============================================================================\n// DatePicker Component\n// =============================================================================\n\n/**\n * DatePicker component for selecting dates with keyboard input and calendar popup.\n *\n * @example\n * ```tsx\n * <DatePicker\n * label=\"Event Date\"\n * description=\"When will the event take place?\"\n * />\n * ```\n */\nexport const DatePicker = forwardRef<HTMLDivElement, DatePickerProps>(\n (\n {\n label,\n description,\n errorMessage,\n size = 'default',\n className,\n placement = 'bottom',\n ...props\n },\n ref\n ): ReactElement => {\n // Memoize context value to prevent unnecessary re-renders of consumers\n const contextValue = useMemo<DatePickerContextValue>(\n () => ({\n size,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n }),\n [size, props.isInvalid, props.isDisabled]\n );\n\n return (\n <DatePickerContext.Provider value={contextValue}>\n <AriaDatePicker\n ref={ref}\n className={cn('group flex flex-col gap-1', className)}\n {...props}\n >\n {/* Label */}\n <AriaLabel\n className={cn(datePickerLabelVariants({ size }))}\n data-required={props.isRequired || undefined}\n >\n {label}\n </AriaLabel>\n\n {/* Date Field Group */}\n <AriaGroup\n className={cn(\n dateFieldVariants({\n size,\n isInvalid: props.isInvalid,\n })\n )}\n >\n <AriaDateInput className=\"flex flex-1 items-center\">\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className={cn(dateSegmentVariants({ size }))}\n />\n )}\n </AriaDateInput>\n\n {/* Calendar Trigger Button */}\n <AriaButton\n className={cn(datePickerTriggerVariants({ size }))}\n aria-label=\"Open calendar\"\n >\n <CalendarIcon className=\"h-4 w-4\" />\n </AriaButton>\n </AriaGroup>\n\n {/* Description */}\n {description && (\n <AriaText\n slot=\"description\"\n className={cn(datePickerDescriptionVariants({ size }))}\n >\n {description}\n </AriaText>\n )}\n\n {/* Error Message */}\n <AriaFieldError className={cn(datePickerErrorVariants({ size }))}>\n {errorMessage}\n </AriaFieldError>\n\n {/* Calendar Popover */}\n <AriaPopover\n placement={placement}\n className={cn(datePickerPopoverVariants({ size }))}\n >\n <AriaDialog className=\"outline-none\">\n <AriaCalendar className=\"w-full\">\n {/* Calendar Header - use div instead of header to avoid landmark a11y issues */}\n <div className={cn(calendarHeaderVariants({ size }))}>\n <AriaButton\n slot=\"previous\"\n className={cn(calendarNavButtonVariants({ size }))}\n aria-label=\"Previous month\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </AriaButton>\n\n <AriaHeading className=\"flex-1 text-center font-semibold\" />\n\n <AriaButton\n slot=\"next\"\n className={cn(calendarNavButtonVariants({ size }))}\n aria-label=\"Next month\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n\n {/* Calendar Grid */}\n <AriaCalendarGrid className={cn(calendarGridVariants({ size }))}>\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell\n className={cn(calendarGridHeaderCellVariants({ size }))}\n >\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell\n date={date}\n className={cn(calendarCellVariants({ size }))}\n />\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDatePicker>\n </DatePickerContext.Provider>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n","'use client';\n\n/**\n * DateRangePicker Component\n *\n * A date range picker for selecting start and end dates with a shared calendar.\n *\n * Features:\n * - Start and end date fields with range separator\n * - RangeCalendar with highlighted selection\n * - Validates end date is after start date\n * - WCAG 2.2 AAA compliant\n *\n * @see {@link ../../docs/prd/datepicker-prd.md} for requirements\n */\n\nimport { forwardRef, type ReactElement } from 'react';\nimport {\n DateRangePicker as AriaDateRangePicker,\n DateInput as AriaDateInput,\n DateSegment as AriaDateSegment,\n Button as AriaButton,\n RangeCalendar as AriaRangeCalendar,\n CalendarGrid as AriaCalendarGrid,\n CalendarCell as AriaCalendarCell,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarGridBody as AriaCalendarGridBody,\n Heading as AriaHeading,\n Popover as AriaPopover,\n Dialog as AriaDialog,\n Label as AriaLabel,\n Text as AriaText,\n Group as AriaGroup,\n FieldError as AriaFieldError,\n} from 'react-aria-components';\nimport { Calendar as CalendarIcon, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport type { DateRangePickerProps } from './DatePicker.types';\nimport {\n dateFieldVariants,\n dateSegmentVariants,\n calendarCellVariants,\n calendarHeaderVariants,\n calendarNavButtonVariants,\n calendarGridVariants,\n calendarGridHeaderCellVariants,\n datePickerPopoverVariants,\n datePickerTriggerVariants,\n datePickerDescriptionVariants,\n datePickerErrorVariants,\n datePickerLabelVariants,\n} from './DatePicker.variants';\n\n// =============================================================================\n// DateRangePicker Component\n// =============================================================================\n\n/**\n * DateRangePicker component for selecting date ranges.\n *\n * @example\n * ```tsx\n * <DateRangePicker\n * label=\"Stay Duration\"\n * description=\"Select check-in and check-out dates\"\n * />\n * ```\n */\nexport const DateRangePicker = forwardRef<HTMLDivElement, DateRangePickerProps>(\n (\n {\n label,\n description,\n errorMessage,\n size = 'default',\n className,\n placement = 'bottom',\n startName,\n endName,\n ...props\n },\n ref\n ): ReactElement => {\n return (\n <AriaDateRangePicker\n ref={ref}\n className={cn('group flex flex-col gap-1', className)}\n startName={startName}\n endName={endName}\n {...props}\n >\n {/* Label */}\n <AriaLabel\n className={cn(datePickerLabelVariants({ size }))}\n data-required={props.isRequired || undefined}\n >\n {label}\n </AriaLabel>\n\n {/* Date Range Field Group */}\n <AriaGroup\n className={cn(\n dateFieldVariants({\n size,\n isInvalid: props.isInvalid,\n })\n )}\n >\n {/* Start Date Input */}\n <AriaDateInput slot=\"start\" className=\"flex items-center\">\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className={cn(dateSegmentVariants({ size }))}\n />\n )}\n </AriaDateInput>\n\n {/* Range Separator */}\n <span\n aria-hidden=\"true\"\n className=\"px-2 text-[var(--menu-muted)]\"\n >\n –\n </span>\n\n {/* End Date Input */}\n <AriaDateInput slot=\"end\" className=\"flex items-center\">\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className={cn(dateSegmentVariants({ size }))}\n />\n )}\n </AriaDateInput>\n\n {/* Calendar Trigger Button */}\n <AriaButton\n className={cn(datePickerTriggerVariants({ size }))}\n aria-label=\"Open calendar\"\n >\n <CalendarIcon className=\"h-4 w-4\" />\n </AriaButton>\n </AriaGroup>\n\n {/* Description */}\n {description && (\n <AriaText\n slot=\"description\"\n className={cn(datePickerDescriptionVariants({ size }))}\n >\n {description}\n </AriaText>\n )}\n\n {/* Error Message */}\n <AriaFieldError className={cn(datePickerErrorVariants({ size }))}>\n {errorMessage}\n </AriaFieldError>\n\n {/* Range Calendar Popover */}\n <AriaPopover\n placement={placement}\n className={cn(datePickerPopoverVariants({ size }))}\n >\n <AriaDialog className=\"outline-none\">\n <AriaRangeCalendar className=\"w-full\">\n {/* Calendar Header - use div instead of header to avoid landmark a11y issues */}\n <div className={cn(calendarHeaderVariants({ size }))}>\n <AriaButton\n slot=\"previous\"\n className={cn(calendarNavButtonVariants({ size }))}\n aria-label=\"Previous month\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </AriaButton>\n\n <AriaHeading className=\"flex-1 text-center font-semibold\" />\n\n <AriaButton\n slot=\"next\"\n className={cn(calendarNavButtonVariants({ size }))}\n aria-label=\"Next month\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n\n {/* Calendar Grid */}\n <AriaCalendarGrid className={cn(calendarGridVariants({ size }))}>\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell\n className={cn(calendarGridHeaderCellVariants({ size }))}\n >\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell\n date={date}\n className={cn(calendarCellVariants({ size }))}\n />\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaRangeCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDateRangePicker>\n );\n }\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n","'use client';\n\n/**\n * DateField Component\n *\n * A standalone keyboard-editable date field without calendar popover.\n * Useful for dense forms where a full DatePicker is not needed.\n *\n * Features:\n * - Keyboard-editable date segments with spinbutton behavior\n * - Full keyboard navigation (Tab, Arrow keys, number typing)\n * - Time selection with configurable granularity\n * - WCAG 2.2 AAA compliant\n *\n * @see {@link ../../docs/prd/datepicker-prd.md} for requirements\n */\n\nimport { forwardRef, type ReactElement } from 'react';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n DateSegment as AriaDateSegment,\n Label as AriaLabel,\n Text as AriaText,\n FieldError as AriaFieldError,\n} from 'react-aria-components';\nimport { cn } from '../../utils/cn';\nimport type { DateFieldProps } from './DatePicker.types';\nimport {\n dateFieldVariants,\n dateSegmentVariants,\n datePickerDescriptionVariants,\n datePickerErrorVariants,\n datePickerLabelVariants,\n} from './DatePicker.variants';\n\n// =============================================================================\n// DateField Component\n// =============================================================================\n\n/**\n * DateField component for keyboard-editable date input.\n *\n * @example\n * ```tsx\n * <DateField\n * label=\"Birth Date\"\n * description=\"Enter your date of birth\"\n * />\n * ```\n */\nexport const DateField = forwardRef<HTMLDivElement, DateFieldProps>(\n (\n {\n label,\n description,\n errorMessage,\n size = 'default',\n className,\n ...props\n },\n ref\n ): ReactElement => {\n return (\n <AriaDateField\n ref={ref}\n className={cn('group flex flex-col gap-1', className)}\n {...props}\n >\n {/* Label */}\n <AriaLabel\n className={cn(datePickerLabelVariants({ size }))}\n data-required={props.isRequired || undefined}\n >\n {label}\n </AriaLabel>\n\n {/* Date Input */}\n <AriaDateInput\n className={cn(\n dateFieldVariants({\n size,\n isInvalid: props.isInvalid,\n }),\n 'w-fit'\n )}\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className={cn(dateSegmentVariants({ size }))}\n />\n )}\n </AriaDateInput>\n\n {/* Description */}\n {description && (\n <AriaText\n slot=\"description\"\n className={cn(datePickerDescriptionVariants({ size }))}\n >\n {description}\n </AriaText>\n )}\n\n {/* Error Message */}\n <AriaFieldError className={cn(datePickerErrorVariants({ size }))}>\n {errorMessage}\n </AriaFieldError>\n </AriaDateField>\n );\n }\n);\n\nDateField.displayName = 'DateField';\n","'use client';\n\n/**\n * Calendar Component\n *\n * A standalone calendar grid for inline date selection.\n * Useful when the calendar should always be visible (not in a popover).\n *\n * Features:\n * - Full keyboard navigation (Arrow keys, Page Up/Down, Home/End)\n * - Month/year navigation\n * - Date constraints (min/max, unavailable dates)\n * - WCAG 2.2 AAA compliant (7:1 contrast, 44x44px touch targets)\n *\n * @see {@link ../../docs/prd/datepicker-prd.md} for requirements\n */\n\nimport { forwardRef, type ReactElement } from 'react';\nimport {\n Calendar as AriaCalendar,\n CalendarGrid as AriaCalendarGrid,\n CalendarCell as AriaCalendarCell,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarGridBody as AriaCalendarGridBody,\n Heading as AriaHeading,\n Button as AriaButton,\n} from 'react-aria-components';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport type { CalendarProps } from './DatePicker.types';\nimport {\n calendarCellVariants,\n calendarHeaderVariants,\n calendarNavButtonVariants,\n calendarGridVariants,\n calendarGridHeaderCellVariants,\n} from './DatePicker.variants';\n\n// =============================================================================\n// Calendar Component\n// =============================================================================\n\n/**\n * Calendar component for inline date selection.\n *\n * @example\n * ```tsx\n * <Calendar\n * value={selectedDate}\n * onChange={setSelectedDate}\n * minValue={today(getLocalTimeZone())}\n * />\n * ```\n */\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(\n ({ size = 'default', className, ...props }, ref): ReactElement => {\n return (\n <AriaCalendar\n ref={ref}\n className={cn('w-fit', className)}\n {...props}\n >\n {/* Calendar Header - use div instead of header to avoid landmark a11y issues */}\n <div className={cn(calendarHeaderVariants({ size }))}>\n <AriaButton\n slot=\"previous\"\n className={cn(calendarNavButtonVariants({ size }))}\n aria-label=\"Previous month\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </AriaButton>\n\n <AriaHeading className=\"flex-1 text-center font-semibold\" />\n\n <AriaButton\n slot=\"next\"\n className={cn(calendarNavButtonVariants({ size }))}\n aria-label=\"Next month\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n\n {/* Calendar Grid */}\n <AriaCalendarGrid className={cn(calendarGridVariants({ size }))}>\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell\n className={cn(calendarGridHeaderCellVariants({ size }))}\n >\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell\n date={date}\n className={cn(calendarCellVariants({ size }))}\n />\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaCalendar>\n );\n }\n);\n\nCalendar.displayName = 'Calendar';\n","/**\n * DatePicker Component Types\n *\n * Zod schemas and TypeScript types for DatePicker, DateRangePicker,\n * DateField, and Calendar components.\n *\n * @see {@link ../../docs/prd/datepicker-prd.md} for full requirements\n */\n\nimport { z } from 'zod';\nimport type {\n DatePickerProps as AriaDatePickerProps,\n DateRangePickerProps as AriaDateRangePickerProps,\n DateFieldProps as AriaDateFieldProps,\n CalendarProps as AriaCalendarProps,\n DateValue,\n RangeValue,\n} from 'react-aria-components';\nimport type { VariantProps } from 'class-variance-authority';\nimport type { dateFieldVariants, calendarCellVariants } from './DatePicker.variants';\n\n// ============================================================================\n// Date Value Types (re-exported for convenience)\n// ============================================================================\n\n/**\n * Union type for all date values supported by the DatePicker.\n * - CalendarDate: Date only (no time)\n * - CalendarDateTime: Date and time (no timezone)\n * - ZonedDateTime: Date, time, and timezone\n */\nexport type { DateValue } from 'react-aria-components';\n\n/**\n * Date range value type for DateRangePicker.\n */\nexport type DateRangeValue = RangeValue<DateValue>;\n\n// ============================================================================\n// Granularity Type\n// ============================================================================\n\n/**\n * Controls which date/time segments are displayed.\n * - 'day': Date only (MM/DD/YYYY)\n * - 'hour': Date + hour + AM/PM\n * - 'minute': Date + hour + minute + AM/PM\n * - 'second': Date + hour + minute + second + AM/PM\n */\nexport type Granularity = 'day' | 'hour' | 'minute' | 'second';\n\n// ============================================================================\n// Size Variant Type\n// ============================================================================\n\n/**\n * Size variants for DatePicker components.\n * - 'sm': Compact size (36px cells) - desktop-only, not AAA compliant\n * - 'default': Standard size (44px cells) - AAA compliant\n * - 'lg': Large size (56px cells) - AAA compliant\n */\nexport type DatePickerSize = 'sm' | 'default' | 'lg';\n\n// ============================================================================\n// Placement Type\n// ============================================================================\n\n/**\n * Popover placement options.\n */\nexport type PopoverPlacement = 'bottom' | 'top' | 'left' | 'right';\n\n// ============================================================================\n// First Day of Week Type\n// ============================================================================\n\n/**\n * First day of week options for calendar display.\n */\nexport type FirstDayOfWeek = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';\n\n// ============================================================================\n// Zod Schemas\n// ============================================================================\n\n/**\n * Zod schema for DatePicker props validation.\n * Used for runtime validation of component props.\n */\nexport const DatePickerPropsSchema = z.object({\n // Value props\n value: z.custom<DateValue>().optional(),\n defaultValue: z.custom<DateValue>().optional(),\n placeholderValue: z.custom<DateValue>().optional(),\n\n // Granularity props\n granularity: z.enum(['day', 'hour', 'minute', 'second']).default('day'),\n hourCycle: z.union([z.literal(12), z.literal(24)]).optional(),\n hideTimeZone: z.boolean().optional(),\n shouldForceLeadingZeros: z.boolean().optional(),\n\n // Constraint props\n minValue: z.custom<DateValue>().optional(),\n maxValue: z.custom<DateValue>().optional(),\n /** Callback to determine if a specific date is unavailable for selection */\n isDateUnavailable: z.function().optional(),\n\n // State props\n isOpen: z.boolean().optional(),\n defaultOpen: z.boolean().optional(),\n isDisabled: z.boolean().optional(),\n isReadOnly: z.boolean().optional(),\n isRequired: z.boolean().optional(),\n isInvalid: z.boolean().optional(),\n\n // Validation props\n /** Custom validation function that returns an error message or null */\n validate: z.function().optional(),\n validationBehavior: z.enum(['native', 'aria']).default('native'),\n\n // Display props\n label: z.string(),\n description: z.string().optional(),\n /** Error message string or render function */\n errorMessage: z.union([z.string(), z.function()]).optional(),\n\n // Calendar props\n firstDayOfWeek: z.enum(['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']).optional(),\n pageBehavior: z.enum(['single', 'visible']).optional(),\n\n // Form props\n name: z.string().optional(),\n\n // Popover props\n placement: z.enum(['bottom', 'top', 'left', 'right']).optional(),\n visibleDuration: z.object({ months: z.number() }).optional(),\n\n // Variant props\n size: z.enum(['sm', 'default', 'lg']).default('default'),\n\n // Event props\n /** Called when the date value changes */\n onChange: z.function().optional(),\n /** Called when the popover open state changes */\n onOpenChange: z.function().optional(),\n /** Called when the field gains focus */\n onFocus: z.function().optional(),\n /** Called when the field loses focus */\n onBlur: z.function().optional(),\n /** Called when focus state changes */\n onFocusChange: z.function().optional(),\n\n // Standard props\n className: z.string().optional(),\n children: z.any().optional(),\n});\n\n/**\n * Zod schema for DateRangePicker props validation.\n * Extends DatePickerPropsSchema with range-specific props.\n */\nexport const DateRangePickerPropsSchema = DatePickerPropsSchema.omit({\n value: true,\n defaultValue: true,\n onChange: true,\n}).extend({\n // Range value props\n value: z\n .object({\n start: z.custom<DateValue>(),\n end: z.custom<DateValue>(),\n })\n .optional(),\n defaultValue: z\n .object({\n start: z.custom<DateValue>(),\n end: z.custom<DateValue>(),\n })\n .optional(),\n\n // Form props for range\n startName: z.string().optional(),\n endName: z.string().optional(),\n\n // Range event props\n /** Called when the date range value changes */\n onChange: z.function().optional(),\n});\n\n/**\n * Zod schema for standalone DateField props validation.\n */\nexport const DateFieldPropsSchema = z.object({\n // Value props\n value: z.custom<DateValue>().optional(),\n defaultValue: z.custom<DateValue>().optional(),\n placeholderValue: z.custom<DateValue>().optional(),\n\n // Granularity props\n granularity: z.enum(['day', 'hour', 'minute', 'second']).default('day'),\n hourCycle: z.union([z.literal(12), z.literal(24)]).optional(),\n hideTimeZone: z.boolean().optional(),\n shouldForceLeadingZeros: z.boolean().optional(),\n\n // Constraint props\n minValue: z.custom<DateValue>().optional(),\n maxValue: z.custom<DateValue>().optional(),\n\n // State props\n isDisabled: z.boolean().optional(),\n isReadOnly: z.boolean().optional(),\n isRequired: z.boolean().optional(),\n isInvalid: z.boolean().optional(),\n\n // Validation props\n /** Custom validation function that returns an error message or null */\n validate: z.function().optional(),\n validationBehavior: z.enum(['native', 'aria']).default('native'),\n\n // Display props\n label: z.string(),\n description: z.string().optional(),\n /** Error message string or render function */\n errorMessage: z.union([z.string(), z.function()]).optional(),\n\n // Form props\n name: z.string().optional(),\n\n // Variant props\n size: z.enum(['sm', 'default', 'lg']).default('default'),\n\n // Event props\n /** Called when the date value changes */\n onChange: z.function().optional(),\n /** Called when the field gains focus */\n onFocus: z.function().optional(),\n /** Called when the field loses focus */\n onBlur: z.function().optional(),\n /** Called when focus state changes */\n onFocusChange: z.function().optional(),\n\n // Standard props\n className: z.string().optional(),\n});\n\n/**\n * Zod schema for standalone Calendar props validation.\n */\nexport const CalendarPropsSchema = z.object({\n // Value props\n value: z.custom<DateValue>().optional(),\n defaultValue: z.custom<DateValue>().optional(),\n focusedValue: z.custom<DateValue>().optional(),\n defaultFocusedValue: z.custom<DateValue>().optional(),\n\n // Constraint props\n minValue: z.custom<DateValue>().optional(),\n maxValue: z.custom<DateValue>().optional(),\n /** Callback to determine if a specific date is unavailable for selection */\n isDateUnavailable: z.function().optional(),\n\n // State props\n isDisabled: z.boolean().optional(),\n isReadOnly: z.boolean().optional(),\n\n // Calendar props\n firstDayOfWeek: z.enum(['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']).optional(),\n pageBehavior: z.enum(['single', 'visible']).optional(),\n visibleDuration: z.object({ months: z.number() }).optional(),\n\n // Variant props\n size: z.enum(['sm', 'default', 'lg']).default('default'),\n\n // Event props\n /** Called when the date value changes */\n onChange: z.function().optional(),\n /** Called when the focused date changes */\n onFocusChange: z.function().optional(),\n\n // Standard props\n className: z.string().optional(),\n});\n\n/**\n * Zod schema for RangeCalendar props validation.\n */\nexport const RangeCalendarPropsSchema = CalendarPropsSchema.omit({\n value: true,\n defaultValue: true,\n onChange: true,\n}).extend({\n // Range value props\n value: z\n .object({\n start: z.custom<DateValue>(),\n end: z.custom<DateValue>(),\n })\n .optional(),\n defaultValue: z\n .object({\n start: z.custom<DateValue>(),\n end: z.custom<DateValue>(),\n })\n .optional(),\n\n // Range event props\n /** Called when the date range value changes */\n onChange: z.function().optional(),\n});\n\n// ============================================================================\n// TypeScript Types (using React Aria types directly for proper function typing)\n// ============================================================================\n\n/**\n * Custom props added to DatePicker components (not from React Aria).\n */\nexport interface ThemisDatePickerCustomProps {\n /** Size variant: 'sm', 'default', or 'lg' */\n size?: DatePickerSize;\n /** Popover placement */\n placement?: PopoverPlacement;\n /** Field label */\n label?: string;\n /** Description text below the field */\n description?: string;\n /** Error message when field is invalid */\n errorMessage?: string;\n}\n\n/**\n * Props for the DatePicker component.\n * Uses React Aria's DatePickerProps directly to ensure correct function types.\n */\nexport type DatePickerProps = AriaDatePickerProps<DateValue> & ThemisDatePickerCustomProps;\n\n/**\n * Props for the DateRangePicker component.\n * Uses React Aria's DateRangePickerProps directly to ensure correct function types.\n */\nexport type DateRangePickerProps = AriaDateRangePickerProps<DateValue> & ThemisDatePickerCustomProps;\n\n/**\n * Props for the standalone DateField component.\n * Uses React Aria's DateFieldProps directly to ensure correct function types.\n */\nexport type DateFieldProps = AriaDateFieldProps<DateValue> & ThemisDatePickerCustomProps;\n\n/**\n * Props for the standalone Calendar component.\n * Uses React Aria's CalendarProps directly to ensure correct function types.\n */\nexport type CalendarProps = AriaCalendarProps<DateValue> & {\n /** Size variant: 'sm', 'default', or 'lg' */\n size?: DatePickerSize;\n};\n\n/**\n * Props for the RangeCalendar component.\n */\nexport type RangeCalendarProps = {\n /** Size variant: 'sm', 'default', or 'lg' */\n size?: DatePickerSize;\n /** Additional CSS class names */\n className?: string;\n};\n\n// ============================================================================\n// Variant Types (from CVA)\n// ============================================================================\n\n/**\n * Variant props for dateFieldVariants CVA function.\n */\nexport type DateFieldVariantProps = VariantProps<typeof dateFieldVariants>;\n\n/**\n * Variant props for calendarCellVariants CVA function.\n */\nexport type CalendarCellVariantProps = VariantProps<typeof calendarCellVariants>;\n\n// ============================================================================\n// Compound Component Types\n// ============================================================================\n\n/**\n * Context value for DatePicker compound components.\n */\nexport interface DatePickerContextValue {\n size: DatePickerSize;\n isInvalid?: boolean;\n isDisabled?: boolean;\n}\n\n/**\n * Context value for Calendar compound components.\n */\nexport interface CalendarContextValue {\n size: DatePickerSize;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n}\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=chunk-JPTSS2OA.mjs.map
3
+ //# sourceMappingURL=chunk-JPTSS2OA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-JPTSS2OA.mjs"}
@@ -0,0 +1,396 @@
1
+ 'use strict';
2
+
3
+ var chunk3YOY2VJ6_js = require('./chunk-3YOY2VJ6.js');
4
+ var chunkVIREG536_js = require('./chunk-VIREG536.js');
5
+ var zod = require('zod');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var react = require('react');
8
+ var reactAriaComponents = require('react-aria-components');
9
+ var lucideReact = require('lucide-react');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+
12
+ var DEFAULT_MAX_VALUE = 4294967295;
13
+ var DEFAULT_MIN_VALUE = 0;
14
+ var NEGATIVE_MIN_VALUE = -2147483647;
15
+ var NumberFieldPropsSchema = zod.z.object({
16
+ // Value props
17
+ /** Current value (controlled mode) */
18
+ value: zod.z.number().nullable().optional(),
19
+ /** Default value (uncontrolled mode) */
20
+ defaultValue: zod.z.number().optional(),
21
+ // Constraint props
22
+ /** Minimum allowed value (default: 0) */
23
+ minValue: zod.z.number().optional(),
24
+ /** Maximum allowed value (default: 4294967295 / UINT32_MAX) */
25
+ maxValue: zod.z.number().optional(),
26
+ /** Allow negative numbers (sets minValue to -2147483647 if not explicitly set) */
27
+ allowNegative: zod.z.boolean().optional(),
28
+ /** Step increment for stepper buttons and arrow keys (default: 1) */
29
+ step: zod.z.number().positive().optional(),
30
+ // Formatting props
31
+ /** Intl.NumberFormat options for locale-aware formatting */
32
+ formatOptions: zod.z.custom().optional(),
33
+ // State props
34
+ /** Whether the field is disabled */
35
+ isDisabled: zod.z.boolean().optional(),
36
+ /** Whether the field is read-only */
37
+ isReadOnly: zod.z.boolean().optional(),
38
+ /** Whether the field is required */
39
+ isRequired: zod.z.boolean().optional(),
40
+ /** Whether the field is in an invalid state */
41
+ isInvalid: zod.z.boolean().optional(),
42
+ /** Whether scroll wheel adjustment is disabled */
43
+ isWheelDisabled: zod.z.boolean().optional(),
44
+ // Validation props
45
+ /** Custom validation function that returns an error message or null */
46
+ validate: zod.z.function().optional(),
47
+ /** Validation behavior: 'native' for HTML5 validation, 'aria' for ARIA-only */
48
+ validationBehavior: zod.z.enum(["native", "aria"]).default("native"),
49
+ // Display props
50
+ /** Field label (required for accessibility) */
51
+ label: zod.z.string(),
52
+ /** Description text below the field */
53
+ description: zod.z.string().optional(),
54
+ /** Error message string or render function */
55
+ errorMessage: zod.z.union([zod.z.string(), zod.z.function()]).optional(),
56
+ // Stepper props
57
+ /** Layout for stepper buttons */
58
+ stepperLayout: zod.z.enum(["sides", "stacked", "hidden"]).default("sides"),
59
+ /** Custom aria-label for increment button */
60
+ incrementAriaLabel: zod.z.string().optional(),
61
+ /** Custom aria-label for decrement button */
62
+ decrementAriaLabel: zod.z.string().optional(),
63
+ // Form props
64
+ /** Name attribute for form submission */
65
+ name: zod.z.string().optional(),
66
+ // Variant props
67
+ /** Size variant */
68
+ size: zod.z.enum(["sm", "default", "lg"]).default("default"),
69
+ // Event props
70
+ /** Called when the numeric value changes */
71
+ onChange: zod.z.function().optional(),
72
+ /** Called when the field gains focus */
73
+ onFocus: zod.z.function().optional(),
74
+ /** Called when the field loses focus */
75
+ onBlur: zod.z.function().optional(),
76
+ /** Called when focus state changes */
77
+ onFocusChange: zod.z.function().optional(),
78
+ // Standard props
79
+ /** Additional CSS classes */
80
+ className: zod.z.string().optional(),
81
+ /** Whether to auto-focus on mount */
82
+ autoFocus: zod.z.boolean().optional()
83
+ });
84
+ var numberFieldVariants = classVarianceAuthority.cva(
85
+ [
86
+ // Base styles
87
+ "inline-flex items-center rounded-md border",
88
+ "bg-[var(--content-background)] text-[var(--content-foreground)]",
89
+ "transition-colors duration-200",
90
+ // Focus within
91
+ "focus-within:ring-2 focus-within:ring-[var(--ring)] focus-within:ring-offset-2",
92
+ // Disabled
93
+ "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"
94
+ ],
95
+ {
96
+ variants: {
97
+ size: {
98
+ sm: "h-9 text-sm",
99
+ default: "h-10 text-base",
100
+ lg: "h-12 text-lg"
101
+ },
102
+ isInvalid: {
103
+ true: "border-[var(--destructive)] focus-within:ring-[var(--destructive)]",
104
+ false: "border-[var(--input)] hover:border-[var(--input)]/80"
105
+ }
106
+ },
107
+ defaultVariants: {
108
+ size: "default",
109
+ isInvalid: false
110
+ }
111
+ }
112
+ );
113
+ var numberFieldInputVariants = classVarianceAuthority.cva(
114
+ [
115
+ // Base styles
116
+ "flex-1 bg-transparent text-center tabular-nums",
117
+ "min-w-0",
118
+ // Allow shrinking
119
+ // Focus
120
+ "focus:outline-none",
121
+ // Hide native spinners
122
+ "[appearance:textfield]",
123
+ "[&::-webkit-outer-spin-button]:appearance-none",
124
+ "[&::-webkit-inner-spin-button]:appearance-none"
125
+ ],
126
+ {
127
+ variants: {
128
+ size: {
129
+ sm: "px-2 text-sm",
130
+ default: "px-3 text-base",
131
+ lg: "px-4 text-lg"
132
+ }
133
+ },
134
+ defaultVariants: {
135
+ size: "default"
136
+ }
137
+ }
138
+ );
139
+ var numberFieldStepperVariants = classVarianceAuthority.cva(
140
+ [
141
+ // Base styles
142
+ "flex items-center justify-center",
143
+ "transition-colors duration-150",
144
+ "select-none",
145
+ // Hover
146
+ "hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",
147
+ // Focus
148
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]",
149
+ "focus-visible:ring-inset",
150
+ // Active (pressed)
151
+ "active:bg-[var(--accent)]/80",
152
+ // Disabled
153
+ "disabled:pointer-events-none disabled:opacity-50"
154
+ ],
155
+ {
156
+ variants: {
157
+ size: {
158
+ sm: "min-w-8 min-h-8 text-sm",
159
+ default: "min-w-10 min-h-10 text-base",
160
+ lg: "min-w-12 min-h-12 text-lg"
161
+ },
162
+ position: {
163
+ left: "rounded-l-md border-r border-[var(--input)]",
164
+ right: "rounded-r-md border-l border-[var(--input)]",
165
+ top: "rounded-tr-md border-b border-l border-[var(--input)] h-1/2",
166
+ bottom: "rounded-br-md border-l border-[var(--input)] h-1/2"
167
+ }
168
+ },
169
+ defaultVariants: {
170
+ size: "default"
171
+ }
172
+ }
173
+ );
174
+ var numberFieldLabelVariants = classVarianceAuthority.cva(
175
+ [
176
+ "block font-medium text-[var(--content-foreground)]",
177
+ "mb-1.5",
178
+ // Required indicator
179
+ 'data-[required]:after:content-["*"] data-[required]:after:ml-0.5',
180
+ "data-[required]:after:text-[var(--destructive)]"
181
+ ],
182
+ {
183
+ variants: {
184
+ size: {
185
+ sm: "text-sm",
186
+ default: "text-sm",
187
+ lg: "text-base"
188
+ }
189
+ },
190
+ defaultVariants: {
191
+ size: "default"
192
+ }
193
+ }
194
+ );
195
+ var numberFieldDescriptionVariants = classVarianceAuthority.cva(
196
+ [
197
+ "text-[var(--menu-muted)]",
198
+ "mt-1"
199
+ ],
200
+ {
201
+ variants: {
202
+ size: {
203
+ sm: "text-xs",
204
+ default: "text-sm",
205
+ lg: "text-base"
206
+ }
207
+ },
208
+ defaultVariants: {
209
+ size: "default"
210
+ }
211
+ }
212
+ );
213
+ var numberFieldErrorVariants = classVarianceAuthority.cva(
214
+ [
215
+ "flex items-center gap-1",
216
+ "text-[var(--destructive)]",
217
+ "mt-1"
218
+ ],
219
+ {
220
+ variants: {
221
+ size: {
222
+ sm: "text-xs",
223
+ default: "text-sm",
224
+ lg: "text-base"
225
+ }
226
+ },
227
+ defaultVariants: {
228
+ size: "default"
229
+ }
230
+ }
231
+ );
232
+ var NumberField = react.forwardRef(
233
+ ({
234
+ // Display props
235
+ label,
236
+ description,
237
+ errorMessage,
238
+ // Variant props
239
+ size = "default",
240
+ stepperLayout = "sides",
241
+ // Custom props
242
+ allowNegative = false,
243
+ incrementAriaLabel,
244
+ decrementAriaLabel,
245
+ // Constraint props (apply defaults)
246
+ minValue,
247
+ maxValue,
248
+ // Standard props
249
+ className,
250
+ isInvalid,
251
+ isRequired,
252
+ isDisabled,
253
+ isReadOnly,
254
+ // All other props go to AriaNumberField
255
+ ...props
256
+ }, ref) => {
257
+ const effectiveMinValue = minValue ?? (allowNegative ? NEGATIVE_MIN_VALUE : DEFAULT_MIN_VALUE);
258
+ const effectiveMaxValue = maxValue ?? DEFAULT_MAX_VALUE;
259
+ const showSteppers = stepperLayout !== "hidden" && !isReadOnly;
260
+ const isStackedLayout = stepperLayout === "stacked";
261
+ return /* @__PURE__ */ jsxRuntime.jsxs(
262
+ reactAriaComponents.NumberField,
263
+ {
264
+ ref,
265
+ className: chunkVIREG536_js.cn("group flex flex-col", className),
266
+ minValue: effectiveMinValue,
267
+ maxValue: effectiveMaxValue,
268
+ isInvalid,
269
+ isRequired,
270
+ isDisabled,
271
+ isReadOnly,
272
+ ...props,
273
+ children: [
274
+ /* @__PURE__ */ jsxRuntime.jsx(
275
+ reactAriaComponents.Label,
276
+ {
277
+ className: chunkVIREG536_js.cn(numberFieldLabelVariants({ size })),
278
+ "data-required": isRequired || void 0,
279
+ children: label
280
+ }
281
+ ),
282
+ /* @__PURE__ */ jsxRuntime.jsxs(
283
+ reactAriaComponents.Group,
284
+ {
285
+ className: chunkVIREG536_js.cn(
286
+ numberFieldVariants({
287
+ size,
288
+ isInvalid: isInvalid ?? false
289
+ }),
290
+ isStackedLayout && "pr-0"
291
+ ),
292
+ children: [
293
+ showSteppers && !isStackedLayout && /* @__PURE__ */ jsxRuntime.jsx(
294
+ chunk3YOY2VJ6_js.Button,
295
+ {
296
+ slot: "decrement",
297
+ variant: "ghost",
298
+ className: "!min-h-0 !min-w-0",
299
+ buttonVisualClassName: chunkVIREG536_js.cn(
300
+ numberFieldStepperVariants({
301
+ size,
302
+ position: "left"
303
+ })
304
+ ),
305
+ "aria-label": decrementAriaLabel ?? "Decrease value",
306
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "h-4 w-4", "aria-hidden": "true" })
307
+ }
308
+ ),
309
+ /* @__PURE__ */ jsxRuntime.jsx(
310
+ reactAriaComponents.Input,
311
+ {
312
+ className: chunkVIREG536_js.cn(numberFieldInputVariants({ size }))
313
+ }
314
+ ),
315
+ showSteppers && isStackedLayout && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
316
+ /* @__PURE__ */ jsxRuntime.jsx(
317
+ chunk3YOY2VJ6_js.Button,
318
+ {
319
+ slot: "increment",
320
+ variant: "ghost",
321
+ className: "!min-h-0 !min-w-0",
322
+ buttonVisualClassName: chunkVIREG536_js.cn(
323
+ numberFieldStepperVariants({
324
+ size,
325
+ position: "top"
326
+ })
327
+ ),
328
+ "aria-label": incrementAriaLabel ?? "Increase value",
329
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "h-3 w-3", "aria-hidden": "true" })
330
+ }
331
+ ),
332
+ /* @__PURE__ */ jsxRuntime.jsx(
333
+ chunk3YOY2VJ6_js.Button,
334
+ {
335
+ slot: "decrement",
336
+ variant: "ghost",
337
+ className: "!min-h-0 !min-w-0",
338
+ buttonVisualClassName: chunkVIREG536_js.cn(
339
+ numberFieldStepperVariants({
340
+ size,
341
+ position: "bottom"
342
+ })
343
+ ),
344
+ "aria-label": decrementAriaLabel ?? "Decrease value",
345
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "h-3 w-3", "aria-hidden": "true" })
346
+ }
347
+ )
348
+ ] }),
349
+ showSteppers && !isStackedLayout && /* @__PURE__ */ jsxRuntime.jsx(
350
+ chunk3YOY2VJ6_js.Button,
351
+ {
352
+ slot: "increment",
353
+ variant: "ghost",
354
+ className: "!min-h-0 !min-w-0",
355
+ buttonVisualClassName: chunkVIREG536_js.cn(
356
+ numberFieldStepperVariants({
357
+ size,
358
+ position: "right"
359
+ })
360
+ ),
361
+ "aria-label": incrementAriaLabel ?? "Increase value",
362
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "h-4 w-4", "aria-hidden": "true" })
363
+ }
364
+ )
365
+ ]
366
+ }
367
+ ),
368
+ description && /* @__PURE__ */ jsxRuntime.jsx(
369
+ reactAriaComponents.Text,
370
+ {
371
+ slot: "description",
372
+ className: chunkVIREG536_js.cn(numberFieldDescriptionVariants({ size })),
373
+ children: description
374
+ }
375
+ ),
376
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.FieldError, { className: chunkVIREG536_js.cn(numberFieldErrorVariants({ size })), children: errorMessage })
377
+ ]
378
+ }
379
+ );
380
+ }
381
+ );
382
+ NumberField.displayName = "NumberField";
383
+
384
+ exports.DEFAULT_MAX_VALUE = DEFAULT_MAX_VALUE;
385
+ exports.DEFAULT_MIN_VALUE = DEFAULT_MIN_VALUE;
386
+ exports.NEGATIVE_MIN_VALUE = NEGATIVE_MIN_VALUE;
387
+ exports.NumberField = NumberField;
388
+ exports.NumberFieldPropsSchema = NumberFieldPropsSchema;
389
+ exports.numberFieldDescriptionVariants = numberFieldDescriptionVariants;
390
+ exports.numberFieldErrorVariants = numberFieldErrorVariants;
391
+ exports.numberFieldInputVariants = numberFieldInputVariants;
392
+ exports.numberFieldLabelVariants = numberFieldLabelVariants;
393
+ exports.numberFieldStepperVariants = numberFieldStepperVariants;
394
+ exports.numberFieldVariants = numberFieldVariants;
395
+ //# sourceMappingURL=chunk-KFXXRLTP.js.map
396
+ //# sourceMappingURL=chunk-KFXXRLTP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/elements/NumberField/NumberField.types.ts","../src/elements/NumberField/NumberField.variants.ts","../src/elements/NumberField/NumberField.tsx"],"names":["z","cva","forwardRef","jsxs","AriaNumberField","cn","jsx","AriaLabel","AriaGroup","Button","Minus","AriaInput","Plus","AriaText","AriaFieldError"],"mappings":"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","file":"chunk-KFXXRLTP.js","sourcesContent":["/**\n * NumberField Component Types\n *\n * Zod schemas and TypeScript types for the NumberField component.\n * CVA variants are in a separate file (NumberField.variants.ts) to separate\n * styling concerns from type definitions.\n *\n * Note: Zod schemas are used for contract tests and developer guardrails,\n * not runtime validation. This follows the established Themis pattern.\n *\n * @see {@link ../../docs/prd/numberfield-prd.md} for full requirements\n */\n\nimport { z } from 'zod';\nimport type {\n NumberFieldProps as AriaNumberFieldProps,\n ValidationResult,\n} from 'react-aria-components';\n\n// ============================================================================\n// Constants\n// ============================================================================\n\n/**\n * Default maximum value (UINT32_MAX) to prevent overflow/Infinity.\n */\nexport const DEFAULT_MAX_VALUE = 4294967295;\n\n/**\n * Default minimum value for non-negative numbers.\n */\nexport const DEFAULT_MIN_VALUE = 0;\n\n/**\n * Minimum value when allowNegative is enabled (INT32_MIN + 1).\n */\nexport const NEGATIVE_MIN_VALUE = -2147483647;\n\n// ============================================================================\n// Size Variant Type\n// ============================================================================\n\n/**\n * Size variants for NumberField component.\n * - 'sm': Compact size (36px height) - touch targets via padding\n * - 'default': Standard size (40px height) - AAA compliant\n * - 'lg': Large size (48px height) - AAA compliant\n */\nexport type NumberFieldSize = 'sm' | 'default' | 'lg';\n\n// ============================================================================\n// Stepper Layout Type\n// ============================================================================\n\n/**\n * Layout options for stepper buttons.\n * - 'sides': Buttons on left (-) and right (+) of input (default)\n * - 'stacked': Buttons stacked vertically on right side\n * - 'hidden': No stepper buttons (keyboard/typing only)\n */\nexport type StepperLayout = 'sides' | 'stacked' | 'hidden';\n\n// ============================================================================\n// Zod Schemas\n// ============================================================================\n\n/**\n * Zod schema for NumberField props validation.\n * Used for contract tests and developer guardrails, not runtime validation.\n */\nexport const NumberFieldPropsSchema = z.object({\n // Value props\n /** Current value (controlled mode) */\n value: z.number().nullable().optional(),\n /** Default value (uncontrolled mode) */\n defaultValue: z.number().optional(),\n\n // Constraint props\n /** Minimum allowed value (default: 0) */\n minValue: z.number().optional(),\n /** Maximum allowed value (default: 4294967295 / UINT32_MAX) */\n maxValue: z.number().optional(),\n /** Allow negative numbers (sets minValue to -2147483647 if not explicitly set) */\n allowNegative: z.boolean().optional(),\n /** Step increment for stepper buttons and arrow keys (default: 1) */\n step: z.number().positive().optional(),\n\n // Formatting props\n /** Intl.NumberFormat options for locale-aware formatting */\n formatOptions: z.custom<Intl.NumberFormatOptions>().optional(),\n\n // State props\n /** Whether the field is disabled */\n isDisabled: z.boolean().optional(),\n /** Whether the field is read-only */\n isReadOnly: z.boolean().optional(),\n /** Whether the field is required */\n isRequired: z.boolean().optional(),\n /** Whether the field is in an invalid state */\n isInvalid: z.boolean().optional(),\n /** Whether scroll wheel adjustment is disabled */\n isWheelDisabled: z.boolean().optional(),\n\n // Validation props\n /** Custom validation function that returns an error message or null */\n validate: z.function().optional(),\n /** Validation behavior: 'native' for HTML5 validation, 'aria' for ARIA-only */\n validationBehavior: z.enum(['native', 'aria']).default('native'),\n\n // Display props\n /** Field label (required for accessibility) */\n label: z.string(),\n /** Description text below the field */\n description: z.string().optional(),\n /** Error message string or render function */\n errorMessage: z.union([z.string(), z.function()]).optional(),\n\n // Stepper props\n /** Layout for stepper buttons */\n stepperLayout: z.enum(['sides', 'stacked', 'hidden']).default('sides'),\n /** Custom aria-label for increment button */\n incrementAriaLabel: z.string().optional(),\n /** Custom aria-label for decrement button */\n decrementAriaLabel: z.string().optional(),\n\n // Form props\n /** Name attribute for form submission */\n name: z.string().optional(),\n\n // Variant props\n /** Size variant */\n size: z.enum(['sm', 'default', 'lg']).default('default'),\n\n // Event props\n /** Called when the numeric value changes */\n onChange: z.function().optional(),\n /** Called when the field gains focus */\n onFocus: z.function().optional(),\n /** Called when the field loses focus */\n onBlur: z.function().optional(),\n /** Called when focus state changes */\n onFocusChange: z.function().optional(),\n\n // Standard props\n /** Additional CSS classes */\n className: z.string().optional(),\n /** Whether to auto-focus on mount */\n autoFocus: z.boolean().optional(),\n});\n\n// ============================================================================\n// TypeScript Types\n// ============================================================================\n\n/**\n * Custom props added to NumberField (not from React Aria).\n */\nexport interface ThemisNumberFieldCustomProps {\n /** Size variant: 'sm', 'default', or 'lg' */\n size?: NumberFieldSize;\n /** Field label (required for accessibility) */\n label: string;\n /** Description text below the field */\n description?: string;\n /** Error message when field is invalid */\n errorMessage?: string | ((validation: ValidationResult) => string);\n /** Layout for stepper buttons */\n stepperLayout?: StepperLayout;\n /** Custom aria-label for increment button */\n incrementAriaLabel?: string;\n /** Custom aria-label for decrement button */\n decrementAriaLabel?: string;\n /** Allow negative numbers (sets minValue to -2147483647 if not explicitly set) */\n allowNegative?: boolean;\n}\n\n/**\n * Props for the NumberField component.\n * Combines React Aria's NumberFieldProps with Themis-specific props.\n */\nexport type NumberFieldProps = Omit<AriaNumberFieldProps, 'children'> &\n ThemisNumberFieldCustomProps;\n","/**\n * NumberField Component CVA Variants\n *\n * Class Variance Authority (CVA) variant definitions for the NumberField component.\n * Separated from types to maintain clean separation of concerns.\n *\n * Styling uses semantic CSS tokens that map to ThemeProvider variables:\n * - --background: Input background color\n * - --foreground: Text color\n * - --input: Input border color (default state)\n * - --ring: Focus ring color\n * - --accent: Stepper button hover background\n * - --accent-foreground: Stepper button hover text\n * - --destructive: Error state border and text\n * - --muted-foreground: Placeholder/disabled text\n *\n * @see {@link ../../docs/prd/numberfield-prd.md} for full requirements\n */\n\nimport { cva, type VariantProps } from 'class-variance-authority';\n\n// ============================================================================\n// Container Variants\n// ============================================================================\n\n/**\n * Variants for the NumberField container (Group element).\n * Contains the input and stepper buttons.\n *\n * Size notes:\n * - sm (36px): Compact, touch targets achieved via padding\n * - default (40px): Standard size, AAA compliant touch targets\n * - lg (48px): Large size, enhanced touch targets\n */\nexport const numberFieldVariants = cva(\n [\n // Base styles\n 'inline-flex items-center rounded-md border',\n 'bg-[var(--content-background)] text-[var(--content-foreground)]',\n 'transition-colors duration-200',\n // Focus within\n 'focus-within:ring-2 focus-within:ring-[var(--ring)] focus-within:ring-offset-2',\n // Disabled\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',\n ],\n {\n variants: {\n size: {\n sm: 'h-9 text-sm',\n default: 'h-10 text-base',\n lg: 'h-12 text-lg',\n },\n isInvalid: {\n true: 'border-[var(--destructive)] focus-within:ring-[var(--destructive)]',\n false: 'border-[var(--input)] hover:border-[var(--input)]/80',\n },\n },\n defaultVariants: {\n size: 'default',\n isInvalid: false,\n },\n }\n);\n\n// ============================================================================\n// Input Variants\n// ============================================================================\n\n/**\n * Variants for the numeric input element.\n * Hides native spinners and centers text.\n */\nexport const numberFieldInputVariants = cva(\n [\n // Base styles\n 'flex-1 bg-transparent text-center tabular-nums',\n 'min-w-0', // Allow shrinking\n // Focus\n 'focus:outline-none',\n // Hide native spinners\n '[appearance:textfield]',\n '[&::-webkit-outer-spin-button]:appearance-none',\n '[&::-webkit-inner-spin-button]:appearance-none',\n ],\n {\n variants: {\n size: {\n sm: 'px-2 text-sm',\n default: 'px-3 text-base',\n lg: 'px-4 text-lg',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Stepper Button Variants\n// ============================================================================\n\n/**\n * Variants for the stepper buttons (increment/decrement).\n * Supports different positions for sides and stacked layouts.\n *\n * Touch target strategy:\n * - Visual button size varies with component size\n * - 44x44px minimum touch target achieved via padding/hit area\n */\nexport const numberFieldStepperVariants = cva(\n [\n // Base styles\n 'flex items-center justify-center',\n 'transition-colors duration-150',\n 'select-none',\n // Hover\n 'hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]',\n // Focus\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]',\n 'focus-visible:ring-inset',\n // Active (pressed)\n 'active:bg-[var(--accent)]/80',\n // Disabled\n 'disabled:pointer-events-none disabled:opacity-50',\n ],\n {\n variants: {\n size: {\n sm: 'min-w-8 min-h-8 text-sm',\n default: 'min-w-10 min-h-10 text-base',\n lg: 'min-w-12 min-h-12 text-lg',\n },\n position: {\n left: 'rounded-l-md border-r border-[var(--input)]',\n right: 'rounded-r-md border-l border-[var(--input)]',\n top: 'rounded-tr-md border-b border-l border-[var(--input)] h-1/2',\n bottom: 'rounded-br-md border-l border-[var(--input)] h-1/2',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Label Variants\n// ============================================================================\n\n/**\n * Variants for the NumberField label.\n */\nexport const numberFieldLabelVariants = cva(\n [\n 'block font-medium text-[var(--content-foreground)]',\n 'mb-1.5',\n // Required indicator\n 'data-[required]:after:content-[\"*\"] data-[required]:after:ml-0.5',\n 'data-[required]:after:text-[var(--destructive)]',\n ],\n {\n variants: {\n size: {\n sm: 'text-sm',\n default: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Description Variants\n// ============================================================================\n\n/**\n * Variants for the description text below the field.\n */\nexport const numberFieldDescriptionVariants = cva(\n [\n 'text-[var(--menu-muted)]',\n 'mt-1',\n ],\n {\n variants: {\n size: {\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Error Variants\n// ============================================================================\n\n/**\n * Variants for the error message display.\n */\nexport const numberFieldErrorVariants = cva(\n [\n 'flex items-center gap-1',\n 'text-[var(--destructive)]',\n 'mt-1',\n ],\n {\n variants: {\n size: {\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n }\n);\n\n// ============================================================================\n// Variant Types (from CVA)\n// ============================================================================\n\n/**\n * Variant props for numberFieldVariants CVA function.\n */\nexport type NumberFieldVariantProps = VariantProps<typeof numberFieldVariants>;\n\n/**\n * Variant props for numberFieldInputVariants CVA function.\n */\nexport type NumberFieldInputVariantProps = VariantProps<typeof numberFieldInputVariants>;\n\n/**\n * Variant props for numberFieldStepperVariants CVA function.\n */\nexport type NumberFieldStepperVariantProps = VariantProps<typeof numberFieldStepperVariants>;\n","'use client';\n\n/**\n * NumberField Component\n *\n * A fully accessible numeric input component built on React Aria's NumberField primitive.\n * Provides keyboard-editable input with optional increment/decrement stepper buttons.\n *\n * Features:\n * - WCAG 2.2 AAA compliant (44x44px touch targets, 7:1 contrast)\n * - Spinbutton ARIA semantics\n * - Locale-aware number formatting via Intl.NumberFormat\n * - Configurable min/max/step constraints\n * - Optional stepper buttons (sides, stacked, or hidden layouts)\n * - Scroll wheel support\n * - Form integration with hidden input\n * - Full keyboard navigation (Arrow, Page Up/Down, Home/End)\n * - Screen reader accessible\n *\n * @see {@link ../../docs/prd/numberfield-prd.md} for full requirements\n */\n\nimport { forwardRef, type ReactElement } from 'react';\nimport {\n NumberField as AriaNumberField,\n Group as AriaGroup,\n Input as AriaInput,\n Label as AriaLabel,\n Text as AriaText,\n FieldError as AriaFieldError,\n} from 'react-aria-components';\nimport { Minus, Plus } from 'lucide-react';\nimport { Button } from '../Button';\nimport { cn } from '../../utils/cn';\nimport type { NumberFieldProps } from './NumberField.types';\nimport {\n DEFAULT_MAX_VALUE,\n DEFAULT_MIN_VALUE,\n NEGATIVE_MIN_VALUE,\n} from './NumberField.types';\nimport {\n numberFieldVariants,\n numberFieldInputVariants,\n numberFieldStepperVariants,\n numberFieldLabelVariants,\n numberFieldDescriptionVariants,\n numberFieldErrorVariants,\n} from './NumberField.variants';\n\n// =============================================================================\n// NumberField Component\n// =============================================================================\n\n/**\n * NumberField component for numeric input with optional stepper buttons.\n *\n * @example\n * ```tsx\n * import { NumberField } from '@tribepad/themis/elements/NumberField';\n *\n * // Basic usage\n * <NumberField label=\"Quantity\" />\n *\n * // With constraints\n * <NumberField\n * label=\"Quantity\"\n * minValue={1}\n * maxValue={100}\n * step={1}\n * defaultValue={5}\n * />\n *\n * // Currency formatting\n * <NumberField\n * label=\"Price\"\n * formatOptions={{ style: 'currency', currency: 'USD' }}\n * step={0.01}\n * defaultValue={9.99}\n * />\n *\n * // Allow negative numbers\n * <NumberField\n * label=\"Temperature\"\n * allowNegative\n * formatOptions={{ style: 'unit', unit: 'celsius' }}\n * />\n *\n * // Hidden steppers\n * <NumberField\n * label=\"Account Number\"\n * stepperLayout=\"hidden\"\n * />\n * ```\n */\nexport const NumberField = forwardRef<HTMLDivElement, NumberFieldProps>(\n (\n {\n // Display props\n label,\n description,\n errorMessage,\n // Variant props\n size = 'default',\n stepperLayout = 'sides',\n // Custom props\n allowNegative = false,\n incrementAriaLabel,\n decrementAriaLabel,\n // Constraint props (apply defaults)\n minValue,\n maxValue,\n // Standard props\n className,\n isInvalid,\n isRequired,\n isDisabled,\n isReadOnly,\n // All other props go to AriaNumberField\n ...props\n },\n ref\n ): ReactElement => {\n // Calculate effective min/max values\n const effectiveMinValue =\n minValue ?? (allowNegative ? NEGATIVE_MIN_VALUE : DEFAULT_MIN_VALUE);\n const effectiveMaxValue = maxValue ?? DEFAULT_MAX_VALUE;\n\n // Determine if steppers should be shown\n const showSteppers = stepperLayout !== 'hidden' && !isReadOnly;\n const isStackedLayout = stepperLayout === 'stacked';\n\n return (\n <AriaNumberField\n ref={ref}\n className={cn('group flex flex-col', className)}\n minValue={effectiveMinValue}\n maxValue={effectiveMaxValue}\n isInvalid={isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...props}\n >\n {/* Label */}\n <AriaLabel\n className={cn(numberFieldLabelVariants({ size }))}\n data-required={isRequired || undefined}\n >\n {label}\n </AriaLabel>\n\n {/* Input Group */}\n <AriaGroup\n className={cn(\n numberFieldVariants({\n size,\n isInvalid: isInvalid ?? false,\n }),\n isStackedLayout && 'pr-0'\n )}\n >\n {/* Decrement Button (left side for sides layout) */}\n {showSteppers && !isStackedLayout && (\n <Button\n slot=\"decrement\"\n variant=\"ghost\"\n className=\"!min-h-0 !min-w-0\"\n buttonVisualClassName={cn(\n numberFieldStepperVariants({\n size,\n position: 'left',\n })\n )}\n aria-label={decrementAriaLabel ?? 'Decrease value'}\n >\n <Minus className=\"h-4 w-4\" aria-hidden=\"true\" />\n </Button>\n )}\n\n {/* Input */}\n <AriaInput\n className={cn(numberFieldInputVariants({ size }))}\n />\n\n {/* Stacked Layout Buttons */}\n {showSteppers && isStackedLayout && (\n <div className=\"flex flex-col h-full\">\n <Button\n slot=\"increment\"\n variant=\"ghost\"\n className=\"!min-h-0 !min-w-0\"\n buttonVisualClassName={cn(\n numberFieldStepperVariants({\n size,\n position: 'top',\n })\n )}\n aria-label={incrementAriaLabel ?? 'Increase value'}\n >\n <Plus className=\"h-3 w-3\" aria-hidden=\"true\" />\n </Button>\n <Button\n slot=\"decrement\"\n variant=\"ghost\"\n className=\"!min-h-0 !min-w-0\"\n buttonVisualClassName={cn(\n numberFieldStepperVariants({\n size,\n position: 'bottom',\n })\n )}\n aria-label={decrementAriaLabel ?? 'Decrease value'}\n >\n <Minus className=\"h-3 w-3\" aria-hidden=\"true\" />\n </Button>\n </div>\n )}\n\n {/* Increment Button (right side for sides layout) */}\n {showSteppers && !isStackedLayout && (\n <Button\n slot=\"increment\"\n variant=\"ghost\"\n className=\"!min-h-0 !min-w-0\"\n buttonVisualClassName={cn(\n numberFieldStepperVariants({\n size,\n position: 'right',\n })\n )}\n aria-label={incrementAriaLabel ?? 'Increase value'}\n >\n <Plus className=\"h-4 w-4\" aria-hidden=\"true\" />\n </Button>\n )}\n </AriaGroup>\n\n {/* Description */}\n {description && (\n <AriaText\n slot=\"description\"\n className={cn(numberFieldDescriptionVariants({ size }))}\n >\n {description}\n </AriaText>\n )}\n\n {/* Error Message */}\n <AriaFieldError className={cn(numberFieldErrorVariants({ size }))}>\n {errorMessage}\n </AriaFieldError>\n </AriaNumberField>\n );\n }\n);\n\nNumberField.displayName = 'NumberField';\n"]}