silver-ui 0.3.0 → 0.4.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 (713) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-2A3V6OR7.cjs +112 -0
  3. package/dist/chunk-2A3V6OR7.cjs.map +1 -0
  4. package/dist/{chunk-HLN3JQYD.js → chunk-2LABTS4P.js} +18 -58
  5. package/dist/chunk-2LABTS4P.js.map +1 -0
  6. package/dist/{chunk-GI5MVVIX.js → chunk-2N6FOSNM.js} +15 -14
  7. package/dist/chunk-2N6FOSNM.js.map +1 -0
  8. package/dist/chunk-2PSZAWLC.js +8 -0
  9. package/dist/chunk-2PSZAWLC.js.map +1 -0
  10. package/dist/{chunk-YGYA4BYN.js → chunk-2RKMG2TC.js} +19 -18
  11. package/dist/chunk-2RKMG2TC.js.map +1 -0
  12. package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
  13. package/dist/chunk-2XAA3CM5.js.map +1 -0
  14. package/dist/{chunk-EMHLPPQZ.js → chunk-3CJC4QE6.js} +4 -4
  15. package/dist/chunk-3CJC4QE6.js.map +1 -0
  16. package/dist/{chunk-P3SMNZCT.js → chunk-3JPUXC5U.js} +3 -3
  17. package/dist/{chunk-P3SMNZCT.js.map → chunk-3JPUXC5U.js.map} +1 -1
  18. package/dist/{chunk-OJCJPYXE.js → chunk-3OIUA2NY.js} +9 -8
  19. package/dist/chunk-3OIUA2NY.js.map +1 -0
  20. package/dist/chunk-3ZV3EGGK.cjs +470 -0
  21. package/dist/chunk-3ZV3EGGK.cjs.map +1 -0
  22. package/dist/{chunk-BERQEJYB.js → chunk-4H7X5FGX.js} +7 -6
  23. package/dist/chunk-4H7X5FGX.js.map +1 -0
  24. package/dist/{chunk-EUN5TCB2.js → chunk-52WQDDWQ.js} +18 -20
  25. package/dist/chunk-52WQDDWQ.js.map +1 -0
  26. package/dist/{chunk-UMGW7WJI.cjs → chunk-5D2OR64D.cjs} +11 -9
  27. package/dist/chunk-5D2OR64D.cjs.map +1 -0
  28. package/dist/{chunk-YAIEA2YE.cjs → chunk-5PX76QOL.cjs} +3 -3
  29. package/dist/{chunk-YAIEA2YE.cjs.map → chunk-5PX76QOL.cjs.map} +1 -1
  30. package/dist/{chunk-HM7IEGQ2.cjs → chunk-5YS43PSQ.cjs} +7 -7
  31. package/dist/chunk-5YS43PSQ.cjs.map +1 -0
  32. package/dist/{chunk-AH4AMQEO.js → chunk-6ONAGCCZ.js} +262 -208
  33. package/dist/chunk-6ONAGCCZ.js.map +1 -0
  34. package/dist/{chunk-S54CKWKV.js → chunk-6ULCJ3XZ.js} +4 -4
  35. package/dist/{chunk-S54CKWKV.js.map → chunk-6ULCJ3XZ.js.map} +1 -1
  36. package/dist/{chunk-6XESVFC3.js → chunk-6XWXBXYE.js} +90 -75
  37. package/dist/chunk-6XWXBXYE.js.map +1 -0
  38. package/dist/{chunk-EXYBQVZT.js → chunk-7BSFKG7N.js} +3 -3
  39. package/dist/{chunk-EXYBQVZT.js.map → chunk-7BSFKG7N.js.map} +1 -1
  40. package/dist/{chunk-7GN6YTSS.cjs → chunk-7CCXHH6Y.cjs} +7 -7
  41. package/dist/chunk-7CCXHH6Y.cjs.map +1 -0
  42. package/dist/{chunk-3PDUOYAT.cjs → chunk-7U7JMRVF.cjs} +28 -30
  43. package/dist/chunk-7U7JMRVF.cjs.map +1 -0
  44. package/dist/chunk-AFI4V7LI.js +393 -0
  45. package/dist/chunk-AFI4V7LI.js.map +1 -0
  46. package/dist/{chunk-DSNJDFO3.cjs → chunk-AHVHLNHU.cjs} +18 -17
  47. package/dist/chunk-AHVHLNHU.cjs.map +1 -0
  48. package/dist/{chunk-35MFOORC.js → chunk-AJ6X62AI.js} +5 -5
  49. package/dist/{chunk-35MFOORC.js.map → chunk-AJ6X62AI.js.map} +1 -1
  50. package/dist/{chunk-OMHOVHPX.js → chunk-AP7BDTTF.js} +4 -4
  51. package/dist/{chunk-OMHOVHPX.js.map → chunk-AP7BDTTF.js.map} +1 -1
  52. package/dist/{chunk-4T62TLOD.cjs → chunk-AWDIKDX5.cjs} +10 -10
  53. package/dist/{chunk-4T62TLOD.cjs.map → chunk-AWDIKDX5.cjs.map} +1 -1
  54. package/dist/chunk-BCCPNGUV.js +162 -0
  55. package/dist/chunk-BCCPNGUV.js.map +1 -0
  56. package/dist/{chunk-PTJ5YZFY.cjs → chunk-BLRWA445.cjs} +242 -182
  57. package/dist/chunk-BLRWA445.cjs.map +1 -0
  58. package/dist/{chunk-67VLK263.js → chunk-BSAZRW6T.js} +13 -10
  59. package/dist/chunk-BSAZRW6T.js.map +1 -0
  60. package/dist/{chunk-I2X2Z7FA.cjs → chunk-BUESV4DR.cjs} +9 -9
  61. package/dist/{chunk-I2X2Z7FA.cjs.map → chunk-BUESV4DR.cjs.map} +1 -1
  62. package/dist/{chunk-UJODHP7E.cjs → chunk-BULJWVPU.cjs} +18 -17
  63. package/dist/chunk-BULJWVPU.cjs.map +1 -0
  64. package/dist/{chunk-PNYF6NS4.cjs → chunk-C6EYCIKJ.cjs} +9 -8
  65. package/dist/chunk-C6EYCIKJ.cjs.map +1 -0
  66. package/dist/{chunk-ZTQQ2O6O.cjs → chunk-C732WXKS.cjs} +36 -34
  67. package/dist/chunk-C732WXKS.cjs.map +1 -0
  68. package/dist/{chunk-GTPRZCNZ.js → chunk-CGYZ6QWY.js} +4 -4
  69. package/dist/{chunk-GTPRZCNZ.js.map → chunk-CGYZ6QWY.js.map} +1 -1
  70. package/dist/{chunk-X5ZQRMEM.cjs → chunk-CKTXDIH4.cjs} +39 -40
  71. package/dist/chunk-CKTXDIH4.cjs.map +1 -0
  72. package/dist/{chunk-PYW5UO2Z.js → chunk-D3LZQ5QS.js} +4 -4
  73. package/dist/chunk-D3LZQ5QS.js.map +1 -0
  74. package/dist/{chunk-WNGBWUWZ.cjs → chunk-DIRVAHOF.cjs} +6 -6
  75. package/dist/{chunk-WNGBWUWZ.cjs.map → chunk-DIRVAHOF.cjs.map} +1 -1
  76. package/dist/{chunk-K77D7H4V.cjs → chunk-DP7VC4FW.cjs} +7 -6
  77. package/dist/chunk-DP7VC4FW.cjs.map +1 -0
  78. package/dist/{chunk-4I6VIR44.cjs → chunk-DVGLYE3G.cjs} +16 -15
  79. package/dist/chunk-DVGLYE3G.cjs.map +1 -0
  80. package/dist/{chunk-ISYUZ5FS.js → chunk-DWUEPOYH.js} +31 -29
  81. package/dist/chunk-DWUEPOYH.js.map +1 -0
  82. package/dist/chunk-DXPQRAGI.js +110 -0
  83. package/dist/chunk-DXPQRAGI.js.map +1 -0
  84. package/dist/{chunk-P4A7GWQY.cjs → chunk-E2A3GJSN.cjs} +9 -8
  85. package/dist/chunk-E2A3GJSN.cjs.map +1 -0
  86. package/dist/{chunk-32G54PL3.cjs → chunk-EALKX3ST.cjs} +9 -8
  87. package/dist/chunk-EALKX3ST.cjs.map +1 -0
  88. package/dist/{chunk-ZW2ATXTL.js → chunk-EBDODJ5X.js} +8 -7
  89. package/dist/chunk-EBDODJ5X.js.map +1 -0
  90. package/dist/chunk-FB245S6T.cjs +395 -0
  91. package/dist/chunk-FB245S6T.cjs.map +1 -0
  92. package/dist/{chunk-RNB4BDEG.js → chunk-FDUO2HVX.js} +3 -3
  93. package/dist/{chunk-RNB4BDEG.js.map → chunk-FDUO2HVX.js.map} +1 -1
  94. package/dist/{chunk-JAHKLROD.cjs → chunk-FDZQPWFZ.cjs} +13 -12
  95. package/dist/chunk-FDZQPWFZ.cjs.map +1 -0
  96. package/dist/{chunk-KIGRE6NA.js → chunk-FMLIYHDP.js} +5 -5
  97. package/dist/{chunk-KIGRE6NA.js.map → chunk-FMLIYHDP.js.map} +1 -1
  98. package/dist/{chunk-4YQSKCVF.cjs → chunk-FNOUX5T2.cjs} +5 -5
  99. package/dist/{chunk-4YQSKCVF.cjs.map → chunk-FNOUX5T2.cjs.map} +1 -1
  100. package/dist/{chunk-LFRTNC7M.cjs → chunk-FNZOICR4.cjs} +7 -7
  101. package/dist/{chunk-LFRTNC7M.cjs.map → chunk-FNZOICR4.cjs.map} +1 -1
  102. package/dist/{chunk-4M2KCZMO.js → chunk-FP5E5BUM.js} +5 -4
  103. package/dist/chunk-FP5E5BUM.js.map +1 -0
  104. package/dist/{chunk-VSEKSDTK.js → chunk-G2U2W422.js} +8 -7
  105. package/dist/chunk-G2U2W422.js.map +1 -0
  106. package/dist/{chunk-MAL4D4LR.cjs → chunk-G2WW52GO.cjs} +14 -13
  107. package/dist/chunk-G2WW52GO.cjs.map +1 -0
  108. package/dist/{chunk-FQSOUCZS.cjs → chunk-G3KKLGZU.cjs} +9 -9
  109. package/dist/{chunk-FQSOUCZS.cjs.map → chunk-G3KKLGZU.cjs.map} +1 -1
  110. package/dist/{chunk-IKF6VHA4.cjs → chunk-GC5VUTUR.cjs} +4 -4
  111. package/dist/{chunk-IKF6VHA4.cjs.map → chunk-GC5VUTUR.cjs.map} +1 -1
  112. package/dist/{chunk-ITDQSF2O.cjs → chunk-GL7PSN7H.cjs} +17 -16
  113. package/dist/chunk-GL7PSN7H.cjs.map +1 -0
  114. package/dist/{chunk-WMXIUOOU.cjs → chunk-GYVWTH3U.cjs} +3 -3
  115. package/dist/{chunk-WMXIUOOU.cjs.map → chunk-GYVWTH3U.cjs.map} +1 -1
  116. package/dist/{chunk-ACQMLJ4I.cjs → chunk-H2CZ6IE5.cjs} +42 -39
  117. package/dist/chunk-H2CZ6IE5.cjs.map +1 -0
  118. package/dist/{chunk-CZNN2GOC.js → chunk-H7HQYBPH.js} +25 -26
  119. package/dist/chunk-H7HQYBPH.js.map +1 -0
  120. package/dist/{chunk-ZNUOFLCQ.js → chunk-HINS4GY6.js} +3 -3
  121. package/dist/chunk-HINS4GY6.js.map +1 -0
  122. package/dist/{chunk-PXTE3XRD.js → chunk-HNZWPIJE.js} +74 -68
  123. package/dist/chunk-HNZWPIJE.js.map +1 -0
  124. package/dist/{chunk-Y5SXQR52.cjs → chunk-IA5GII7N.cjs} +33 -22
  125. package/dist/chunk-IA5GII7N.cjs.map +1 -0
  126. package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
  127. package/dist/chunk-IAVZKGZS.js.map +1 -0
  128. package/dist/{chunk-XM3AZXOA.js → chunk-ILEKDNP7.js} +6 -6
  129. package/dist/{chunk-XM3AZXOA.js.map → chunk-ILEKDNP7.js.map} +1 -1
  130. package/dist/{chunk-XSQOHNIF.js → chunk-J3DNWPXJ.js} +3 -3
  131. package/dist/{chunk-XSQOHNIF.js.map → chunk-J3DNWPXJ.js.map} +1 -1
  132. package/dist/{chunk-25FU5AVR.cjs → chunk-J4OEETYQ.cjs} +14 -13
  133. package/dist/chunk-J4OEETYQ.cjs.map +1 -0
  134. package/dist/{chunk-4Z62KDKI.js → chunk-J5IRFGUP.js} +25 -14
  135. package/dist/chunk-J5IRFGUP.js.map +1 -0
  136. package/dist/{chunk-2YC7SMVF.js → chunk-JDAJ2HJQ.js} +7 -6
  137. package/dist/chunk-JDAJ2HJQ.js.map +1 -0
  138. package/dist/{chunk-AGJ5SZCM.js → chunk-JIVYPJKO.js} +6 -6
  139. package/dist/{chunk-AGJ5SZCM.js.map → chunk-JIVYPJKO.js.map} +1 -1
  140. package/dist/{chunk-U2WVHZ24.cjs → chunk-JJ324PSZ.cjs} +6 -6
  141. package/dist/chunk-JJ324PSZ.cjs.map +1 -0
  142. package/dist/{chunk-WWB4NSEY.cjs → chunk-JSINCF2R.cjs} +10 -10
  143. package/dist/{chunk-WWB4NSEY.cjs.map → chunk-JSINCF2R.cjs.map} +1 -1
  144. package/dist/{chunk-BJD32VBQ.cjs → chunk-JTFNNEWR.cjs} +90 -75
  145. package/dist/chunk-JTFNNEWR.cjs.map +1 -0
  146. package/dist/{chunk-YAYINZT2.cjs → chunk-JYVYCU22.cjs} +3 -3
  147. package/dist/{chunk-YAYINZT2.cjs.map → chunk-JYVYCU22.cjs.map} +1 -1
  148. package/dist/chunk-K3XHXWBW.js +242 -0
  149. package/dist/chunk-K3XHXWBW.js.map +1 -0
  150. package/dist/{chunk-TRK2ZZFB.cjs → chunk-K4ZJNQTX.cjs} +6 -5
  151. package/dist/chunk-K4ZJNQTX.cjs.map +1 -0
  152. package/dist/{chunk-WA4VZ363.cjs → chunk-KDR5DCYL.cjs} +13 -12
  153. package/dist/chunk-KDR5DCYL.cjs.map +1 -0
  154. package/dist/{chunk-2D6SGEPH.cjs → chunk-KXIILLQD.cjs} +16 -11
  155. package/dist/chunk-KXIILLQD.cjs.map +1 -0
  156. package/dist/{chunk-ZNZ67KFM.js → chunk-L6VSBBPP.js} +9 -8
  157. package/dist/chunk-L6VSBBPP.js.map +1 -0
  158. package/dist/{chunk-YJJOKZN2.js → chunk-LNT2IFOA.js} +4 -4
  159. package/dist/{chunk-YJJOKZN2.js.map → chunk-LNT2IFOA.js.map} +1 -1
  160. package/dist/{chunk-IXJOPMJX.cjs → chunk-LO5NZY7N.cjs} +7 -6
  161. package/dist/chunk-LO5NZY7N.cjs.map +1 -0
  162. package/dist/{chunk-AADUJ6CN.js → chunk-LQIZSE3O.js} +212 -183
  163. package/dist/chunk-LQIZSE3O.js.map +1 -0
  164. package/dist/{chunk-OJKZS6HG.cjs → chunk-LUQVSNQL.cjs} +265 -211
  165. package/dist/chunk-LUQVSNQL.cjs.map +1 -0
  166. package/dist/{chunk-BYBVI7UN.js → chunk-LY6Z6A54.js} +10 -9
  167. package/dist/chunk-LY6Z6A54.js.map +1 -0
  168. package/dist/{chunk-JMNH45Q3.cjs → chunk-M26XECB2.cjs} +91 -97
  169. package/dist/chunk-M26XECB2.cjs.map +1 -0
  170. package/dist/chunk-M2MC3E27.cjs +220 -0
  171. package/dist/chunk-M2MC3E27.cjs.map +1 -0
  172. package/dist/chunk-MAYQGKKW.cjs +193 -0
  173. package/dist/chunk-MAYQGKKW.cjs.map +1 -0
  174. package/dist/{chunk-2IKWX66Q.js → chunk-MI5QU37D.js} +5 -5
  175. package/dist/{chunk-2IKWX66Q.js.map → chunk-MI5QU37D.js.map} +1 -1
  176. package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
  177. package/dist/chunk-N2TNBDQI.js.map +1 -0
  178. package/dist/{chunk-H2SGYAUO.js → chunk-NFABMGNH.js} +56 -46
  179. package/dist/chunk-NFABMGNH.js.map +1 -0
  180. package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
  181. package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
  182. package/dist/chunk-NI55JEYL.js +213 -0
  183. package/dist/chunk-NI55JEYL.js.map +1 -0
  184. package/dist/{chunk-BDPE6ZKX.cjs → chunk-O2WICOUK.cjs} +5 -5
  185. package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-O2WICOUK.cjs.map} +1 -1
  186. package/dist/{chunk-ATDW2VII.cjs → chunk-OBWWRRL6.cjs} +66 -51
  187. package/dist/chunk-OBWWRRL6.cjs.map +1 -0
  188. package/dist/{chunk-3DW2N6UN.js → chunk-PIOMR4X2.js} +5 -5
  189. package/dist/{chunk-3DW2N6UN.js.map → chunk-PIOMR4X2.js.map} +1 -1
  190. package/dist/{chunk-7P3VY5JZ.js → chunk-PIZMCOKL.js} +9 -8
  191. package/dist/chunk-PIZMCOKL.js.map +1 -0
  192. package/dist/{chunk-W3QVSVL7.cjs → chunk-PQEFVHJZ.cjs} +12 -11
  193. package/dist/chunk-PQEFVHJZ.cjs.map +1 -0
  194. package/dist/chunk-QAO6QMNQ.cjs +10 -0
  195. package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
  196. package/dist/{chunk-CFOGSQCG.cjs → chunk-QATCDVZ6.cjs} +14 -13
  197. package/dist/chunk-QATCDVZ6.cjs.map +1 -0
  198. package/dist/{chunk-YBPG5RPR.cjs → chunk-QOKEU3DC.cjs} +22 -62
  199. package/dist/chunk-QOKEU3DC.cjs.map +1 -0
  200. package/dist/{chunk-J2FCNWYM.js → chunk-QRFDPG34.js} +85 -91
  201. package/dist/chunk-QRFDPG34.js.map +1 -0
  202. package/dist/{chunk-UYXQBM2B.cjs → chunk-QVNDZZS6.cjs} +10 -10
  203. package/dist/{chunk-UYXQBM2B.cjs.map → chunk-QVNDZZS6.cjs.map} +1 -1
  204. package/dist/{chunk-AMG3S252.js → chunk-QY6OMQW6.js} +11 -10
  205. package/dist/chunk-QY6OMQW6.js.map +1 -0
  206. package/dist/{chunk-XIFLSMGW.js → chunk-R6CMJMIJ.js} +3 -3
  207. package/dist/{chunk-XIFLSMGW.js.map → chunk-R6CMJMIJ.js.map} +1 -1
  208. package/dist/{chunk-K6CQ45C2.js → chunk-RLOGQBFD.js} +10 -9
  209. package/dist/chunk-RLOGQBFD.js.map +1 -0
  210. package/dist/{chunk-5Q5TJUHI.js → chunk-S7INL5NI.js} +12 -7
  211. package/dist/chunk-S7INL5NI.js.map +1 -0
  212. package/dist/{chunk-VYFMYXU4.js → chunk-SBOXHIES.js} +234 -174
  213. package/dist/chunk-SBOXHIES.js.map +1 -0
  214. package/dist/{chunk-YXYD5HKL.cjs → chunk-SBS7U7CN.cjs} +6 -6
  215. package/dist/{chunk-YXYD5HKL.cjs.map → chunk-SBS7U7CN.cjs.map} +1 -1
  216. package/dist/chunk-SCGXGVNN.cjs +244 -0
  217. package/dist/chunk-SCGXGVNN.cjs.map +1 -0
  218. package/dist/{chunk-XQU4ECJY.js → chunk-SOCSUNIM.js} +19 -18
  219. package/dist/chunk-SOCSUNIM.js.map +1 -0
  220. package/dist/chunk-SR5VVJ5Y.cjs +164 -0
  221. package/dist/chunk-SR5VVJ5Y.cjs.map +1 -0
  222. package/dist/{chunk-SEAVOF6B.js → chunk-SSAYBCAD.js} +9 -7
  223. package/dist/chunk-SSAYBCAD.js.map +1 -0
  224. package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
  225. package/dist/chunk-SSOAZZNR.cjs.map +1 -0
  226. package/dist/{chunk-24J3BUKL.js → chunk-SUH62Z64.js} +3 -3
  227. package/dist/{chunk-24J3BUKL.js.map → chunk-SUH62Z64.js.map} +1 -1
  228. package/dist/{chunk-3WMLV4VP.cjs → chunk-TBOQTPRO.cjs} +9 -9
  229. package/dist/chunk-TBOQTPRO.cjs.map +1 -0
  230. package/dist/chunk-TCTPR7YQ.js +191 -0
  231. package/dist/chunk-TCTPR7YQ.js.map +1 -0
  232. package/dist/{chunk-SFT5LCQP.cjs → chunk-TF7XVTSP.cjs} +61 -51
  233. package/dist/chunk-TF7XVTSP.cjs.map +1 -0
  234. package/dist/{chunk-PXVVTPRJ.js → chunk-TKTLWX2V.js} +11 -10
  235. package/dist/chunk-TKTLWX2V.js.map +1 -0
  236. package/dist/{chunk-ZXPKFGRB.cjs → chunk-TPB53MHV.cjs} +82 -76
  237. package/dist/chunk-TPB53MHV.cjs.map +1 -0
  238. package/dist/chunk-TQA3BI7M.cjs +216 -0
  239. package/dist/chunk-TQA3BI7M.cjs.map +1 -0
  240. package/dist/{chunk-MACIT6C6.js → chunk-U6NH54YD.js} +7 -6
  241. package/dist/chunk-U6NH54YD.js.map +1 -0
  242. package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
  243. package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
  244. package/dist/{chunk-S4GLMGFI.js → chunk-UKW2C5RN.js} +6 -5
  245. package/dist/chunk-UKW2C5RN.js.map +1 -0
  246. package/dist/chunk-UUVLEOSD.js +216 -0
  247. package/dist/chunk-UUVLEOSD.js.map +1 -0
  248. package/dist/{chunk-BA2VUDQS.js → chunk-VFGSNR35.js} +4 -4
  249. package/dist/{chunk-BA2VUDQS.js.map → chunk-VFGSNR35.js.map} +1 -1
  250. package/dist/{chunk-6ADWXOZ2.cjs → chunk-VGHNBMEJ.cjs} +6 -6
  251. package/dist/{chunk-6ADWXOZ2.cjs.map → chunk-VGHNBMEJ.cjs.map} +1 -1
  252. package/dist/{chunk-UR7RYJOU.cjs → chunk-VHKA25IV.cjs} +20 -17
  253. package/dist/chunk-VHKA25IV.cjs.map +1 -0
  254. package/dist/{chunk-E7UOFIBW.cjs → chunk-VK4O6W2K.cjs} +8 -7
  255. package/dist/chunk-VK4O6W2K.cjs.map +1 -0
  256. package/dist/{chunk-2VOB6LEI.js → chunk-VQ7U3ASC.js} +4 -4
  257. package/dist/{chunk-2VOB6LEI.js.map → chunk-VQ7U3ASC.js.map} +1 -1
  258. package/dist/{chunk-E4KM3RQ2.js → chunk-VUCMGGU5.js} +32 -17
  259. package/dist/chunk-VUCMGGU5.js.map +1 -0
  260. package/dist/{chunk-UY3MYNI6.js → chunk-W2Q4PQ6I.js} +6 -5
  261. package/dist/chunk-W2Q4PQ6I.js.map +1 -0
  262. package/dist/{chunk-RKMW3ZOK.js → chunk-W3C6QQF7.js} +5 -5
  263. package/dist/{chunk-RKMW3ZOK.js.map → chunk-W3C6QQF7.js.map} +1 -1
  264. package/dist/{chunk-GEGYC7CE.js → chunk-WBGFFP3G.js} +7 -7
  265. package/dist/chunk-WBGFFP3G.js.map +1 -0
  266. package/dist/{chunk-5BLNJVIA.js → chunk-WBQNPBXR.js} +10 -9
  267. package/dist/chunk-WBQNPBXR.js.map +1 -0
  268. package/dist/{chunk-ZH3GKYUZ.js → chunk-WY5BOT7O.js} +4 -4
  269. package/dist/{chunk-ZH3GKYUZ.js.map → chunk-WY5BOT7O.js.map} +1 -1
  270. package/dist/{chunk-PLXUM7U6.cjs → chunk-X574M2JB.cjs} +13 -13
  271. package/dist/{chunk-PLXUM7U6.cjs.map → chunk-X574M2JB.cjs.map} +1 -1
  272. package/dist/{chunk-ZNPTARIS.cjs → chunk-XLKXFJMU.cjs} +8 -8
  273. package/dist/{chunk-ZNPTARIS.cjs.map → chunk-XLKXFJMU.cjs.map} +1 -1
  274. package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
  275. package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
  276. package/dist/{chunk-A66NIFJE.cjs → chunk-XXBA3KSH.cjs} +5 -5
  277. package/dist/{chunk-A66NIFJE.cjs.map → chunk-XXBA3KSH.cjs.map} +1 -1
  278. package/dist/{chunk-PXIWITSS.js → chunk-YAWVGZRC.js} +6 -6
  279. package/dist/{chunk-PXIWITSS.js.map → chunk-YAWVGZRC.js.map} +1 -1
  280. package/dist/{chunk-BFWKL5MJ.cjs → chunk-YHBYVERE.cjs} +29 -28
  281. package/dist/chunk-YHBYVERE.cjs.map +1 -0
  282. package/dist/{chunk-CPOYENSZ.cjs → chunk-YO3MBGBP.cjs} +4 -4
  283. package/dist/{chunk-CPOYENSZ.cjs.map → chunk-YO3MBGBP.cjs.map} +1 -1
  284. package/dist/{chunk-MQQ4GSUG.cjs → chunk-YVHWOKR7.cjs} +33 -32
  285. package/dist/chunk-YVHWOKR7.cjs.map +1 -0
  286. package/dist/{chunk-C264Z2GQ.cjs → chunk-YWGYN6YV.cjs} +11 -10
  287. package/dist/chunk-YWGYN6YV.cjs.map +1 -0
  288. package/dist/{chunk-KFEXS6OK.cjs → chunk-YY6KJO5Z.cjs} +15 -14
  289. package/dist/chunk-YY6KJO5Z.cjs.map +1 -0
  290. package/dist/{chunk-IG4UJZ6B.js → chunk-YYNWZRXZ.js} +24 -21
  291. package/dist/chunk-YYNWZRXZ.js.map +1 -0
  292. package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
  293. package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
  294. package/dist/{chunk-7FY26X2V.js → chunk-ZAX2UJBC.js} +8 -7
  295. package/dist/chunk-ZAX2UJBC.js.map +1 -0
  296. package/dist/{chunk-WATCCAQU.js → chunk-ZEA2VYX4.js} +5 -4
  297. package/dist/chunk-ZEA2VYX4.js.map +1 -0
  298. package/dist/{chunk-AXT4VA5N.cjs → chunk-ZFBQ4R7M.cjs} +11 -10
  299. package/dist/chunk-ZFBQ4R7M.cjs.map +1 -0
  300. package/dist/{chunk-AX6HC2YY.cjs → chunk-ZN7CULIL.cjs} +3 -3
  301. package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZN7CULIL.cjs.map} +1 -1
  302. package/dist/{chunk-OHKL4DOV.js → chunk-ZQUPAIBS.js} +8 -7
  303. package/dist/chunk-ZQUPAIBS.js.map +1 -0
  304. package/dist/{chunk-JVLE7PCJ.cjs → chunk-ZTWBG2XY.cjs} +8 -8
  305. package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-ZTWBG2XY.cjs.map} +1 -1
  306. package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
  307. package/dist/components/Accordion/index.cjs +6 -7
  308. package/dist/components/Accordion/index.js +3 -4
  309. package/dist/components/Alert/Alert.d.ts.map +1 -1
  310. package/dist/components/Alert/Alert.recipe.d.ts +1 -1
  311. package/dist/components/Alert/index.cjs +13 -13
  312. package/dist/components/Alert/index.js +12 -12
  313. package/dist/components/AlertDialog/index.cjs +16 -16
  314. package/dist/components/AlertDialog/index.js +14 -14
  315. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  316. package/dist/components/AppShell/index.cjs +21 -21
  317. package/dist/components/AppShell/index.js +18 -18
  318. package/dist/components/AspectRatio/index.cjs +3 -3
  319. package/dist/components/AspectRatio/index.js +2 -2
  320. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +9 -2
  321. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  322. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
  323. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
  324. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
  325. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
  326. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +25 -3
  327. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  328. package/dist/components/AutocompleteInput/index.cjs +21 -21
  329. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  330. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  331. package/dist/components/AutocompleteInput/index.js +16 -16
  332. package/dist/components/AutocompleteInput/types.d.ts +42 -6
  333. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  334. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  335. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  336. package/dist/components/Avatar/index.cjs +7 -7
  337. package/dist/components/Avatar/index.js +4 -4
  338. package/dist/components/AvatarGroup/index.cjs +7 -7
  339. package/dist/components/AvatarGroup/index.js +5 -5
  340. package/dist/components/Badge/index.cjs +1 -1
  341. package/dist/components/Badge/index.js +1 -1
  342. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  343. package/dist/components/Blockquote/index.cjs +5 -5
  344. package/dist/components/Blockquote/index.js +4 -4
  345. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  346. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
  347. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
  348. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  349. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
  350. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
  351. package/dist/components/Breadcrumbs/index.cjs +11 -10
  352. package/dist/components/Breadcrumbs/index.js +8 -7
  353. package/dist/components/Button/Button.d.ts.map +1 -1
  354. package/dist/components/Button/Button.recipe.d.ts +80 -62
  355. package/dist/components/Button/Button.recipe.d.ts.map +1 -1
  356. package/dist/components/Button/index.cjs +12 -12
  357. package/dist/components/Button/index.js +11 -11
  358. package/dist/components/ButtonGroup/index.cjs +1 -1
  359. package/dist/components/ButtonGroup/index.js +1 -1
  360. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  361. package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
  362. package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
  363. package/dist/components/Calendar/index.cjs +13 -13
  364. package/dist/components/Calendar/index.js +12 -12
  365. package/dist/components/Card/index.cjs +1 -1
  366. package/dist/components/Card/index.js +1 -1
  367. package/dist/components/Center/index.cjs +1 -1
  368. package/dist/components/Center/index.js +1 -1
  369. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  370. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
  371. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
  372. package/dist/components/CheckboxInput/index.cjs +13 -13
  373. package/dist/components/CheckboxInput/index.js +12 -12
  374. package/dist/components/CodeBlock/index.cjs +14 -14
  375. package/dist/components/CodeBlock/index.js +13 -13
  376. package/dist/components/ContextMenu/index.cjs +18 -18
  377. package/dist/components/ContextMenu/index.js +16 -16
  378. package/dist/components/DateInput/DateInput.d.ts +5 -1
  379. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  380. package/dist/components/DateInput/index.cjs +17 -17
  381. package/dist/components/DateInput/index.js +16 -16
  382. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  383. package/dist/components/DateRangeInput/index.cjs +17 -17
  384. package/dist/components/DateRangeInput/index.js +16 -16
  385. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  386. package/dist/components/DateTimeInput/index.cjs +19 -19
  387. package/dist/components/DateTimeInput/index.js +18 -18
  388. package/dist/components/Dialog/index.cjs +5 -6
  389. package/dist/components/Dialog/index.js +3 -4
  390. package/dist/components/Divider/Divider.d.ts.map +1 -1
  391. package/dist/components/Divider/index.cjs +5 -5
  392. package/dist/components/Divider/index.js +4 -4
  393. package/dist/components/Drawer/index.cjs +4 -4
  394. package/dist/components/Drawer/index.js +2 -2
  395. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  396. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  397. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
  398. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
  399. package/dist/components/DropdownMenu/index.cjs +19 -19
  400. package/dist/components/DropdownMenu/index.js +15 -15
  401. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  402. package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
  403. package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
  404. package/dist/components/EmptyState/index.cjs +8 -7
  405. package/dist/components/EmptyState/index.js +7 -6
  406. package/dist/components/Field/Field.d.ts.map +1 -1
  407. package/dist/components/Field/index.cjs +11 -11
  408. package/dist/components/Field/index.js +9 -9
  409. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  410. package/dist/components/FileInput/index.cjs +15 -15
  411. package/dist/components/FileInput/index.js +14 -14
  412. package/dist/components/HoverCard/index.cjs +5 -5
  413. package/dist/components/HoverCard/index.js +3 -3
  414. package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
  415. package/dist/components/Icon/index.cjs +1 -1
  416. package/dist/components/Icon/index.js +1 -1
  417. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  418. package/dist/components/InputGroup/index.cjs +14 -14
  419. package/dist/components/InputGroup/index.js +10 -10
  420. package/dist/components/Item/Item.d.ts.map +1 -1
  421. package/dist/components/Item/index.cjs +9 -9
  422. package/dist/components/Item/index.js +8 -8
  423. package/dist/components/Kbd/index.cjs +4 -5
  424. package/dist/components/Kbd/index.js +3 -4
  425. package/dist/components/Layout/Layout.d.ts.map +1 -1
  426. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  427. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  428. package/dist/components/Layout/index.cjs +17 -17
  429. package/dist/components/Layout/index.js +12 -12
  430. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  431. package/dist/components/Lightbox/index.cjs +14 -14
  432. package/dist/components/Lightbox/index.js +12 -12
  433. package/dist/components/Link/index.cjs +9 -9
  434. package/dist/components/Link/index.js +6 -6
  435. package/dist/components/List/List.d.ts.map +1 -1
  436. package/dist/components/List/List.recipe.d.ts +42 -0
  437. package/dist/components/List/List.recipe.d.ts.map +1 -0
  438. package/dist/components/List/ListItem.d.ts.map +1 -1
  439. package/dist/components/List/index.cjs +12 -11
  440. package/dist/components/List/index.js +10 -9
  441. package/dist/components/MetadataList/index.cjs +7 -8
  442. package/dist/components/MetadataList/index.js +5 -6
  443. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  444. package/dist/components/MultiSelect/index.cjs +17 -17
  445. package/dist/components/MultiSelect/index.js +16 -16
  446. package/dist/components/NavIcon/index.cjs +3 -3
  447. package/dist/components/NavIcon/index.js +2 -2
  448. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  449. package/dist/components/NumberInput/index.cjs +16 -16
  450. package/dist/components/NumberInput/index.js +15 -15
  451. package/dist/components/Pagination/index.cjs +13 -13
  452. package/dist/components/Pagination/index.js +12 -12
  453. package/dist/components/PasswordInput/index.cjs +17 -17
  454. package/dist/components/PasswordInput/index.js +16 -16
  455. package/dist/components/Popover/Popover.d.ts.map +1 -1
  456. package/dist/components/Popover/index.cjs +14 -14
  457. package/dist/components/Popover/index.js +12 -12
  458. package/dist/components/Progress/Progress.d.ts.map +1 -1
  459. package/dist/components/Progress/Progress.recipe.d.ts +34 -16
  460. package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
  461. package/dist/components/Progress/index.cjs +5 -4
  462. package/dist/components/Progress/index.js +4 -3
  463. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/index.cjs +14 -14
  466. package/dist/components/RadioGroup/index.js +12 -12
  467. package/dist/components/Rating/index.cjs +5 -6
  468. package/dist/components/Rating/index.js +4 -5
  469. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  470. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  471. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  472. package/dist/components/Schedule/index.cjs +27 -27
  473. package/dist/components/Schedule/index.js +16 -16
  474. package/dist/components/Schedule/shared.d.ts.map +1 -1
  475. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  476. package/dist/components/SearchFilterInput/index.cjs +36 -36
  477. package/dist/components/SearchFilterInput/index.js +28 -28
  478. package/dist/components/SegmentedControl/index.cjs +5 -5
  479. package/dist/components/SegmentedControl/index.js +3 -3
  480. package/dist/components/Select/Select.d.ts.map +1 -1
  481. package/dist/components/Select/Select.recipe.d.ts +25 -0
  482. package/dist/components/Select/Select.recipe.d.ts.map +1 -0
  483. package/dist/components/Select/SelectOption.d.ts.map +1 -1
  484. package/dist/components/Select/index.cjs +19 -19
  485. package/dist/components/Select/index.js +17 -17
  486. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  487. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  488. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  489. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  490. package/dist/components/SideNav/index.cjs +20 -20
  491. package/dist/components/SideNav/index.js +14 -14
  492. package/dist/components/Skeleton/index.cjs +1 -1
  493. package/dist/components/Skeleton/index.js +1 -1
  494. package/dist/components/Slider/index.cjs +11 -11
  495. package/dist/components/Slider/index.js +10 -10
  496. package/dist/components/Spinner/index.cjs +7 -8
  497. package/dist/components/Spinner/index.js +6 -7
  498. package/dist/components/SplitButton/index.cjs +17 -17
  499. package/dist/components/SplitButton/index.js +16 -16
  500. package/dist/components/Stack/HStack.d.ts +1 -1
  501. package/dist/components/Stack/HStack.d.ts.map +1 -1
  502. package/dist/components/Stack/VStack.d.ts +1 -1
  503. package/dist/components/Stack/VStack.d.ts.map +1 -1
  504. package/dist/components/Stack/index.cjs +4 -4
  505. package/dist/components/Stack/index.d.ts +1 -1
  506. package/dist/components/Stack/index.d.ts.map +1 -1
  507. package/dist/components/Stack/index.js +2 -2
  508. package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
  509. package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
  510. package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
  511. package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
  512. package/dist/components/Stepper/Step.d.ts.map +1 -1
  513. package/dist/components/Stepper/index.cjs +9 -9
  514. package/dist/components/Stepper/index.js +6 -6
  515. package/dist/components/Switch/Switch.d.ts.map +1 -1
  516. package/dist/components/Switch/index.cjs +10 -10
  517. package/dist/components/Switch/index.js +9 -9
  518. package/dist/components/Table/BaseTable.d.ts.map +1 -1
  519. package/dist/components/Table/index.cjs +59 -59
  520. package/dist/components/Table/index.js +31 -31
  521. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  522. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  523. package/dist/components/Tabs/index.cjs +18 -18
  524. package/dist/components/Tabs/index.js +13 -13
  525. package/dist/components/Tag/Tag.d.ts +2 -2
  526. package/dist/components/Tag/Tag.d.ts.map +1 -1
  527. package/dist/components/Tag/Tag.recipe.d.ts +103 -68
  528. package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
  529. package/dist/components/Tag/index.cjs +9 -8
  530. package/dist/components/Tag/index.js +8 -7
  531. package/dist/components/TagsInput/TagsInput.d.ts +3 -1
  532. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  533. package/dist/components/TagsInput/index.cjs +18 -18
  534. package/dist/components/TagsInput/index.js +17 -17
  535. package/dist/components/Text/Heading.d.ts.map +1 -1
  536. package/dist/components/Text/Text.d.ts.map +1 -1
  537. package/dist/components/Text/index.cjs +6 -6
  538. package/dist/components/Text/index.js +4 -4
  539. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  540. package/dist/components/TextArea/index.cjs +12 -12
  541. package/dist/components/TextArea/index.js +11 -11
  542. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  543. package/dist/components/TextInput/index.cjs +16 -16
  544. package/dist/components/TextInput/index.js +15 -15
  545. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
  546. package/dist/components/Thumbnail/index.cjs +13 -13
  547. package/dist/components/Thumbnail/index.js +12 -12
  548. package/dist/components/TimeInput/TimeInput.d.ts +10 -2
  549. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  550. package/dist/components/TimeInput/index.cjs +15 -15
  551. package/dist/components/TimeInput/index.js +14 -14
  552. package/dist/components/Toast/Toast.d.ts.map +1 -1
  553. package/dist/components/Toast/Toast.recipe.d.ts +39 -0
  554. package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
  555. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  556. package/dist/components/Toast/index.cjs +15 -15
  557. package/dist/components/Toast/index.js +12 -12
  558. package/dist/components/ToggleButton/index.cjs +10 -11
  559. package/dist/components/ToggleButton/index.js +8 -9
  560. package/dist/components/Tooltip/index.cjs +5 -5
  561. package/dist/components/Tooltip/index.js +3 -3
  562. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  563. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  564. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  565. package/dist/components/TopNav/index.cjs +20 -20
  566. package/dist/components/TopNav/index.js +14 -14
  567. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  568. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  569. package/dist/components/TreeView/index.cjs +4 -3
  570. package/dist/components/TreeView/index.js +3 -2
  571. package/dist/index.cjs +248 -248
  572. package/dist/index.d.ts +1 -1
  573. package/dist/index.d.ts.map +1 -1
  574. package/dist/index.js +77 -77
  575. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  576. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  577. package/dist/internal/OverflowList.d.ts.map +1 -1
  578. package/dist/internal/index.d.ts +1 -0
  579. package/dist/internal/index.d.ts.map +1 -1
  580. package/dist/internal/isReactNode.d.ts +3 -0
  581. package/dist/internal/isReactNode.d.ts.map +1 -0
  582. package/dist/internal/useLayer.d.ts.map +1 -1
  583. package/dist/internal/useSelectListbox.d.ts +2 -2
  584. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  585. package/dist/styles.css +1 -1
  586. package/package.json +1 -1
  587. package/dist/chunk-25FU5AVR.cjs.map +0 -1
  588. package/dist/chunk-2D6SGEPH.cjs.map +0 -1
  589. package/dist/chunk-2TGDDZG6.cjs +0 -441
  590. package/dist/chunk-2TGDDZG6.cjs.map +0 -1
  591. package/dist/chunk-2YC7SMVF.js.map +0 -1
  592. package/dist/chunk-32G54PL3.cjs.map +0 -1
  593. package/dist/chunk-3PDUOYAT.cjs.map +0 -1
  594. package/dist/chunk-3WMLV4VP.cjs.map +0 -1
  595. package/dist/chunk-4I6VIR44.cjs.map +0 -1
  596. package/dist/chunk-4M2KCZMO.js.map +0 -1
  597. package/dist/chunk-4YESF35X.cjs +0 -211
  598. package/dist/chunk-4YESF35X.cjs.map +0 -1
  599. package/dist/chunk-4Z62KDKI.js.map +0 -1
  600. package/dist/chunk-5BLNJVIA.js.map +0 -1
  601. package/dist/chunk-5MDH6QZE.js.map +0 -1
  602. package/dist/chunk-5Q5TJUHI.js.map +0 -1
  603. package/dist/chunk-5QPM5LUS.cjs.map +0 -1
  604. package/dist/chunk-67VLK263.js.map +0 -1
  605. package/dist/chunk-6BK4LUK4.cjs +0 -17
  606. package/dist/chunk-6BK4LUK4.cjs.map +0 -1
  607. package/dist/chunk-6D3FA247.js +0 -126
  608. package/dist/chunk-6D3FA247.js.map +0 -1
  609. package/dist/chunk-6XESVFC3.js.map +0 -1
  610. package/dist/chunk-76FHSISK.cjs.map +0 -1
  611. package/dist/chunk-77RGTGRM.cjs +0 -128
  612. package/dist/chunk-77RGTGRM.cjs.map +0 -1
  613. package/dist/chunk-7FY26X2V.js.map +0 -1
  614. package/dist/chunk-7GN6YTSS.cjs.map +0 -1
  615. package/dist/chunk-7P3VY5JZ.js.map +0 -1
  616. package/dist/chunk-AADUJ6CN.js.map +0 -1
  617. package/dist/chunk-ACQMLJ4I.cjs.map +0 -1
  618. package/dist/chunk-AH4AMQEO.js.map +0 -1
  619. package/dist/chunk-AMG3S252.js.map +0 -1
  620. package/dist/chunk-ATDW2VII.cjs.map +0 -1
  621. package/dist/chunk-AXT4VA5N.cjs.map +0 -1
  622. package/dist/chunk-BERQEJYB.js.map +0 -1
  623. package/dist/chunk-BFWKL5MJ.cjs.map +0 -1
  624. package/dist/chunk-BJD32VBQ.cjs.map +0 -1
  625. package/dist/chunk-BYBVI7UN.js.map +0 -1
  626. package/dist/chunk-C264Z2GQ.cjs.map +0 -1
  627. package/dist/chunk-CFOGSQCG.cjs.map +0 -1
  628. package/dist/chunk-CZNN2GOC.js.map +0 -1
  629. package/dist/chunk-DSNJDFO3.cjs.map +0 -1
  630. package/dist/chunk-E2JZGYKU.cjs +0 -181
  631. package/dist/chunk-E2JZGYKU.cjs.map +0 -1
  632. package/dist/chunk-E4KM3RQ2.js.map +0 -1
  633. package/dist/chunk-E7UOFIBW.cjs.map +0 -1
  634. package/dist/chunk-EFO5NDBJ.js +0 -191
  635. package/dist/chunk-EFO5NDBJ.js.map +0 -1
  636. package/dist/chunk-EHCAF6D3.js.map +0 -1
  637. package/dist/chunk-EMHLPPQZ.js.map +0 -1
  638. package/dist/chunk-EUN5TCB2.js.map +0 -1
  639. package/dist/chunk-GEGYC7CE.js.map +0 -1
  640. package/dist/chunk-GI5MVVIX.js.map +0 -1
  641. package/dist/chunk-GUKZNXTB.js +0 -15
  642. package/dist/chunk-GUKZNXTB.js.map +0 -1
  643. package/dist/chunk-H2SGYAUO.js.map +0 -1
  644. package/dist/chunk-HLN3JQYD.js.map +0 -1
  645. package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
  646. package/dist/chunk-IG4UJZ6B.js.map +0 -1
  647. package/dist/chunk-ISYUZ5FS.js.map +0 -1
  648. package/dist/chunk-ITDQSF2O.cjs.map +0 -1
  649. package/dist/chunk-IXJOPMJX.cjs.map +0 -1
  650. package/dist/chunk-J2FCNWYM.js.map +0 -1
  651. package/dist/chunk-JAHKLROD.cjs.map +0 -1
  652. package/dist/chunk-JMNH45Q3.cjs.map +0 -1
  653. package/dist/chunk-K6CQ45C2.js.map +0 -1
  654. package/dist/chunk-K77D7H4V.cjs.map +0 -1
  655. package/dist/chunk-KFEXS6OK.cjs.map +0 -1
  656. package/dist/chunk-L6JT244G.cjs.map +0 -1
  657. package/dist/chunk-L6WUK7O4.js +0 -207
  658. package/dist/chunk-L6WUK7O4.js.map +0 -1
  659. package/dist/chunk-LJLCGQRV.js +0 -99
  660. package/dist/chunk-LJLCGQRV.js.map +0 -1
  661. package/dist/chunk-MACIT6C6.js.map +0 -1
  662. package/dist/chunk-MAL4D4LR.cjs.map +0 -1
  663. package/dist/chunk-MMST4VXH.cjs +0 -392
  664. package/dist/chunk-MMST4VXH.cjs.map +0 -1
  665. package/dist/chunk-MQQ4GSUG.cjs.map +0 -1
  666. package/dist/chunk-OHKL4DOV.js.map +0 -1
  667. package/dist/chunk-OJCJPYXE.js.map +0 -1
  668. package/dist/chunk-OJKZS6HG.cjs.map +0 -1
  669. package/dist/chunk-P4A7GWQY.cjs.map +0 -1
  670. package/dist/chunk-P4TOIB2A.cjs +0 -101
  671. package/dist/chunk-P4TOIB2A.cjs.map +0 -1
  672. package/dist/chunk-PJXJOI73.js +0 -232
  673. package/dist/chunk-PJXJOI73.js.map +0 -1
  674. package/dist/chunk-PNYF6NS4.cjs.map +0 -1
  675. package/dist/chunk-PTJ5YZFY.cjs.map +0 -1
  676. package/dist/chunk-PXTE3XRD.js.map +0 -1
  677. package/dist/chunk-PXVVTPRJ.js.map +0 -1
  678. package/dist/chunk-PYW5UO2Z.js.map +0 -1
  679. package/dist/chunk-S4GLMGFI.js.map +0 -1
  680. package/dist/chunk-SEAVOF6B.js.map +0 -1
  681. package/dist/chunk-SFT5LCQP.cjs.map +0 -1
  682. package/dist/chunk-SSOHJEHS.js +0 -390
  683. package/dist/chunk-SSOHJEHS.js.map +0 -1
  684. package/dist/chunk-TO3ZPSYO.cjs +0 -234
  685. package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
  686. package/dist/chunk-TRK2ZZFB.cjs.map +0 -1
  687. package/dist/chunk-U2WVHZ24.cjs.map +0 -1
  688. package/dist/chunk-UJODHP7E.cjs.map +0 -1
  689. package/dist/chunk-UMGW7WJI.cjs.map +0 -1
  690. package/dist/chunk-UR7RYJOU.cjs.map +0 -1
  691. package/dist/chunk-UX2Z7LRM.cjs +0 -194
  692. package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
  693. package/dist/chunk-UY3MYNI6.js.map +0 -1
  694. package/dist/chunk-VSEKSDTK.js.map +0 -1
  695. package/dist/chunk-VYFMYXU4.js.map +0 -1
  696. package/dist/chunk-W3QVSVL7.cjs.map +0 -1
  697. package/dist/chunk-WA4VZ363.cjs.map +0 -1
  698. package/dist/chunk-WATCCAQU.js.map +0 -1
  699. package/dist/chunk-X5ZQRMEM.cjs.map +0 -1
  700. package/dist/chunk-XQU4ECJY.js.map +0 -1
  701. package/dist/chunk-XVRQSTUF.js.map +0 -1
  702. package/dist/chunk-Y5SXQR52.cjs.map +0 -1
  703. package/dist/chunk-YBPG5RPR.cjs.map +0 -1
  704. package/dist/chunk-YGYA4BYN.js.map +0 -1
  705. package/dist/chunk-ZC6GLBEL.js +0 -179
  706. package/dist/chunk-ZC6GLBEL.js.map +0 -1
  707. package/dist/chunk-ZNUOFLCQ.js.map +0 -1
  708. package/dist/chunk-ZNZ67KFM.js.map +0 -1
  709. package/dist/chunk-ZTQQ2O6O.cjs.map +0 -1
  710. package/dist/chunk-ZW2ATXTL.js.map +0 -1
  711. package/dist/chunk-ZXPKFGRB.cjs.map +0 -1
  712. package/dist/components/Stack/Stack.d.ts.map +0 -1
  713. package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"names":["css","useMemo","jsx","Button","Text","cx","jsxs","ChevronLeft","ChevronRight"],"mappings":";;;;;;;;;;AA+EA,IAAM,MAAA,GAAS;AAAA,EACb,MAAMA,qBAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,eAAA;AAAA,IAChB,GAAA,EAAK;AAAA,GACN,CAAA;AAAA,EACD,UAAUA,qBAAA,CAAI;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK;AAAA,GACN,CAAA;AAAA,EACD,UAAUA,qBAAA,CAAI;AAAA,IACZ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,KAAA,EAAO,UAAA;AAAA,IACP,UAAA,EAAY,MAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,UAAUA,qBAAA,CAAI;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,YAAYA,qBAAA,CAAI;AAAA,IACd,EAAA,EAAI,UAAA;AAAA,IACJ,UAAA,EAAY;AAAA,GACb;AACH,CAAA;AAEA,SAAS,iBAAA,CACP,WAAA,EACA,UAAA,EACA,YAAA,EACoB;AACpB,EAAA,MAAM,UAAA,GAAa,IAAI,CAAA,GAAI,YAAA;AAE3B,EAAA,IAAI,cAAc,UAAA,EAAY;AAC5B,IAAA,OAAO,KAAA,CAAM,IAAA,CAAK,EAAC,MAAA,EAAQ,UAAA,IAAa,CAAC,CAAA,EAAG,KAAA,KAAU,KAAA,GAAQ,CAAC,CAAA;AAAA,EACjE;AAEA,EAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,GAAA,CAAI,WAAA,GAAc,cAAc,CAAC,CAAA;AAC/D,EAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,GAAA,CAAI,WAAA,GAAc,cAAc,UAAU,CAAA;AACzE,EAAA,MAAM,mBAAmB,gBAAA,GAAmB,CAAA;AAC5C,EAAA,MAAM,iBAAA,GAAoB,oBAAoB,UAAA,GAAa,CAAA;AAE3D,EAAA,IAAI,CAAC,oBAAoB,iBAAA,EAAmB;AAC1C,IAAA,MAAM,SAAA,GAAY,IAAI,CAAA,GAAI,YAAA;AAC1B,IAAA,OAAO;AAAA,MACL,GAAG,KAAA,CAAM,IAAA,CAAK,EAAC,MAAA,EAAQ,SAAA,EAAS,EAAG,CAAC,CAAA,EAAG,KAAA,KAAU,KAAA,GAAQ,CAAC,CAAA;AAAA,MAC1D,KAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,IAAI,gBAAA,IAAoB,CAAC,iBAAA,EAAmB;AAC1C,IAAA,MAAM,UAAA,GAAa,IAAI,CAAA,GAAI,YAAA;AAC3B,IAAA,OAAO;AAAA,MACL,CAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAG,KAAA,CAAM,IAAA;AAAA,QACP,EAAC,QAAQ,UAAA,EAAU;AAAA,QACnB,CAAC,CAAA,EAAG,KAAA,KAAU,UAAA,GAAa,aAAa,KAAA,GAAQ;AAAA;AAClD,KACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,CAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAG,KAAA,CAAM,IAAA;AAAA,MACP,EAAC,MAAA,EAAQ,iBAAA,GAAoB,gBAAA,GAAmB,CAAA,EAAC;AAAA,MACjD,CAAC,CAAA,EAAG,KAAA,KAAU,gBAAA,GAAmB;AAAA,KACnC;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF;AACF;AAMO,SAAS,UAAA,CAAW;AAAA,EACzB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,OAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,KAAA,GAAQ,YAAA;AAAA,EACR,QAAA;AAAA,EACA,IAAA,EAAM,aAAA;AAAA,EACN,UAAU,iBAAA,GAAoB,EAAA;AAAA,EAC9B,GAAA;AAAA,EACA,cAAc,qBAAA,GAAwB,CAAA;AAAA,EACtC,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA,EAAY,cAAA;AAAA,EACZ,OAAA,GAAU;AACZ,CAAA,EAA8C;AAC5C,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,qBAAqB,CAAA;AACtD,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,iBAAiB,CAAA;AAC9C,EAAA,MAAM,kBAAA,GACJ,mBACC,UAAA,IAAc,IAAA,GAAO,KAAK,IAAA,CAAK,UAAA,GAAa,QAAQ,CAAA,GAAI,MAAA,CAAA;AAC3D,EAAA,MAAM,OAAO,IAAA,CAAK,GAAA;AAAA,IAChB,CAAA;AAAA,IACA,sBAAsB,IAAA,GAClB,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,kBAAkB,CAAA,GAC1C;AAAA,GACN;AACA,EAAA,MAAM,cAAc,IAAA,GAAO,CAAA;AAC3B,EAAA,MAAM,OAAA,GACJ,kBAAA,IAAsB,IAAA,GAAO,IAAA,GAAO,qBAAsB,OAAA,IAAW,KAAA;AAEvE,EAAA,MAAM,SAAA,GAAYC,aAAA;AAAA,IAChB,MACE,sBAAsB,IAAA,GAClB,iBAAA,CAAkB,MAAM,kBAAA,EAAoB,YAAY,IACxD,EAAC;AAAA,IACP,CAAC,IAAA,EAAM,kBAAA,EAAoB,YAAY;AAAA,GACzC;AAEA,EAAA,IAAI,UAAA,IAAc,IAAA,IAAQ,UAAA,IAAc,CAAA,EAAG;AACzC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,kBAAA,IAAsB,IAAA,IAAQ,kBAAA,IAAsB,CAAA,EAAG;AACzD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,OAAA,KAAoB;AAC5C,IAAA,IAAI,UAAA,EAAY;AACd,MAAA;AAAA,IACF;AAEA,IAAA,QAAA,CAAS,OAAO,CAAA;AAAA,EAClB,CAAA;AAEA,EAAA,MAAM,UAAA,GAAA,CAAc,IAAA,GAAO,CAAA,IAAK,QAAA,GAAW,CAAA;AAC3C,EAAA,MAAM,QAAA,GACJ,cAAc,IAAA,GACV,IAAA,GAAO,WACP,IAAA,CAAK,GAAA,CAAI,IAAA,GAAO,QAAA,EAAU,UAAU,CAAA;AAE1C,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,QAAQ,OAAA;AAAS,MACf,KAAK,OAAA,EAAS;AACZ,QAAA,IAAI,sBAAsB,IAAA,EAAM;AAC9B,UAAA,OAAO,IAAA;AAAA,QACT;AAEA,QAAA,OAAO,SAAA,CAAU,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AACpC,UAAA,IAAI,SAAS,KAAA,EAAO;AAClB,YAAA,uBACEC,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,aAAA,EAAY,MAAA;AAAA,gBACZ,WAAW,MAAA,CAAO,QAAA;AAAA,gBAC+C,QAAA,EAAA;AAAA,eAAA;AAAA,cAA5D,CAAA,SAAA,EAAY,UAAU,KAAA,GAAQ,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,KAAA,GAAQ,CAAC,CAAC,CAAA;AAAA,aAE/D;AAAA,UAEJ;AAEA,UAAA,MAAM,WAAW,IAAA,KAAS,IAAA;AAC1B,UAAA,uBACEA,cAAA;AAAA,YAACC,wBAAA;AAAA,YAAA;AAAA,cACC,cAAA,EAAc,WAAW,MAAA,GAAS,MAAA;AAAA,cAClC,cACE,QAAA,GAAW,CAAA,KAAA,EAAQ,IAAI,CAAA,cAAA,CAAA,GAAmB,cAAc,IAAI,CAAA,CAAA;AAAA,cAE9D,SAAA,EAAW,QAAA,GAAW,MAAA,CAAO,UAAA,GAAa,MAAA;AAAA,cAC1C,UAAA;AAAA,cAEA,KAAA,EAAO,OAAO,IAAI,CAAA;AAAA,cAClB,OAAA,EAAS,QAAA,GAAW,MAAA,GAAY,MAAM,iBAAiB,IAAI,CAAA;AAAA,cAC3D,IAAA;AAAA,cACA,OAAA,EAAQ;AAAA,aAAA;AAAA,YAJH;AAAA,WAKP;AAAA,QAEJ,CAAC,CAAA;AAAA,MACH;AAAA,MAEA,KAAK,OAAA;AACH,QAAA,OAAO,UAAA,IAAc,IAAA,GAAO,IAAA,mBAC1BD,cAAA,CAAC,MAAA,EAAA,EAAK,aAAU,QAAA,EAAS,SAAA,EAAW,MAAA,CAAO,QAAA,EACzC,QAAA,kBAAAA,cAAA,CAACE,sBAAA,EAAA,EAAK,OAAM,SAAA,EAAU,IAAA,EAAK,IAAA,EAAK,IAAA,EAAK,MAAA,EAClC,QAAA,EAAA,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,QAAQ,CAAA,IAAA,EAAO,UAAU,CAAA,CAAA,EAC7C,CAAA,EACF,CAAA;AAAA,MAGJ,KAAK,SAAA;AACH,QAAA,OAAO,kBAAA,IAAsB,OAAO,IAAA,mBAClCF,cAAA,CAAC,UAAK,WAAA,EAAU,QAAA,EAAS,SAAA,EAAW,MAAA,CAAO,QAAA,EACzC,QAAA,kBAAAA,cAAA,CAACE,0BAAK,KAAA,EAAM,SAAA,EAAU,IAAA,EAAK,IAAA,EAAK,IAAA,EAAK,MAAA,EAClC,kBAAQ,IAAI,CAAA,IAAA,EAAO,kBAAkB,CAAA,CAAA,EACxC,CAAA,EACF,CAAA;AAAA,MAGJ,KAAK,MAAA;AAAA,MACL;AACE,QAAA,OAAO,IAAA;AAAA;AACX,EACF,CAAA;AAEA,EAAA,uBACEF,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAWG,oBAAA,CAAG,MAAA,CAAO,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,kBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,QAAA,EACrB,QAAA,EAAA;AAAA,wBAAAJ,cAAA;AAAA,UAACC,wBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAMI,uBAAA;AAAA,YACN,UAAA,EAAY,cAAc,CAAC,WAAA;AAAA,YAC3B,UAAA,EAAU,IAAA;AAAA,YACV,KAAA,EAAM,qBAAA;AAAA,YACN,OAAA,EAAS,MAAM,gBAAA,CAAiB,IAAA,GAAO,CAAC,CAAA;AAAA,YACxC,IAAA;AAAA,YACA,OAAA,EAAQ;AAAA;AAAA,SACV;AAAA,QACC,eAAA,EAAgB;AAAA,wBACjBL,cAAA;AAAA,UAACC,wBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAMK,wBAAA;AAAA,YACN,UAAA,EAAY,cAAc,CAAC,OAAA;AAAA,YAC3B,UAAA,EAAU,IAAA;AAAA,YACV,KAAA,EAAM,iBAAA;AAAA,YACN,OAAA,EAAS,MAAM,gBAAA,CAAiB,IAAA,GAAO,CAAC,CAAA;AAAA,YACxC,IAAA;AAAA,YACA,OAAA,EAAQ;AAAA;AAAA;AACV,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA","file":"chunk-UYXQBM2B.cjs","sourcesContent":["import {ChevronLeft, ChevronRight} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\nimport {Button} from '../Button';\nimport {Text} from '../Text';\n\nexport type PaginationVariant = 'pages' | 'count' | 'compact' | 'none';\n\ninterface PaginationBaseProps {\n /**\n * Additional CSS class names applied to the navigation root.\n */\n className?: string;\n /**\n * Test ID applied to the navigation root.\n */\n 'data-testid'?: string;\n /**\n * Whether another page exists when the total page count is unknown.\n */\n hasMore?: boolean;\n /**\n * Whether the pagination controls are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Pagination'\n */\n label?: string;\n /**\n * Called when the page changes.\n */\n onChange: (page: number) => void;\n /**\n * Current page number, starting at 1.\n */\n page: number;\n /**\n * Number of items per page.\n * @default 10\n */\n pageSize?: number;\n /**\n * Ref forwarded to the navigation root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Number of page buttons to show on each side of the current page.\n * @default 1\n */\n siblingCount?: number;\n /**\n * Control size.\n * @default 'md'\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the navigation root.\n */\n style?: CSSProperties;\n /**\n * Display variant.\n * @default 'pages'\n */\n variant?: PaginationVariant;\n}\n\nexport type PaginationProps = PaginationBaseProps &\n (\n | {totalItems: number; totalPages?: never}\n | {totalItems?: never; totalPages: number}\n | {totalItems?: never; totalPages?: never}\n );\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '4',\n }),\n controls: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n }),\n ellipsis: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n userSelect: 'none',\n }),\n infoText: css({\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n }),\n activePage: css({\n bg: 'bg.hover',\n fontWeight: 'medium',\n }),\n} as const;\n\nfunction generatePageRange(\n currentPage: number,\n totalPages: number,\n siblingCount: number,\n): (number | '...')[] {\n const totalSlots = 5 + 2 * siblingCount;\n\n if (totalPages <= totalSlots) {\n return Array.from({length: totalPages}, (_, index) => index + 1);\n }\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages);\n const showLeftEllipsis = leftSiblingIndex > 2;\n const showRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = 3 + 2 * siblingCount;\n return [\n ...Array.from({length: leftRange}, (_, index) => index + 1),\n '...',\n totalPages,\n ];\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = 3 + 2 * siblingCount;\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightRange},\n (_, index) => totalPages - rightRange + index + 1,\n ),\n ];\n }\n\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightSiblingIndex - leftSiblingIndex + 1},\n (_, index) => leftSiblingIndex + index,\n ),\n '...',\n totalPages,\n ];\n}\n\n/**\n * Page navigation controls with multiple display variants\n * (numbered pages, count summary, compact label, or none).\n */\nexport function Pagination({\n className,\n 'data-testid': dataTestId,\n hasMore,\n isDisabled = false,\n label = 'Pagination',\n onChange,\n page: pageFromProps,\n pageSize: pageSizeFromProps = 10,\n ref,\n siblingCount: siblingCountFromProps = 1,\n size = 'md',\n style,\n totalItems,\n totalPages: totalPagesProp,\n variant = 'pages',\n}: PaginationProps): React.JSX.Element | null {\n const siblingCount = Math.max(0, siblingCountFromProps);\n const pageSize = Math.max(1, pageSizeFromProps);\n const computedTotalPages =\n totalPagesProp ??\n (totalItems != null ? Math.ceil(totalItems / pageSize) : undefined);\n const page = Math.max(\n 1,\n computedTotalPages != null\n ? Math.min(pageFromProps, computedTotalPages)\n : pageFromProps,\n );\n const hasPrevious = page > 1;\n const hasNext =\n computedTotalPages != null ? page < computedTotalPages : (hasMore ?? false);\n\n const pageRange = useMemo(\n () =>\n computedTotalPages != null\n ? generatePageRange(page, computedTotalPages, siblingCount)\n : [],\n [page, computedTotalPages, siblingCount],\n );\n\n if (totalItems != null && totalItems <= 0) {\n return null;\n }\n\n if (computedTotalPages != null && computedTotalPages <= 0) {\n return null;\n }\n\n const handlePageChange = (newPage: number) => {\n if (isDisabled) {\n return;\n }\n\n onChange(newPage);\n };\n\n const rangeStart = (page - 1) * pageSize + 1;\n const rangeEnd =\n totalItems == null\n ? page * pageSize\n : Math.min(page * pageSize, totalItems);\n\n const renderIndicator = () => {\n switch (variant) {\n case 'pages': {\n if (computedTotalPages == null) {\n return null;\n }\n\n return pageRange.map((item, index) => {\n if (item === '...') {\n return (\n <span\n aria-hidden=\"true\"\n className={styles.ellipsis}\n key={`ellipsis-${pageRange[index - 1]}-${pageRange[index + 1]}`}>\n ...\n </span>\n );\n }\n\n const isActive = item === page;\n return (\n <Button\n aria-current={isActive ? 'page' : undefined}\n aria-label={\n isActive ? `Page ${item}, current page` : `Go to page ${item}`\n }\n className={isActive ? styles.activePage : undefined}\n isDisabled={isDisabled}\n key={item}\n label={String(item)}\n onClick={isActive ? undefined : () => handlePageChange(item)}\n size={size}\n variant=\"ghost\"\n />\n );\n });\n }\n\n case 'count':\n return totalItems == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`${rangeStart}-${rangeEnd} of ${totalItems}`}\n </Text>\n </span>\n );\n\n case 'compact':\n return computedTotalPages == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`Page ${page} of ${computedTotalPages}`}\n </Text>\n </span>\n );\n\n case 'none':\n default:\n return null;\n }\n };\n\n return (\n <nav\n aria-label={label}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={styles.controls}>\n <Button\n icon={ChevronLeft}\n isDisabled={isDisabled || !hasPrevious}\n isIconOnly\n label=\"Go to previous page\"\n onClick={() => handlePageChange(page - 1)}\n size={size}\n variant=\"ghost\"\n />\n {renderIndicator()}\n <Button\n icon={ChevronRight}\n isDisabled={isDisabled || !hasNext}\n isIconOnly\n label=\"Go to next page\"\n onClick={() => handlePageChange(page + 1)}\n size={size}\n variant=\"ghost\"\n />\n </div>\n </nav>\n );\n}\n\nPagination.displayName = 'Pagination';\n"]}
