silver-ui 0.1.1 → 0.3.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 (845) hide show
  1. package/README.md +39 -6
  2. package/dist/chunk-24J3BUKL.js +40 -0
  3. package/dist/chunk-24J3BUKL.js.map +1 -0
  4. package/dist/chunk-25FU5AVR.cjs +282 -0
  5. package/dist/chunk-25FU5AVR.cjs.map +1 -0
  6. package/dist/{chunk-BSBEPQLM.cjs → chunk-276LEL3G.cjs} +17 -9
  7. package/dist/chunk-276LEL3G.cjs.map +1 -0
  8. package/dist/{chunk-EETTQWW5.cjs → chunk-2D6SGEPH.cjs} +25 -22
  9. package/dist/chunk-2D6SGEPH.cjs.map +1 -0
  10. package/dist/{chunk-WA4DRAQ7.js → chunk-2IKWX66Q.js} +8 -8
  11. package/dist/chunk-2IKWX66Q.js.map +1 -0
  12. package/dist/{chunk-5G3BY75L.cjs → chunk-2P6D43V2.cjs} +6 -6
  13. package/dist/{chunk-5G3BY75L.cjs.map → chunk-2P6D43V2.cjs.map} +1 -1
  14. package/dist/{chunk-6NIFOTUZ.cjs → chunk-2TGDDZG6.cjs} +47 -45
  15. package/dist/chunk-2TGDDZG6.cjs.map +1 -0
  16. package/dist/{chunk-6BSEY2DF.js → chunk-2VOB6LEI.js} +5 -5
  17. package/dist/{chunk-6BSEY2DF.js.map → chunk-2VOB6LEI.js.map} +1 -1
  18. package/dist/{chunk-JCYPM27J.js → chunk-2YC7SMVF.js} +7 -7
  19. package/dist/chunk-2YC7SMVF.js.map +1 -0
  20. package/dist/{chunk-L3G7SHEP.cjs → chunk-32G54PL3.cjs} +42 -42
  21. package/dist/{chunk-L3G7SHEP.cjs.map → chunk-32G54PL3.cjs.map} +1 -1
  22. package/dist/{chunk-GUF4ZNPQ.js → chunk-35MFOORC.js} +6 -6
  23. package/dist/chunk-35MFOORC.js.map +1 -0
  24. package/dist/chunk-3DW2N6UN.js +557 -0
  25. package/dist/chunk-3DW2N6UN.js.map +1 -0
  26. package/dist/chunk-3M23WX6K.js +106 -0
  27. package/dist/chunk-3M23WX6K.js.map +1 -0
  28. package/dist/{chunk-YX7DI3O3.cjs → chunk-3PDUOYAT.cjs} +30 -31
  29. package/dist/chunk-3PDUOYAT.cjs.map +1 -0
  30. package/dist/{chunk-Z2UFJIZU.cjs → chunk-3WMLV4VP.cjs} +20 -20
  31. package/dist/{chunk-Z2UFJIZU.cjs.map → chunk-3WMLV4VP.cjs.map} +1 -1
  32. package/dist/{chunk-T55MB2CA.js → chunk-4CVDLMD6.js} +17 -8
  33. package/dist/chunk-4CVDLMD6.js.map +1 -0
  34. package/dist/{chunk-YMC56K6R.cjs → chunk-4I6VIR44.cjs} +26 -29
  35. package/dist/chunk-4I6VIR44.cjs.map +1 -0
  36. package/dist/{chunk-YHR44PWO.js → chunk-4M2KCZMO.js} +5 -5
  37. package/dist/chunk-4M2KCZMO.js.map +1 -0
  38. package/dist/chunk-4T62TLOD.cjs +416 -0
  39. package/dist/chunk-4T62TLOD.cjs.map +1 -0
  40. package/dist/{chunk-PHFEQG4E.cjs → chunk-4TIAKZ4Q.cjs} +4 -5
  41. package/dist/chunk-4TIAKZ4Q.cjs.map +1 -0
  42. package/dist/{chunk-F7AUYO3H.cjs → chunk-4YESF35X.cjs} +18 -18
  43. package/dist/{chunk-F7AUYO3H.cjs.map → chunk-4YESF35X.cjs.map} +1 -1
  44. package/dist/{chunk-2ZGGJWJY.cjs → chunk-4YQSKCVF.cjs} +16 -16
  45. package/dist/{chunk-2ZGGJWJY.cjs.map → chunk-4YQSKCVF.cjs.map} +1 -1
  46. package/dist/{chunk-2XCNB2O6.js → chunk-4Z62KDKI.js} +19 -16
  47. package/dist/chunk-4Z62KDKI.js.map +1 -0
  48. package/dist/chunk-5BLNJVIA.js +280 -0
  49. package/dist/chunk-5BLNJVIA.js.map +1 -0
  50. package/dist/{chunk-Z2STCD6I.js → chunk-5MDH6QZE.js} +4 -4
  51. package/dist/chunk-5MDH6QZE.js.map +1 -0
  52. package/dist/{chunk-NOZ6U6ZJ.js → chunk-5Q5TJUHI.js} +16 -13
  53. package/dist/chunk-5Q5TJUHI.js.map +1 -0
  54. package/dist/chunk-5QPM5LUS.cjs +46 -0
  55. package/dist/chunk-5QPM5LUS.cjs.map +1 -0
  56. package/dist/{chunk-IWSS5745.js → chunk-67VLK263.js} +18 -17
  57. package/dist/chunk-67VLK263.js.map +1 -0
  58. package/dist/chunk-6ADWXOZ2.cjs +201 -0
  59. package/dist/chunk-6ADWXOZ2.cjs.map +1 -0
  60. package/dist/chunk-6BK4LUK4.cjs +17 -0
  61. package/dist/chunk-6BK4LUK4.cjs.map +1 -0
  62. package/dist/chunk-6D3FA247.js +126 -0
  63. package/dist/chunk-6D3FA247.js.map +1 -0
  64. package/dist/{chunk-W6B55MNU.js → chunk-6XESVFC3.js} +4 -4
  65. package/dist/{chunk-W6B55MNU.js.map → chunk-6XESVFC3.js.map} +1 -1
  66. package/dist/{chunk-CZJUKLFD.cjs → chunk-76FHSISK.cjs} +4 -5
  67. package/dist/chunk-76FHSISK.cjs.map +1 -0
  68. package/dist/chunk-77RGTGRM.cjs +128 -0
  69. package/dist/chunk-77RGTGRM.cjs.map +1 -0
  70. package/dist/{chunk-2QK2NZN5.js → chunk-7FY26X2V.js} +8 -7
  71. package/dist/chunk-7FY26X2V.js.map +1 -0
  72. package/dist/{chunk-MKAOIB2O.cjs → chunk-7GN6YTSS.cjs} +14 -13
  73. package/dist/chunk-7GN6YTSS.cjs.map +1 -0
  74. package/dist/{chunk-KVREBGWA.js → chunk-7P3VY5JZ.js} +4 -7
  75. package/dist/chunk-7P3VY5JZ.js.map +1 -0
  76. package/dist/{chunk-4W7L63LH.js → chunk-7T3SWOY7.js} +4 -4
  77. package/dist/chunk-7T3SWOY7.js.map +1 -0
  78. package/dist/{chunk-BTBOTNOE.cjs → chunk-A66NIFJE.cjs} +18 -18
  79. package/dist/{chunk-BTBOTNOE.cjs.map → chunk-A66NIFJE.cjs.map} +1 -1
  80. package/dist/{chunk-XQMLA75S.js → chunk-AADUJ6CN.js} +18 -16
  81. package/dist/chunk-AADUJ6CN.js.map +1 -0
  82. package/dist/{chunk-GKG47NK6.cjs → chunk-ACQMLJ4I.cjs} +88 -90
  83. package/dist/chunk-ACQMLJ4I.cjs.map +1 -0
  84. package/dist/{chunk-WIW2YR46.js → chunk-AGJ5SZCM.js} +31 -14
  85. package/dist/chunk-AGJ5SZCM.js.map +1 -0
  86. package/dist/{chunk-WIO3XITR.js → chunk-AH4AMQEO.js} +5 -5
  87. package/dist/{chunk-WIO3XITR.js.map → chunk-AH4AMQEO.js.map} +1 -1
  88. package/dist/{chunk-CA6645TQ.js → chunk-AMG3S252.js} +5 -8
  89. package/dist/chunk-AMG3S252.js.map +1 -0
  90. package/dist/{chunk-SMF3YBH5.cjs → chunk-ATDW2VII.cjs} +70 -70
  91. package/dist/{chunk-SMF3YBH5.cjs.map → chunk-ATDW2VII.cjs.map} +1 -1
  92. package/dist/{chunk-HXT6A6GH.cjs → chunk-AX6HC2YY.cjs} +6 -7
  93. package/dist/chunk-AX6HC2YY.cjs.map +1 -0
  94. package/dist/{chunk-P5AZUUM2.cjs → chunk-AXT4VA5N.cjs} +11 -11
  95. package/dist/chunk-AXT4VA5N.cjs.map +1 -0
  96. package/dist/{chunk-BCJ25X7C.js → chunk-BA2VUDQS.js} +114 -74
  97. package/dist/chunk-BA2VUDQS.js.map +1 -0
  98. package/dist/{chunk-2UTRYTT3.cjs → chunk-BDPE6ZKX.cjs} +114 -74
  99. package/dist/chunk-BDPE6ZKX.cjs.map +1 -0
  100. package/dist/{chunk-I25KF3UF.js → chunk-BERQEJYB.js} +6 -6
  101. package/dist/{chunk-I25KF3UF.js.map → chunk-BERQEJYB.js.map} +1 -1
  102. package/dist/{chunk-CR4NB42L.cjs → chunk-BFWKL5MJ.cjs} +37 -39
  103. package/dist/chunk-BFWKL5MJ.cjs.map +1 -0
  104. package/dist/{chunk-GI3NLBCW.cjs → chunk-BJD32VBQ.cjs} +22 -22
  105. package/dist/{chunk-GI3NLBCW.cjs.map → chunk-BJD32VBQ.cjs.map} +1 -1
  106. package/dist/{chunk-CXBB2LN7.js → chunk-BKKLUIIU.js} +2 -2
  107. package/dist/chunk-BKKLUIIU.js.map +1 -0
  108. package/dist/{chunk-S5NFDKPL.js → chunk-BYBVI7UN.js} +18 -17
  109. package/dist/chunk-BYBVI7UN.js.map +1 -0
  110. package/dist/{chunk-I7PJTLP2.cjs → chunk-C264Z2GQ.cjs} +26 -26
  111. package/dist/{chunk-I7PJTLP2.cjs.map → chunk-C264Z2GQ.cjs.map} +1 -1
  112. package/dist/{chunk-DONU5ALC.cjs → chunk-CFOGSQCG.cjs} +31 -37
  113. package/dist/chunk-CFOGSQCG.cjs.map +1 -0
  114. package/dist/{chunk-E4TIWN4Z.cjs → chunk-CPOYENSZ.cjs} +41 -35
  115. package/dist/chunk-CPOYENSZ.cjs.map +1 -0
  116. package/dist/{chunk-DJW7T3WJ.js → chunk-CZNN2GOC.js} +11 -12
  117. package/dist/chunk-CZNN2GOC.js.map +1 -0
  118. package/dist/{chunk-UZNSGQT3.cjs → chunk-DSNJDFO3.cjs} +34 -40
  119. package/dist/chunk-DSNJDFO3.cjs.map +1 -0
  120. package/dist/{chunk-K574UTWP.cjs → chunk-E2JZGYKU.cjs} +14 -15
  121. package/dist/chunk-E2JZGYKU.cjs.map +1 -0
  122. package/dist/{chunk-ELCRG7WZ.js → chunk-E4KM3RQ2.js} +15 -15
  123. package/dist/{chunk-ELCRG7WZ.js.map → chunk-E4KM3RQ2.js.map} +1 -1
  124. package/dist/{chunk-C2CNRYZI.cjs → chunk-E7UOFIBW.cjs} +30 -30
  125. package/dist/{chunk-C2CNRYZI.cjs.map → chunk-E7UOFIBW.cjs.map} +1 -1
  126. package/dist/{chunk-DFF72N57.js → chunk-EFO5NDBJ.js} +4 -5
  127. package/dist/chunk-EFO5NDBJ.js.map +1 -0
  128. package/dist/chunk-EHCAF6D3.js +44 -0
  129. package/dist/chunk-EHCAF6D3.js.map +1 -0
  130. package/dist/{chunk-EB5EHX6I.js → chunk-EMHLPPQZ.js} +5 -4
  131. package/dist/chunk-EMHLPPQZ.js.map +1 -0
  132. package/dist/{chunk-EM2F6BZ2.js → chunk-EUN5TCB2.js} +9 -9
  133. package/dist/chunk-EUN5TCB2.js.map +1 -0
  134. package/dist/{chunk-V5W7NZN5.js → chunk-EXYBQVZT.js} +3 -3
  135. package/dist/{chunk-V5W7NZN5.js.map → chunk-EXYBQVZT.js.map} +1 -1
  136. package/dist/{chunk-NAELQLZN.js → chunk-FMEIPGUP.js} +3 -3
  137. package/dist/{chunk-NAELQLZN.js.map → chunk-FMEIPGUP.js.map} +1 -1
  138. package/dist/{chunk-DNVOWNQG.cjs → chunk-FQSOUCZS.cjs} +11 -11
  139. package/dist/{chunk-DNVOWNQG.cjs.map → chunk-FQSOUCZS.cjs.map} +1 -1
  140. package/dist/{chunk-PLFKU46A.js → chunk-GEGYC7CE.js} +7 -7
  141. package/dist/{chunk-PLFKU46A.js.map → chunk-GEGYC7CE.js.map} +1 -1
  142. package/dist/{chunk-D6KXW75E.js → chunk-GI5MVVIX.js} +10 -15
  143. package/dist/chunk-GI5MVVIX.js.map +1 -0
  144. package/dist/{chunk-PBZWX2RJ.js → chunk-GTPRZCNZ.js} +5 -5
  145. package/dist/{chunk-PBZWX2RJ.js.map → chunk-GTPRZCNZ.js.map} +1 -1
  146. package/dist/chunk-GUKZNXTB.js +15 -0
  147. package/dist/chunk-GUKZNXTB.js.map +1 -0
  148. package/dist/{chunk-YRXGCYT2.js → chunk-H2SGYAUO.js} +11 -13
  149. package/dist/chunk-H2SGYAUO.js.map +1 -0
  150. package/dist/{chunk-OAUKYH6C.cjs → chunk-H7LOOHWU.cjs} +2 -2
  151. package/dist/chunk-H7LOOHWU.cjs.map +1 -0
  152. package/dist/{chunk-VLIQPSPM.js → chunk-HLN3JQYD.js} +19 -132
  153. package/dist/chunk-HLN3JQYD.js.map +1 -0
  154. package/dist/{chunk-NSHWBZL4.cjs → chunk-HM7IEGQ2.cjs} +14 -13
  155. package/dist/chunk-HM7IEGQ2.cjs.map +1 -0
  156. package/dist/chunk-I2X2Z7FA.cjs +559 -0
  157. package/dist/chunk-I2X2Z7FA.cjs.map +1 -0
  158. package/dist/{chunk-KXXTWWJZ.cjs → chunk-I45346RZ.cjs} +8 -10
  159. package/dist/chunk-I45346RZ.cjs.map +1 -0
  160. package/dist/{chunk-R2NQNVEV.js → chunk-IG4UJZ6B.js} +21 -23
  161. package/dist/chunk-IG4UJZ6B.js.map +1 -0
  162. package/dist/{chunk-LBRKUZSQ.cjs → chunk-IKF6VHA4.cjs} +73 -114
  163. package/dist/chunk-IKF6VHA4.cjs.map +1 -0
  164. package/dist/{chunk-3PSQDJQH.js → chunk-ISYUZ5FS.js} +17 -14
  165. package/dist/chunk-ISYUZ5FS.js.map +1 -0
  166. package/dist/{chunk-NMHCRHRI.cjs → chunk-ITDQSF2O.cjs} +29 -28
  167. package/dist/chunk-ITDQSF2O.cjs.map +1 -0
  168. package/dist/{chunk-QFO5ZTZZ.js → chunk-IUUQXCDE.js} +8 -9
  169. package/dist/chunk-IUUQXCDE.js.map +1 -0
  170. package/dist/{chunk-WEEYUS7M.cjs → chunk-IXJOPMJX.cjs} +7 -7
  171. package/dist/chunk-IXJOPMJX.cjs.map +1 -0
  172. package/dist/{chunk-PZO5MZ46.js → chunk-J2FCNWYM.js} +7 -6
  173. package/dist/chunk-J2FCNWYM.js.map +1 -0
  174. package/dist/{chunk-RJXHAQCR.cjs → chunk-JAHKLROD.cjs} +25 -23
  175. package/dist/chunk-JAHKLROD.cjs.map +1 -0
  176. package/dist/{chunk-ZVBVKZ4P.cjs → chunk-JKERY7QF.cjs} +27 -18
  177. package/dist/chunk-JKERY7QF.cjs.map +1 -0
  178. package/dist/{chunk-47BELFYO.cjs → chunk-JMNH45Q3.cjs} +17 -18
  179. package/dist/chunk-JMNH45Q3.cjs.map +1 -0
  180. package/dist/{chunk-JAX62FUE.cjs → chunk-JRBQKFVO.cjs} +14 -14
  181. package/dist/{chunk-JAX62FUE.cjs.map → chunk-JRBQKFVO.cjs.map} +1 -1
  182. package/dist/{chunk-6UVJUY7Z.cjs → chunk-JVLE7PCJ.cjs} +11 -12
  183. package/dist/chunk-JVLE7PCJ.cjs.map +1 -0
  184. package/dist/chunk-K6CQ45C2.js +115 -0
  185. package/dist/chunk-K6CQ45C2.js.map +1 -0
  186. package/dist/chunk-K77D7H4V.cjs +125 -0
  187. package/dist/chunk-K77D7H4V.cjs.map +1 -0
  188. package/dist/chunk-KFEXS6OK.cjs +118 -0
  189. package/dist/chunk-KFEXS6OK.cjs.map +1 -0
  190. package/dist/chunk-KIGRE6NA.js +50 -0
  191. package/dist/chunk-KIGRE6NA.js.map +1 -0
  192. package/dist/{chunk-KYDRDJRM.cjs → chunk-L6JT244G.cjs} +5 -5
  193. package/dist/{chunk-KYDRDJRM.cjs.map → chunk-L6JT244G.cjs.map} +1 -1
  194. package/dist/{chunk-3UUZY42Z.js → chunk-L6WUK7O4.js} +5 -5
  195. package/dist/{chunk-3UUZY42Z.js.map → chunk-L6WUK7O4.js.map} +1 -1
  196. package/dist/{chunk-OA4KIVLO.cjs → chunk-LFRTNC7M.cjs} +12 -13
  197. package/dist/chunk-LFRTNC7M.cjs.map +1 -0
  198. package/dist/{chunk-Y73472IA.js → chunk-LJLCGQRV.js} +6 -6
  199. package/dist/chunk-LJLCGQRV.js.map +1 -0
  200. package/dist/{chunk-U35V3GVC.js → chunk-M4JUQCKP.js} +26 -20
  201. package/dist/chunk-M4JUQCKP.js.map +1 -0
  202. package/dist/{chunk-RJQQ2UIQ.js → chunk-MACIT6C6.js} +5 -5
  203. package/dist/{chunk-RJQQ2UIQ.js.map → chunk-MACIT6C6.js.map} +1 -1
  204. package/dist/{chunk-WSAZHUB3.cjs → chunk-MAL4D4LR.cjs} +21 -20
  205. package/dist/chunk-MAL4D4LR.cjs.map +1 -0
  206. package/dist/{chunk-QRDRZNCS.cjs → chunk-MMST4VXH.cjs} +25 -26
  207. package/dist/chunk-MMST4VXH.cjs.map +1 -0
  208. package/dist/{chunk-QRXMW7MQ.cjs → chunk-MQQ4GSUG.cjs} +68 -70
  209. package/dist/chunk-MQQ4GSUG.cjs.map +1 -0
  210. package/dist/chunk-NUTB2K4G.js +87 -0
  211. package/dist/chunk-NUTB2K4G.js.map +1 -0
  212. package/dist/{chunk-UHQRL4OA.js → chunk-OD4DHHZH.js} +25 -3
  213. package/dist/chunk-OD4DHHZH.js.map +1 -0
  214. package/dist/{chunk-PGKOWMP4.js → chunk-OHKL4DOV.js} +78 -69
  215. package/dist/chunk-OHKL4DOV.js.map +1 -0
  216. package/dist/{chunk-CWUC4TOQ.js → chunk-OJCJPYXE.js} +122 -121
  217. package/dist/chunk-OJCJPYXE.js.map +1 -0
  218. package/dist/{chunk-4A4EI26N.cjs → chunk-OJKZS6HG.cjs} +35 -35
  219. package/dist/{chunk-4A4EI26N.cjs.map → chunk-OJKZS6HG.cjs.map} +1 -1
  220. package/dist/chunk-OMHOVHPX.js +78 -0
  221. package/dist/chunk-OMHOVHPX.js.map +1 -0
  222. package/dist/{chunk-MCOVG6W6.js → chunk-P3SMNZCT.js} +75 -115
  223. package/dist/chunk-P3SMNZCT.js.map +1 -0
  224. package/dist/{chunk-KXXRALHT.cjs → chunk-P4A7GWQY.cjs} +83 -75
  225. package/dist/chunk-P4A7GWQY.cjs.map +1 -0
  226. package/dist/{chunk-2PHHFBJ3.cjs → chunk-P4TOIB2A.cjs} +11 -12
  227. package/dist/chunk-P4TOIB2A.cjs.map +1 -0
  228. package/dist/{chunk-RCAA2CZJ.js → chunk-PJXJOI73.js} +13 -13
  229. package/dist/chunk-PJXJOI73.js.map +1 -0
  230. package/dist/{chunk-ZW4XKNDR.cjs → chunk-PLXUM7U6.cjs} +38 -21
  231. package/dist/chunk-PLXUM7U6.cjs.map +1 -0
  232. package/dist/{chunk-2FPZULX3.cjs → chunk-PNYF6NS4.cjs} +32 -35
  233. package/dist/chunk-PNYF6NS4.cjs.map +1 -0
  234. package/dist/{chunk-PDXZDPOY.cjs → chunk-PTJ5YZFY.cjs} +48 -47
  235. package/dist/chunk-PTJ5YZFY.cjs.map +1 -0
  236. package/dist/{chunk-YT3UWEVY.js → chunk-PUVBNGCF.js} +27 -17
  237. package/dist/chunk-PUVBNGCF.js.map +1 -0
  238. package/dist/chunk-PXIWITSS.js +414 -0
  239. package/dist/chunk-PXIWITSS.js.map +1 -0
  240. package/dist/{chunk-FVIEYPDB.js → chunk-PXTE3XRD.js} +19 -17
  241. package/dist/chunk-PXTE3XRD.js.map +1 -0
  242. package/dist/chunk-PXVVTPRJ.js +278 -0
  243. package/dist/chunk-PXVVTPRJ.js.map +1 -0
  244. package/dist/{chunk-ZC7H4S4T.cjs → chunk-PYPXJC35.cjs} +6 -7
  245. package/dist/chunk-PYPXJC35.cjs.map +1 -0
  246. package/dist/{chunk-GZ5SRSD4.js → chunk-PYW5UO2Z.js} +5 -4
  247. package/dist/chunk-PYW5UO2Z.js.map +1 -0
  248. package/dist/{chunk-YLXM3CGV.js → chunk-RKMW3ZOK.js} +5 -5
  249. package/dist/{chunk-YLXM3CGV.js.map → chunk-RKMW3ZOK.js.map} +1 -1
  250. package/dist/{chunk-7EXVJWG5.js → chunk-RNB4BDEG.js} +41 -35
  251. package/dist/chunk-RNB4BDEG.js.map +1 -0
  252. package/dist/{chunk-VIJHDURK.js → chunk-RQ5BMSGU.js} +5 -5
  253. package/dist/chunk-RQ5BMSGU.js.map +1 -0
  254. package/dist/{chunk-AZDWQGAX.cjs → chunk-RU6JG3FS.cjs} +25 -2
  255. package/dist/chunk-RU6JG3FS.cjs.map +1 -0
  256. package/dist/{chunk-YQJJCYJP.js → chunk-S4GLMGFI.js} +6 -6
  257. package/dist/{chunk-YQJJCYJP.js.map → chunk-S4GLMGFI.js.map} +1 -1
  258. package/dist/chunk-S54CKWKV.js +107 -0
  259. package/dist/chunk-S54CKWKV.js.map +1 -0
  260. package/dist/{chunk-ZHFAFEI2.js → chunk-SEAVOF6B.js} +5 -6
  261. package/dist/chunk-SEAVOF6B.js.map +1 -0
  262. package/dist/{chunk-VT7VKCHL.cjs → chunk-SFT5LCQP.cjs} +25 -27
  263. package/dist/chunk-SFT5LCQP.cjs.map +1 -0
  264. package/dist/{chunk-2FUG6NKO.js → chunk-SSOHJEHS.js} +9 -9
  265. package/dist/chunk-SSOHJEHS.js.map +1 -0
  266. package/dist/{chunk-5EQN3YMQ.cjs → chunk-TO3ZPSYO.cjs} +35 -35
  267. package/dist/chunk-TO3ZPSYO.cjs.map +1 -0
  268. package/dist/chunk-TRK2ZZFB.cjs +55 -0
  269. package/dist/chunk-TRK2ZZFB.cjs.map +1 -0
  270. package/dist/{chunk-6SPQDYHC.cjs → chunk-U2WVHZ24.cjs} +11 -22
  271. package/dist/chunk-U2WVHZ24.cjs.map +1 -0
  272. package/dist/chunk-UJODHP7E.cjs +280 -0
  273. package/dist/chunk-UJODHP7E.cjs.map +1 -0
  274. package/dist/{chunk-O5RVLBKN.cjs → chunk-UMGW7WJI.cjs} +14 -15
  275. package/dist/chunk-UMGW7WJI.cjs.map +1 -0
  276. package/dist/{chunk-TPSOUQG7.cjs → chunk-UR7RYJOU.cjs} +29 -28
  277. package/dist/chunk-UR7RYJOU.cjs.map +1 -0
  278. package/dist/{chunk-YZUBJ2L2.cjs → chunk-UX2Z7LRM.cjs} +17 -18
  279. package/dist/chunk-UX2Z7LRM.cjs.map +1 -0
  280. package/dist/chunk-UY3MYNI6.js +123 -0
  281. package/dist/chunk-UY3MYNI6.js.map +1 -0
  282. package/dist/{chunk-32XQJNKY.cjs → chunk-UYXQBM2B.cjs} +15 -15
  283. package/dist/{chunk-32XQJNKY.cjs.map → chunk-UYXQBM2B.cjs.map} +1 -1
  284. package/dist/{chunk-H6OY6FLC.js → chunk-VSEKSDTK.js} +16 -14
  285. package/dist/chunk-VSEKSDTK.js.map +1 -0
  286. package/dist/chunk-VXBVSYPA.cjs +109 -0
  287. package/dist/chunk-VXBVSYPA.cjs.map +1 -0
  288. package/dist/{chunk-IT72TF72.js → chunk-VYFMYXU4.js} +13 -12
  289. package/dist/chunk-VYFMYXU4.js.map +1 -0
  290. package/dist/{chunk-25OAUQRF.cjs → chunk-W3QVSVL7.cjs} +23 -22
  291. package/dist/chunk-W3QVSVL7.cjs.map +1 -0
  292. package/dist/chunk-W5G7ZDQ6.cjs +89 -0
  293. package/dist/chunk-W5G7ZDQ6.cjs.map +1 -0
  294. package/dist/chunk-WA4VZ363.cjs +259 -0
  295. package/dist/chunk-WA4VZ363.cjs.map +1 -0
  296. package/dist/chunk-WATCCAQU.js +53 -0
  297. package/dist/chunk-WATCCAQU.js.map +1 -0
  298. package/dist/{chunk-UWG5UQFV.cjs → chunk-WGCGHFXE.cjs} +26 -20
  299. package/dist/chunk-WGCGHFXE.cjs.map +1 -0
  300. package/dist/{chunk-2QM5XBX4.cjs → chunk-WMXIUOOU.cjs} +4 -4
  301. package/dist/{chunk-2QM5XBX4.cjs.map → chunk-WMXIUOOU.cjs.map} +1 -1
  302. package/dist/chunk-WNGBWUWZ.cjs +80 -0
  303. package/dist/chunk-WNGBWUWZ.cjs.map +1 -0
  304. package/dist/{chunk-3L3M7SJ3.js → chunk-WOIWI2UO.js} +3 -3
  305. package/dist/{chunk-3L3M7SJ3.js.map → chunk-WOIWI2UO.js.map} +1 -1
  306. package/dist/chunk-WWB4NSEY.cjs +226 -0
  307. package/dist/chunk-WWB4NSEY.cjs.map +1 -0
  308. package/dist/{chunk-NPJXGQOF.cjs → chunk-X5ZQRMEM.cjs} +116 -117
  309. package/dist/chunk-X5ZQRMEM.cjs.map +1 -0
  310. package/dist/chunk-XIFLSMGW.js +200 -0
  311. package/dist/chunk-XIFLSMGW.js.map +1 -0
  312. package/dist/chunk-XM3AZXOA.js +224 -0
  313. package/dist/chunk-XM3AZXOA.js.map +1 -0
  314. package/dist/{chunk-NJDV3LDH.js → chunk-XQU4ECJY.js} +17 -18
  315. package/dist/chunk-XQU4ECJY.js.map +1 -0
  316. package/dist/{chunk-WBPIJ4D5.js → chunk-XSQOHNIF.js} +5 -5
  317. package/dist/chunk-XSQOHNIF.js.map +1 -0
  318. package/dist/{chunk-E7EO3YVJ.js → chunk-XVRQSTUF.js} +3 -3
  319. package/dist/{chunk-E7EO3YVJ.js.map → chunk-XVRQSTUF.js.map} +1 -1
  320. package/dist/{chunk-WE3ECIRS.cjs → chunk-Y5SXQR52.cjs} +50 -47
  321. package/dist/chunk-Y5SXQR52.cjs.map +1 -0
  322. package/dist/chunk-YAIEA2YE.cjs +203 -0
  323. package/dist/chunk-YAIEA2YE.cjs.map +1 -0
  324. package/dist/chunk-YAYINZT2.cjs +42 -0
  325. package/dist/chunk-YAYINZT2.cjs.map +1 -0
  326. package/dist/{chunk-NILB6Y4Z.cjs → chunk-YBPG5RPR.cjs} +32 -146
  327. package/dist/chunk-YBPG5RPR.cjs.map +1 -0
  328. package/dist/{chunk-HPZ7LLXK.js → chunk-YGYA4BYN.js} +11 -12
  329. package/dist/chunk-YGYA4BYN.js.map +1 -0
  330. package/dist/{chunk-VL6IDFI2.js → chunk-YJJOKZN2.js} +4 -4
  331. package/dist/{chunk-VL6IDFI2.js.map → chunk-YJJOKZN2.js.map} +1 -1
  332. package/dist/chunk-YXYD5HKL.cjs +109 -0
  333. package/dist/chunk-YXYD5HKL.cjs.map +1 -0
  334. package/dist/{chunk-5OS5A27C.js → chunk-ZC6GLBEL.js} +6 -6
  335. package/dist/chunk-ZC6GLBEL.js.map +1 -0
  336. package/dist/chunk-ZH3GKYUZ.js +199 -0
  337. package/dist/chunk-ZH3GKYUZ.js.map +1 -0
  338. package/dist/chunk-ZNPTARIS.cjs +52 -0
  339. package/dist/chunk-ZNPTARIS.cjs.map +1 -0
  340. package/dist/{chunk-OKKL652L.js → chunk-ZNUOFLCQ.js} +5 -15
  341. package/dist/chunk-ZNUOFLCQ.js.map +1 -0
  342. package/dist/{chunk-VVYUCQHP.js → chunk-ZNZ67KFM.js} +17 -23
  343. package/dist/chunk-ZNZ67KFM.js.map +1 -0
  344. package/dist/{chunk-WIIDQ44X.cjs → chunk-ZTQQ2O6O.cjs} +27 -24
  345. package/dist/chunk-ZTQQ2O6O.cjs.map +1 -0
  346. package/dist/{chunk-HWCL6JFB.js → chunk-ZW2ATXTL.js} +10 -9
  347. package/dist/chunk-ZW2ATXTL.js.map +1 -0
  348. package/dist/{chunk-LFZXGIR6.cjs → chunk-ZXPKFGRB.cjs} +48 -46
  349. package/dist/chunk-ZXPKFGRB.cjs.map +1 -0
  350. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  351. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  352. package/dist/components/Accordion/AccordionItem.recipe.d.ts +17 -0
  353. package/dist/components/Accordion/AccordionItem.recipe.d.ts.map +1 -0
  354. package/dist/components/Accordion/index.cjs +9 -7
  355. package/dist/components/Accordion/index.js +6 -4
  356. package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
  357. package/dist/components/Alert/Alert.d.ts +13 -4
  358. package/dist/components/Alert/Alert.d.ts.map +1 -1
  359. package/dist/components/Alert/Alert.recipe.d.ts +119 -25
  360. package/dist/components/Alert/Alert.recipe.d.ts.map +1 -1
  361. package/dist/components/Alert/index.cjs +15 -16
  362. package/dist/components/Alert/index.d.ts +0 -1
  363. package/dist/components/Alert/index.d.ts.map +1 -1
  364. package/dist/components/Alert/index.js +14 -11
  365. package/dist/components/AlertDialog/AlertDialog.d.ts +1 -1
  366. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  367. package/dist/components/AlertDialog/index.cjs +19 -16
  368. package/dist/components/AlertDialog/index.js +17 -14
  369. package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
  370. package/dist/components/AppShell/AppShell.d.ts +2 -2
  371. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  372. package/dist/components/AppShell/index.cjs +24 -25
  373. package/dist/components/AppShell/index.d.ts +0 -1
  374. package/dist/components/AppShell/index.d.ts.map +1 -1
  375. package/dist/components/AppShell/index.js +21 -18
  376. package/dist/components/AspectRatio/index.cjs +4 -8
  377. package/dist/components/AspectRatio/index.d.ts +0 -1
  378. package/dist/components/AspectRatio/index.d.ts.map +1 -1
  379. package/dist/components/AspectRatio/index.js +3 -3
  380. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  381. package/dist/components/AutocompleteInput/index.cjs +24 -20
  382. package/dist/components/AutocompleteInput/index.js +20 -16
  383. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  384. package/dist/components/Avatar/Avatar.recipe.d.ts +11 -9
  385. package/dist/components/Avatar/Avatar.recipe.d.ts.map +1 -1
  386. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  387. package/dist/components/Avatar/index.cjs +9 -11
  388. package/dist/components/Avatar/index.d.ts +0 -1
  389. package/dist/components/Avatar/index.d.ts.map +1 -1
  390. package/dist/components/Avatar/index.js +6 -4
  391. package/dist/components/AvatarGroup/index.cjs +9 -11
  392. package/dist/components/AvatarGroup/index.d.ts +0 -1
  393. package/dist/components/AvatarGroup/index.d.ts.map +1 -1
  394. package/dist/components/AvatarGroup/index.js +7 -5
  395. package/dist/components/Badge/Badge.d.ts +8 -2
  396. package/dist/components/Badge/Badge.d.ts.map +1 -1
  397. package/dist/components/Badge/index.cjs +5 -9
  398. package/dist/components/Badge/index.d.ts +0 -1
  399. package/dist/components/Badge/index.d.ts.map +1 -1
  400. package/dist/components/Badge/index.js +4 -4
  401. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  402. package/dist/components/Blockquote/Blockquote.recipe.d.ts +4 -0
  403. package/dist/components/Blockquote/Blockquote.recipe.d.ts.map +1 -0
  404. package/dist/components/Blockquote/index.cjs +11 -44
  405. package/dist/components/Blockquote/index.cjs.map +1 -1
  406. package/dist/components/Blockquote/index.js +6 -46
  407. package/dist/components/Blockquote/index.js.map +1 -1
  408. package/dist/components/Breadcrumbs/index.cjs +12 -11
  409. package/dist/components/Breadcrumbs/index.js +9 -8
  410. package/dist/components/Button/Button.d.ts.map +1 -1
  411. package/dist/components/Button/Button.recipe.d.ts +2 -2
  412. package/dist/components/Button/index.cjs +14 -15
  413. package/dist/components/Button/index.d.ts +0 -1
  414. package/dist/components/Button/index.d.ts.map +1 -1
  415. package/dist/components/Button/index.js +13 -10
  416. package/dist/components/ButtonGroup/ButtonGroup.recipe.d.ts +4 -4
  417. package/dist/components/ButtonGroup/ButtonGroup.recipe.d.ts.map +1 -1
  418. package/dist/components/ButtonGroup/index.cjs +4 -8
  419. package/dist/components/ButtonGroup/index.d.ts +0 -1
  420. package/dist/components/ButtonGroup/index.d.ts.map +1 -1
  421. package/dist/components/ButtonGroup/index.js +3 -3
  422. package/dist/components/Calendar/index.cjs +15 -12
  423. package/dist/components/Calendar/index.js +14 -11
  424. package/dist/components/Card/Card.d.ts +16 -4
  425. package/dist/components/Card/Card.d.ts.map +1 -1
  426. package/dist/components/Card/Card.recipe.d.ts +18 -0
  427. package/dist/components/Card/Card.recipe.d.ts.map +1 -1
  428. package/dist/components/Card/index.cjs +4 -8
  429. package/dist/components/Card/index.d.ts +1 -2
  430. package/dist/components/Card/index.d.ts.map +1 -1
  431. package/dist/components/Card/index.js +3 -3
  432. package/dist/components/Center/Center.recipe.d.ts +0 -1
  433. package/dist/components/Center/Center.recipe.d.ts.map +1 -1
  434. package/dist/components/Center/index.cjs +4 -8
  435. package/dist/components/Center/index.d.ts +0 -1
  436. package/dist/components/Center/index.d.ts.map +1 -1
  437. package/dist/components/Center/index.js +3 -3
  438. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  439. package/dist/components/CheckboxInput/index.cjs +16 -14
  440. package/dist/components/CheckboxInput/index.js +15 -13
  441. package/dist/components/CodeBlock/CodeBlock.d.ts +6 -4
  442. package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
  443. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +87 -0
  444. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts.map +1 -0
  445. package/dist/components/CodeBlock/index.cjs +17 -12
  446. package/dist/components/CodeBlock/index.js +16 -11
  447. package/dist/components/ContextMenu/index.cjs +20 -17
  448. package/dist/components/ContextMenu/index.js +18 -15
  449. package/dist/components/DateInput/DateInput.d.ts +1 -1
  450. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  451. package/dist/components/DateInput/index.cjs +21 -17
  452. package/dist/components/DateInput/index.js +20 -16
  453. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  454. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  455. package/dist/components/DateRangeInput/index.cjs +21 -17
  456. package/dist/components/DateRangeInput/index.js +20 -16
  457. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  458. package/dist/components/DateTimeInput/index.cjs +23 -19
  459. package/dist/components/DateTimeInput/index.js +22 -18
  460. package/dist/components/Dialog/Dialog.d.ts +7 -2
  461. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  462. package/dist/components/Dialog/Dialog.recipe.d.ts +13 -10
  463. package/dist/components/Dialog/Dialog.recipe.d.ts.map +1 -1
  464. package/dist/components/Dialog/DialogContext.d.ts +6 -0
  465. package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
  466. package/dist/components/Dialog/index.cjs +10 -12
  467. package/dist/components/Dialog/index.d.ts +0 -1
  468. package/dist/components/Dialog/index.d.ts.map +1 -1
  469. package/dist/components/Dialog/index.js +6 -4
  470. package/dist/components/Divider/Divider.d.ts +11 -1
  471. package/dist/components/Divider/Divider.d.ts.map +1 -1
  472. package/dist/components/Divider/Divider.recipe.d.ts +35 -10
  473. package/dist/components/Divider/Divider.recipe.d.ts.map +1 -1
  474. package/dist/components/Divider/index.cjs +6 -8
  475. package/dist/components/Divider/index.d.ts +0 -1
  476. package/dist/components/Divider/index.d.ts.map +1 -1
  477. package/dist/components/Divider/index.js +5 -3
  478. package/dist/components/Drawer/index.cjs +13 -197
  479. package/dist/components/Drawer/index.cjs.map +1 -1
  480. package/dist/components/Drawer/index.js +4 -198
  481. package/dist/components/Drawer/index.js.map +1 -1
  482. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  483. package/dist/components/DropdownMenu/index.cjs +21 -18
  484. package/dist/components/DropdownMenu/index.js +17 -14
  485. package/dist/components/EmptyState/index.cjs +8 -11
  486. package/dist/components/EmptyState/index.d.ts +0 -1
  487. package/dist/components/EmptyState/index.d.ts.map +1 -1
  488. package/dist/components/EmptyState/index.js +7 -6
  489. package/dist/components/Field/Field.d.ts +22 -10
  490. package/dist/components/Field/Field.d.ts.map +1 -1
  491. package/dist/components/Field/Field.recipe.d.ts +33 -24
  492. package/dist/components/Field/Field.recipe.d.ts.map +1 -1
  493. package/dist/components/Field/index.cjs +14 -24
  494. package/dist/components/Field/index.d.ts +1 -3
  495. package/dist/components/Field/index.d.ts.map +1 -1
  496. package/dist/components/Field/index.js +11 -9
  497. package/dist/components/Field/inputStyles.d.ts +0 -1
  498. package/dist/components/Field/inputStyles.d.ts.map +1 -1
  499. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  500. package/dist/components/FileInput/index.cjs +20 -13
  501. package/dist/components/FileInput/index.js +19 -12
  502. package/dist/components/HoverCard/index.cjs +6 -5
  503. package/dist/components/HoverCard/index.js +4 -3
  504. package/dist/components/Icon/index.cjs +4 -8
  505. package/dist/components/Icon/index.d.ts +0 -1
  506. package/dist/components/Icon/index.d.ts.map +1 -1
  507. package/dist/components/Icon/index.js +3 -3
  508. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  509. package/dist/components/InputGroup/index.cjs +16 -14
  510. package/dist/components/InputGroup/index.js +12 -10
  511. package/dist/components/Item/Item.d.ts.map +1 -1
  512. package/dist/components/Item/index.cjs +11 -10
  513. package/dist/components/Item/index.js +10 -9
  514. package/dist/components/Kbd/Kbd.d.ts.map +1 -1
  515. package/dist/components/Kbd/Kbd.recipe.d.ts +28 -13
  516. package/dist/components/Kbd/Kbd.recipe.d.ts.map +1 -1
  517. package/dist/components/Kbd/index.cjs +6 -4
  518. package/dist/components/Kbd/index.js +5 -3
  519. package/dist/components/Layout/Layout.d.ts +3 -2
  520. package/dist/components/Layout/Layout.d.ts.map +1 -1
  521. package/dist/components/Layout/LayoutContent.d.ts +2 -2
  522. package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
  523. package/dist/components/Layout/LayoutFooter.d.ts +2 -2
  524. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  525. package/dist/components/Layout/LayoutHeader.d.ts +2 -2
  526. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  527. package/dist/components/Layout/LayoutPanel.d.ts +2 -2
  528. package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
  529. package/dist/components/Layout/index.cjs +20 -21
  530. package/dist/components/Layout/index.d.ts +1 -2
  531. package/dist/components/Layout/index.d.ts.map +1 -1
  532. package/dist/components/Layout/index.js +15 -12
  533. package/dist/components/Layout/types.d.ts +1 -1
  534. package/dist/components/Layout/types.d.ts.map +1 -1
  535. package/dist/components/Lightbox/index.cjs +16 -13
  536. package/dist/components/Lightbox/index.js +14 -11
  537. package/dist/components/Link/index.cjs +11 -14
  538. package/dist/components/Link/index.d.ts +0 -1
  539. package/dist/components/Link/index.d.ts.map +1 -1
  540. package/dist/components/Link/index.js +8 -7
  541. package/dist/components/List/ListItem.d.ts.map +1 -1
  542. package/dist/components/List/index.cjs +13 -12
  543. package/dist/components/List/index.js +11 -10
  544. package/dist/components/MetadataList/index.cjs +10 -9
  545. package/dist/components/MetadataList/index.js +8 -7
  546. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  547. package/dist/components/MultiSelect/index.cjs +22 -18
  548. package/dist/components/MultiSelect/index.js +21 -17
  549. package/dist/components/NavIcon/index.cjs +8 -36
  550. package/dist/components/NavIcon/index.cjs.map +1 -1
  551. package/dist/components/NavIcon/index.js +3 -38
  552. package/dist/components/NavIcon/index.js.map +1 -1
  553. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  554. package/dist/components/NumberInput/index.cjs +21 -14
  555. package/dist/components/NumberInput/index.js +20 -13
  556. package/dist/components/Pagination/index.cjs +15 -12
  557. package/dist/components/Pagination/index.js +14 -11
  558. package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
  559. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  560. package/dist/components/PasswordInput/index.cjs +25 -54
  561. package/dist/components/PasswordInput/index.cjs.map +1 -1
  562. package/dist/components/PasswordInput/index.js +20 -56
  563. package/dist/components/PasswordInput/index.js.map +1 -1
  564. package/dist/components/Popover/Popover.d.ts +1 -1
  565. package/dist/components/Popover/Popover.d.ts.map +1 -1
  566. package/dist/components/Popover/index.cjs +16 -13
  567. package/dist/components/Popover/index.js +14 -11
  568. package/dist/components/Progress/index.cjs +5 -9
  569. package/dist/components/Progress/index.d.ts +0 -1
  570. package/dist/components/Progress/index.d.ts.map +1 -1
  571. package/dist/components/Progress/index.js +4 -4
  572. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  573. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +90 -0
  574. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts.map +1 -0
  575. package/dist/components/RadioGroup/RadioGroupContext.d.ts +1 -1
  576. package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
  577. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  578. package/dist/components/RadioGroup/index.cjs +17 -15
  579. package/dist/components/RadioGroup/index.js +15 -13
  580. package/dist/components/Rating/Rating.d.ts.map +1 -1
  581. package/dist/components/Rating/Rating.recipe.d.ts +23 -0
  582. package/dist/components/Rating/Rating.recipe.d.ts.map +1 -0
  583. package/dist/components/Rating/index.cjs +13 -179
  584. package/dist/components/Rating/index.cjs.map +1 -1
  585. package/dist/components/Rating/index.js +8 -181
  586. package/dist/components/Rating/index.js.map +1 -1
  587. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  588. package/dist/components/Schedule/index.cjs +30 -27
  589. package/dist/components/Schedule/index.js +19 -16
  590. package/dist/components/SearchFilterInput/index.cjs +40 -36
  591. package/dist/components/SearchFilterInput/index.js +32 -28
  592. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -1
  593. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  594. package/dist/components/SegmentedControl/index.cjs +7 -7
  595. package/dist/components/SegmentedControl/index.js +5 -5
  596. package/dist/components/Select/Select.d.ts.map +1 -1
  597. package/dist/components/Select/index.cjs +23 -19
  598. package/dist/components/Select/index.js +21 -17
  599. package/dist/components/SideNav/SideNav.recipe.d.ts.map +1 -1
  600. package/dist/components/SideNav/index.cjs +22 -23
  601. package/dist/components/SideNav/index.d.ts +0 -1
  602. package/dist/components/SideNav/index.d.ts.map +1 -1
  603. package/dist/components/SideNav/index.js +16 -13
  604. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  605. package/dist/components/Skeleton/Skeleton.recipe.d.ts +28 -0
  606. package/dist/components/Skeleton/Skeleton.recipe.d.ts.map +1 -0
  607. package/dist/components/Skeleton/index.cjs +4 -3
  608. package/dist/components/Skeleton/index.js +3 -2
  609. package/dist/components/Slider/Slider.d.ts.map +1 -1
  610. package/dist/components/Slider/Slider.recipe.d.ts +99 -0
  611. package/dist/components/Slider/Slider.recipe.d.ts.map +1 -0
  612. package/dist/components/Slider/index.cjs +13 -11
  613. package/dist/components/Slider/index.js +12 -10
  614. package/dist/components/Spinner/Spinner.d.ts +6 -6
  615. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  616. package/dist/components/Spinner/Spinner.recipe.d.ts +25 -12
  617. package/dist/components/Spinner/Spinner.recipe.d.ts.map +1 -1
  618. package/dist/components/Spinner/index.cjs +9 -11
  619. package/dist/components/Spinner/index.d.ts +0 -1
  620. package/dist/components/Spinner/index.d.ts.map +1 -1
  621. package/dist/components/Spinner/index.js +8 -6
  622. package/dist/components/SplitButton/SplitButton.d.ts +89 -0
  623. package/dist/components/SplitButton/SplitButton.d.ts.map +1 -0
  624. package/dist/components/SplitButton/index.cjs +34 -0
  625. package/dist/components/SplitButton/index.cjs.map +1 -0
  626. package/dist/components/SplitButton/index.d.ts +2 -0
  627. package/dist/components/SplitButton/index.d.ts.map +1 -0
  628. package/dist/components/SplitButton/index.js +25 -0
  629. package/dist/components/SplitButton/index.js.map +1 -0
  630. package/dist/components/Stack/Stack.d.ts +2 -2
  631. package/dist/components/Stack/Stack.d.ts.map +1 -1
  632. package/dist/components/Stack/index.cjs +5 -9
  633. package/dist/components/Stack/index.d.ts +0 -1
  634. package/dist/components/Stack/index.d.ts.map +1 -1
  635. package/dist/components/Stack/index.js +3 -3
  636. package/dist/components/Stepper/index.cjs +11 -10
  637. package/dist/components/Stepper/index.js +8 -7
  638. package/dist/components/Switch/Switch.d.ts.map +1 -1
  639. package/dist/components/Switch/Switch.recipe.d.ts +60 -0
  640. package/dist/components/Switch/Switch.recipe.d.ts.map +1 -0
  641. package/dist/components/Switch/index.cjs +13 -11
  642. package/dist/components/Switch/index.js +12 -10
  643. package/dist/components/Table/TableCell.d.ts.map +1 -1
  644. package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
  645. package/dist/components/Table/index.cjs +64 -60
  646. package/dist/components/Table/index.js +36 -32
  647. package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  648. package/dist/components/Tabs/Tabs.d.ts +5 -0
  649. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  650. package/dist/components/Tabs/index.cjs +20 -17
  651. package/dist/components/Tabs/index.js +15 -12
  652. package/dist/components/Tag/index.cjs +10 -13
  653. package/dist/components/Tag/index.d.ts +0 -1
  654. package/dist/components/Tag/index.d.ts.map +1 -1
  655. package/dist/components/Tag/index.js +9 -8
  656. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  657. package/dist/components/TagsInput/index.cjs +22 -18
  658. package/dist/components/TagsInput/index.js +21 -17
  659. package/dist/components/Text/index.cjs +8 -15
  660. package/dist/components/Text/index.d.ts +0 -1
  661. package/dist/components/Text/index.d.ts.map +1 -1
  662. package/dist/components/Text/index.js +6 -5
  663. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  664. package/dist/components/TextArea/index.cjs +16 -13
  665. package/dist/components/TextArea/index.js +15 -12
  666. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  667. package/dist/components/TextInput/index.cjs +21 -14
  668. package/dist/components/TextInput/index.js +20 -13
  669. package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
  670. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +36 -0
  671. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts.map +1 -0
  672. package/dist/components/Thumbnail/index.cjs +16 -13
  673. package/dist/components/Thumbnail/index.js +15 -12
  674. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  675. package/dist/components/TimeInput/index.cjs +20 -13
  676. package/dist/components/TimeInput/index.js +19 -12
  677. package/dist/components/Toast/index.cjs +17 -14
  678. package/dist/components/Toast/index.js +14 -11
  679. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
  680. package/dist/components/ToggleButton/index.cjs +13 -14
  681. package/dist/components/ToggleButton/index.js +11 -12
  682. package/dist/components/Tooltip/index.cjs +6 -5
  683. package/dist/components/Tooltip/index.js +4 -3
  684. package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
  685. package/dist/components/TopNav/index.cjs +22 -23
  686. package/dist/components/TopNav/index.d.ts +0 -1
  687. package/dist/components/TopNav/index.d.ts.map +1 -1
  688. package/dist/components/TopNav/index.js +16 -13
  689. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  690. package/dist/components/TreeView/index.cjs +5 -5
  691. package/dist/components/TreeView/index.js +4 -4
  692. package/dist/index.cjs +590 -337
  693. package/dist/index.cjs.map +1 -1
  694. package/dist/index.d.ts +28 -22
  695. package/dist/index.d.ts.map +1 -1
  696. package/dist/index.js +385 -77
  697. package/dist/index.js.map +1 -1
  698. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  699. package/dist/internal/spacingTokens.d.ts +8 -0
  700. package/dist/internal/spacingTokens.d.ts.map +1 -0
  701. package/dist/styles.css +1 -1
  702. package/dist/themes/presets.d.ts +48 -0
  703. package/dist/themes/presets.d.ts.map +1 -0
  704. package/package.json +12 -2
  705. package/dist/chunk-25OAUQRF.cjs.map +0 -1
  706. package/dist/chunk-2FPZULX3.cjs.map +0 -1
  707. package/dist/chunk-2FUG6NKO.js.map +0 -1
  708. package/dist/chunk-2PHHFBJ3.cjs.map +0 -1
  709. package/dist/chunk-2QK2NZN5.js.map +0 -1
  710. package/dist/chunk-2UTRYTT3.cjs.map +0 -1
  711. package/dist/chunk-2WP6NYYY.cjs +0 -113
  712. package/dist/chunk-2WP6NYYY.cjs.map +0 -1
  713. package/dist/chunk-2XCNB2O6.js.map +0 -1
  714. package/dist/chunk-3DE4GOZU.js +0 -207
  715. package/dist/chunk-3DE4GOZU.js.map +0 -1
  716. package/dist/chunk-3PSQDJQH.js.map +0 -1
  717. package/dist/chunk-47BELFYO.cjs.map +0 -1
  718. package/dist/chunk-4W7L63LH.js.map +0 -1
  719. package/dist/chunk-4XRVXUJQ.cjs +0 -242
  720. package/dist/chunk-4XRVXUJQ.cjs.map +0 -1
  721. package/dist/chunk-5EQN3YMQ.cjs.map +0 -1
  722. package/dist/chunk-5OS5A27C.js.map +0 -1
  723. package/dist/chunk-6NIFOTUZ.cjs.map +0 -1
  724. package/dist/chunk-6SPQDYHC.cjs.map +0 -1
  725. package/dist/chunk-6UVJUY7Z.cjs.map +0 -1
  726. package/dist/chunk-7EXVJWG5.js.map +0 -1
  727. package/dist/chunk-AFT635BR.cjs +0 -308
  728. package/dist/chunk-AFT635BR.cjs.map +0 -1
  729. package/dist/chunk-AZDWQGAX.cjs.map +0 -1
  730. package/dist/chunk-BCJ25X7C.js.map +0 -1
  731. package/dist/chunk-BSBEPQLM.cjs.map +0 -1
  732. package/dist/chunk-CA6645TQ.js.map +0 -1
  733. package/dist/chunk-CR4NB42L.cjs.map +0 -1
  734. package/dist/chunk-CVH6X6ND.js +0 -125
  735. package/dist/chunk-CVH6X6ND.js.map +0 -1
  736. package/dist/chunk-CWUC4TOQ.js.map +0 -1
  737. package/dist/chunk-CXBB2LN7.js.map +0 -1
  738. package/dist/chunk-CZJUKLFD.cjs.map +0 -1
  739. package/dist/chunk-D6KXW75E.js.map +0 -1
  740. package/dist/chunk-DFF72N57.js.map +0 -1
  741. package/dist/chunk-DHUK3GNK.cjs +0 -258
  742. package/dist/chunk-DHUK3GNK.cjs.map +0 -1
  743. package/dist/chunk-DJW7T3WJ.js.map +0 -1
  744. package/dist/chunk-DONU5ALC.cjs.map +0 -1
  745. package/dist/chunk-E4TIWN4Z.cjs.map +0 -1
  746. package/dist/chunk-EB5EHX6I.js.map +0 -1
  747. package/dist/chunk-EBUSMPS6.js +0 -306
  748. package/dist/chunk-EBUSMPS6.js.map +0 -1
  749. package/dist/chunk-EETTQWW5.cjs.map +0 -1
  750. package/dist/chunk-EHBV6ZMM.js +0 -239
  751. package/dist/chunk-EHBV6ZMM.js.map +0 -1
  752. package/dist/chunk-EM2F6BZ2.js.map +0 -1
  753. package/dist/chunk-FVIEYPDB.js.map +0 -1
  754. package/dist/chunk-G44NDBPN.cjs +0 -62
  755. package/dist/chunk-G44NDBPN.cjs.map +0 -1
  756. package/dist/chunk-GKG47NK6.cjs.map +0 -1
  757. package/dist/chunk-GUF4ZNPQ.js.map +0 -1
  758. package/dist/chunk-GZ5SRSD4.js.map +0 -1
  759. package/dist/chunk-H6OY6FLC.js.map +0 -1
  760. package/dist/chunk-HPZ7LLXK.js.map +0 -1
  761. package/dist/chunk-HWCL6JFB.js.map +0 -1
  762. package/dist/chunk-HXT6A6GH.cjs.map +0 -1
  763. package/dist/chunk-I6IGTQLG.cjs +0 -251
  764. package/dist/chunk-I6IGTQLG.cjs.map +0 -1
  765. package/dist/chunk-IT72TF72.js.map +0 -1
  766. package/dist/chunk-IWSS5745.js.map +0 -1
  767. package/dist/chunk-JCYPM27J.js.map +0 -1
  768. package/dist/chunk-K574UTWP.cjs.map +0 -1
  769. package/dist/chunk-KVREBGWA.js.map +0 -1
  770. package/dist/chunk-KXXRALHT.cjs.map +0 -1
  771. package/dist/chunk-KXXTWWJZ.cjs.map +0 -1
  772. package/dist/chunk-LBRKUZSQ.cjs.map +0 -1
  773. package/dist/chunk-LFZXGIR6.cjs.map +0 -1
  774. package/dist/chunk-MCOVG6W6.js.map +0 -1
  775. package/dist/chunk-MKAOIB2O.cjs.map +0 -1
  776. package/dist/chunk-NGWNIMMX.js +0 -247
  777. package/dist/chunk-NGWNIMMX.js.map +0 -1
  778. package/dist/chunk-NILB6Y4Z.cjs.map +0 -1
  779. package/dist/chunk-NJDV3LDH.js.map +0 -1
  780. package/dist/chunk-NMHCRHRI.cjs.map +0 -1
  781. package/dist/chunk-NOZ6U6ZJ.js.map +0 -1
  782. package/dist/chunk-NPJXGQOF.cjs.map +0 -1
  783. package/dist/chunk-NSHWBZL4.cjs.map +0 -1
  784. package/dist/chunk-O5RVLBKN.cjs.map +0 -1
  785. package/dist/chunk-OA4KIVLO.cjs.map +0 -1
  786. package/dist/chunk-OAUKYH6C.cjs.map +0 -1
  787. package/dist/chunk-OKKL652L.js.map +0 -1
  788. package/dist/chunk-OZNNBPMP.cjs +0 -288
  789. package/dist/chunk-OZNNBPMP.cjs.map +0 -1
  790. package/dist/chunk-P5AZUUM2.cjs.map +0 -1
  791. package/dist/chunk-PDXZDPOY.cjs.map +0 -1
  792. package/dist/chunk-PGKOWMP4.js.map +0 -1
  793. package/dist/chunk-PHFEQG4E.cjs.map +0 -1
  794. package/dist/chunk-PZO5MZ46.js.map +0 -1
  795. package/dist/chunk-QFO5ZTZZ.js.map +0 -1
  796. package/dist/chunk-QRDRZNCS.cjs.map +0 -1
  797. package/dist/chunk-QRXMW7MQ.cjs.map +0 -1
  798. package/dist/chunk-QXI446BK.cjs +0 -209
  799. package/dist/chunk-QXI446BK.cjs.map +0 -1
  800. package/dist/chunk-R2NQNVEV.js.map +0 -1
  801. package/dist/chunk-RCAA2CZJ.js.map +0 -1
  802. package/dist/chunk-RGPL6EDK.js +0 -110
  803. package/dist/chunk-RGPL6EDK.js.map +0 -1
  804. package/dist/chunk-RJXHAQCR.cjs.map +0 -1
  805. package/dist/chunk-RLQYXUDO.js +0 -59
  806. package/dist/chunk-RLQYXUDO.js.map +0 -1
  807. package/dist/chunk-S5NFDKPL.js.map +0 -1
  808. package/dist/chunk-T55MB2CA.js.map +0 -1
  809. package/dist/chunk-TPSOUQG7.cjs.map +0 -1
  810. package/dist/chunk-U35V3GVC.js.map +0 -1
  811. package/dist/chunk-UHQRL4OA.js.map +0 -1
  812. package/dist/chunk-UWG5UQFV.cjs.map +0 -1
  813. package/dist/chunk-UZNSGQT3.cjs.map +0 -1
  814. package/dist/chunk-VIJHDURK.js.map +0 -1
  815. package/dist/chunk-VLIQPSPM.js.map +0 -1
  816. package/dist/chunk-VT7VKCHL.cjs.map +0 -1
  817. package/dist/chunk-VTQRXV32.js +0 -565
  818. package/dist/chunk-VTQRXV32.js.map +0 -1
  819. package/dist/chunk-VVYUCQHP.js.map +0 -1
  820. package/dist/chunk-WA4DRAQ7.js.map +0 -1
  821. package/dist/chunk-WBPIJ4D5.js.map +0 -1
  822. package/dist/chunk-WE3ECIRS.cjs.map +0 -1
  823. package/dist/chunk-WEEYUS7M.cjs.map +0 -1
  824. package/dist/chunk-WIIDQ44X.cjs.map +0 -1
  825. package/dist/chunk-WIW2YR46.js.map +0 -1
  826. package/dist/chunk-WM66IPV4.cjs +0 -567
  827. package/dist/chunk-WM66IPV4.cjs.map +0 -1
  828. package/dist/chunk-WSAZHUB3.cjs.map +0 -1
  829. package/dist/chunk-XQMLA75S.js.map +0 -1
  830. package/dist/chunk-Y73472IA.js.map +0 -1
  831. package/dist/chunk-YHR44PWO.js.map +0 -1
  832. package/dist/chunk-YMC56K6R.cjs.map +0 -1
  833. package/dist/chunk-YOFCBZAX.js +0 -286
  834. package/dist/chunk-YOFCBZAX.js.map +0 -1
  835. package/dist/chunk-YOWRLFMF.cjs +0 -128
  836. package/dist/chunk-YOWRLFMF.cjs.map +0 -1
  837. package/dist/chunk-YRXGCYT2.js.map +0 -1
  838. package/dist/chunk-YT3UWEVY.js.map +0 -1
  839. package/dist/chunk-YX7DI3O3.cjs.map +0 -1
  840. package/dist/chunk-YZUBJ2L2.cjs.map +0 -1
  841. package/dist/chunk-Z2STCD6I.js.map +0 -1
  842. package/dist/chunk-ZC7H4S4T.cjs.map +0 -1
  843. package/dist/chunk-ZHFAFEI2.js.map +0 -1
  844. package/dist/chunk-ZVBVKZ4P.cjs.map +0 -1
  845. package/dist/chunk-ZW4XKNDR.cjs.map +0 -1
@@ -0,0 +1,280 @@
1
+ import { Button } from './chunk-HLN3JQYD.js';
2
+ import { Text } from './chunk-J2FCNWYM.js';
3
+ import { sva } from './chunk-EHCAF6D3.js';
4
+ import { Icon } from './chunk-7T3SWOY7.js';
5
+ import { cx } from './chunk-PPNETWIP.js';
6
+ import { ChevronDown, X, TriangleAlert, CheckCircle2, Info, XCircle } from 'lucide-react';
7
+ import { useId, useState } from 'react';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+
10
+ // src/components/Alert/Alert.recipe.ts
11
+ var paddingVariants = {
12
+ 0: { bodyContent: { px: "0", py: "0" } },
13
+ 0.5: { bodyContent: { px: "0.5", py: "0.5" } },
14
+ 1: { bodyContent: { px: "1", py: "1" } },
15
+ 1.5: { bodyContent: { px: "1.5", py: "1.5" } },
16
+ 2: { bodyContent: { px: "2", py: "2" } },
17
+ 3: { bodyContent: { px: "3", py: "3" } },
18
+ 4: { bodyContent: { px: "4", py: "4" } },
19
+ 5: { bodyContent: { px: "5", py: "5" } },
20
+ 6: { bodyContent: { px: "6", py: "6" } },
21
+ 8: { bodyContent: { px: "8", py: "8" } },
22
+ 10: { bodyContent: { px: "10", py: "10" } }
23
+ };
24
+ var alertRecipe = sva({
25
+ slots: [
26
+ "root",
27
+ "header",
28
+ "icon",
29
+ "content",
30
+ "endArea",
31
+ "chevron",
32
+ "body",
33
+ "bodyContent"
34
+ ],
35
+ base: {
36
+ root: {
37
+ display: "flex",
38
+ flexDirection: "column",
39
+ fontFamily: "body"
40
+ },
41
+ header: {
42
+ display: "flex",
43
+ alignItems: "flex-start",
44
+ gap: "2",
45
+ px: "4",
46
+ py: "3"
47
+ },
48
+ icon: {
49
+ display: "inline-flex",
50
+ alignItems: "center",
51
+ flexShrink: 0
52
+ },
53
+ content: {
54
+ display: "flex",
55
+ flex: 1,
56
+ flexDirection: "column",
57
+ minW: 0
58
+ },
59
+ endArea: {
60
+ display: "flex",
61
+ alignItems: "center",
62
+ flexShrink: 0,
63
+ gap: "2",
64
+ ms: "auto"
65
+ },
66
+ // The body stays mounted so child state and the `aria-controls` target are
67
+ // preserved; it is collapsed with a `grid-template-rows` 1fr -> 0fr
68
+ // transition (mirroring `AccordionItem`). `overflow: hidden` lives on this
69
+ // grid so the body chrome on `bodyContent` is fully clipped when collapsed.
70
+ body: {
71
+ display: "grid",
72
+ gridTemplateRows: "1fr",
73
+ overflow: "hidden",
74
+ // `visibility` is transitioned alongside the rows so the content stays
75
+ // readable while collapsing, then becomes `hidden` (removing it from the
76
+ // a11y tree and tab order) once closed. The inline `visibility` style in
77
+ // the component drives the open/closed value.
78
+ transitionProperty: "grid-template-rows, visibility",
79
+ transitionDuration: "normal",
80
+ transitionTimingFunction: "default",
81
+ "@media (prefers-reduced-motion: reduce)": {
82
+ transitionDuration: "0.01s"
83
+ }
84
+ },
85
+ bodyContent: {
86
+ minH: 0,
87
+ bg: "bg",
88
+ borderBlockEndWidth: "default",
89
+ borderColor: "border",
90
+ borderInlineWidth: "default",
91
+ borderStyle: "solid",
92
+ px: "4",
93
+ py: "3"
94
+ }
95
+ },
96
+ variants: {
97
+ status: {
98
+ error: {
99
+ header: {
100
+ bg: "surface.red",
101
+ color: "surface.red.fg",
102
+ "--silver-text-color": "token(colors.surface.red.fg)",
103
+ "--silver-text-color-muted": "token(colors.surface.red.fg)"
104
+ }
105
+ },
106
+ info: {
107
+ header: {
108
+ bg: "surface.blue",
109
+ color: "surface.blue.fg",
110
+ "--silver-text-color": "token(colors.surface.blue.fg)",
111
+ "--silver-text-color-muted": "token(colors.surface.blue.fg)"
112
+ }
113
+ },
114
+ success: {
115
+ header: {
116
+ bg: "surface.green",
117
+ color: "surface.green.fg",
118
+ "--silver-text-color": "token(colors.surface.green.fg)",
119
+ "--silver-text-color-muted": "token(colors.surface.green.fg)"
120
+ }
121
+ },
122
+ warning: {
123
+ header: {
124
+ bg: "surface.yellow",
125
+ color: "surface.yellow.fg",
126
+ "--silver-text-color": "token(colors.surface.yellow.fg)",
127
+ "--silver-text-color-muted": "token(colors.surface.yellow.fg)"
128
+ }
129
+ }
130
+ },
131
+ container: {
132
+ card: {
133
+ header: { borderTopRadius: "lg" },
134
+ bodyContent: { borderBottomRadius: "lg" }
135
+ },
136
+ section: {}
137
+ },
138
+ // Squares off the header's bottom corners while the body is revealed; the
139
+ // compound variant rounds them back when there is no expanded content.
140
+ hasContent: {
141
+ true: {},
142
+ false: {}
143
+ },
144
+ isCentered: {
145
+ true: { header: { alignItems: "center" } },
146
+ false: {}
147
+ },
148
+ isExpanded: {
149
+ true: { chevron: { transform: "rotate(180deg)" } },
150
+ false: { body: { gridTemplateRows: "0fr" } }
151
+ },
152
+ padding: paddingVariants
153
+ },
154
+ compoundVariants: [
155
+ {
156
+ container: "card",
157
+ css: { header: { borderBottomRadius: "lg" } },
158
+ hasContent: false
159
+ }
160
+ ],
161
+ defaultVariants: {
162
+ container: "card",
163
+ hasContent: false,
164
+ isCentered: false,
165
+ isExpanded: false,
166
+ status: "info"
167
+ }
168
+ });
169
+ var statusRole = {
170
+ error: "alert",
171
+ info: "status",
172
+ success: "status",
173
+ warning: "alert"
174
+ };
175
+ var defaultIcons = {
176
+ error: /* @__PURE__ */ jsx(Icon, { color: "error", icon: XCircle }),
177
+ info: /* @__PURE__ */ jsx(Icon, { color: "info", icon: Info }),
178
+ success: /* @__PURE__ */ jsx(Icon, { color: "success", icon: CheckCircle2 }),
179
+ warning: /* @__PURE__ */ jsx(Icon, { color: "warning", icon: TriangleAlert })
180
+ };
181
+ function Alert({
182
+ children,
183
+ className,
184
+ container = "card",
185
+ "data-testid": dataTestId,
186
+ description,
187
+ endContent,
188
+ icon,
189
+ isDefaultExpanded = false,
190
+ isDismissable = false,
191
+ onDismiss,
192
+ padding,
193
+ ref,
194
+ status,
195
+ style,
196
+ title
197
+ }) {
198
+ const bodyId = useId();
199
+ const [isDismissed, setIsDismissed] = useState(false);
200
+ const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);
201
+ const hasChildren = children != null;
202
+ const showContent = hasChildren && isExpanded;
203
+ const showEndArea = endContent != null || isDismissable || hasChildren;
204
+ const isSingleLine = description == null && (endContent != null || isDismissable || hasChildren);
205
+ if (isDismissed) {
206
+ return null;
207
+ }
208
+ const classes = alertRecipe({
209
+ container,
210
+ hasContent: showContent,
211
+ isCentered: isSingleLine,
212
+ isExpanded,
213
+ padding,
214
+ status
215
+ });
216
+ return /* @__PURE__ */ jsxs(
217
+ "div",
218
+ {
219
+ className: cx(classes.root, className),
220
+ "data-testid": dataTestId,
221
+ ref,
222
+ role: statusRole[status],
223
+ style,
224
+ children: [
225
+ /* @__PURE__ */ jsxs("div", { className: classes.header, children: [
226
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.icon, children: icon ?? defaultIcons[status] }),
227
+ /* @__PURE__ */ jsxs("div", { className: classes.content, children: [
228
+ /* @__PURE__ */ jsx(Text, { as: "p", type: "label", weight: "semibold", children: title }),
229
+ description != null ? /* @__PURE__ */ jsx(Text, { as: "p", color: "secondary", type: "supporting", children: description }) : null
230
+ ] }),
231
+ showEndArea ? /* @__PURE__ */ jsxs("div", { className: classes.endArea, children: [
232
+ endContent,
233
+ hasChildren ? /* @__PURE__ */ jsx(
234
+ Button,
235
+ {
236
+ "aria-controls": bodyId,
237
+ "aria-expanded": isExpanded,
238
+ className: classes.chevron,
239
+ icon: ChevronDown,
240
+ isIconOnly: true,
241
+ label: isExpanded ? "Collapse" : "Expand",
242
+ onClick: () => setIsExpanded((value) => !value),
243
+ size: "sm",
244
+ variant: "ghost"
245
+ }
246
+ ) : null,
247
+ isDismissable ? /* @__PURE__ */ jsx(
248
+ Button,
249
+ {
250
+ icon: X,
251
+ isIconOnly: true,
252
+ label: "Dismiss",
253
+ onClick: () => {
254
+ setIsDismissed(true);
255
+ onDismiss?.();
256
+ },
257
+ size: "sm",
258
+ variant: "ghost"
259
+ }
260
+ ) : null
261
+ ] }) : null
262
+ ] }),
263
+ hasChildren ? /* @__PURE__ */ jsx(
264
+ "div",
265
+ {
266
+ className: classes.body,
267
+ id: bodyId,
268
+ style: { visibility: isExpanded ? void 0 : "hidden" },
269
+ children: /* @__PURE__ */ jsx("div", { className: classes.bodyContent, children })
270
+ }
271
+ ) : null
272
+ ]
273
+ }
274
+ );
275
+ }
276
+ Alert.displayName = "Alert";
277
+
278
+ export { Alert };
279
+ //# sourceMappingURL=chunk-5BLNJVIA.js.map
280
+ //# sourceMappingURL=chunk-5BLNJVIA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Alert/Alert.recipe.ts","../src/components/Alert/Alert.tsx"],"names":[],"mappings":"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","file":"chunk-5BLNJVIA.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Symmetric padding overrides for the collapsible body. Keys mirror the\n * `SpacingToken` scale so the `padding` prop maps onto build-time-validated\n * spacing tokens instead of a runtime token lookup.\n */\nconst paddingVariants = {\n 0: {bodyContent: {px: '0', py: '0'}},\n 0.5: {bodyContent: {px: '0.5', py: '0.5'}},\n 1: {bodyContent: {px: '1', py: '1'}},\n 1.5: {bodyContent: {px: '1.5', py: '1.5'}},\n 2: {bodyContent: {px: '2', py: '2'}},\n 3: {bodyContent: {px: '3', py: '3'}},\n 4: {bodyContent: {px: '4', py: '4'}},\n 5: {bodyContent: {px: '5', py: '5'}},\n 6: {bodyContent: {px: '6', py: '6'}},\n 8: {bodyContent: {px: '8', py: '8'}},\n 10: {bodyContent: {px: '10', py: '10'}},\n};\n\nexport const alertRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'icon',\n 'content',\n 'endArea',\n 'chevron',\n 'body',\n 'bodyContent',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n fontFamily: 'body',\n },\n header: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: '2',\n px: '4',\n py: '3',\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n content: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n minW: 0,\n },\n endArea: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n gap: '2',\n ms: 'auto',\n },\n // The body stays mounted so child state and the `aria-controls` target are\n // preserved; it is collapsed with a `grid-template-rows` 1fr -> 0fr\n // transition (mirroring `AccordionItem`). `overflow: hidden` lives on this\n // grid so the body chrome on `bodyContent` is fully clipped when collapsed.\n body: {\n display: 'grid',\n gridTemplateRows: '1fr',\n overflow: 'hidden',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n bodyContent: {\n minH: 0,\n bg: 'bg',\n borderBlockEndWidth: 'default',\n borderColor: 'border',\n borderInlineWidth: 'default',\n borderStyle: 'solid',\n px: '4',\n py: '3',\n },\n },\n variants: {\n status: {\n error: {\n header: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n '--silver-text-color': 'token(colors.surface.red.fg)',\n '--silver-text-color-muted': 'token(colors.surface.red.fg)',\n },\n },\n info: {\n header: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n '--silver-text-color': 'token(colors.surface.blue.fg)',\n '--silver-text-color-muted': 'token(colors.surface.blue.fg)',\n },\n },\n success: {\n header: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n '--silver-text-color': 'token(colors.surface.green.fg)',\n '--silver-text-color-muted': 'token(colors.surface.green.fg)',\n },\n },\n warning: {\n header: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n '--silver-text-color': 'token(colors.surface.yellow.fg)',\n '--silver-text-color-muted': 'token(colors.surface.yellow.fg)',\n },\n },\n },\n container: {\n card: {\n header: {borderTopRadius: 'lg'},\n bodyContent: {borderBottomRadius: 'lg'},\n },\n section: {},\n },\n // Squares off the header's bottom corners while the body is revealed; the\n // compound variant rounds them back when there is no expanded content.\n hasContent: {\n true: {},\n false: {},\n },\n isCentered: {\n true: {header: {alignItems: 'center'}},\n false: {},\n },\n isExpanded: {\n true: {chevron: {transform: 'rotate(180deg)'}},\n false: {body: {gridTemplateRows: '0fr'}},\n },\n padding: paddingVariants,\n },\n compoundVariants: [\n {\n container: 'card',\n css: {header: {borderBottomRadius: 'lg'}},\n hasContent: false,\n },\n ],\n defaultVariants: {\n container: 'card',\n hasContent: false,\n isCentered: false,\n isExpanded: false,\n status: 'info',\n },\n});\n\nexport type AlertVariants = RecipeVariantProps<typeof alertRecipe>;\n","import {\n CheckCircle2,\n ChevronDown,\n Info,\n TriangleAlert,\n X,\n XCircle,\n} from 'lucide-react';\nimport {\n useId,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Text} from '../Text';\nimport {alertRecipe, type AlertVariants} from './Alert.recipe';\n\n/**\n * Derived from the recipe's `container` variant so the prop stays in sync with\n * the styles.\n */\nexport type AlertContainer = NonNullable<\n NonNullable<AlertVariants>['container']\n>;\n/**\n * Derived from the recipe's `status` variant so the prop stays in sync with the\n * styles.\n */\nexport type AlertStatus = NonNullable<NonNullable<AlertVariants>['status']>;\n\nexport interface AlertProps {\n /**\n * Extra content rendered below the alert header in a collapsible area.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Visual container style.\n * @default 'card'\n */\n container?: AlertContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting description displayed below the title.\n */\n description?: ReactNode;\n /**\n * Content rendered at the end of the header, before collapse and dismiss controls.\n */\n endContent?: ReactNode;\n /**\n * Custom status icon. A default icon is rendered when omitted.\n */\n icon?: ReactNode;\n /**\n * Whether collapsible children are expanded initially.\n * @default false\n */\n isDefaultExpanded?: boolean;\n /**\n * Whether the alert can be dismissed.\n * @default false\n */\n isDismissable?: boolean;\n /**\n * Called when the dismiss button is clicked.\n */\n onDismiss?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Status controlling role, icon, and color.\n */\n status: AlertStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Primary alert title.\n */\n title: ReactNode;\n}\n\nconst statusRole: Record<AlertStatus, 'alert' | 'status'> = {\n error: 'alert',\n info: 'status',\n success: 'status',\n warning: 'alert',\n};\n\nconst defaultIcons: Record<AlertStatus, ReactNode> = {\n error: <Icon color=\"error\" icon={XCircle} />,\n info: <Icon color=\"info\" icon={Info} />,\n success: <Icon color=\"success\" icon={CheckCircle2} />,\n warning: <Icon color=\"warning\" icon={TriangleAlert} />,\n};\n\n/**\n * Displays a contextual message with status-based styling, an optional\n * collapsible body, and dismiss functionality.\n */\nexport function Alert({\n children,\n className,\n container = 'card',\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDefaultExpanded = false,\n isDismissable = false,\n onDismiss,\n padding,\n ref,\n status,\n style,\n title,\n}: AlertProps): React.JSX.Element | null {\n const bodyId = useId();\n const [isDismissed, setIsDismissed] = useState(false);\n const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);\n const hasChildren = children != null;\n // The body is kept mounted whenever there are children (so child state and\n // the `aria-controls` target survive collapsing); `isExpanded` only drives\n // the visual collapse. `showContent` reflects whether the body is currently\n // revealed, which the header uses to square off its bottom corners.\n const showContent = hasChildren && isExpanded;\n const showEndArea = endContent != null || isDismissable || hasChildren;\n const isSingleLine =\n description == null && (endContent != null || isDismissable || hasChildren);\n\n if (isDismissed) {\n return null;\n }\n\n const classes = alertRecipe({\n container,\n hasContent: showContent,\n isCentered: isSingleLine,\n isExpanded,\n padding,\n status,\n });\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role={statusRole[status]}\n style={style}>\n <div className={classes.header}>\n <span aria-hidden=\"true\" className={classes.icon}>\n {icon ?? defaultIcons[status]}\n </span>\n <div className={classes.content}>\n <Text as=\"p\" type=\"label\" weight=\"semibold\">\n {title}\n </Text>\n {description != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </div>\n {showEndArea ? (\n <div className={classes.endArea}>\n {endContent}\n {hasChildren ? (\n <Button\n aria-controls={bodyId}\n aria-expanded={isExpanded}\n className={classes.chevron}\n icon={ChevronDown}\n isIconOnly\n label={isExpanded ? 'Collapse' : 'Expand'}\n onClick={() => setIsExpanded(value => !value)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isDismissable ? (\n <Button\n icon={X}\n isIconOnly\n label=\"Dismiss\"\n onClick={() => {\n setIsDismissed(true);\n onDismiss?.();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n </div>\n ) : null}\n </div>\n {hasChildren ? (\n <div\n className={classes.body}\n id={bodyId}\n style={{visibility: isExpanded ? undefined : 'hidden'}}>\n <div className={classes.bodyContent}>{children}</div>\n </div>\n ) : null}\n </div>\n );\n}\n\nAlert.displayName = 'Alert';\n"]}
@@ -1,5 +1,5 @@
1
1
  import { toPixelSize } from './chunk-KLMODPEE.js';