1
+ {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"names":["css","useMemo","jsx","Button","Text","cx","jsxs","ChevronLeft","ChevronRight"],"mappings":"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","file":"chunk-QVNDZZS6.cjs","sourcesContent":["import {ChevronLeft, ChevronRight} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\nimport {Button} from '../Button';\nimport {Text} from '../Text';\n\nexport type PaginationVariant = 'pages' | 'count' | 'compact' | 'none';\n\ninterface PaginationBaseProps {\n /**\n * Additional CSS class names applied to the navigation root.\n */\n className?: string;\n /**\n * Test ID applied to the navigation root.\n */\n 'data-testid'?: string;\n /**\n * Whether another page exists when the total page count is unknown.\n */\n hasMore?: boolean;\n /**\n * Whether the pagination controls are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Pagination'\n */\n label?: string;\n /**\n * Called when the page changes.\n */\n onChange: (page: number) => void;\n /**\n * Current page number, starting at 1.\n */\n page: number;\n /**\n * Number of items per page.\n * @default 10\n */\n pageSize?: number;\n /**\n * Ref forwarded to the navigation root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Number of page buttons to show on each side of the current page.\n * @default 1\n */\n siblingCount?: number;\n /**\n * Control size.\n * @default 'md'\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the navigation root.\n */\n style?: CSSProperties;\n /**\n * Display variant.\n * @default 'pages'\n */\n variant?: PaginationVariant;\n}\n\nexport type PaginationProps = PaginationBaseProps &\n (\n | {totalItems: number; totalPages?: never}\n | {totalItems?: never; totalPages: number}\n | {totalItems?: never; totalPages?: never}\n );\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '4',\n }),\n controls: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n }),\n ellipsis: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n userSelect: 'none',\n }),\n infoText: css({\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n }),\n activePage: css({\n bg: 'bg.hover',\n fontWeight: 'medium',\n }),\n} as const;\n\nfunction generatePageRange(\n currentPage: number,\n totalPages: number,\n siblingCount: number,\n): (number | '...')[] {\n const totalSlots = 5 + 2 * siblingCount;\n\n if (totalPages <= totalSlots) {\n return Array.from({length: totalPages}, (_, index) => index + 1);\n }\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages);\n const showLeftEllipsis = leftSiblingIndex > 2;\n const showRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = 3 + 2 * siblingCount;\n return [\n ...Array.from({length: leftRange}, (_, index) => index + 1),\n '...',\n totalPages,\n ];\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = 3 + 2 * siblingCount;\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightRange},\n (_, index) => totalPages - rightRange + index + 1,\n ),\n ];\n }\n\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightSiblingIndex - leftSiblingIndex + 1},\n (_, index) => leftSiblingIndex + index,\n ),\n '...',\n totalPages,\n ];\n}\n\n/**\n * Page navigation controls with multiple display variants\n * (numbered pages, count summary, compact label, or none).\n */\nexport function Pagination({\n className,\n 'data-testid': dataTestId,\n hasMore,\n isDisabled = false,\n label = 'Pagination',\n onChange,\n page: pageFromProps,\n pageSize: pageSizeFromProps = 10,\n ref,\n siblingCount: siblingCountFromProps = 1,\n size = 'md',\n style,\n totalItems,\n totalPages: totalPagesProp,\n variant = 'pages',\n}: PaginationProps): React.JSX.Element | null {\n const siblingCount = Math.max(0, siblingCountFromProps);\n const pageSize = Math.max(1, pageSizeFromProps);\n const computedTotalPages =\n totalPagesProp ??\n (totalItems != null ? Math.ceil(totalItems / pageSize) : undefined);\n const page = Math.max(\n 1,\n computedTotalPages != null\n ? Math.min(pageFromProps, computedTotalPages)\n : pageFromProps,\n );\n const hasPrevious = page > 1;\n const hasNext =\n computedTotalPages != null ? page < computedTotalPages : (hasMore ?? false);\n\n const pageRange = useMemo(\n () =>\n computedTotalPages != null\n ? generatePageRange(page, computedTotalPages, siblingCount)\n : [],\n [page, computedTotalPages, siblingCount],\n );\n\n if (totalItems != null && totalItems <= 0) {\n return null;\n }\n\n if (computedTotalPages != null && computedTotalPages <= 0) {\n return null;\n }\n\n const handlePageChange = (newPage: number) => {\n if (isDisabled) {\n return;\n }\n\n onChange(newPage);\n };\n\n const rangeStart = (page - 1) * pageSize + 1;\n const rangeEnd =\n totalItems == null\n ? page * pageSize\n : Math.min(page * pageSize, totalItems);\n\n const renderIndicator = () => {\n switch (variant) {\n case 'pages': {\n if (computedTotalPages == null) {\n return null;\n }\n\n return pageRange.map((item, index) => {\n if (item === '...') {\n return (\n <span\n aria-hidden=\"true\"\n className={styles.ellipsis}\n key={`ellipsis-${pageRange[index - 1]}-${pageRange[index + 1]}`}>\n ...\n </span>\n );\n }\n\n const isActive = item === page;\n return (\n <Button\n aria-current={isActive ? 'page' : undefined}\n aria-label={\n isActive ? `Page ${item}, current page` : `Go to page ${item}`\n }\n className={isActive ? styles.activePage : undefined}\n isDisabled={isDisabled}\n key={item}\n label={String(item)}\n onClick={isActive ? undefined : () => handlePageChange(item)}\n size={size}\n variant=\"ghost\"\n />\n );\n });\n }\n\n case 'count':\n return totalItems == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`${rangeStart}-${rangeEnd} of ${totalItems}`}\n </Text>\n </span>\n );\n\n case 'compact':\n return computedTotalPages == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`Page ${page} of ${computedTotalPages}`}\n </Text>\n </span>\n );\n\n case 'none':\n default:\n return null;\n }\n };\n\n return (\n <nav\n aria-label={label}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={styles.controls}>\n <Button\n icon={ChevronLeft}\n isDisabled={isDisabled || !hasPrevious}\n isIconOnly\n label=\"Go to previous page\"\n onClick={() => handlePageChange(page - 1)}\n size={size}\n variant=\"ghost\"\n />\n {renderIndicator()}\n <Button\n icon={ChevronRight}\n isDisabled={isDisabled || !hasNext}\n isIconOnly\n label=\"Go to next page\"\n onClick={() => handlePageChange(page + 1)}\n size={size}\n variant=\"ghost\"\n />\n </div>\n </nav>\n );\n}\n\nPagination.displayName = 'Pagination';\n"]}
@@ -1,7 +1,8 @@
1
- import { Text } from './chunk-J2FCNWYM.js';
2
- import { useLinkComponent, useRel } from './chunk-2IKWX66Q.js';
3
- import { cx } from './chunk-PPNETWIP.js';
1
+ import { Text } from './chunk-QRFDPG34.js';
2
+ import { useLinkComponent, useRel } from './chunk-MI5QU37D.js';
3
+ import { isReactNode } from './chunk-2PSZAWLC.js';
4
4
  import { css } from './chunk-OD4DHHZH.js';