2
- import { cva } from './chunk-NAELQLZN.js';
2
+ import { cva } from './chunk-FMEIPGUP.js';
3
3
  import { cx } from './chunk-PPNETWIP.js';
4
4
  import { createElement } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -160,6 +160,6 @@ function VStack({
160
160
  }
161
161
  VStack.displayName = "VStack";
162
162
 
163
- export { HStack, VStack, stackRecipe };
164
- //# sourceMappingURL=chunk-Z2STCD6I.js.map
165
- //# sourceMappingURL=chunk-Z2STCD6I.js.map
163
+ export { HStack, VStack };
164
+ //# sourceMappingURL=chunk-5MDH6QZE.js.map
165
+ //# sourceMappingURL=chunk-5MDH6QZE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Stack/Stack.recipe.ts","../src/components/Stack/Stack.tsx","../src/components/Stack/HStack.tsx","../src/components/Stack/VStack.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-5MDH6QZE.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const stackRecipe = cva({\n base: {\n display: 'flex',\n minW: 0,\n },\n variants: {\n direction: {\n horizontal: {\n flexDirection: 'row',\n },\n vertical: {\n flexDirection: 'column',\n },\n },\n gap: {\n 0: {gap: '0'},\n 0.5: {gap: '0.5'},\n 1: {gap: '1'},\n 1.5: {gap: '1.5'},\n 2: {gap: '2'},\n 3: {gap: '3'},\n 4: {gap: '4'},\n 5: {gap: '5'},\n 6: {gap: '6'},\n 8: {gap: '8'},\n 10: {gap: '10'},\n },\n wrap: {\n nowrap: {\n flexWrap: 'nowrap',\n },\n wrap: {\n flexWrap: 'wrap',\n },\n 'wrap-reverse': {\n flexWrap: 'wrap-reverse',\n },\n },\n },\n defaultVariants: {\n direction: 'vertical',\n wrap: 'nowrap',\n },\n});\n\nexport type StackVariants = RecipeVariantProps<typeof stackRecipe>;\n","import {\n createElement,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {toPixelSize, type SizeValue} from '../../internal/toPixelSize';\nimport {stackRecipe} from './Stack.recipe';\n\nexport type {SizeValue};\nexport type StackDirection = 'horizontal' | 'vertical';\nexport type StackMainAlignment =\n | 'start'\n | 'center'\n | 'end'\n | 'between'\n | 'around'\n | 'evenly';\nexport type StackCrossAlignment = 'start' | 'center' | 'end' | 'stretch';\nexport type StackAlignment = StackMainAlignment | StackCrossAlignment;\nexport type StackWrap = 'nowrap' | 'wrap' | 'wrap-reverse';\nexport type StackGap = SpacingToken;\n\nexport interface StackProps extends HTMLAttributes<HTMLElement> {\n /**\n * Cross-axis alignment.\n */\n align?: StackCrossAlignment;\n /**\n * HTML element type to render.\n */\n as?: ElementType;\n /**\n * Stack content.\n */\n children?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Layout direction.\n */\n direction?: StackDirection;\n /**\n * Gap between children.\n */\n gap?: StackGap;\n /**\n * Horizontal alignment (overrides align/justify for horizontal axis).\n */\n hAlign?: StackAlignment;\n /**\n * Fixed height. Numbers are treated as pixels.\n */\n height?: SizeValue;\n /**\n * Main-axis alignment.\n */\n justify?: StackMainAlignment;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Vertical alignment (overrides align/justify for vertical axis).\n */\n vAlign?: StackAlignment;\n /**\n * Fixed width. Numbers are treated as pixels.\n */\n width?: SizeValue;\n /**\n * Flex wrap behavior.\n */\n wrap?: StackWrap;\n}\n\nconst mainAlignValues: Record<StackMainAlignment, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n};\n\nconst crossAlignValues: Record<StackCrossAlignment, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n};\n\nexport function Stack({\n align,\n children,\n className,\n 'data-testid': dataTestId,\n direction = 'vertical',\n as: Element = 'div',\n gap,\n hAlign,\n height,\n justify,\n ref,\n style,\n vAlign,\n width,\n wrap = 'nowrap',\n ...htmlProps\n}: StackProps): React.JSX.Element {\n const resolvedHAlign =\n hAlign ?? (direction === 'horizontal' ? justify : align);\n const resolvedVAlign =\n vAlign ?? (direction === 'horizontal' ? align : justify);\n const mainAlign =\n direction === 'horizontal' ? resolvedHAlign : resolvedVAlign;\n const crossAlign =\n direction === 'horizontal' ? resolvedVAlign : resolvedHAlign;\n const stackStyle: CSSProperties = {\n justifyContent:\n mainAlign != null && mainAlign in mainAlignValues\n ? mainAlignValues[mainAlign as StackMainAlignment]\n : undefined,\n alignItems:\n crossAlign != null && crossAlign in crossAlignValues\n ? crossAlignValues[crossAlign as StackCrossAlignment]\n : undefined,\n width: toPixelSize(width),\n height: toPixelSize(height),\n ...style,\n };\n\n return createElement(\n Element,\n {\n ...htmlProps,\n className: cx(stackRecipe({direction, gap, wrap}), className),\n 'data-testid': dataTestId,\n ref,\n style: stackStyle,\n },\n children,\n );\n}\n\nStack.displayName = 'Stack';\n","import type {Ref} from 'react';\nimport {\n Stack,\n type StackCrossAlignment,\n type StackMainAlignment,\n type StackProps,\n} from './Stack';\n\nexport interface HStackProps extends Omit<\n StackProps,\n 'direction' | 'hAlign' | 'vAlign'\n> {\n align?: StackCrossAlignment;\n hAlign?: StackMainAlignment;\n justify?: StackMainAlignment;\n ref?: Ref<HTMLElement>;\n vAlign?: StackCrossAlignment;\n}\n\nexport function HStack({\n align,\n className,\n 'data-testid': dataTestId,\n hAlign,\n justify,\n ref,\n style,\n vAlign,\n ...props\n}: HStackProps): React.JSX.Element {\n return (\n <Stack\n {...props}\n className={className}\n data-testid={dataTestId}\n direction=\"horizontal\"\n hAlign={hAlign ?? justify}\n ref={ref}\n style={style}\n vAlign={vAlign ?? align}\n />\n );\n}\n\nHStack.displayName = 'HStack';\n","import type {Ref} from 'react';\nimport {\n Stack,\n type StackCrossAlignment,\n type StackMainAlignment,\n type StackProps,\n} from './Stack';\n\nexport interface VStackProps extends Omit<\n StackProps,\n 'direction' | 'hAlign' | 'vAlign'\n> {\n align?: StackCrossAlignment;\n hAlign?: StackCrossAlignment;\n justify?: StackMainAlignment;\n ref?: Ref<HTMLElement>;\n vAlign?: StackMainAlignment;\n}\n\nexport function VStack({\n align,\n className,\n 'data-testid': dataTestId,\n hAlign,\n justify,\n ref,\n style,\n vAlign,\n ...props\n}: VStackProps): React.JSX.Element {\n return (\n <Stack\n {...props}\n className={className}\n data-testid={dataTestId}\n direction=\"vertical\"\n hAlign={hAlign ?? align}\n ref={ref}\n style={style}\n vAlign={vAlign ?? justify}\n />\n );\n}\n\nVStack.displayName = 'VStack';\n"]}
@@ -1,9 +1,11 @@
1
- import { Field, inputStyles, inputRecipe } from './chunk-NGWNIMMX.js';
2
- import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-3L3M7SJ3.js';
3
- import { Spinner } from './chunk-RGPL6EDK.js';
4
- import { Icon } from './chunk-4W7L63LH.js';
1
+ import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
2
+ import { getNecessity, Field } from './chunk-K6CQ45C2.js';
3
+ import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-WOIWI2UO.js';
4
+ import { Button } from './chunk-HLN3JQYD.js';
5
+ import { Spinner } from './chunk-S54CKWKV.js';
6
+ import { Icon } from './chunk-7T3SWOY7.js';
5
7
  import { cx } from './chunk-PPNETWIP.js';
6
- import { css } from './chunk-UHQRL4OA.js';
8
+ import { css } from './chunk-OD4DHHZH.js';
7
9
  import { Temporal } from '@js-temporal/polyfill';
8
10
  import { Clock, X } from 'lucide-react';
9
11
  import { useId } from 'react';
@@ -65,7 +67,7 @@ function TimeInput({
65
67
  const descriptionID = description != null ? `${inputId}-description` : void 0;
66
68
  const statusMessageID = getStatusMessageID(inputId, status);
67
69
  const describedBy = getDescribedBy(descriptionID, statusMessageID);
68
- const necessity = { isOptional, isRequired };
70
+ const necessity = getNecessity(isOptional, isRequired);
69
71
  return /* @__PURE__ */ jsx(
70
72
  Field,
71
73
  {
@@ -116,13 +118,14 @@ function TimeInput({
116
118
  }
117
119
  ),
118
120
  hasClear && value != null && !isDisabled ? /* @__PURE__ */ jsx(
119
- "button",
121
+ Button,
120
122
  {
121
- "aria-label": `Clear ${label}`,
122
- className: inputStyles.clearButton,
123
+ icon: X,
124
+ isIconOnly: true,
125
+ label: `Clear ${label}`,
123
126
  onClick: () => onChange(void 0),
124
- type: "button",
125
- children: /* @__PURE__ */ jsx(Icon, { icon: X, size: "sm" })
127
+ size: "sm",
128
+ variant: "ghost"
126
129
  }
127
130
  ) : null,
128
131
  isLoading ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : null,
@@ -136,5 +139,5 @@ function TimeInput({
136
139
  TimeInput.displayName = "TimeInput";
137
140
 
138
141
  export { TimeInput };
139
- //# sourceMappingURL=chunk-NOZ6U6ZJ.js.map
140
- //# sourceMappingURL=chunk-NOZ6U6ZJ.js.map
142
+ //# sourceMappingURL=chunk-5Q5TJUHI.js.map
143
+ //# sourceMappingURL=chunk-5Q5TJUHI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TimeInput/TimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-5Q5TJUHI.js","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {Clock, X} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\n\nconst styles = {\n input: css({\n '&::-webkit-calendar-picker-indicator': {\n display: 'none',\n },\n }),\n} as const;\n\nexport type PlainTime = Temporal.PlainTime;\n\nexport type TimeInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is set.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input includes a seconds field.\n * @default false\n */\n hasSeconds?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Latest allowed time.\n */\n max?: PlainTime;\n /**\n * Earliest allowed time.\n */\n min?: PlainTime;\n /**\n * Called when the time value changes.\n */\n onChange: (value: PlainTime | undefined) => void;\n /**\n * Placeholder text.\n * @default 'Select a time'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Step increment in seconds for the time picker.\n */\n step?: number;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controlled time value.\n */\n value: PlainTime | undefined;\n} & FieldNecessity;\n\nfunction toInputString(\n time: PlainTime | undefined,\n hasSeconds: boolean,\n): string {\n if (time == null) {\n return '';\n }\n return time.toString({\n smallestUnit: hasSeconds ? 'second' : 'minute',\n });\n}\n\nfunction fromInputString(value: string): PlainTime | undefined {\n if (value === '') {\n return undefined;\n }\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Time picker input field with optional seconds granularity.\n */\nexport function TimeInput({\n label,\n value,\n onChange,\n hasSeconds = false,\n hasClear = false,\n hasAutoFocus = false,\n min,\n max,\n step,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n placeholder = 'Select a time',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TimeInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n })}>\n <span className={inputStyles.iconSlot}>\n <Icon icon={Clock} size=\"sm\" />\n </span>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(inputStyles.control, styles.input)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n max={toInputString(max, hasSeconds)}\n min={toInputString(min, hasSeconds)}\n name={htmlName}\n onChange={event => onChange(fromInputString(event.target.value))}\n placeholder={placeholder}\n ref={ref}\n step={step ?? (hasSeconds ? 1 : 60)}\n type=\"time\"\n value={toInputString(value, hasSeconds)}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={() => onChange(undefined)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nTimeInput.displayName = 'TimeInput';\n"]}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var chunk6BK4LUK4_cjs = require('./chunk-6BK4LUK4.cjs');
4
+ var chunkJRBQKFVO_cjs = require('./chunk-JRBQKFVO.cjs');
5
+ var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
6
+
7
+ // styled-system/css/sva.js
8
+ function sva(config) {
9
+ const slots = Object.entries(chunkRU6JG3FS_cjs.getSlotRecipes(config)).map(([slot, slotCva]) => [slot, chunkJRBQKFVO_cjs.cva(slotCva)]);
10
+ const defaultVariants = config.defaultVariants ?? {};
11
+ const classNameMap = slots.reduce((acc, [slot, cvaFn]) => {
12
+ if (config.className) acc[slot] = cvaFn.config.className;
13
+ return acc;
14
+ }, {});
15
+ function svaFn(props) {
16
+ const result = slots.map(([slot, cvaFn]) => [slot, chunk6BK4LUK4_cjs.cx(cvaFn(props), classNameMap[slot])]);
17
+ return Object.fromEntries(result);
18
+ }
19
+ function raw(props) {
20
+ const result = slots.map(([slot, cvaFn]) => [slot, cvaFn.raw(props)]);
21
+ return Object.fromEntries(result);
22
+ }
23
+ const variants = config.variants ?? {};
24
+ const variantKeys = Object.keys(variants);
25
+ function splitVariantProps(props) {
26
+ return chunkRU6JG3FS_cjs.splitProps(props, variantKeys);
27
+ }
28
+ const getVariantProps = (variants2) => ({ ...defaultVariants, ...chunkRU6JG3FS_cjs.compact(variants2) });
29
+ const variantMap = Object.fromEntries(
30
+ Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])
31
+ );
32
+ return Object.assign(chunkRU6JG3FS_cjs.memo(svaFn), {
33
+ __cva__: false,
34
+ raw,
35
+ config,
36
+ variantMap,
37
+ variantKeys,
38
+ classNameMap,
39
+ splitVariantProps,
40
+ getVariantProps
41
+ });
42
+ }
43
+
44
+ exports.sva = sva;
45
+ //# sourceMappingURL=chunk-5QPM5LUS.cjs.map
46
+ //# sourceMappingURL=chunk-5QPM5LUS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../styled-system/css/sva.js"],"names":["getSlotRecipes","cva","cx","splitProps","variants","compact","memo"],"mappings":";;;;;;;AAIO,SAAS,IAAI,MAAA,EAAQ;AAC1B,EAAA,MAAM,QAAQ,MAAA,CAAO,OAAA,CAAQA,iCAAe,MAAM,CAAC,EAAE,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,OAAO,CAAA,KAAM,CAAC,MAAMC,qBAAA,CAAI,OAAO,CAAC,CAAC,CAAA;AAClG,EAAA,MAAM,eAAA,GAAkB,MAAA,CAAO,eAAA,IAAmB,EAAC;AAEnD,EAAA,MAAM,YAAA,GAAe,MAAM,MAAA,CAAO,CAAC,KAAK,CAAC,IAAA,EAAM,KAAK,CAAA,KAAM;AACxD,IAAA,IAAI,OAAO,SAAA,EAAW,GAAA,CAAI,IAAI,CAAA,GAAI,MAAM,MAAA,CAAO,SAAA;AAC/C,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,SAAS,MAAM,KAAA,EAAO;AACpB,IAAA,MAAM,SAAS,KAAA,CAAM,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,KAAK,CAAA,KAAM,CAAC,IAAA,EAAMC,oBAAA,CAAG,MAAM,KAAK,CAAA,EAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;AACxF,IAAA,OAAO,MAAA,CAAO,YAAY,MAAM,CAAA;AAAA,EAClC;AAEA,EAAA,SAAS,IAAI,KAAA,EAAO;AAClB,IAAA,MAAM,MAAA,GAAS,KAAA,CAAM,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,KAAK,CAAA,KAAM,CAAC,IAAA,EAAM,KAAA,CAAM,GAAA,CAAI,KAAK,CAAC,CAAC,CAAA;AACpE,IAAA,OAAO,MAAA,CAAO,YAAY,MAAM,CAAA;AAAA,EAClC;AAEA,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,QAAA,IAAY,EAAC;AACrC,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAA;AAExC,EAAA,SAAS,kBAAkB,KAAA,EAAO;AAChC,IAAA,OAAOC,4BAAA,CAAW,OAAO,WAAW,CAAA;AAAA,EACtC;AACA,EAAA,MAAM,eAAA,GAAkB,CAACC,SAAAA,MAAc,EAAE,GAAG,eAAA,EAAiB,GAAGC,yBAAA,CAAQD,SAAQ,CAAA,EAAE,CAAA;AAElF,EAAA,MAAM,aAAa,MAAA,CAAO,WAAA;AAAA,IACxB,OAAO,OAAA,CAAQ,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM,CAAC,GAAA,EAAK,MAAA,CAAO,IAAA,CAAK,KAAK,CAAC,CAAC;AAAA,GAC1E;AAEA,EAAA,OAAO,MAAA,CAAO,MAAA,CAAOE,sBAAA,CAAK,KAAK,CAAA,EAAG;AAAA,IAChC,OAAA,EAAS,KAAA;AAAA,IACT,GAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACD,CAAA;AACH","file":"chunk-5QPM5LUS.cjs","sourcesContent":["import { compact, getSlotRecipes, memo, splitProps } from '../helpers.js';\nimport { cva } from './cva.js';\nimport { cx } from './cx.js';\n\nexport function sva(config) {\n const slots = Object.entries(getSlotRecipes(config)).map(([slot, slotCva]) => [slot, cva(slotCva)])\n const defaultVariants = config.defaultVariants ?? {}\n\n const classNameMap = slots.reduce((acc, [slot, cvaFn]) => {\n if (config.className) acc[slot] = cvaFn.config.className\n return acc\n }, {})\n\n function svaFn(props) {\n const result = slots.map(([slot, cvaFn]) => [slot, cx(cvaFn(props), classNameMap[slot])])\n return Object.fromEntries(result)\n }\n\n function raw(props) {\n const result = slots.map(([slot, cvaFn]) => [slot, cvaFn.raw(props)])\n return Object.fromEntries(result)\n }\n\n const variants = config.variants ?? {};\n const variantKeys = Object.keys(variants);\n\n function splitVariantProps(props) {\n return splitProps(props, variantKeys);\n }\n const getVariantProps = (variants) => ({ ...defaultVariants, ...compact(variants) })\n\n const variantMap = Object.fromEntries(\n Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])\n );\n\n return Object.assign(memo(svaFn), {\n __cva__: false,\n raw,\n config,\n variantMap,\n variantKeys,\n classNameMap,\n splitVariantProps,\n getVariantProps,\n })\n}"]}
@@ -1,14 +1,14 @@
1
- import { Calendar } from './chunk-WIO3XITR.js';
1
+ import { Calendar } from './chunk-AH4AMQEO.js';
2
2
  import { plainDateFormat, DATE_FORMAT_LONG, plainDateIsBefore, plainDateIsAfter, plainDateCreate } from './chunk-QSEDH7T2.js';
3
- import { Field, inputStyles, inputRecipe } from './chunk-NGWNIMMX.js';
4
- import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-3L3M7SJ3.js';
5
- import { Popover } from './chunk-2QK2NZN5.js';
6
- import { Button } from './chunk-VLIQPSPM.js';
7
- import { Spinner } from './chunk-RGPL6EDK.js';
3
+ import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
4
+ import { getNecessity, Field } from './chunk-K6CQ45C2.js';
5
+ import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-WOIWI2UO.js';
6
+ import { Popover } from './chunk-7FY26X2V.js';
7
+ import { Button } from './chunk-HLN3JQYD.js';
8
+ import { Spinner } from './chunk-S54CKWKV.js';
8
9
  import { mergeRefs } from './chunk-SGLIDI6R.js';
9
- import { Icon } from './chunk-4W7L63LH.js';
10
10
  import { cx } from './chunk-PPNETWIP.js';
11
- import { css } from './chunk-UHQRL4OA.js';
11
+ import { css } from './chunk-OD4DHHZH.js';
12
12
  import { CalendarIcon, X } from 'lucide-react';
13
13
  import { useId, useRef, useState, useCallback } from 'react';
14
14
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -143,7 +143,7 @@ function DateInput({
143
143
  const [isOpen, setIsOpen] = useState(false);
144
144
  const [pendingInput, setPendingInput] = useState(null);
145
145
  const displayValue = pendingInput ?? formatDate(value);
146
- const necessity = { isOptional, isRequired };
146
+ const necessity = getNecessity(isOptional, isRequired);
147
147
  const handleCalendarChange = useCallback(
148
148
  (nextValue) => {
149
149
  onChange(nextValue);
@@ -247,7 +247,7 @@ function DateInput({
247
247
  isOpen,
248
248
  label: `Choose ${label}`,
249
249
  onOpenChange: setIsOpen,
250
- padding: "3",
250
+ padding: 3,
251
251
  children: /* @__PURE__ */ jsx(
252
252
  Button,
253
253
  {
@@ -283,13 +283,14 @@ function DateInput({
283
283
  }
284
284
  ),
285
285
  hasClear && value != null && !isDisabled && !isLoading ? /* @__PURE__ */ jsx(
286
- "button",
286
+ Button,
287
287
  {
288
- "aria-label": `Clear ${label}`,
289
- className: inputStyles.clearButton,
288
+ icon: X,
289
+ isIconOnly: true,
290
+ label: `Clear ${label}`,
290
291
  onClick: handleClear,
291
- type: "button",
292
- children: /* @__PURE__ */ jsx(Icon, { icon: X, size: "sm" })
292
+ size: "sm",
293
+ variant: "ghost"
293
294
  }
294
295
  ) : null,
295
296
  isLoading ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : null,
@@ -303,5 +304,5 @@ function DateInput({
303
304
  DateInput.displayName = "DateInput";
304
305
 
305
306
  export { DateInput };
306
- //# sourceMappingURL=chunk-IWSS5745.js.map
307
- //# sourceMappingURL=chunk-IWSS5745.js.map
307
+ //# sourceMappingURL=chunk-67VLK263.js.map
308
+ //# sourceMappingURL=chunk-67VLK263.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/parseDateInput.ts","../src/components/DateInput/DateInput.tsx"],"names":[],"mappings":"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","file":"chunk-67VLK263.js","sourcesContent":["import {plainDateCreate, type PlainDate} from './plainDate';\n\nconst MONTH_NAMES: Partial<Record<string, number>> = {\n jan: 1,\n january: 1,\n feb: 2,\n february: 2,\n mar: 3,\n march: 3,\n apr: 4,\n april: 4,\n may: 5,\n jun: 6,\n june: 6,\n jul: 7,\n july: 7,\n aug: 8,\n august: 8,\n sep: 9,\n september: 9,\n oct: 10,\n october: 10,\n nov: 11,\n november: 11,\n dec: 12,\n december: 12,\n};\n\n/**\n * Parses common date input formats into a PlainDate.\n * Supports: \"2026-05-21\", \"05/21/2026\", \"May 21, 2026\", \"21 May 2026\", etc.\n * Returns null if the input cannot be parsed.\n */\nexport function parseDateInput(input: string): PlainDate | null {\n const trimmed = input.trim();\n if (trimmed === '') {\n return null;\n }\n\n // ISO format: 2026-05-21\n const isoMatch = /^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/.exec(trimmed);\n if (isoMatch != null) {\n return tryCreate(\n parseInt(isoMatch[1], 10),\n parseInt(isoMatch[2], 10),\n parseInt(isoMatch[3], 10),\n );\n }\n\n // US format: 05/21/2026, 5/21/2026, or 3/4/25 (2-digit year)\n const usMatch = /^(\\d{1,2})[/\\-.](\\d{1,2})[/\\-.](\\d{2,4})$/.exec(trimmed);\n if (usMatch != null) {\n let year = parseInt(usMatch[3], 10);\n if (year < 100) {\n year += year < 50 ? 2000 : 1900;\n }\n return tryCreate(year, parseInt(usMatch[1], 10), parseInt(usMatch[2], 10));\n }\n\n // Named month: \"May 21, 2026\" or \"May 21 2026\"\n const namedMonthFirst = /^([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthFirst != null) {\n const month = MONTH_NAMES[namedMonthFirst[1].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthFirst[3], 10),\n month,\n parseInt(namedMonthFirst[2], 10),\n );\n }\n }\n\n // Named month reversed: \"21 May 2026\"\n const namedMonthLast = /^(\\d{1,2})\\s+([A-Za-z]+),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthLast != null) {\n const month = MONTH_NAMES[namedMonthLast[2].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthLast[3], 10),\n month,\n parseInt(namedMonthLast[1], 10),\n );\n }\n }\n\n return null;\n}\n\nfunction tryCreate(year: number, month: number, day: number): PlainDate | null {\n try {\n return plainDateCreate(year, month, day);\n } catch {\n return null;\n }\n}\n","import {CalendarIcon, X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {parseDateInput} from '../../internal/parseDateInput';\nimport {\n DATE_FORMAT_LONG,\n plainDateFormat,\n plainDateIsAfter,\n plainDateIsBefore,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {Button} from '../Button';\nimport {Calendar, type CalendarHandle} from '../Calendar';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport type {IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport type {PlainDate} from '../../internal/plainDate';\n\nconst styles = {\n wrapper: css({ps: '1', gap: '1'}),\n} as const;\n\nexport type DateInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Called when the selected date changes.\n */\n onChange: (value: PlainDate | undefined) => void;\n /**\n * Placeholder text shown when no date is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Currently selected date.\n */\n value: PlainDate | undefined;\n} & FieldNecessity;\n\nfunction formatDate(value: PlainDate | undefined): string {\n return value == null ? '' : plainDateFormat(value, DATE_FORMAT_LONG);\n}\n\nfunction isDateAllowed(\n date: PlainDate,\n options: {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n max?: PlainDate;\n min?: PlainDate;\n },\n): boolean {\n if (options.min != null && plainDateIsBefore(date, options.min)) {\n return false;\n }\n if (options.max != null && plainDateIsAfter(date, options.max)) {\n return false;\n }\n if (options.getIsDateDisabled?.(date)) {\n return false;\n }\n return true;\n}\n\n/**\n * A date picker input that combines a text input with a calendar popover.\n * Users can type a date directly or select one from the calendar.\n */\nexport function DateInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n placeholder = 'Select a date',\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const calendarRef = useRef<CalendarHandle | null>(null);\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [pendingInput, setPendingInput] = useState<string | null>(null);\n\n const displayValue = pendingInput ?? formatDate(value);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const handleCalendarChange = useCallback(\n (nextValue: PlainDate) => {\n onChange(nextValue);\n setPendingInput(null);\n setIsOpen(false);\n inputRef.current?.focus();\n },\n [onChange],\n );\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const text = event.target.value;\n setPendingInput(text);\n\n const parsed = parseDateInput(text);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n calendarRef.current?.navigateTo(parsed);\n }\n },\n [getIsDateDisabled, max, min, onChange],\n );\n\n const commitPendingInput = useCallback(() => {\n if (pendingInput == null) {\n return;\n }\n\n if (pendingInput.trim() === '') {\n if (value != null) {\n onChange(undefined);\n }\n setPendingInput(null);\n return;\n }\n\n const parsed = parseDateInput(pendingInput);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n }\n setPendingInput(null);\n }, [getIsDateDisabled, max, min, onChange, pendingInput, value]);\n\n const handleBlur = useCallback(() => {\n commitPendingInput();\n }, [commitPendingInput]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n commitPendingInput();\n }\n },\n [commitPendingInput],\n );\n\n const handleClear = useCallback(() => {\n onChange(undefined);\n setPendingInput(null);\n inputRef.current?.focus();\n }, [onChange]);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled: isDisabled,\n }),\n styles.wrapper,\n )}\n ref={wrapperRef}>\n <Popover\n content={\n <Calendar\n getIsDateDisabled={getIsDateDisabled}\n max={max}\n min={min}\n onChange={handleCalendarChange}\n ref={calendarRef}\n value={value}\n viewDate={value}\n />\n }\n hasAutoFocus\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={`Choose ${label}`}\n onOpenChange={setIsOpen}\n padding={3}>\n <Button\n icon={CalendarIcon}\n isDisabled={isDisabled}\n isIconOnly\n label={`Choose ${label}`}\n size=\"sm\"\n variant=\"ghost\"\n />\n </Popover>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n autoComplete=\"off\"\n className={inputStyles.control}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef)}\n type=\"text\"\n value={displayValue}\n />\n {hasClear && value != null && !isDisabled && !isLoading ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={handleClear}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nDateInput.displayName = 'DateInput';\n"]}