5
+ import { cx } from './chunk-PPNETWIP.js';
5
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
7
 
7
8
  var SELECTABLE_ROLES = /* @__PURE__ */ new Set([
@@ -144,7 +145,7 @@ function Item({
144
145
  const linkRel = useRel({ target, rel });
145
146
  const isInteractive = href != null || onClick != null;
146
147
  const hasParentRole = role != null;
147
- const inlineEndContent = endContent != null && endContentPosition === "inline" ? /* @__PURE__ */ jsx(
148
+ const inlineEndContent = isReactNode(endContent) && endContentPosition === "inline" ? /* @__PURE__ */ jsx(
148
149
  "span",
149
150
  {
150
151
  className: cx(
@@ -159,7 +160,7 @@ function Item({
159
160
  /* @__PURE__ */ jsx(Text, { as: "span", maxLines: getMaxLines(labelLines, label), type: "body", children: label }),
160
161
  inlineEndContent
161
162
  ] }) : /* @__PURE__ */ jsx(Text, { as: "span", maxLines: getMaxLines(labelLines, label), type: "body", children: label }),
162
- description != null ? /* @__PURE__ */ jsx(
163
+ isReactNode(description) ? /* @__PURE__ */ jsx(
163
164
  Text,
164
165
  {
165
166
  as: "span",
@@ -180,9 +181,9 @@ function Item({
180
181
  onClick?.(event);
181
182
  };
182
183
  const innerSlots = /* @__PURE__ */ jsxs(Fragment, { children: [
183
- startContent != null ? /* @__PURE__ */ jsx("span", { className: styles.startContent, children: startContent }) : null,
184
+ isReactNode(startContent) ? /* @__PURE__ */ jsx("span", { className: styles.startContent, children: startContent }) : null,
184
185
  /* @__PURE__ */ jsx("span", { className: styles.textContent, children: labelAndDescription }),
185
- endContent != null && endContentPosition !== "inline" ? /* @__PURE__ */ jsx(
186
+ isReactNode(endContent) && endContentPosition !== "inline" ? /* @__PURE__ */ jsx(
186
187
  "span",
187
188
  {
188
189
  className: cx(
@@ -272,7 +273,7 @@ function Item({
272
273
  children: [
273
274
  leadingContent,
274
275
  content,
275
- trailingContent != null ? /* @__PURE__ */ jsx("span", { className: styles.trailingContent, children: trailingContent }) : null
276
+ isReactNode(trailingContent) ? /* @__PURE__ */ jsx("span", { className: styles.trailingContent, children: trailingContent }) : null
276
277
  ]
277
278
  }
278
279
  );
@@ -280,5 +281,5 @@ function Item({
280
281
  Item.displayName = "Item";
281
282
 
282
283
  export { Item };
283
- //# sourceMappingURL=chunk-AMG3S252.js.map
284
- //# sourceMappingURL=chunk-AMG3S252.js.map
284
+ //# sourceMappingURL=chunk-QY6OMQW6.js.map
285
+ //# sourceMappingURL=chunk-QY6OMQW6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Item/Item.tsx"],"names":[],"mappings":";;;;;;;AAkBA,IAAM,gBAAA,uBAAuB,GAAA,CAAI;AAAA,EAC/B,QAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AA2HD,IAAM,MAAA,GAAS;AAAA,EACb,MAAM,GAAA,CAAI;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA,IACJ,SAAA,EAAW,OAAA;AAAA,IACX,YAAA,EAAc;AAAA,GACf,CAAA;AAAA,EACD,WAAW,GAAA,CAAI;AAAA,IACb,CAAA,EAAG;AAAA,GACJ,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,aAAa,GAAA,CAAI;AAAA,IACf,MAAA,EAAQ,SAAA;AAAA,IACR,kBAAA,EAAoB,kBAAA;AAAA,IACpB,kBAAA,EAAoB,MAAA;AAAA,IACpB,wBAAA,EAA0B,SAAA;AAAA,IAC1B,MAAA,EAAQ,EAAC,EAAA,EAAI,WAAA,EAAW;AAAA,IACxB,OAAA,EAAS,EAAC,EAAA,EAAI,UAAA,EAAU;AAAA,IACxB,uBAAA,EAAyB;AAAA,MACvB,YAAA,EAAc,OAAA;AAAA,MACd,YAAA,EAAc,OAAA;AAAA,MACd,YAAA,EAAc,SAAA;AAAA,MACd,aAAA,EAAe;AAAA;AACjB,GACD,CAAA;AAAA,EACD,aAAa,GAAA,CAAI;AAAA,IACf,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,UAAU,GAAA,CAAI;AAAA,IACZ,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,UAAU,GAAA,CAAI;AAAA,IACZ,MAAA,EAAQ,aAAA;AAAA,IACR,aAAA,EAAe;AAAA,GAChB,CAAA;AAAA,EACD,iBAAiB,GAAA,CAAI;AAAA,IACnB,OAAA,EAAS;AAAA,GACV,CAAA;AAAA,EACD,oBAAoB,GAAA,CAAI;AAAA,IACtB,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM,CAAA;AAAA,IACN,SAAA,EAAW,OAAA;AAAA,IACX,cAAA,EAAgB;AAAA,GACjB,CAAA;AAAA,EACD,SAAS,GAAA,CAAI;AAAA,IACX,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM,CAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,aAAa,GAAA,CAAI;AAAA,IACf,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,UAAA,EAAY,CAAA;AAAA,IACZ,iBAAA,EAAmB;AAAA,GACpB,CAAA;AAAA,EACD,kBAAkB,GAAA,CAAI;AAAA,IACpB,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,UAAU,GAAA,CAAI;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK;AAAA,GACN,CAAA;AAAA,EACD,iBAAiB,GAAA,CAAI;AAAA,IACnB,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,UAAA,EAAY;AAAA,GACb;AACH,CAAA;AAEA,SAAS,WAAA,CACP,eACA,OAAA,EACQ;AACR,EAAA,IAAI,iBAAiB,IAAA,EAAM;AACzB,IAAA,OAAO,aAAA;AAAA,EACT;AAEA,EAAA,OAAO,OAAO,OAAA,KAAY,QAAA,GAAW,CAAA,GAAI,CAAA;AAC3C;AAKO,SAAS,IAAA,CAAK;AAAA,EACnB,KAAA,GAAQ,QAAA;AAAA,EACR,cAAA,EAAgB,WAAA;AAAA,EAChB,IAAI,SAAA,GAAY,KAAA;AAAA,EAChB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,kBAAA,GAAqB,KAAA;AAAA,EACrB,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,aAAA,GAAgB,KAAA;AAAA,EAChB,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,KAAA,GAAQ;AACV,CAAA,EAAiC;AAC/B,EAAA,MAAM,aAAA,GAAgB,iBAAiB,aAAa,CAAA;AACpD,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,EAAC,MAAA,EAAQ,KAAI,CAAA;AACpC,EAAA,MAAM,aAAA,GAAgB,IAAA,IAAQ,IAAA,IAAQ,OAAA,IAAW,IAAA;AACjD,EAAA,MAAM,gBAAgB,IAAA,IAAQ,IAAA;AAE9B,EAAA,MAAM,gBAAA,GACJ,WAAA,CAAY,UAAU,CAAA,IAAK,uBAAuB,QAAA,mBAChD,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,CAAO,gBAAA;AAAA,QACP,UAAA,GAAa,OAAO,eAAA,GAAkB;AAAA,OACxC;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH,GACE,IAAA;AAEN,EAAA,MAAM,sCACJ,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,gBAAA,IAAoB,IAAA,mBACnB,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAO,QAAA,EACtB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,QAAA,EAAU,WAAA,CAAY,YAAY,KAAK,CAAA,EAAG,IAAA,EAAK,MAAA,EAC5D,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,MACC;AAAA,KAAA,EACH,CAAA,mBAEA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,QAAA,EAAU,WAAA,CAAY,UAAA,EAAY,KAAK,CAAA,EAAG,IAAA,EAAK,MAAA,EAC5D,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,IAED,WAAA,CAAY,WAAW,CAAA,mBACtB,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAG,MAAA;AAAA,QACH,QAAA,EAAU,WAAA,CAAY,gBAAA,EAAkB,WAAW,CAAA;AAAA,QACnD,IAAA,EAAK,YAAA;AAAA,QACJ,QAAA,EAAA;AAAA;AAAA,KACH,GACE;AAAA,GAAA,EACN,CAAA;AAGF,EAAA,MAAM,oBAAA,GAAuB,CAAC,KAAA,KAAmC;AAC/D,IAAA,IAAI,UAAA,EAAY;AACd,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,gBAAgB,KAAA,CAAM,MAAA;AAC5B,IAAA,IAAI,aAAA,CAAc,OAAA,CAAQ,oCAAoC,CAAA,EAAG;AAC/D,MAAA;AAAA,IACF;AAEA,IAAA,OAAA,GAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,6BACJ,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,WAAA,CAAY,YAAY,oBACvB,GAAA,CAAC,MAAA,EAAA,EAAK,WAAW,MAAA,CAAO,YAAA,EAAe,wBAAa,CAAA,GAClD,IAAA;AAAA,oBACJ,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,aAAc,QAAA,EAAA,mBAAA,EAAoB,CAAA;AAAA,IACzD,WAAA,CAAY,UAAU,CAAA,IAAK,kBAAA,KAAuB,QAAA,mBACjD,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,MAAA,CAAO,UAAA;AAAA,UACP,UAAA,GAAa,OAAO,eAAA,GAAkB;AAAA,SACxC;AAAA,QACC,QAAA,EAAA;AAAA;AAAA,KACH,GACE;AAAA,GAAA,EACN,CAAA;AAGF,EAAA,MAAM,UAAU,aAAA,mBACd,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,CAAO,OAAA;AAAA,QACP,UAAA,GAAa,OAAO,eAAA,GAAkB;AAAA,OACxC;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH,GACE,QAAQ,IAAA,mBACV,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,gBAAc,WAAA,IAAe,MAAA;AAAA,MAC7B,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,CAAO,kBAAA;AAAA,QACP,UAAA,GAAa,OAAO,eAAA,GAAkB;AAAA,OACxC;AAAA,MACA,IAAA;AAAA,MACA,OAAA,EAAS,CAAC,CAAA,KAA+B;AACvC,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA;AAAA,QACF;AACA,QAAA,OAAA,GAAU,CAAC,CAAA;AAAA,MACb,CAAA;AAAA,MACA,GAAA,EAAK,MAAA;AAAA,MACL,GAAA,EAAK,OAAA;AAAA,MACL,QAAA,EAAU,aAAa,EAAA,GAAK,MAAA;AAAA,MAC5B,MAAA;AAAA,MACA,EAAA,EAAI,aAAA,KAAkB,GAAA,GAAM,MAAA,GAAY,IAAA;AAAA,MACvC,QAAA,EAAA;AAAA;AAAA,GACH,GACE,WAAW,IAAA,mBACb,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,gBAAc,WAAA,IAAe,MAAA;AAAA,MAC7B,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,CAAO,kBAAA;AAAA,QACP,UAAA,GAAa,OAAO,eAAA,GAAkB;AAAA,OACxC;AAAA,MACA,QAAA,EAAU,UAAA;AAAA,MACV,OAAA;AAAA,MACA,IAAA,EAAK,QAAA;AAAA,MACJ,QAAA,EAAA;AAAA;AAAA,GACH,mBAEA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,CAAO,OAAA;AAAA,QACP,UAAA,GAAa,OAAO,eAAA,GAAkB;AAAA,OACxC;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH;AAGF,EAAA,uBACE,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,eAAA,EACE,cAAc,IAAA,IAAQ,IAAA,IAAQ,iBAAiB,GAAA,CAAI,IAAI,IACnD,IAAA,GACA,MAAA;AAAA,MAEN,SAAA,EAAW,EAAA;AAAA,QACT,MAAA,CAAO,IAAA;AAAA,QACP,KAAA,KAAU,MAAA,GAAS,MAAA,CAAO,SAAA,GAAY,MAAA;AAAA,QACtC,KAAA,KAAU,OAAA,GAAU,MAAA,CAAO,UAAA,GAAa,MAAA;AAAA,QACxC,aAAA,GAAgB,OAAO,WAAA,GAAc,MAAA;AAAA,QACrC,aAAA,GAAgB,OAAO,WAAA,GAAc,MAAA;AAAA,QACrC,UAAA,GAAa,OAAO,QAAA,GAAW,MAAA;AAAA,QAC/B,UAAA,IAAc,CAAC,aAAA,GAAgB,MAAA,CAAO,QAAA,GAAW,MAAA;AAAA,QACjD;AAAA,OACF;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,OAAA,EACE,aAAA,GACI,OAAA,GACA,aAAA,GACE,oBAAA,GACA,MAAA;AAAA,MAER,GAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,cAAA;AAAA,QACA,OAAA;AAAA,QACA,WAAA,CAAY,eAAe,CAAA,mBAC1B,GAAA,CAAC,UAAK,SAAA,EAAW,MAAA,CAAO,eAAA,EAAkB,QAAA,EAAA,eAAA,EAAgB,CAAA,GACxD;AAAA;AAAA;AAAA,GACN;AAEJ;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-QY6OMQW6.js","sourcesContent":["/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as/link component props */\n\nimport type {\n AriaAttributes,\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {useRel} from '../../internal/linkAccessibility';\nimport type {LinkComponent as LinkComponentType} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {Text} from '../Text';\n\nconst SELECTABLE_ROLES = new Set([\n 'option',\n 'tab',\n 'row',\n 'gridcell',\n 'treeitem',\n]);\n\nexport type ItemAlign = 'center' | 'start';\nexport type ItemElement = 'div' | 'li' | 'span';\n\nexport interface ItemProps {\n /**\n * Vertical alignment of the start and end content slots.\n * @default 'center'\n */\n align?: ItemAlign;\n /**\n * ARIA current indicator forwarded to the interactive element.\n */\n 'aria-current'?: AriaAttributes['aria-current'];\n /**\n * HTML element used for the root.\n * @default 'div'\n */\n as?: ItemElement;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Maximum number of description lines before truncation.\n */\n descriptionLines?: number;\n /**\n * Content rendered after the label and description.\n * Position controlled by `endContentPosition`.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'end'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item should show highlighted styling.\n * @default false\n */\n isHighlighted?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Maximum number of label lines before truncation.\n */\n labelLines?: number;\n /**\n * Content rendered outside the interactive area, before it.\n */\n leadingContent?: ReactNode;\n /**\n * Custom link component used when href is set.\n */\n linkComponent?: LinkComponentType;\n /**\n * Click handler. When set without href, the content area renders as a\n * button. When set with href, also fires on link clicks.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link relationship. `noopener noreferrer` are added for `_blank` targets.\n */\n rel?: string;\n /**\n * ARIA role applied to the root element. When set, click handling is attached\n * to the root so parent composite widgets can own keyboard behavior.\n */\n role?: string;\n /**\n * Leading visual content, such as an icon, avatar, or image.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n /**\n * Content rendered outside the interactive area, after it.\n */\n trailingContent?: ReactNode;\n /**\n * Width of the root element.\n * @default 'full'\n */\n width?: 'full' | 'auto';\n}\n\nconst styles = {\n root: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '2',\n textAlign: 'start',\n borderRadius: 'md',\n }),\n widthFull: css({\n w: 'full',\n }),\n alignStart: css({\n alignItems: 'flex-start',\n }),\n interactive: css({\n cursor: 'pointer',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.hover'},\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n highlighted: css({\n bg: 'bg.subtle',\n }),\n selected: css({\n bg: 'bg.selected',\n }),\n disabled: css({\n cursor: 'not-allowed',\n pointerEvents: 'none',\n }),\n disabledContent: css({\n opacity: 0.5,\n }),\n interactiveContent: css({\n cursor: 'inherit',\n color: 'inherit',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n textDecoration: 'none',\n }),\n content: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n }),\n textContent: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n startContent: css({\n display: 'inline-flex',\n flexShrink: 0,\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n marginInlineStart: 'auto',\n }),\n endContentInline: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n labelRow: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n }),\n trailingContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n} as const;\n\nfunction getMaxLines(\n explicitLines: number | undefined,\n content: ReactNode,\n): number {\n if (explicitLines != null) {\n return explicitLines;\n }\n\n return typeof content === 'string' ? 1 : 0;\n}\n\n/**\n * Shared start content, label, description, and end content row primitive.\n */\nexport function Item({\n align = 'center',\n 'aria-current': ariaCurrent,\n as: Component = 'div',\n className,\n 'data-testid': dataTestId,\n description,\n descriptionLines,\n endContent,\n endContentPosition = 'end',\n href,\n isDisabled = false,\n isHighlighted = false,\n isSelected = false,\n label,\n labelLines,\n leadingContent,\n linkComponent,\n onClick,\n ref,\n rel,\n role,\n startContent,\n style,\n target,\n trailingContent,\n width = 'full',\n}: ItemProps): React.JSX.Element {\n const LinkComponent = useLinkComponent(linkComponent);\n const linkRel = useRel({target, rel});\n const isInteractive = href != null || onClick != null;\n const hasParentRole = role != null;\n\n const inlineEndContent =\n isReactNode(endContent) && endContentPosition === 'inline' ? (\n <span\n className={cx(\n styles.endContentInline,\n isDisabled ? styles.disabledContent : undefined,\n )}>\n {endContent}\n </span>\n ) : null;\n\n const labelAndDescription = (\n <>\n {inlineEndContent != null ? (\n <span className={styles.labelRow}>\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n {inlineEndContent}\n </span>\n ) : (\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n )}\n {isReactNode(description) ? (\n <Text\n as=\"span\"\n maxLines={getMaxLines(descriptionLines, description)}\n type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </>\n );\n\n const handleContainerClick = (event: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n return;\n }\n\n const targetElement = event.target as HTMLElement;\n if (targetElement.closest('button, a, input, select, textarea')) {\n return;\n }\n\n onClick?.(event);\n };\n\n const innerSlots = (\n <>\n {isReactNode(startContent) ? (\n <span className={styles.startContent}>{startContent}</span>\n ) : null}\n <span className={styles.textContent}>{labelAndDescription}</span>\n {isReactNode(endContent) && endContentPosition !== 'inline' ? (\n <span\n className={cx(\n styles.endContent,\n isDisabled ? styles.disabledContent : undefined,\n )}>\n {endContent}\n </span>\n ) : null}\n </>\n );\n\n const content = hasParentRole ? (\n <span\n className={cx(\n styles.content,\n isDisabled ? styles.disabledContent : undefined,\n )}>\n {innerSlots}\n </span>\n ) : href != null ? (\n <LinkComponent\n aria-current={ariaCurrent ?? undefined}\n aria-disabled={isDisabled || undefined}\n className={cx(\n styles.interactiveContent,\n isDisabled ? styles.disabledContent : undefined,\n )}\n href={href}\n onClick={(e: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n }}\n ref={undefined}\n rel={linkRel}\n tabIndex={isDisabled ? -1 : undefined}\n target={target}\n to={LinkComponent === 'a' ? undefined : href}>\n {innerSlots}\n </LinkComponent>\n ) : onClick != null ? (\n <button\n aria-current={ariaCurrent ?? undefined}\n className={cx(\n styles.interactiveContent,\n isDisabled ? styles.disabledContent : undefined,\n )}\n disabled={isDisabled}\n onClick={onClick}\n type=\"button\">\n {innerSlots}\n </button>\n ) : (\n <span\n className={cx(\n styles.content,\n isDisabled ? styles.disabledContent : undefined,\n )}>\n {innerSlots}\n </span>\n );\n\n return (\n <Component\n aria-disabled={isDisabled || undefined}\n aria-selected={\n isSelected && role != null && SELECTABLE_ROLES.has(role)\n ? true\n : undefined\n }\n className={cx(\n styles.root,\n width === 'full' ? styles.widthFull : undefined,\n align === 'start' ? styles.alignStart : undefined,\n isInteractive ? styles.interactive : undefined,\n isHighlighted ? styles.highlighted : undefined,\n isSelected ? styles.selected : undefined,\n isDisabled && !hasParentRole ? styles.disabled : undefined,\n className,\n )}\n data-testid={dataTestId}\n onClick={\n hasParentRole\n ? onClick\n : isInteractive\n ? handleContainerClick\n : undefined\n }\n ref={ref as Ref<never>}\n role={role}\n style={style}>\n {leadingContent}\n {content}\n {isReactNode(trailingContent) ? (\n <span className={styles.trailingContent}>{trailingContent}</span>\n ) : null}\n </Component>\n );\n}\n\nItem.displayName = 'Item';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { mergeRefs } from './chunk-SGLIDI6R.js';
2
- import { cx } from './chunk-PPNETWIP.js';
3
2
  import { css } from './chunk-OD4DHHZH.js';
3
+ import { cx } from './chunk-PPNETWIP.js';
4
4
  import { useRef, useEffect, useState, useCallback, useMemo } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -196,5 +196,5 @@ function useDrawer(defaultOptions) {
196
196
  }
197
197
 
198
198
  export { Drawer, useDrawer };
199
- //# sourceMappingURL=chunk-XIFLSMGW.js.map
200
- //# sourceMappingURL=chunk-XIFLSMGW.js.map
199
+ //# sourceMappingURL=chunk-R6CMJMIJ.js.map
200
+ //# sourceMappingURL=chunk-R6CMJMIJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Drawer/Drawer.tsx","../src/components/Drawer/useDrawer.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-XIFLSMGW.js","sourcesContent":["import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useEffect, useRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\n\nexport type DrawerPlacement = 'start' | 'end' | 'top' | 'bottom';\n\nexport interface DrawerProps {\n /**\n * Drawer body content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the drawer.\n */\n className?: string;\n /**\n * Test ID applied to the drawer.\n */\n 'data-testid'?: string;\n /**\n * Whether the drawer is open.\n */\n isOpen: boolean;\n /**\n * Accessible label for the drawer.\n */\n label: string;\n /**\n * Called when the drawer requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Edge of the viewport the drawer slides in from.\n * @default 'end'\n */\n placement?: DrawerPlacement;\n /**\n * Ref forwarded to the drawer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Width (start/end) or height (top/bottom) of the drawer.\n */\n size?: number | string;\n /**\n * Inline styles applied to the drawer.\n */\n style?: CSSProperties;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst styles = {\n root: css({\n position: 'fixed',\n p: 0,\n borderWidth: 0,\n bg: 'bg',\n color: 'fg',\n boxShadow: 'xl',\n flexDirection: 'column',\n overscrollBehavior: 'contain',\n _backdrop: {\n bg: 'overlay.scrim',\n backdropFilter: 'blur(2px)',\n },\n _focusVisible: {\n outline: 'none',\n },\n }),\n open: css({\n display: 'flex',\n }),\n start: css({\n inset: 0,\n marginInlineEnd: 'auto',\n h: '100dvh',\n maxH: '100dvh',\n borderRadius: 0,\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n end: css({\n inset: 0,\n marginInlineStart: 'auto',\n h: '100dvh',\n maxH: '100dvh',\n borderRadius: 0,\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n top: css({\n inset: 0,\n mb: 'auto',\n w: '100dvw',\n maxW: '100dvw',\n borderRadius: 0,\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n bottom: css({\n inset: 0,\n mt: 'auto',\n w: '100dvw',\n maxW: '100dvw',\n borderRadius: 0,\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n display: 'flex',\n flexDirection: 'column',\n flex: '1 1 auto',\n minH: 0,\n overflow: 'hidden',\n }),\n} as const;\n\nconst DEFAULT_SIZES: Record<DrawerPlacement, number | string> = {\n start: 320,\n end: 320,\n top: '40vh',\n bottom: '40vh',\n};\n\nfunction getSizeStyle(\n placement: DrawerPlacement,\n size: number | string,\n): CSSProperties {\n const formatted = formatSize(size);\n if (placement === 'start' || placement === 'end') {\n return {width: formatted, maxWidth: '100dvw'};\n }\n return {height: formatted, maxHeight: '100dvh'};\n}\n\n/**\n * A slide-in panel anchored to an edge of the viewport.\n */\nexport function Drawer({\n isOpen,\n label,\n onOpenChange,\n placement = 'end',\n size,\n children,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DrawerProps): React.JSX.Element {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n if (dialog == null) {\n return;\n }\n\n if (isOpen) {\n triggerRef.current = document.activeElement as HTMLElement | null;\n if (!dialog.open) {\n dialog.showModal();\n }\n dialog\n .querySelector<HTMLElement>('[data-autofocus=\"true\"], [autofocus]')\n ?.focus();\n } else if (dialog.open) {\n dialog.close();\n triggerRef.current?.focus();\n triggerRef.current = null;\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isOpen]);\n\n const effectiveSize = size ?? DEFAULT_SIZES[placement];\n const sizeStyle = getSizeStyle(placement, effectiveSize);\n\n return (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-noninteractive-element-interactions -- native dialog backdrop clicks close the drawer\n <dialog\n aria-label={label}\n aria-modal=\"true\"\n className={cx(\n styles.root,\n isOpen ? styles.open : undefined,\n styles[placement],\n className,\n )}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n onOpenChange(false);\n }}\n onClick={event => {\n if (event.target === event.currentTarget) {\n onOpenChange(false);\n }\n }}\n ref={mergeRefs(ref as Ref<HTMLDialogElement>, dialogRef)}\n style={{...sizeStyle, ...style}}>\n <div className={styles.inner}>{children}</div>\n </dialog>\n );\n}\n\nDrawer.displayName = 'Drawer';\n","import {useCallback, useMemo, useState, type ReactNode} from 'react';\nimport {Drawer, type DrawerProps} from './Drawer';\n\nexport type DrawerOptions = Partial<\n Omit<DrawerProps, 'children' | 'isOpen' | 'onOpenChange'>\n>;\n\nexport interface UseDrawerReturn {\n element: ReactNode;\n hide: () => void;\n isOpen: boolean;\n show: (content: ReactNode, options?: DrawerOptions) => void;\n}\n\nexport function useDrawer(defaultOptions?: DrawerOptions): UseDrawerReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [content, setContent] = useState<ReactNode>(null);\n const [options, setOptions] = useState<DrawerOptions | undefined>(\n defaultOptions,\n );\n\n const show = useCallback(\n (nextContent: ReactNode, nextOptions?: DrawerOptions) => {\n setContent(nextContent);\n setOptions(previous => ({...previous, ...nextOptions}));\n setIsOpen(true);\n },\n [],\n );\n\n const hide = useCallback(() => setIsOpen(false), []);\n\n const element = useMemo(\n () => (\n <Drawer\n {...(defaultOptions ?? {})}\n {...(options ?? {})}\n isOpen={isOpen}\n label={options?.label ?? defaultOptions?.label ?? 'Drawer'}\n onOpenChange={setIsOpen}>\n {content}\n </Drawer>\n ),\n [content, defaultOptions, isOpen, options],\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
1
+ {"version":3,"sources":["../src/components/Drawer/Drawer.tsx","../src/components/Drawer/useDrawer.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-R6CMJMIJ.js","sourcesContent":["import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useEffect, useRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\n\nexport type DrawerPlacement = 'start' | 'end' | 'top' | 'bottom';\n\nexport interface DrawerProps {\n /**\n * Drawer body content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the drawer.\n */\n className?: string;\n /**\n * Test ID applied to the drawer.\n */\n 'data-testid'?: string;\n /**\n * Whether the drawer is open.\n */\n isOpen: boolean;\n /**\n * Accessible label for the drawer.\n */\n label: string;\n /**\n * Called when the drawer requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Edge of the viewport the drawer slides in from.\n * @default 'end'\n */\n placement?: DrawerPlacement;\n /**\n * Ref forwarded to the drawer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Width (start/end) or height (top/bottom) of the drawer.\n */\n size?: number | string;\n /**\n * Inline styles applied to the drawer.\n */\n style?: CSSProperties;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst styles = {\n root: css({\n position: 'fixed',\n p: 0,\n borderWidth: 0,\n bg: 'bg',\n color: 'fg',\n boxShadow: 'xl',\n flexDirection: 'column',\n overscrollBehavior: 'contain',\n _backdrop: {\n bg: 'overlay.scrim',\n backdropFilter: 'blur(2px)',\n },\n _focusVisible: {\n outline: 'none',\n },\n }),\n open: css({\n display: 'flex',\n }),\n start: css({\n inset: 0,\n marginInlineEnd: 'auto',\n h: '100dvh',\n maxH: '100dvh',\n borderRadius: 0,\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n end: css({\n inset: 0,\n marginInlineStart: 'auto',\n h: '100dvh',\n maxH: '100dvh',\n borderRadius: 0,\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n top: css({\n inset: 0,\n mb: 'auto',\n w: '100dvw',\n maxW: '100dvw',\n borderRadius: 0,\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n bottom: css({\n inset: 0,\n mt: 'auto',\n w: '100dvw',\n maxW: '100dvw',\n borderRadius: 0,\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n display: 'flex',\n flexDirection: 'column',\n flex: '1 1 auto',\n minH: 0,\n overflow: 'hidden',\n }),\n} as const;\n\nconst DEFAULT_SIZES: Record<DrawerPlacement, number | string> = {\n start: 320,\n end: 320,\n top: '40vh',\n bottom: '40vh',\n};\n\nfunction getSizeStyle(\n placement: DrawerPlacement,\n size: number | string,\n): CSSProperties {\n const formatted = formatSize(size);\n if (placement === 'start' || placement === 'end') {\n return {width: formatted, maxWidth: '100dvw'};\n }\n return {height: formatted, maxHeight: '100dvh'};\n}\n\n/**\n * A slide-in panel anchored to an edge of the viewport.\n */\nexport function Drawer({\n isOpen,\n label,\n onOpenChange,\n placement = 'end',\n size,\n children,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DrawerProps): React.JSX.Element {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n if (dialog == null) {\n return;\n }\n\n if (isOpen) {\n triggerRef.current = document.activeElement as HTMLElement | null;\n if (!dialog.open) {\n dialog.showModal();\n }\n dialog\n .querySelector<HTMLElement>('[data-autofocus=\"true\"], [autofocus]')\n ?.focus();\n } else if (dialog.open) {\n dialog.close();\n triggerRef.current?.focus();\n triggerRef.current = null;\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isOpen]);\n\n const effectiveSize = size ?? DEFAULT_SIZES[placement];\n const sizeStyle = getSizeStyle(placement, effectiveSize);\n\n return (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-noninteractive-element-interactions -- native dialog backdrop clicks close the drawer\n <dialog\n aria-label={label}\n aria-modal=\"true\"\n className={cx(\n styles.root,\n isOpen ? styles.open : undefined,\n styles[placement],\n className,\n )}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n onOpenChange(false);\n }}\n onClick={event => {\n if (event.target === event.currentTarget) {\n onOpenChange(false);\n }\n }}\n ref={mergeRefs(ref as Ref<HTMLDialogElement>, dialogRef)}\n style={{...sizeStyle, ...style}}>\n <div className={styles.inner}>{children}</div>\n </dialog>\n );\n}\n\nDrawer.displayName = 'Drawer';\n","import {useCallback, useMemo, useState, type ReactNode} from 'react';\nimport {Drawer, type DrawerProps} from './Drawer';\n\nexport type DrawerOptions = Partial<\n Omit<DrawerProps, 'children' | 'isOpen' | 'onOpenChange'>\n>;\n\nexport interface UseDrawerReturn {\n element: ReactNode;\n hide: () => void;\n isOpen: boolean;\n show: (content: ReactNode, options?: DrawerOptions) => void;\n}\n\nexport function useDrawer(defaultOptions?: DrawerOptions): UseDrawerReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [content, setContent] = useState<ReactNode>(null);\n const [options, setOptions] = useState<DrawerOptions | undefined>(\n defaultOptions,\n );\n\n const show = useCallback(\n (nextContent: ReactNode, nextOptions?: DrawerOptions) => {\n setContent(nextContent);\n setOptions(previous => ({...previous, ...nextOptions}));\n setIsOpen(true);\n },\n [],\n );\n\n const hide = useCallback(() => setIsOpen(false), []);\n\n const element = useMemo(\n () => (\n <Drawer\n {...(defaultOptions ?? {})}\n {...(options ?? {})}\n isOpen={isOpen}\n label={options?.label ?? defaultOptions?.label ?? 'Drawer'}\n onOpenChange={setIsOpen}>\n {content}\n </Drawer>\n ),\n [content, defaultOptions, isOpen, options],\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
@@ -1,7 +1,8 @@
1
- import { fieldRecipe } from './chunk-NUTB2K4G.js';
2
- import { Text } from './chunk-J2FCNWYM.js';
3
- import { VisuallyHidden } from './chunk-EXYBQVZT.js';
4
- import { Tooltip } from './chunk-EMHLPPQZ.js';
1
+ import { fieldRecipe } from './chunk-U7ALNPFJ.js';
2
+ import { Text } from './chunk-QRFDPG34.js';
3
+ import { VisuallyHidden } from './chunk-7BSFKG7N.js';
4
+ import { Tooltip } from './chunk-3CJC4QE6.js';
5
+ import { isReactNode } from './chunk-2PSZAWLC.js';
5
6
  import { Icon } from './chunk-7T3SWOY7.js';
6
7
  import { cx } from './chunk-PPNETWIP.js';
7
8
  import { Info } from 'lucide-react';
@@ -37,7 +38,7 @@ function Field({
37
38
  style,
38
39
  ref
39
40
  }) {
40
- const resolvedDescriptionID = descriptionID ?? (description != null ? `${inputId}-description` : void 0);
41
+ const resolvedDescriptionID = descriptionID ?? (isReactNode(description) ? `${inputId}-description` : void 0);
41
42
  const resolvedStatusID = status?.messageID ?? (status?.message != null ? `${inputId}-status` : void 0);
42
43
  const statusText = isOptional ? "Optional" : isRequired ? "Required" : null;
43
44
  const classes = fieldRecipe({
@@ -58,11 +59,11 @@ function Field({
58
59
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
59
60
  statusText
60
61
  ] }) : null,
61
- labelTooltip != null ? /* @__PURE__ */ jsx(Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsx(Icon, { icon: Info, size: "sm" }) }) }) : null
62
+ isReactNode(labelTooltip) ? /* @__PURE__ */ jsx(Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsx(Icon, { icon: Info, size: "sm" }) }) }) : null
62
63
  ]
63
64
  }
64
65
  );
65
- const descriptionNode = description != null ? /* @__PURE__ */ jsx(
66
+ const descriptionNode = isReactNode(description) ? /* @__PURE__ */ jsx(
66
67
  Text,
67
68
  {
68
69
  as: "span",
@@ -111,5 +112,5 @@ function Field({
111
112
  Field.displayName = "Field";
112
113
 
113
114
  export { Field, getNecessity };
114
- //# sourceMappingURL=chunk-K6CQ45C2.js.map
115
- //# sourceMappingURL=chunk-K6CQ45C2.js.map
115
+ //# sourceMappingURL=chunk-RLOGQBFD.js.map
116
+ //# sourceMappingURL=chunk-RLOGQBFD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Field/Field.tsx"],"names":[],"mappings":"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","file":"chunk-RLOGQBFD.js","sourcesContent":["import {Info} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\nimport {fieldRecipe} from './Field.recipe';\nimport type {InputStatusType} from './types';\n\nexport type FieldStatusVariant = 'attached' | 'detached';\n\nexport interface FieldStatus {\n /**\n * Optional status text displayed below the input.\n */\n message?: string;\n /**\n * Status message ID used by `aria-describedby`.\n */\n messageID?: string;\n /**\n * Validation state for the field.\n */\n type: InputStatusType;\n}\n\ninterface FieldBaseProps {\n /**\n * The form control rendered inside the field.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered between the label and control.\n */\n description?: ReactNode;\n /**\n * ID for the description element.\n */\n descriptionID?: string;\n /**\n * ID of the associated control.\n */\n inputId: string;\n /**\n * Whether the associated control is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label and description.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * HTML element used for the label. Use 'span' for group controls\n * (e.g., radiogroup) where `htmlFor` cannot target a labelable element.\n * @default 'label'\n */\n labelAs?: 'label' | 'span';\n /**\n * Optional icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * ID applied to the label element, useful for `aria-labelledby`.\n */\n labelId?: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the control.\n */\n status?: FieldStatus;\n /**\n * How the status message is positioned.\n * @default 'attached'\n */\n statusVariant?: FieldStatusVariant;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Controls whether a field displays an \"Optional\" or \"Required\" indicator.\n * The two options are mutually exclusive — a field cannot be both optional\n * and required at the same time. TypeScript enforces this at the type level.\n */\nexport type FieldNecessity =\n | {isOptional?: false; isRequired?: false}\n | {isOptional: true; isRequired?: false}\n | {isOptional?: false; isRequired: true};\n\nexport type FieldProps = FieldBaseProps & FieldNecessity;\n\n/**\n * Narrows individually-typed `isOptional`/`isRequired` values back into\n * a valid `FieldNecessity` union member. Useful when forwarding necessity\n * props that were destructured from a component's own props (which widens\n * the discriminated union to `boolean | undefined`).\n */\nexport function getNecessity(\n isOptional: boolean | undefined,\n isRequired: boolean | undefined,\n): FieldNecessity {\n if (isOptional === true) {\n return {isOptional: true};\n }\n if (isRequired === true) {\n return {isRequired: true};\n }\n return {};\n}\n\n/**\n * A form field wrapper that renders a label, description, control slot, and validation status.\n */\nexport function Field({\n children,\n label,\n isLabelHidden = false,\n description,\n inputId,\n descriptionID,\n isOptional = false,\n isRequired = false,\n isDisabled = false,\n labelAs: LabelComponent = 'label',\n labelIcon,\n labelId,\n labelTooltip,\n status,\n statusVariant = 'attached',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FieldProps): React.JSX.Element {\n const resolvedDescriptionID =\n descriptionID ??\n (isReactNode(description) ? `${inputId}-description` : undefined);\n const resolvedStatusID =\n status?.messageID ??\n (status?.message != null ? `${inputId}-status` : undefined);\n const statusText = isOptional ? 'Optional' : isRequired ? 'Required' : null;\n const classes = fieldRecipe({\n isDisabled,\n statusType: status?.type,\n statusVariant,\n });\n const labelNode = (\n <LabelComponent\n className={classes.label}\n {...(LabelComponent === 'label' ? {htmlFor: inputId} : undefined)}\n id={labelId}>\n {labelIcon != null ? (\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n ) : null}\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {label}\n </Text>\n {statusText != null ? (\n <Text as=\"span\" className={classes.indicator} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {statusText}\n </Text>\n ) : null}\n {isReactNode(labelTooltip) ? (\n <Tooltip content={labelTooltip}>\n <span className={classes.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </LabelComponent>\n );\n const descriptionNode = isReactNode(description) ? (\n <Text\n as=\"span\"\n color=\"secondary\"\n id={resolvedDescriptionID}\n type=\"supporting\">\n {description}\n </Text>\n ) : null;\n const statusNode =\n status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={classes.status}\n id={resolvedStatusID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null;\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {isLabelHidden ? (\n <VisuallyHidden>\n {labelNode}\n {descriptionNode}\n </VisuallyHidden>\n ) : (\n <>\n {labelNode}\n {descriptionNode}\n </>\n )}\n {statusVariant === 'attached' ? (\n <div className={classes.inputWrapper}>\n {children}\n {statusNode}\n </div>\n ) : (\n <>\n {children}\n {statusNode}\n </>\n )}\n </div>\n );\n}\n\nField.displayName = 'Field';\n"]}
@@ -1,11 +1,12 @@
1
1
  import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
2
- import { getNecessity, Field } from './chunk-K6CQ45C2.js';
2
+ import { getNecessity, Field } from './chunk-RLOGQBFD.js';
3
3
  import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-WOIWI2UO.js';
4
- import { Button } from './chunk-HLN3JQYD.js';
5
- import { Spinner } from './chunk-S54CKWKV.js';
4
+ import { Button } from './chunk-2LABTS4P.js';
5
+ import { Spinner } from './chunk-6ULCJ3XZ.js';
6
+ import { isReactNode } from './chunk-2PSZAWLC.js';
6
7
  import { Icon } from './chunk-7T3SWOY7.js';
7
- import { cx } from './chunk-PPNETWIP.js';
8
8
  import { css } from './chunk-OD4DHHZH.js';
9
+ import { cx } from './chunk-PPNETWIP.js';
9
10
  import { Temporal } from '@js-temporal/polyfill';
10
11
  import { Clock, X } from 'lucide-react';
11
12
  import { useId } from 'react';
@@ -39,7 +40,9 @@ function fromInputString(value) {
39
40
  function TimeInput({
40
41
  label,
41
42
  value,
43
+ onBlur,
42
44
  onChange,
45
+ onFocus,
43
46
  hasSeconds = false,
44
47
  hasClear = false,
45
48
  hasAutoFocus = false,
@@ -64,7 +67,7 @@ function TimeInput({
64
67
  ref
65
68
  }) {
66
69
  const inputId = useId();
67
- const descriptionID = description != null ? `${inputId}-description` : void 0;
70
+ const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
68
71
  const statusMessageID = getStatusMessageID(inputId, status);
69
72
  const describedBy = getDescribedBy(descriptionID, statusMessageID);
70
73
  const necessity = getNecessity(isOptional, isRequired);
@@ -109,7 +112,9 @@ function TimeInput({
109
112
  max: toInputString(max, hasSeconds),
110
113
  min: toInputString(min, hasSeconds),
111
114
  name: htmlName,
115
+ onBlur,
112
116
  onChange: (event) => onChange(fromInputString(event.target.value)),
117
+ onFocus,
113
118
  placeholder,
114
119
  ref,
115
120
  step: step ?? (hasSeconds ? 1 : 60),
@@ -139,5 +144,5 @@ function TimeInput({
139
144
  TimeInput.displayName = "TimeInput";
140
145
 
141
146
  export { TimeInput };
142
- //# sourceMappingURL=chunk-5Q5TJUHI.js.map
143
- //# sourceMappingURL=chunk-5Q5TJUHI.js.map
147
+ //# sourceMappingURL=chunk-S7INL5NI.js.map
148
+ //# sourceMappingURL=chunk-S7INL5NI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TimeInput/TimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-S7INL5NI.js","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {Clock, X} from 'lucide-react';\nimport {\n useId,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\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 input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the time value changes.\n */\n onChange: (value: PlainTime | undefined) => void;\n /**\n * Called when the input gains focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => 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 onBlur,\n onChange,\n onFocus,\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 = isReactNode(description)\n ? `${inputId}-description`\n : 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 onBlur={onBlur}\n onChange={event => onChange(fromInputString(event.target.value))}\n onFocus={onFocus}\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"]}