silver-ui 0.1.1 → 0.2.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 (847) hide show
  1. package/README.md +38 -6
  2. package/dist/chunk-24J3BUKL.js +40 -0
  3. package/dist/chunk-24J3BUKL.js.map +1 -0
  4. package/dist/{chunk-WA4DRAQ7.js → chunk-2IKWX66Q.js} +8 -8
  5. package/dist/chunk-2IKWX66Q.js.map +1 -0
  6. package/dist/{chunk-FVIEYPDB.js → chunk-2K44WLBJ.js} +19 -17
  7. package/dist/chunk-2K44WLBJ.js.map +1 -0
  8. package/dist/{chunk-5G3BY75L.cjs → chunk-2P6D43V2.cjs} +6 -6
  9. package/dist/{chunk-5G3BY75L.cjs.map → chunk-2P6D43V2.cjs.map} +1 -1
  10. package/dist/{chunk-O5RVLBKN.cjs → chunk-2RIDPITG.cjs} +14 -15
  11. package/dist/chunk-2RIDPITG.cjs.map +1 -0
  12. package/dist/{chunk-PDXZDPOY.cjs → chunk-2VIJC4NW.cjs} +48 -47
  13. package/dist/chunk-2VIJC4NW.cjs.map +1 -0
  14. package/dist/{chunk-6BSEY2DF.js → chunk-2VOB6LEI.js} +5 -5
  15. package/dist/{chunk-6BSEY2DF.js.map → chunk-2VOB6LEI.js.map} +1 -1
  16. package/dist/{chunk-GUF4ZNPQ.js → chunk-35MFOORC.js} +6 -6
  17. package/dist/chunk-35MFOORC.js.map +1 -0
  18. package/dist/{chunk-RJXHAQCR.cjs → chunk-36QGPGT2.cjs} +25 -23
  19. package/dist/chunk-36QGPGT2.cjs.map +1 -0
  20. package/dist/chunk-3DFRJSNE.cjs +52 -0
  21. package/dist/chunk-3DFRJSNE.cjs.map +1 -0
  22. package/dist/chunk-3DZPRXMC.cjs +559 -0
  23. package/dist/chunk-3DZPRXMC.cjs.map +1 -0
  24. package/dist/{chunk-GI3NLBCW.cjs → chunk-3IDEWEDY.cjs} +22 -22
  25. package/dist/{chunk-GI3NLBCW.cjs.map → chunk-3IDEWEDY.cjs.map} +1 -1
  26. package/dist/{chunk-WIO3XITR.js → chunk-3JVD4AXC.js} +5 -5
  27. package/dist/{chunk-WIO3XITR.js.map → chunk-3JVD4AXC.js.map} +1 -1
  28. package/dist/chunk-3M23WX6K.js +106 -0
  29. package/dist/chunk-3M23WX6K.js.map +1 -0
  30. package/dist/{chunk-BSBEPQLM.cjs → chunk-3SLWOIT4.cjs} +4 -5
  31. package/dist/chunk-3SLWOIT4.cjs.map +1 -0
  32. package/dist/{chunk-Z2UFJIZU.cjs → chunk-3WMLV4VP.cjs} +20 -20
  33. package/dist/{chunk-Z2UFJIZU.cjs.map → chunk-3WMLV4VP.cjs.map} +1 -1
  34. package/dist/chunk-463O56TB.js +224 -0
  35. package/dist/chunk-463O56TB.js.map +1 -0
  36. package/dist/{chunk-SMF3YBH5.cjs → chunk-47FUQCAT.cjs} +70 -70
  37. package/dist/{chunk-SMF3YBH5.cjs.map → chunk-47FUQCAT.cjs.map} +1 -1
  38. package/dist/{chunk-YMC56K6R.cjs → chunk-4I6VIR44.cjs} +26 -29
  39. package/dist/chunk-4I6VIR44.cjs.map +1 -0
  40. package/dist/{chunk-YHR44PWO.js → chunk-4M2KCZMO.js} +5 -5
  41. package/dist/chunk-4M2KCZMO.js.map +1 -0
  42. package/dist/{chunk-PHFEQG4E.cjs → chunk-4TIAKZ4Q.cjs} +4 -5
  43. package/dist/chunk-4TIAKZ4Q.cjs.map +1 -0
  44. package/dist/{chunk-F7AUYO3H.cjs → chunk-4YESF35X.cjs} +18 -18
  45. package/dist/{chunk-F7AUYO3H.cjs.map → chunk-4YESF35X.cjs.map} +1 -1
  46. package/dist/{chunk-2ZGGJWJY.cjs → chunk-4YQSKCVF.cjs} +16 -16
  47. package/dist/{chunk-2ZGGJWJY.cjs.map → chunk-4YQSKCVF.cjs.map} +1 -1
  48. package/dist/{chunk-4A4EI26N.cjs → chunk-4YQTSHIB.cjs} +35 -35
  49. package/dist/{chunk-4A4EI26N.cjs.map → chunk-4YQTSHIB.cjs.map} +1 -1
  50. package/dist/{chunk-Z2STCD6I.js → chunk-5MDH6QZE.js} +4 -4
  51. package/dist/chunk-5MDH6QZE.js.map +1 -0
  52. package/dist/chunk-5QPM5LUS.cjs +46 -0
  53. package/dist/chunk-5QPM5LUS.cjs.map +1 -0
  54. package/dist/{chunk-YRXGCYT2.js → chunk-63RKQ237.js} +11 -13
  55. package/dist/chunk-63RKQ237.js.map +1 -0
  56. package/dist/chunk-6BK4LUK4.cjs +17 -0
  57. package/dist/chunk-6BK4LUK4.cjs.map +1 -0
  58. package/dist/chunk-6D3FA247.js +126 -0
  59. package/dist/chunk-6D3FA247.js.map +1 -0
  60. package/dist/{chunk-H6OY6FLC.js → chunk-6NY5DOFM.js} +16 -14
  61. package/dist/chunk-6NY5DOFM.js.map +1 -0
  62. package/dist/{chunk-RJQQ2UIQ.js → chunk-74ONIT6C.js} +5 -5
  63. package/dist/{chunk-RJQQ2UIQ.js.map → chunk-74ONIT6C.js.map} +1 -1
  64. package/dist/{chunk-CZJUKLFD.cjs → chunk-76FHSISK.cjs} +4 -5
  65. package/dist/chunk-76FHSISK.cjs.map +1 -0
  66. package/dist/chunk-77RGTGRM.cjs +128 -0
  67. package/dist/chunk-77RGTGRM.cjs.map +1 -0
  68. package/dist/{chunk-W6B55MNU.js → chunk-7DWASA3K.js} +4 -4
  69. package/dist/{chunk-W6B55MNU.js.map → chunk-7DWASA3K.js.map} +1 -1
  70. package/dist/{chunk-MKAOIB2O.cjs → chunk-7GN6YTSS.cjs} +14 -13
  71. package/dist/chunk-7GN6YTSS.cjs.map +1 -0
  72. package/dist/chunk-7MB2KK6X.js +50 -0
  73. package/dist/chunk-7MB2KK6X.js.map +1 -0
  74. package/dist/{chunk-KVREBGWA.js → chunk-7P3VY5JZ.js} +4 -7
  75. package/dist/chunk-7P3VY5JZ.js.map +1 -0
  76. package/dist/{chunk-4W7L63LH.js → chunk-7T3SWOY7.js} +4 -4
  77. package/dist/chunk-7T3SWOY7.js.map +1 -0
  78. package/dist/{chunk-BTBOTNOE.cjs → chunk-A66NIFJE.cjs} +18 -18
  79. package/dist/{chunk-BTBOTNOE.cjs.map → chunk-A66NIFJE.cjs.map} +1 -1
  80. package/dist/chunk-ABEOBHAM.cjs +416 -0
  81. package/dist/chunk-ABEOBHAM.cjs.map +1 -0
  82. package/dist/chunk-AJYVGSBW.cjs +56 -0
  83. package/dist/chunk-AJYVGSBW.cjs.map +1 -0
  84. package/dist/{chunk-EM2F6BZ2.js → chunk-AKTUU5ML.js} +9 -9
  85. package/dist/chunk-AKTUU5ML.js.map +1 -0
  86. package/dist/{chunk-CA6645TQ.js → chunk-AMG3S252.js} +5 -8
  87. package/dist/chunk-AMG3S252.js.map +1 -0
  88. package/dist/{chunk-HXT6A6GH.cjs → chunk-AX6HC2YY.cjs} +6 -7
  89. package/dist/chunk-AX6HC2YY.cjs.map +1 -0
  90. package/dist/{chunk-NOZ6U6ZJ.js → chunk-AXCE2HKG.js} +16 -13
  91. package/dist/chunk-AXCE2HKG.js.map +1 -0
  92. package/dist/{chunk-BCJ25X7C.js → chunk-BA2VUDQS.js} +114 -74
  93. package/dist/chunk-BA2VUDQS.js.map +1 -0
  94. package/dist/{chunk-WSAZHUB3.cjs → chunk-BDBHHJGN.cjs} +21 -20
  95. package/dist/chunk-BDBHHJGN.cjs.map +1 -0
  96. package/dist/{chunk-2UTRYTT3.cjs → chunk-BDPE6ZKX.cjs} +114 -74
  97. package/dist/chunk-BDPE6ZKX.cjs.map +1 -0
  98. package/dist/{chunk-CXBB2LN7.js → chunk-BKKLUIIU.js} +2 -2
  99. package/dist/chunk-BKKLUIIU.js.map +1 -0
  100. package/dist/{chunk-VL6IDFI2.js → chunk-BTL6GUMN.js} +4 -4
  101. package/dist/{chunk-VL6IDFI2.js.map → chunk-BTL6GUMN.js.map} +1 -1
  102. package/dist/{chunk-S5NFDKPL.js → chunk-BZ4XKKNH.js} +18 -17
  103. package/dist/chunk-BZ4XKKNH.js.map +1 -0
  104. package/dist/chunk-CBJ4APCT.js +556 -0
  105. package/dist/chunk-CBJ4APCT.js.map +1 -0
  106. package/dist/{chunk-E4TIWN4Z.cjs → chunk-CPOYENSZ.cjs} +41 -35
  107. package/dist/chunk-CPOYENSZ.cjs.map +1 -0
  108. package/dist/{chunk-NJDV3LDH.js → chunk-CPZWTWYQ.js} +12 -17
  109. package/dist/chunk-CPZWTWYQ.js.map +1 -0
  110. package/dist/{chunk-6NIFOTUZ.cjs → chunk-DH2ZFYKE.cjs} +47 -45
  111. package/dist/chunk-DH2ZFYKE.cjs.map +1 -0
  112. package/dist/{chunk-QRXMW7MQ.cjs → chunk-DP4KK2N4.cjs} +63 -69
  113. package/dist/chunk-DP4KK2N4.cjs.map +1 -0
  114. package/dist/{chunk-I25KF3UF.js → chunk-DZ3NHSJ4.js} +6 -6
  115. package/dist/{chunk-I25KF3UF.js.map → chunk-DZ3NHSJ4.js.map} +1 -1
  116. package/dist/{chunk-K574UTWP.cjs → chunk-E2JZGYKU.cjs} +14 -15
  117. package/dist/chunk-E2JZGYKU.cjs.map +1 -0
  118. package/dist/{chunk-C2CNRYZI.cjs → chunk-E7UOFIBW.cjs} +30 -30
  119. package/dist/{chunk-C2CNRYZI.cjs.map → chunk-E7UOFIBW.cjs.map} +1 -1
  120. package/dist/{chunk-HPZ7LLXK.js → chunk-EBCHOGKT.js} +11 -12
  121. package/dist/chunk-EBCHOGKT.js.map +1 -0
  122. package/dist/{chunk-DFF72N57.js → chunk-EFO5NDBJ.js} +4 -5
  123. package/dist/chunk-EFO5NDBJ.js.map +1 -0
  124. package/dist/chunk-EHCAF6D3.js +44 -0
  125. package/dist/chunk-EHCAF6D3.js.map +1 -0
  126. package/dist/{chunk-EB5EHX6I.js → chunk-EMHLPPQZ.js} +5 -4
  127. package/dist/chunk-EMHLPPQZ.js.map +1 -0
  128. package/dist/{chunk-IWSS5745.js → chunk-ESJND7B6.js} +18 -17
  129. package/dist/chunk-ESJND7B6.js.map +1 -0
  130. package/dist/{chunk-V5W7NZN5.js → chunk-EXYBQVZT.js} +3 -3
  131. package/dist/{chunk-V5W7NZN5.js.map → chunk-EXYBQVZT.js.map} +1 -1
  132. package/dist/chunk-FDSUILCM.cjs +202 -0
  133. package/dist/chunk-FDSUILCM.cjs.map +1 -0
  134. package/dist/{chunk-ELCRG7WZ.js → chunk-FHKB6MBQ.js} +15 -15
  135. package/dist/{chunk-ELCRG7WZ.js.map → chunk-FHKB6MBQ.js.map} +1 -1
  136. package/dist/{chunk-NAELQLZN.js → chunk-FMEIPGUP.js} +3 -3
  137. package/dist/{chunk-NAELQLZN.js.map → chunk-FMEIPGUP.js.map} +1 -1
  138. package/dist/{chunk-PLFKU46A.js → chunk-GEGYC7CE.js} +7 -7
  139. package/dist/{chunk-PLFKU46A.js.map → chunk-GEGYC7CE.js.map} +1 -1
  140. package/dist/{chunk-TPSOUQG7.cjs → chunk-GGZGVAEF.cjs} +29 -28
  141. package/dist/chunk-GGZGVAEF.cjs.map +1 -0
  142. package/dist/{chunk-PBZWX2RJ.js → chunk-GTPRZCNZ.js} +5 -5
  143. package/dist/{chunk-PBZWX2RJ.js.map → chunk-GTPRZCNZ.js.map} +1 -1
  144. package/dist/chunk-GUKZNXTB.js +15 -0
  145. package/dist/chunk-GUKZNXTB.js.map +1 -0
  146. package/dist/chunk-GYUWDJXS.cjs +282 -0
  147. package/dist/chunk-GYUWDJXS.cjs.map +1 -0
  148. package/dist/{chunk-OAUKYH6C.cjs → chunk-H7LOOHWU.cjs} +2 -2
  149. package/dist/chunk-H7LOOHWU.cjs.map +1 -0
  150. package/dist/{chunk-NSHWBZL4.cjs → chunk-HM7IEGQ2.cjs} +14 -13
  151. package/dist/chunk-HM7IEGQ2.cjs.map +1 -0
  152. package/dist/{chunk-UZNSGQT3.cjs → chunk-HMWV6KCW.cjs} +34 -40
  153. package/dist/chunk-HMWV6KCW.cjs.map +1 -0
  154. package/dist/{chunk-KXXTWWJZ.cjs → chunk-I45346RZ.cjs} +8 -10
  155. package/dist/chunk-I45346RZ.cjs.map +1 -0
  156. package/dist/{chunk-LBRKUZSQ.cjs → chunk-IKF6VHA4.cjs} +73 -114
  157. package/dist/chunk-IKF6VHA4.cjs.map +1 -0
  158. package/dist/{chunk-YLXM3CGV.js → chunk-IR4COTIR.js} +5 -5
  159. package/dist/{chunk-YLXM3CGV.js.map → chunk-IR4COTIR.js.map} +1 -1
  160. package/dist/{chunk-QFO5ZTZZ.js → chunk-IUUQXCDE.js} +8 -9
  161. package/dist/chunk-IUUQXCDE.js.map +1 -0
  162. package/dist/{chunk-WEEYUS7M.cjs → chunk-IXJOPMJX.cjs} +7 -7
  163. package/dist/chunk-IXJOPMJX.cjs.map +1 -0
  164. package/dist/{chunk-PZO5MZ46.js → chunk-J2FCNWYM.js} +7 -6
  165. package/dist/chunk-J2FCNWYM.js.map +1 -0
  166. package/dist/chunk-JEK5SVB5.cjs +226 -0
  167. package/dist/chunk-JEK5SVB5.cjs.map +1 -0
  168. package/dist/{chunk-ZVBVKZ4P.cjs → chunk-JKERY7QF.cjs} +27 -18
  169. package/dist/chunk-JKERY7QF.cjs.map +1 -0
  170. package/dist/{chunk-32XQJNKY.cjs → chunk-JMLJLDHO.cjs} +15 -15
  171. package/dist/{chunk-32XQJNKY.cjs.map → chunk-JMLJLDHO.cjs.map} +1 -1
  172. package/dist/{chunk-47BELFYO.cjs → chunk-JMNH45Q3.cjs} +17 -18
  173. package/dist/chunk-JMNH45Q3.cjs.map +1 -0
  174. package/dist/{chunk-JAX62FUE.cjs → chunk-JRBQKFVO.cjs} +14 -14
  175. package/dist/{chunk-JAX62FUE.cjs.map → chunk-JRBQKFVO.cjs.map} +1 -1
  176. package/dist/{chunk-6UVJUY7Z.cjs → chunk-JVLE7PCJ.cjs} +11 -12
  177. package/dist/chunk-JVLE7PCJ.cjs.map +1 -0
  178. package/dist/chunk-K6CQ45C2.js +115 -0
  179. package/dist/chunk-K6CQ45C2.js.map +1 -0
  180. package/dist/chunk-K77D7H4V.cjs +125 -0
  181. package/dist/chunk-K77D7H4V.cjs.map +1 -0
  182. package/dist/chunk-KFEXS6OK.cjs +118 -0
  183. package/dist/chunk-KFEXS6OK.cjs.map +1 -0
  184. package/dist/{chunk-KYDRDJRM.cjs → chunk-L6JT244G.cjs} +5 -5
  185. package/dist/{chunk-KYDRDJRM.cjs.map → chunk-L6JT244G.cjs.map} +1 -1
  186. package/dist/{chunk-3UUZY42Z.js → chunk-L6WUK7O4.js} +5 -5
  187. package/dist/{chunk-3UUZY42Z.js.map → chunk-L6WUK7O4.js.map} +1 -1
  188. package/dist/{chunk-OA4KIVLO.cjs → chunk-LFRTNC7M.cjs} +12 -13
  189. package/dist/chunk-LFRTNC7M.cjs.map +1 -0
  190. package/dist/{chunk-Y73472IA.js → chunk-LJLCGQRV.js} +6 -6
  191. package/dist/chunk-LJLCGQRV.js.map +1 -0
  192. package/dist/{chunk-JCYPM27J.js → chunk-MEBIRX2P.js} +7 -7
  193. package/dist/chunk-MEBIRX2P.js.map +1 -0
  194. package/dist/{chunk-YX7DI3O3.cjs → chunk-MMQIQILP.cjs} +30 -31
  195. package/dist/chunk-MMQIQILP.cjs.map +1 -0
  196. package/dist/{chunk-QRDRZNCS.cjs → chunk-MMST4VXH.cjs} +25 -26
  197. package/dist/chunk-MMST4VXH.cjs.map +1 -0
  198. package/dist/{chunk-LFZXGIR6.cjs → chunk-MNVBSOAQ.cjs} +48 -46
  199. package/dist/chunk-MNVBSOAQ.cjs.map +1 -0
  200. package/dist/{chunk-CR4NB42L.cjs → chunk-MX2F3HUI.cjs} +37 -39
  201. package/dist/chunk-MX2F3HUI.cjs.map +1 -0
  202. package/dist/{chunk-L3G7SHEP.cjs → chunk-NF63IRZR.cjs} +42 -42
  203. package/dist/{chunk-L3G7SHEP.cjs.map → chunk-NF63IRZR.cjs.map} +1 -1
  204. package/dist/chunk-NUTB2K4G.js +87 -0
  205. package/dist/chunk-NUTB2K4G.js.map +1 -0
  206. package/dist/{chunk-NPJXGQOF.cjs → chunk-O2ZMOBMA.cjs} +116 -117
  207. package/dist/chunk-O2ZMOBMA.cjs.map +1 -0
  208. package/dist/{chunk-NILB6Y4Z.cjs → chunk-O3T7Z6RH.cjs} +31 -145
  209. package/dist/chunk-O3T7Z6RH.cjs.map +1 -0
  210. package/dist/{chunk-2XCNB2O6.js → chunk-OBBPRWYD.js} +18 -15
  211. package/dist/chunk-OBBPRWYD.js.map +1 -0
  212. package/dist/{chunk-UHQRL4OA.js → chunk-OD4DHHZH.js} +25 -3
  213. package/dist/chunk-OD4DHHZH.js.map +1 -0
  214. package/dist/{chunk-PGKOWMP4.js → chunk-OHKL4DOV.js} +78 -69
  215. package/dist/chunk-OHKL4DOV.js.map +1 -0
  216. package/dist/{chunk-VVYUCQHP.js → chunk-OJ3KVNW2.js} +17 -23
  217. package/dist/chunk-OJ3KVNW2.js.map +1 -0
  218. package/dist/{chunk-CWUC4TOQ.js → chunk-OJCJPYXE.js} +122 -121
  219. package/dist/chunk-OJCJPYXE.js.map +1 -0
  220. package/dist/{chunk-MCOVG6W6.js → chunk-P3SMNZCT.js} +75 -115
  221. package/dist/chunk-P3SMNZCT.js.map +1 -0
  222. package/dist/{chunk-KXXRALHT.cjs → chunk-P4A7GWQY.cjs} +83 -75
  223. package/dist/chunk-P4A7GWQY.cjs.map +1 -0
  224. package/dist/{chunk-2PHHFBJ3.cjs → chunk-P4TOIB2A.cjs} +11 -12
  225. package/dist/chunk-P4TOIB2A.cjs.map +1 -0
  226. package/dist/{chunk-RCAA2CZJ.js → chunk-PJXJOI73.js} +13 -13
  227. package/dist/chunk-PJXJOI73.js.map +1 -0
  228. package/dist/{chunk-2FPZULX3.cjs → chunk-PNYF6NS4.cjs} +32 -35
  229. package/dist/chunk-PNYF6NS4.cjs.map +1 -0
  230. package/dist/chunk-POW2Z7TP.js +414 -0
  231. package/dist/chunk-POW2Z7TP.js.map +1 -0
  232. package/dist/{chunk-D6KXW75E.js → chunk-PTZAJW3J.js} +10 -15
  233. package/dist/chunk-PTZAJW3J.js.map +1 -0
  234. package/dist/{chunk-YT3UWEVY.js → chunk-PUVBNGCF.js} +27 -17
  235. package/dist/chunk-PUVBNGCF.js.map +1 -0
  236. package/dist/{chunk-DONU5ALC.cjs → chunk-PWL6TWVC.cjs} +31 -37
  237. package/dist/chunk-PWL6TWVC.cjs.map +1 -0
  238. package/dist/chunk-PXVVTPRJ.js +278 -0
  239. package/dist/chunk-PXVVTPRJ.js.map +1 -0
  240. package/dist/{chunk-ZC7H4S4T.cjs → chunk-PYPXJC35.cjs} +6 -7
  241. package/dist/chunk-PYPXJC35.cjs.map +1 -0
  242. package/dist/{chunk-GZ5SRSD4.js → chunk-PYW5UO2Z.js} +5 -4
  243. package/dist/chunk-PYW5UO2Z.js.map +1 -0
  244. package/dist/{chunk-2QK2NZN5.js → chunk-QADMIAYK.js} +8 -7
  245. package/dist/chunk-QADMIAYK.js.map +1 -0
  246. package/dist/chunk-QPYPPJEZ.js +53 -0
  247. package/dist/chunk-QPYPPJEZ.js.map +1 -0
  248. package/dist/{chunk-7EXVJWG5.js → chunk-RNB4BDEG.js} +41 -35
  249. package/dist/chunk-RNB4BDEG.js.map +1 -0
  250. package/dist/{chunk-VIJHDURK.js → chunk-RQ5BMSGU.js} +5 -5
  251. package/dist/chunk-RQ5BMSGU.js.map +1 -0
  252. package/dist/{chunk-VLIQPSPM.js → chunk-RRNT32KY.js} +18 -131
  253. package/dist/chunk-RRNT32KY.js.map +1 -0
  254. package/dist/{chunk-VT7VKCHL.cjs → chunk-RSG7N5QQ.cjs} +25 -27
  255. package/dist/chunk-RSG7N5QQ.cjs.map +1 -0
  256. package/dist/{chunk-AZDWQGAX.cjs → chunk-RU6JG3FS.cjs} +25 -2
  257. package/dist/chunk-RU6JG3FS.cjs.map +1 -0
  258. package/dist/{chunk-YQJJCYJP.js → chunk-S4GLMGFI.js} +6 -6
  259. package/dist/{chunk-YQJJCYJP.js.map → chunk-S4GLMGFI.js.map} +1 -1
  260. package/dist/chunk-S54CKWKV.js +107 -0
  261. package/dist/chunk-S54CKWKV.js.map +1 -0
  262. package/dist/{chunk-WIW2YR46.js → chunk-SA3LUT6E.js} +31 -14
  263. package/dist/chunk-SA3LUT6E.js.map +1 -0
  264. package/dist/{chunk-2FUG6NKO.js → chunk-SSOHJEHS.js} +9 -9
  265. package/dist/chunk-SSOHJEHS.js.map +1 -0
  266. package/dist/{chunk-3PSQDJQH.js → chunk-STSR3FAC.js} +17 -14
  267. package/dist/chunk-STSR3FAC.js.map +1 -0
  268. package/dist/chunk-SXIBQQ55.js +280 -0
  269. package/dist/chunk-SXIBQQ55.js.map +1 -0
  270. package/dist/{chunk-ZW4XKNDR.cjs → chunk-TH3H5UGK.cjs} +38 -21
  271. package/dist/chunk-TH3H5UGK.cjs.map +1 -0
  272. package/dist/{chunk-5EQN3YMQ.cjs → chunk-TO3ZPSYO.cjs} +35 -35
  273. package/dist/chunk-TO3ZPSYO.cjs.map +1 -0
  274. package/dist/{chunk-I7PJTLP2.cjs → chunk-TZQWZ7IL.cjs} +26 -26
  275. package/dist/{chunk-I7PJTLP2.cjs.map → chunk-TZQWZ7IL.cjs.map} +1 -1
  276. package/dist/{chunk-6SPQDYHC.cjs → chunk-U2WVHZ24.cjs} +11 -22
  277. package/dist/chunk-U2WVHZ24.cjs.map +1 -0
  278. package/dist/{chunk-U35V3GVC.js → chunk-U4GWNENK.js} +27 -21
  279. package/dist/chunk-U4GWNENK.js.map +1 -0
  280. package/dist/{chunk-GKG47NK6.cjs → chunk-U5ZCQI5O.cjs} +86 -88
  281. package/dist/chunk-U5ZCQI5O.cjs.map +1 -0
  282. package/dist/{chunk-UWG5UQFV.cjs → chunk-UC36KIEP.cjs} +27 -20
  283. package/dist/chunk-UC36KIEP.cjs.map +1 -0
  284. package/dist/chunk-UJODHP7E.cjs +280 -0
  285. package/dist/chunk-UJODHP7E.cjs.map +1 -0
  286. package/dist/{chunk-ZHFAFEI2.js → chunk-UQV5MOGR.js} +5 -6
  287. package/dist/chunk-UQV5MOGR.js.map +1 -0
  288. package/dist/{chunk-WIIDQ44X.cjs → chunk-UUIAGGFW.cjs} +27 -24
  289. package/dist/chunk-UUIAGGFW.cjs.map +1 -0
  290. package/dist/{chunk-YZUBJ2L2.cjs → chunk-UX2Z7LRM.cjs} +17 -18
  291. package/dist/chunk-UX2Z7LRM.cjs.map +1 -0
  292. package/dist/chunk-UY3MYNI6.js +123 -0
  293. package/dist/chunk-UY3MYNI6.js.map +1 -0
  294. package/dist/{chunk-T55MB2CA.js → chunk-UYKFE7KF.js} +4 -4
  295. package/dist/chunk-UYKFE7KF.js.map +1 -0
  296. package/dist/{chunk-DNVOWNQG.cjs → chunk-V7Q64Z3S.cjs} +11 -11
  297. package/dist/{chunk-DNVOWNQG.cjs.map → chunk-V7Q64Z3S.cjs.map} +1 -1
  298. package/dist/{chunk-XQMLA75S.js → chunk-VBL5SI5N.js} +18 -16
  299. package/dist/chunk-VBL5SI5N.js.map +1 -0
  300. package/dist/{chunk-NMHCRHRI.cjs → chunk-VQ7IRFRR.cjs} +29 -28
  301. package/dist/chunk-VQ7IRFRR.cjs.map +1 -0
  302. package/dist/chunk-VXBVSYPA.cjs +109 -0
  303. package/dist/chunk-VXBVSYPA.cjs.map +1 -0
  304. package/dist/{chunk-25OAUQRF.cjs → chunk-W3QVSVL7.cjs} +23 -22
  305. package/dist/chunk-W3QVSVL7.cjs.map +1 -0
  306. package/dist/chunk-W5G7ZDQ6.cjs +89 -0
  307. package/dist/chunk-W5G7ZDQ6.cjs.map +1 -0
  308. package/dist/chunk-WA4VZ363.cjs +259 -0
  309. package/dist/chunk-WA4VZ363.cjs.map +1 -0
  310. package/dist/{chunk-IT72TF72.js → chunk-WE2AXMPB.js} +13 -12
  311. package/dist/chunk-WE2AXMPB.js.map +1 -0
  312. package/dist/{chunk-2QM5XBX4.cjs → chunk-WMXIUOOU.cjs} +4 -4
  313. package/dist/{chunk-2QM5XBX4.cjs.map → chunk-WMXIUOOU.cjs.map} +1 -1
  314. package/dist/{chunk-3L3M7SJ3.js → chunk-WOIWI2UO.js} +3 -3
  315. package/dist/{chunk-3L3M7SJ3.js.map → chunk-WOIWI2UO.js.map} +1 -1
  316. package/dist/chunk-WVQDFCFQ.js +199 -0
  317. package/dist/chunk-WVQDFCFQ.js.map +1 -0
  318. package/dist/{chunk-WE3ECIRS.cjs → chunk-XHTKGOQV.cjs} +50 -47
  319. package/dist/chunk-XHTKGOQV.cjs.map +1 -0
  320. package/dist/chunk-XIFLSMGW.js +200 -0
  321. package/dist/chunk-XIFLSMGW.js.map +1 -0
  322. package/dist/{chunk-WBPIJ4D5.js → chunk-XSQOHNIF.js} +5 -5
  323. package/dist/chunk-XSQOHNIF.js.map +1 -0
  324. package/dist/{chunk-E7EO3YVJ.js → chunk-XVRQSTUF.js} +3 -3
  325. package/dist/{chunk-E7EO3YVJ.js.map → chunk-XVRQSTUF.js.map} +1 -1
  326. package/dist/chunk-YAIEA2YE.cjs +203 -0
  327. package/dist/chunk-YAIEA2YE.cjs.map +1 -0
  328. package/dist/chunk-YAYINZT2.cjs +42 -0
  329. package/dist/chunk-YAYINZT2.cjs.map +1 -0
  330. package/dist/{chunk-DJW7T3WJ.js → chunk-YUONTRNC.js} +11 -12
  331. package/dist/chunk-YUONTRNC.js.map +1 -0
  332. package/dist/chunk-YXYD5HKL.cjs +109 -0
  333. package/dist/chunk-YXYD5HKL.cjs.map +1 -0
  334. package/dist/{chunk-EETTQWW5.cjs → chunk-Z7ID5TC7.cjs} +25 -22
  335. package/dist/chunk-Z7ID5TC7.cjs.map +1 -0
  336. package/dist/{chunk-5OS5A27C.js → chunk-ZC6GLBEL.js} +6 -6
  337. package/dist/chunk-ZC6GLBEL.js.map +1 -0
  338. package/dist/{chunk-R2NQNVEV.js → chunk-ZJ2NV4SQ.js} +19 -21
  339. package/dist/chunk-ZJ2NV4SQ.js.map +1 -0
  340. package/dist/{chunk-OKKL652L.js → chunk-ZNUOFLCQ.js} +5 -15
  341. package/dist/chunk-ZNUOFLCQ.js.map +1 -0
  342. package/dist/{chunk-P5AZUUM2.cjs → chunk-ZP3UZDSV.cjs} +11 -11
  343. package/dist/chunk-ZP3UZDSV.cjs.map +1 -0
  344. package/dist/{chunk-HWCL6JFB.js → chunk-ZW2ATXTL.js} +10 -9
  345. package/dist/chunk-ZW2ATXTL.js.map +1 -0
  346. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  347. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  348. package/dist/components/Accordion/AccordionItem.recipe.d.ts +17 -0
  349. package/dist/components/Accordion/AccordionItem.recipe.d.ts.map +1 -0
  350. package/dist/components/Accordion/index.cjs +9 -7
  351. package/dist/components/Accordion/index.js +6 -4
  352. package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
  353. package/dist/components/Alert/Alert.d.ts +13 -4
  354. package/dist/components/Alert/Alert.d.ts.map +1 -1
  355. package/dist/components/Alert/Alert.recipe.d.ts +119 -25
  356. package/dist/components/Alert/Alert.recipe.d.ts.map +1 -1
  357. package/dist/components/Alert/index.cjs +15 -16
  358. package/dist/components/Alert/index.d.ts +0 -1
  359. package/dist/components/Alert/index.d.ts.map +1 -1
  360. package/dist/components/Alert/index.js +14 -11
  361. package/dist/components/AlertDialog/AlertDialog.d.ts +1 -1
  362. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  363. package/dist/components/AlertDialog/index.cjs +19 -16
  364. package/dist/components/AlertDialog/index.js +17 -14
  365. package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
  366. package/dist/components/AppShell/AppShell.d.ts +2 -2
  367. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  368. package/dist/components/AppShell/index.cjs +24 -25
  369. package/dist/components/AppShell/index.d.ts +0 -1
  370. package/dist/components/AppShell/index.d.ts.map +1 -1
  371. package/dist/components/AppShell/index.js +21 -18
  372. package/dist/components/AspectRatio/index.cjs +4 -8
  373. package/dist/components/AspectRatio/index.d.ts +0 -1
  374. package/dist/components/AspectRatio/index.d.ts.map +1 -1
  375. package/dist/components/AspectRatio/index.js +3 -3
  376. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  377. package/dist/components/AutocompleteInput/index.cjs +24 -20
  378. package/dist/components/AutocompleteInput/index.js +20 -16
  379. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  380. package/dist/components/Avatar/Avatar.recipe.d.ts +11 -9
  381. package/dist/components/Avatar/Avatar.recipe.d.ts.map +1 -1
  382. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  383. package/dist/components/Avatar/index.cjs +9 -11
  384. package/dist/components/Avatar/index.d.ts +0 -1
  385. package/dist/components/Avatar/index.d.ts.map +1 -1
  386. package/dist/components/Avatar/index.js +6 -4
  387. package/dist/components/AvatarGroup/index.cjs +9 -11
  388. package/dist/components/AvatarGroup/index.d.ts +0 -1
  389. package/dist/components/AvatarGroup/index.d.ts.map +1 -1
  390. package/dist/components/AvatarGroup/index.js +7 -5
  391. package/dist/components/Badge/Badge.d.ts +8 -2
  392. package/dist/components/Badge/Badge.d.ts.map +1 -1
  393. package/dist/components/Badge/index.cjs +5 -9
  394. package/dist/components/Badge/index.d.ts +0 -1
  395. package/dist/components/Badge/index.d.ts.map +1 -1
  396. package/dist/components/Badge/index.js +4 -4
  397. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  398. package/dist/components/Blockquote/Blockquote.recipe.d.ts +4 -0
  399. package/dist/components/Blockquote/Blockquote.recipe.d.ts.map +1 -0
  400. package/dist/components/Blockquote/index.cjs +15 -44
  401. package/dist/components/Blockquote/index.cjs.map +1 -1
  402. package/dist/components/Blockquote/index.d.ts +1 -0
  403. package/dist/components/Blockquote/index.d.ts.map +1 -1
  404. package/dist/components/Blockquote/index.js +6 -46
  405. package/dist/components/Blockquote/index.js.map +1 -1
  406. package/dist/components/Breadcrumbs/index.cjs +12 -11
  407. package/dist/components/Breadcrumbs/index.js +9 -8
  408. package/dist/components/Button/Button.d.ts.map +1 -1
  409. package/dist/components/Button/Button.recipe.d.ts +2 -2
  410. package/dist/components/Button/index.cjs +14 -15
  411. package/dist/components/Button/index.d.ts +0 -1
  412. package/dist/components/Button/index.d.ts.map +1 -1
  413. package/dist/components/Button/index.js +13 -10
  414. package/dist/components/ButtonGroup/index.cjs +4 -8
  415. package/dist/components/ButtonGroup/index.d.ts +0 -1
  416. package/dist/components/ButtonGroup/index.d.ts.map +1 -1
  417. package/dist/components/ButtonGroup/index.js +3 -3
  418. package/dist/components/Calendar/index.cjs +15 -12
  419. package/dist/components/Calendar/index.js +14 -11
  420. package/dist/components/Card/Card.d.ts +16 -4
  421. package/dist/components/Card/Card.d.ts.map +1 -1
  422. package/dist/components/Card/Card.recipe.d.ts +18 -0
  423. package/dist/components/Card/Card.recipe.d.ts.map +1 -1
  424. package/dist/components/Card/index.cjs +4 -8
  425. package/dist/components/Card/index.d.ts +1 -2
  426. package/dist/components/Card/index.d.ts.map +1 -1
  427. package/dist/components/Card/index.js +3 -3
  428. package/dist/components/Center/Center.recipe.d.ts +0 -1
  429. package/dist/components/Center/Center.recipe.d.ts.map +1 -1
  430. package/dist/components/Center/index.cjs +4 -8
  431. package/dist/components/Center/index.d.ts +0 -1
  432. package/dist/components/Center/index.d.ts.map +1 -1
  433. package/dist/components/Center/index.js +3 -3
  434. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  435. package/dist/components/CheckboxInput/index.cjs +16 -14
  436. package/dist/components/CheckboxInput/index.js +15 -13
  437. package/dist/components/CodeBlock/CodeBlock.d.ts +6 -4
  438. package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
  439. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +87 -0
  440. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts.map +1 -0
  441. package/dist/components/CodeBlock/index.cjs +17 -12
  442. package/dist/components/CodeBlock/index.d.ts +1 -0
  443. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  444. package/dist/components/CodeBlock/index.js +16 -11
  445. package/dist/components/ContextMenu/index.cjs +20 -17
  446. package/dist/components/ContextMenu/index.js +18 -15
  447. package/dist/components/DateInput/DateInput.d.ts +1 -1
  448. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  449. package/dist/components/DateInput/index.cjs +21 -17
  450. package/dist/components/DateInput/index.js +20 -16
  451. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  452. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  453. package/dist/components/DateRangeInput/index.cjs +21 -17
  454. package/dist/components/DateRangeInput/index.js +20 -16
  455. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  456. package/dist/components/DateTimeInput/index.cjs +23 -19
  457. package/dist/components/DateTimeInput/index.js +22 -18
  458. package/dist/components/Dialog/Dialog.d.ts +7 -2
  459. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  460. package/dist/components/Dialog/Dialog.recipe.d.ts +13 -10
  461. package/dist/components/Dialog/Dialog.recipe.d.ts.map +1 -1
  462. package/dist/components/Dialog/DialogContext.d.ts +6 -0
  463. package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
  464. package/dist/components/Dialog/index.cjs +10 -12
  465. package/dist/components/Dialog/index.d.ts +0 -1
  466. package/dist/components/Dialog/index.d.ts.map +1 -1
  467. package/dist/components/Dialog/index.js +6 -4
  468. package/dist/components/Divider/Divider.d.ts +11 -1
  469. package/dist/components/Divider/Divider.d.ts.map +1 -1
  470. package/dist/components/Divider/Divider.recipe.d.ts +35 -10
  471. package/dist/components/Divider/Divider.recipe.d.ts.map +1 -1
  472. package/dist/components/Divider/index.cjs +6 -8
  473. package/dist/components/Divider/index.d.ts +0 -1
  474. package/dist/components/Divider/index.d.ts.map +1 -1
  475. package/dist/components/Divider/index.js +5 -3
  476. package/dist/components/Drawer/index.cjs +13 -197
  477. package/dist/components/Drawer/index.cjs.map +1 -1
  478. package/dist/components/Drawer/index.js +4 -198
  479. package/dist/components/Drawer/index.js.map +1 -1
  480. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  481. package/dist/components/DropdownMenu/index.cjs +21 -18
  482. package/dist/components/DropdownMenu/index.js +17 -14
  483. package/dist/components/EmptyState/index.cjs +8 -11
  484. package/dist/components/EmptyState/index.d.ts +0 -1
  485. package/dist/components/EmptyState/index.d.ts.map +1 -1
  486. package/dist/components/EmptyState/index.js +7 -6
  487. package/dist/components/Field/Field.d.ts +22 -10
  488. package/dist/components/Field/Field.d.ts.map +1 -1
  489. package/dist/components/Field/Field.recipe.d.ts +33 -24
  490. package/dist/components/Field/Field.recipe.d.ts.map +1 -1
  491. package/dist/components/Field/index.cjs +14 -24
  492. package/dist/components/Field/index.d.ts +1 -3
  493. package/dist/components/Field/index.d.ts.map +1 -1
  494. package/dist/components/Field/index.js +11 -9
  495. package/dist/components/Field/inputStyles.d.ts +0 -1
  496. package/dist/components/Field/inputStyles.d.ts.map +1 -1
  497. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  498. package/dist/components/FileInput/index.cjs +20 -13
  499. package/dist/components/FileInput/index.js +19 -12
  500. package/dist/components/HoverCard/index.cjs +6 -5
  501. package/dist/components/HoverCard/index.js +4 -3
  502. package/dist/components/Icon/index.cjs +4 -8
  503. package/dist/components/Icon/index.d.ts +0 -1
  504. package/dist/components/Icon/index.d.ts.map +1 -1
  505. package/dist/components/Icon/index.js +3 -3
  506. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  507. package/dist/components/InputGroup/index.cjs +16 -14
  508. package/dist/components/InputGroup/index.js +12 -10
  509. package/dist/components/Item/Item.d.ts.map +1 -1
  510. package/dist/components/Item/index.cjs +11 -10
  511. package/dist/components/Item/index.js +10 -9
  512. package/dist/components/Kbd/Kbd.d.ts.map +1 -1
  513. package/dist/components/Kbd/Kbd.recipe.d.ts +28 -13
  514. package/dist/components/Kbd/Kbd.recipe.d.ts.map +1 -1
  515. package/dist/components/Kbd/index.cjs +6 -4
  516. package/dist/components/Kbd/index.d.ts +1 -0
  517. package/dist/components/Kbd/index.d.ts.map +1 -1
  518. package/dist/components/Kbd/index.js +5 -3
  519. package/dist/components/Layout/Layout.d.ts +3 -2
  520. package/dist/components/Layout/Layout.d.ts.map +1 -1
  521. package/dist/components/Layout/LayoutContent.d.ts +2 -2
  522. package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
  523. package/dist/components/Layout/LayoutFooter.d.ts +2 -2
  524. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  525. package/dist/components/Layout/LayoutHeader.d.ts +2 -2
  526. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  527. package/dist/components/Layout/LayoutPanel.d.ts +2 -2
  528. package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
  529. package/dist/components/Layout/index.cjs +20 -21
  530. package/dist/components/Layout/index.d.ts +1 -2
  531. package/dist/components/Layout/index.d.ts.map +1 -1
  532. package/dist/components/Layout/index.js +15 -12
  533. package/dist/components/Layout/types.d.ts +1 -1
  534. package/dist/components/Layout/types.d.ts.map +1 -1
  535. package/dist/components/Lightbox/index.cjs +16 -13
  536. package/dist/components/Lightbox/index.js +14 -11
  537. package/dist/components/Link/index.cjs +11 -14
  538. package/dist/components/Link/index.d.ts +0 -1
  539. package/dist/components/Link/index.d.ts.map +1 -1
  540. package/dist/components/Link/index.js +8 -7
  541. package/dist/components/List/ListItem.d.ts.map +1 -1
  542. package/dist/components/List/index.cjs +13 -12
  543. package/dist/components/List/index.js +11 -10
  544. package/dist/components/MetadataList/index.cjs +10 -9
  545. package/dist/components/MetadataList/index.js +8 -7
  546. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  547. package/dist/components/MultiSelect/index.cjs +22 -18
  548. package/dist/components/MultiSelect/index.js +21 -17
  549. package/dist/components/NavIcon/index.cjs +8 -36
  550. package/dist/components/NavIcon/index.cjs.map +1 -1
  551. package/dist/components/NavIcon/index.js +3 -38
  552. package/dist/components/NavIcon/index.js.map +1 -1
  553. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  554. package/dist/components/NumberInput/index.cjs +21 -14
  555. package/dist/components/NumberInput/index.js +20 -13
  556. package/dist/components/Pagination/index.cjs +15 -12
  557. package/dist/components/Pagination/index.js +14 -11
  558. package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
  559. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  560. package/dist/components/PasswordInput/index.cjs +25 -54
  561. package/dist/components/PasswordInput/index.cjs.map +1 -1
  562. package/dist/components/PasswordInput/index.js +20 -56
  563. package/dist/components/PasswordInput/index.js.map +1 -1
  564. package/dist/components/Popover/Popover.d.ts +1 -1
  565. package/dist/components/Popover/Popover.d.ts.map +1 -1
  566. package/dist/components/Popover/index.cjs +16 -13
  567. package/dist/components/Popover/index.js +14 -11
  568. package/dist/components/Progress/index.cjs +5 -9
  569. package/dist/components/Progress/index.d.ts +0 -1
  570. package/dist/components/Progress/index.d.ts.map +1 -1
  571. package/dist/components/Progress/index.js +4 -4
  572. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  573. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +90 -0
  574. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts.map +1 -0
  575. package/dist/components/RadioGroup/RadioGroupContext.d.ts +1 -1
  576. package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
  577. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  578. package/dist/components/RadioGroup/index.cjs +17 -15
  579. package/dist/components/RadioGroup/index.d.ts +1 -0
  580. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  581. package/dist/components/RadioGroup/index.js +15 -13
  582. package/dist/components/Rating/Rating.d.ts.map +1 -1
  583. package/dist/components/Rating/Rating.recipe.d.ts +23 -0
  584. package/dist/components/Rating/Rating.recipe.d.ts.map +1 -0
  585. package/dist/components/Rating/index.cjs +17 -179
  586. package/dist/components/Rating/index.cjs.map +1 -1
  587. package/dist/components/Rating/index.d.ts +1 -0
  588. package/dist/components/Rating/index.d.ts.map +1 -1
  589. package/dist/components/Rating/index.js +8 -181
  590. package/dist/components/Rating/index.js.map +1 -1
  591. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  592. package/dist/components/Schedule/index.cjs +30 -27
  593. package/dist/components/Schedule/index.js +19 -16
  594. package/dist/components/SearchFilterInput/index.cjs +40 -36
  595. package/dist/components/SearchFilterInput/index.js +32 -28
  596. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -1
  597. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  598. package/dist/components/SegmentedControl/index.cjs +7 -7
  599. package/dist/components/SegmentedControl/index.js +5 -5
  600. package/dist/components/Select/Select.d.ts.map +1 -1
  601. package/dist/components/Select/index.cjs +23 -19
  602. package/dist/components/Select/index.js +21 -17
  603. package/dist/components/SideNav/SideNav.recipe.d.ts.map +1 -1
  604. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  605. package/dist/components/SideNav/index.cjs +22 -23
  606. package/dist/components/SideNav/index.d.ts +0 -1
  607. package/dist/components/SideNav/index.d.ts.map +1 -1
  608. package/dist/components/SideNav/index.js +16 -13
  609. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  610. package/dist/components/Skeleton/Skeleton.recipe.d.ts +28 -0
  611. package/dist/components/Skeleton/Skeleton.recipe.d.ts.map +1 -0
  612. package/dist/components/Skeleton/index.cjs +8 -3
  613. package/dist/components/Skeleton/index.d.ts +1 -0
  614. package/dist/components/Skeleton/index.d.ts.map +1 -1
  615. package/dist/components/Skeleton/index.js +3 -2
  616. package/dist/components/Slider/Slider.d.ts.map +1 -1
  617. package/dist/components/Slider/Slider.recipe.d.ts +99 -0
  618. package/dist/components/Slider/Slider.recipe.d.ts.map +1 -0
  619. package/dist/components/Slider/index.cjs +17 -11
  620. package/dist/components/Slider/index.d.ts +1 -0
  621. package/dist/components/Slider/index.d.ts.map +1 -1
  622. package/dist/components/Slider/index.js +12 -10
  623. package/dist/components/Spinner/Spinner.d.ts +6 -6
  624. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  625. package/dist/components/Spinner/Spinner.recipe.d.ts +25 -12
  626. package/dist/components/Spinner/Spinner.recipe.d.ts.map +1 -1
  627. package/dist/components/Spinner/index.cjs +9 -11
  628. package/dist/components/Spinner/index.d.ts +0 -1
  629. package/dist/components/Spinner/index.d.ts.map +1 -1
  630. package/dist/components/Spinner/index.js +8 -6
  631. package/dist/components/Stack/Stack.d.ts +2 -2
  632. package/dist/components/Stack/Stack.d.ts.map +1 -1
  633. package/dist/components/Stack/index.cjs +5 -9
  634. package/dist/components/Stack/index.d.ts +0 -1
  635. package/dist/components/Stack/index.d.ts.map +1 -1
  636. package/dist/components/Stack/index.js +3 -3
  637. package/dist/components/Stepper/index.cjs +11 -10
  638. package/dist/components/Stepper/index.js +8 -7
  639. package/dist/components/Switch/Switch.d.ts.map +1 -1
  640. package/dist/components/Switch/Switch.recipe.d.ts +60 -0
  641. package/dist/components/Switch/Switch.recipe.d.ts.map +1 -0
  642. package/dist/components/Switch/index.cjs +13 -11
  643. package/dist/components/Switch/index.js +12 -10
  644. package/dist/components/Table/TableCell.d.ts.map +1 -1
  645. package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
  646. package/dist/components/Table/index.cjs +64 -60
  647. package/dist/components/Table/index.js +36 -32
  648. package/dist/components/Tabs/Tabs.d.ts +5 -0
  649. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  650. package/dist/components/Tabs/index.cjs +20 -17
  651. package/dist/components/Tabs/index.js +15 -12
  652. package/dist/components/Tag/index.cjs +10 -13
  653. package/dist/components/Tag/index.d.ts +0 -1
  654. package/dist/components/Tag/index.d.ts.map +1 -1
  655. package/dist/components/Tag/index.js +9 -8
  656. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  657. package/dist/components/TagsInput/index.cjs +22 -18
  658. package/dist/components/TagsInput/index.js +21 -17
  659. package/dist/components/Text/index.cjs +8 -15
  660. package/dist/components/Text/index.d.ts +0 -1
  661. package/dist/components/Text/index.d.ts.map +1 -1
  662. package/dist/components/Text/index.js +6 -5
  663. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  664. package/dist/components/TextArea/index.cjs +16 -13
  665. package/dist/components/TextArea/index.js +15 -12
  666. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  667. package/dist/components/TextInput/index.cjs +21 -14
  668. package/dist/components/TextInput/index.js +20 -13
  669. package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
  670. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +36 -0
  671. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts.map +1 -0
  672. package/dist/components/Thumbnail/index.cjs +16 -13
  673. package/dist/components/Thumbnail/index.d.ts +1 -0
  674. package/dist/components/Thumbnail/index.d.ts.map +1 -1
  675. package/dist/components/Thumbnail/index.js +15 -12
  676. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  677. package/dist/components/TimeInput/index.cjs +20 -13
  678. package/dist/components/TimeInput/index.js +19 -12
  679. package/dist/components/Toast/index.cjs +17 -14
  680. package/dist/components/Toast/index.js +14 -11
  681. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
  682. package/dist/components/ToggleButton/index.cjs +13 -14
  683. package/dist/components/ToggleButton/index.js +11 -12
  684. package/dist/components/Tooltip/index.cjs +6 -5
  685. package/dist/components/Tooltip/index.js +4 -3
  686. package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
  687. package/dist/components/TopNav/index.cjs +22 -23
  688. package/dist/components/TopNav/index.d.ts +0 -1
  689. package/dist/components/TopNav/index.d.ts.map +1 -1
  690. package/dist/components/TopNav/index.js +16 -13
  691. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  692. package/dist/components/TreeView/index.cjs +5 -5
  693. package/dist/components/TreeView/index.js +4 -4
  694. package/dist/index.cjs +584 -332
  695. package/dist/index.cjs.map +1 -1
  696. package/dist/index.d.ts +27 -22
  697. package/dist/index.d.ts.map +1 -1
  698. package/dist/index.js +384 -77
  699. package/dist/index.js.map +1 -1
  700. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  701. package/dist/internal/spacingTokens.d.ts +8 -0
  702. package/dist/internal/spacingTokens.d.ts.map +1 -0
  703. package/dist/styles.css +1 -1
  704. package/dist/themes/presets.d.ts +48 -0
  705. package/dist/themes/presets.d.ts.map +1 -0
  706. package/package.json +12 -2
  707. package/dist/chunk-25OAUQRF.cjs.map +0 -1
  708. package/dist/chunk-2FPZULX3.cjs.map +0 -1
  709. package/dist/chunk-2FUG6NKO.js.map +0 -1
  710. package/dist/chunk-2PHHFBJ3.cjs.map +0 -1
  711. package/dist/chunk-2QK2NZN5.js.map +0 -1
  712. package/dist/chunk-2UTRYTT3.cjs.map +0 -1
  713. package/dist/chunk-2WP6NYYY.cjs +0 -113
  714. package/dist/chunk-2WP6NYYY.cjs.map +0 -1
  715. package/dist/chunk-2XCNB2O6.js.map +0 -1
  716. package/dist/chunk-3DE4GOZU.js +0 -207
  717. package/dist/chunk-3DE4GOZU.js.map +0 -1
  718. package/dist/chunk-3PSQDJQH.js.map +0 -1
  719. package/dist/chunk-47BELFYO.cjs.map +0 -1
  720. package/dist/chunk-4W7L63LH.js.map +0 -1
  721. package/dist/chunk-4XRVXUJQ.cjs +0 -242
  722. package/dist/chunk-4XRVXUJQ.cjs.map +0 -1
  723. package/dist/chunk-5EQN3YMQ.cjs.map +0 -1
  724. package/dist/chunk-5OS5A27C.js.map +0 -1
  725. package/dist/chunk-6NIFOTUZ.cjs.map +0 -1
  726. package/dist/chunk-6SPQDYHC.cjs.map +0 -1
  727. package/dist/chunk-6UVJUY7Z.cjs.map +0 -1
  728. package/dist/chunk-7EXVJWG5.js.map +0 -1
  729. package/dist/chunk-AFT635BR.cjs +0 -308
  730. package/dist/chunk-AFT635BR.cjs.map +0 -1
  731. package/dist/chunk-AZDWQGAX.cjs.map +0 -1
  732. package/dist/chunk-BCJ25X7C.js.map +0 -1
  733. package/dist/chunk-BSBEPQLM.cjs.map +0 -1
  734. package/dist/chunk-CA6645TQ.js.map +0 -1
  735. package/dist/chunk-CR4NB42L.cjs.map +0 -1
  736. package/dist/chunk-CVH6X6ND.js +0 -125
  737. package/dist/chunk-CVH6X6ND.js.map +0 -1
  738. package/dist/chunk-CWUC4TOQ.js.map +0 -1
  739. package/dist/chunk-CXBB2LN7.js.map +0 -1
  740. package/dist/chunk-CZJUKLFD.cjs.map +0 -1
  741. package/dist/chunk-D6KXW75E.js.map +0 -1
  742. package/dist/chunk-DFF72N57.js.map +0 -1
  743. package/dist/chunk-DHUK3GNK.cjs +0 -258
  744. package/dist/chunk-DHUK3GNK.cjs.map +0 -1
  745. package/dist/chunk-DJW7T3WJ.js.map +0 -1
  746. package/dist/chunk-DONU5ALC.cjs.map +0 -1
  747. package/dist/chunk-E4TIWN4Z.cjs.map +0 -1
  748. package/dist/chunk-EB5EHX6I.js.map +0 -1
  749. package/dist/chunk-EBUSMPS6.js +0 -306
  750. package/dist/chunk-EBUSMPS6.js.map +0 -1
  751. package/dist/chunk-EETTQWW5.cjs.map +0 -1
  752. package/dist/chunk-EHBV6ZMM.js +0 -239
  753. package/dist/chunk-EHBV6ZMM.js.map +0 -1
  754. package/dist/chunk-EM2F6BZ2.js.map +0 -1
  755. package/dist/chunk-FVIEYPDB.js.map +0 -1
  756. package/dist/chunk-G44NDBPN.cjs +0 -62
  757. package/dist/chunk-G44NDBPN.cjs.map +0 -1
  758. package/dist/chunk-GKG47NK6.cjs.map +0 -1
  759. package/dist/chunk-GUF4ZNPQ.js.map +0 -1
  760. package/dist/chunk-GZ5SRSD4.js.map +0 -1
  761. package/dist/chunk-H6OY6FLC.js.map +0 -1
  762. package/dist/chunk-HPZ7LLXK.js.map +0 -1
  763. package/dist/chunk-HWCL6JFB.js.map +0 -1
  764. package/dist/chunk-HXT6A6GH.cjs.map +0 -1
  765. package/dist/chunk-I6IGTQLG.cjs +0 -251
  766. package/dist/chunk-I6IGTQLG.cjs.map +0 -1
  767. package/dist/chunk-IT72TF72.js.map +0 -1
  768. package/dist/chunk-IWSS5745.js.map +0 -1
  769. package/dist/chunk-JCYPM27J.js.map +0 -1
  770. package/dist/chunk-K574UTWP.cjs.map +0 -1
  771. package/dist/chunk-KVREBGWA.js.map +0 -1
  772. package/dist/chunk-KXXRALHT.cjs.map +0 -1
  773. package/dist/chunk-KXXTWWJZ.cjs.map +0 -1
  774. package/dist/chunk-LBRKUZSQ.cjs.map +0 -1
  775. package/dist/chunk-LFZXGIR6.cjs.map +0 -1
  776. package/dist/chunk-MCOVG6W6.js.map +0 -1
  777. package/dist/chunk-MKAOIB2O.cjs.map +0 -1
  778. package/dist/chunk-NGWNIMMX.js +0 -247
  779. package/dist/chunk-NGWNIMMX.js.map +0 -1
  780. package/dist/chunk-NILB6Y4Z.cjs.map +0 -1
  781. package/dist/chunk-NJDV3LDH.js.map +0 -1
  782. package/dist/chunk-NMHCRHRI.cjs.map +0 -1
  783. package/dist/chunk-NOZ6U6ZJ.js.map +0 -1
  784. package/dist/chunk-NPJXGQOF.cjs.map +0 -1
  785. package/dist/chunk-NSHWBZL4.cjs.map +0 -1
  786. package/dist/chunk-O5RVLBKN.cjs.map +0 -1
  787. package/dist/chunk-OA4KIVLO.cjs.map +0 -1
  788. package/dist/chunk-OAUKYH6C.cjs.map +0 -1
  789. package/dist/chunk-OKKL652L.js.map +0 -1
  790. package/dist/chunk-OZNNBPMP.cjs +0 -288
  791. package/dist/chunk-OZNNBPMP.cjs.map +0 -1
  792. package/dist/chunk-P5AZUUM2.cjs.map +0 -1
  793. package/dist/chunk-PDXZDPOY.cjs.map +0 -1
  794. package/dist/chunk-PGKOWMP4.js.map +0 -1
  795. package/dist/chunk-PHFEQG4E.cjs.map +0 -1
  796. package/dist/chunk-PZO5MZ46.js.map +0 -1
  797. package/dist/chunk-QFO5ZTZZ.js.map +0 -1
  798. package/dist/chunk-QRDRZNCS.cjs.map +0 -1
  799. package/dist/chunk-QRXMW7MQ.cjs.map +0 -1
  800. package/dist/chunk-QXI446BK.cjs +0 -209
  801. package/dist/chunk-QXI446BK.cjs.map +0 -1
  802. package/dist/chunk-R2NQNVEV.js.map +0 -1
  803. package/dist/chunk-RCAA2CZJ.js.map +0 -1
  804. package/dist/chunk-RGPL6EDK.js +0 -110
  805. package/dist/chunk-RGPL6EDK.js.map +0 -1
  806. package/dist/chunk-RJXHAQCR.cjs.map +0 -1
  807. package/dist/chunk-RLQYXUDO.js +0 -59
  808. package/dist/chunk-RLQYXUDO.js.map +0 -1
  809. package/dist/chunk-S5NFDKPL.js.map +0 -1
  810. package/dist/chunk-T55MB2CA.js.map +0 -1
  811. package/dist/chunk-TPSOUQG7.cjs.map +0 -1
  812. package/dist/chunk-U35V3GVC.js.map +0 -1
  813. package/dist/chunk-UHQRL4OA.js.map +0 -1
  814. package/dist/chunk-UWG5UQFV.cjs.map +0 -1
  815. package/dist/chunk-UZNSGQT3.cjs.map +0 -1
  816. package/dist/chunk-VIJHDURK.js.map +0 -1
  817. package/dist/chunk-VLIQPSPM.js.map +0 -1
  818. package/dist/chunk-VT7VKCHL.cjs.map +0 -1
  819. package/dist/chunk-VTQRXV32.js +0 -565
  820. package/dist/chunk-VTQRXV32.js.map +0 -1
  821. package/dist/chunk-VVYUCQHP.js.map +0 -1
  822. package/dist/chunk-WA4DRAQ7.js.map +0 -1
  823. package/dist/chunk-WBPIJ4D5.js.map +0 -1
  824. package/dist/chunk-WE3ECIRS.cjs.map +0 -1
  825. package/dist/chunk-WEEYUS7M.cjs.map +0 -1
  826. package/dist/chunk-WIIDQ44X.cjs.map +0 -1
  827. package/dist/chunk-WIW2YR46.js.map +0 -1
  828. package/dist/chunk-WM66IPV4.cjs +0 -567
  829. package/dist/chunk-WM66IPV4.cjs.map +0 -1
  830. package/dist/chunk-WSAZHUB3.cjs.map +0 -1
  831. package/dist/chunk-XQMLA75S.js.map +0 -1
  832. package/dist/chunk-Y73472IA.js.map +0 -1
  833. package/dist/chunk-YHR44PWO.js.map +0 -1
  834. package/dist/chunk-YMC56K6R.cjs.map +0 -1
  835. package/dist/chunk-YOFCBZAX.js +0 -286
  836. package/dist/chunk-YOFCBZAX.js.map +0 -1
  837. package/dist/chunk-YOWRLFMF.cjs +0 -128
  838. package/dist/chunk-YOWRLFMF.cjs.map +0 -1
  839. package/dist/chunk-YRXGCYT2.js.map +0 -1
  840. package/dist/chunk-YT3UWEVY.js.map +0 -1
  841. package/dist/chunk-YX7DI3O3.cjs.map +0 -1
  842. package/dist/chunk-YZUBJ2L2.cjs.map +0 -1
  843. package/dist/chunk-Z2STCD6I.js.map +0 -1
  844. package/dist/chunk-ZC7H4S4T.cjs.map +0 -1
  845. package/dist/chunk-ZHFAFEI2.js.map +0 -1
  846. package/dist/chunk-ZVBVKZ4P.cjs.map +0 -1
  847. package/dist/chunk-ZW4XKNDR.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/TextInput/TextInput.tsx"],"names":["useId","getStatusMessageID","getDescribedBy","useInputGroup","jsxs","cx","inputRecipe","jsx","inputStyles","Icon","X","Spinner","getStatusIcon","Field"],"mappings":"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","file":"chunk-RJXHAQCR.cjs","sourcesContent":["import {X} from 'lucide-react';\nimport {\n useId,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {\n Field,\n inputRecipe,\n inputStyles,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {useInputGroup} from '../InputGroup';\nimport {Spinner} from '../Spinner';\n\nexport type TextInputType = 'email' | 'password' | 'text';\n\nexport type TextInputProps = {\n /**\n * HTML autocomplete hint for the browser.\n */\n autoComplete?: string;\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the input, before the status icon.\n */\n endContent?: ReactNode;\n /**\n * Whether to focus the input on mount.\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when the input has a value.\n */\n hasClear?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the input is disabled.\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is loading.\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 shown beside the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Called when the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called with the next string value.\n */\n onChange: (\n value: string,\n event: ChangeEvent<HTMLInputElement> | null,\n ) => void;\n /**\n * Called when Enter is pressed.\n */\n onEnter?: () => void;\n /**\n * Called when the input gains focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Keyboard event handler for the input.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size.\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Status displayed on the field.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the wrapper.\n */\n style?: CSSProperties;\n /**\n * HTML input type.\n */\n type?: TextInputType;\n /**\n * Controlled input value.\n */\n value: string;\n} & FieldNecessity;\n\n/**\n * Single-line text input field.\n */\nexport function TextInput({\n autoComplete,\n label,\n value,\n onChange,\n onBlur,\n onFocus,\n type = 'text',\n size: sizeProp = 'md',\n placeholder,\n description,\n endContent,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n hasAutoFocus = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n startIcon,\n onEnter,\n onKeyDown,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TextInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputGroup = useInputGroup();\n const effectiveDisabled = isDisabled || inputGroup?.isDisabled === true;\n const size = inputGroup?.size ?? sizeProp;\n const effectiveStatusType = status?.type ?? inputGroup?.statusType;\n\n const inputWrapper = (\n <div\n className={cx(\n inputRecipe({\n size,\n status: effectiveStatusType,\n isDisabled: effectiveDisabled,\n }),\n inputGroup != null ? className : undefined,\n )}\n style={inputGroup != null ? style : undefined}>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={inputGroup != null ? label : undefined}\n aria-required={isRequired ?? undefined}\n autoComplete={autoComplete}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={inputStyles.control}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={effectiveDisabled}\n id={inputId}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => onChange(event.target.value, event)}\n onFocus={onFocus}\n onKeyDown={event => {\n if (event.key === 'Enter' && !event.nativeEvent.isComposing) {\n onEnter?.();\n }\n onKeyDown?.(event);\n }}\n placeholder={placeholder}\n ref={ref}\n required={isRequired ?? undefined}\n type={type}\n value={value}\n />\n {hasClear && value !== '' && !effectiveDisabled ? (\n <button\n aria-label={`Clear ${label}`}\n className={inputStyles.clearButton}\n onClick={() => onChange('', null)}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n ) : null}\n {endContent}\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 );\n\n if (inputGroup != null) {\n return inputWrapper;\n }\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n isOptional={isOptional}\n isRequired={isRequired}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputWrapper}\n </Field>\n );\n}\n\nTextInput.displayName = 'TextInput';\n"]}
@@ -1,59 +0,0 @@
1
- import { cva } from './chunk-NAELQLZN.js';
2
-
3
- // src/components/Field/Field.recipe.ts
4
- var fieldLabelRecipe = cva({
5
- base: {
6
- display: "inline-flex",
7
- alignItems: "center",
8
- gap: "1",
9
- w: "fit-content",
10
- color: "fg",
11
- cursor: "pointer"
12
- },
13
- variants: {
14
- isDisabled: {
15
- true: {
16
- cursor: "not-allowed",
17
- color: "fg.disabled"
18
- },
19
- false: {}
20
- }
21
- },
22
- defaultVariants: {
23
- isDisabled: false
24
- }
25
- });
26
- var fieldStatusRecipe = cva({
27
- base: {
28
- fontFamily: "body",
29
- fontSize: "sm",
30
- lineHeight: "normal",
31
- px: "2",
32
- py: "1.5"
33
- },
34
- variants: {
35
- statusVariant: {
36
- attached: {
37
- mt: "-1",
38
- pt: "2.5",
39
- borderBottomRadius: "md"
40
- },
41
- detached: {
42
- mt: "1",
43
- borderRadius: "md"
44
- }
45
- },
46
- statusType: {
47
- warning: { bg: "surface.yellow", color: "surface.yellow.fg" },
48
- error: { bg: "surface.red", color: "surface.red.fg" },
49
- success: { bg: "surface.green", color: "surface.green.fg" }
50
- }
51
- },
52
- defaultVariants: {
53
- statusVariant: "attached"
54
- }
55
- });
56
-
57
- export { fieldLabelRecipe, fieldStatusRecipe };
58
- //# sourceMappingURL=chunk-RLQYXUDO.js.map
59
- //# sourceMappingURL=chunk-RLQYXUDO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Field/Field.recipe.ts"],"names":[],"mappings":";;;AAEO,IAAM,mBAAmB,GAAA,CAAI;AAAA,EAClC,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,CAAA,EAAG,aAAA;AAAA,IACH,KAAA,EAAO,IAAA;AAAA,IACP,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ,aAAA;AAAA,QACR,KAAA,EAAO;AAAA,OACT;AAAA,MACA,OAAO;AAAC;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAC;AAIM,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,UAAA,EAAY,MAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,UAAA,EAAY,QAAA;AAAA,IACZ,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAAA,EACA,QAAA,EAAU;AAAA,IACR,aAAA,EAAe;AAAA,MACb,QAAA,EAAU;AAAA,QACR,EAAA,EAAI,IAAA;AAAA,QACJ,EAAA,EAAI,KAAA;AAAA,QACJ,kBAAA,EAAoB;AAAA,OACtB;AAAA,MACA,QAAA,EAAU;AAAA,QACR,EAAA,EAAI,GAAA;AAAA,QACJ,YAAA,EAAc;AAAA;AAChB,KACF;AAAA,IACA,UAAA,EAAY;AAAA,MACV,OAAA,EAAS,EAAC,EAAA,EAAI,gBAAA,EAAkB,OAAO,mBAAA,EAAmB;AAAA,MAC1D,KAAA,EAAO,EAAC,EAAA,EAAI,aAAA,EAAe,OAAO,gBAAA,EAAgB;AAAA,MAClD,OAAA,EAAS,EAAC,EAAA,EAAI,eAAA,EAAiB,OAAO,kBAAA;AAAkB;AAC1D,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,aAAA,EAAe;AAAA;AAEnB,CAAC","file":"chunk-RLQYXUDO.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const fieldLabelRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n w: 'fit-content',\n color: 'fg',\n cursor: 'pointer',\n },\n variants: {\n isDisabled: {\n true: {\n cursor: 'not-allowed',\n color: 'fg.disabled',\n },\n false: {},\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n});\n\nexport type FieldLabelVariants = RecipeVariantProps<typeof fieldLabelRecipe>;\n\nexport const fieldStatusRecipe = cva({\n base: {\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n px: '2',\n py: '1.5',\n },\n variants: {\n statusVariant: {\n attached: {\n mt: '-1',\n pt: '2.5',\n borderBottomRadius: 'md',\n },\n detached: {\n mt: '1',\n borderRadius: 'md',\n },\n },\n statusType: {\n warning: {bg: 'surface.yellow', color: 'surface.yellow.fg'},\n error: {bg: 'surface.red', color: 'surface.red.fg'},\n success: {bg: 'surface.green', color: 'surface.green.fg'},\n },\n },\n defaultVariants: {\n statusVariant: 'attached',\n },\n});\n\nexport type FieldStatusVariants = RecipeVariantProps<typeof fieldStatusRecipe>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/DateRangeInput/DateRangeInput.tsx"],"names":[],"mappings":"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","file":"chunk-S5NFDKPL.js","sourcesContent":["import {CalendarIcon, X} from 'lucide-react';\nimport {\n useId,\n useMemo,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {DateRange} from '../../internal/dateTypes';\nimport {\n DATE_FORMAT_SHORT_WITH_YEAR,\n plainDateFormat,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {Button} from '../Button';\nimport {Calendar} from '../Calendar';\nimport {\n Field,\n inputRecipe,\n inputStyles,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport type {DateRange} from '../../internal/dateTypes';\n\nconst styles = {\n wrapper: css({ps: '1', gap: '1'}),\n} as const;\n\nexport type DateRangeInputProps = {\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 * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Number of calendar months shown in the popover.\n * @default 2\n */\n numberOfMonths?: 1 | 2;\n /**\n * Called when the selected date range changes.\n */\n onChange: (value: DateRange | undefined) => void;\n /**\n * Placeholder text shown when no range is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Currently selected date range.\n */\n value: DateRange | undefined;\n} & FieldNecessity;\n\nfunction formatRange(value: DateRange | undefined): string {\n if (value == null) {\n return '';\n }\n return `${plainDateFormat(value.start, DATE_FORMAT_SHORT_WITH_YEAR)} - ${plainDateFormat(value.end, DATE_FORMAT_SHORT_WITH_YEAR)}`;\n}\n\n/**\n * A date range picker input that opens a calendar popover for selecting a start and end date.\n */\nexport function DateRangeInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n numberOfMonths = 2,\n placeholder = 'Select a date range',\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateRangeInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const [isOpen, setIsOpen] = useState(false);\n const displayValue = useMemo(() => formatRange(value), [value]);\n\n const necessity: FieldNecessity = {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={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n )}>\n <Popover\n content={\n <Calendar\n getIsDateDisabled={getIsDateDisabled}\n max={max}\n min={min}\n mode=\"range\"\n numberOfMonths={numberOfMonths}\n onChange={nextValue => {\n onChange(nextValue);\n setIsOpen(false);\n }}\n value={value}\n viewDate={value?.start}\n />\n }\n hasAutoFocus\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={`Choose ${label}`}\n onOpenChange={setIsOpen}\n padding=\"3\">\n <Button\n icon={CalendarIcon}\n isDisabled={isDisabled}\n isIconOnly\n label={`Choose ${label}`}\n size=\"sm\"\n variant=\"ghost\"\n />\n </Popover>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n className={inputStyles.control}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n placeholder={placeholder}\n readOnly\n ref={ref}\n type=\"text\"\n value={displayValue}\n />\n {hasClear && value != null && !isDisabled ? (\n <button\n aria-label={`Clear ${label}`}\n className={inputStyles.clearButton}\n onClick={() => onChange(undefined)}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\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\nDateRangeInput.displayName = 'DateRangeInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ButtonGroup/ButtonGroup.recipe.ts","../src/components/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":";;;;;;;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,SAAA;AAAA,IACZ,SAAA,EAAW,SAAA;AAAA,IACX,qBAAA,EAAuB;AAAA,MACrB,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,mCAAA,EAAqC;AAAA,MACnC,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY;AAAA,QACV,aAAA,EAAe,KAAA;AAAA,QACf,gFAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,sBAAA,EAAwB,CAAA;AAAA,UACxB,sBAAA,EAAwB,SAAA;AAAA,UACxB,sBAAA,EAAwB,OAAA;AAAA,UACxB,sBAAA,EAAwB;AAAA,SAC1B;AAAA,QACF,8EAAA,EACE;AAAA,UACE,oBAAA,EAAsB,CAAA;AAAA,UACtB,uBAAA,EAAyB;AAAA;AAC3B,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,aAAA,EAAe,QAAA;AAAA,QACf,gFAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,oBAAA,EAAsB,CAAA;AAAA,UACtB,qBAAA,EAAuB,SAAA;AAAA,UACvB,qBAAA,EAAuB,OAAA;AAAA,UACvB,qBAAA,EAAuB;AAAA,SACzB;AAAA,QACF,8EAAA,EACE;AAAA,UACE,sBAAA,EAAwB,CAAA;AAAA,UACxB,uBAAA,EAAyB;AAAA;AAC3B;AACJ;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC;ACIM,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,GAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,OAAO,EAAC,UAAA,EAAY,WAAA,EAAa,IAAA,EAAI,CAAA;AAAA,IACrC,CAAC,UAAA,EAAY,WAAA,EAAa,IAAI;AAAA,GAChC;AAEA,EAAA,uBACE,GAAA,CAAC,kBAAA,EAAA,EAAmB,KAAA,EAAO,YAAA,EACzB,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,YAAA,EAAY,KAAA;AAAA,MACZ,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAC,WAAA,EAAY,GAAG,SAAS,CAAA;AAAA,MACzD,kBAAA,EAAkB,WAAA;AAAA,MAClB,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA;AAAA,MACC;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-T55MB2CA.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const buttonGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'stretch',\n isolation: 'isolate',\n '& :where(button, a)': {\n position: 'relative',\n },\n '& :where(button, a):focus-visible': {\n zIndex: 1,\n },\n },\n variants: {\n orientation: {\n horizontal: {\n flexDirection: 'row',\n '& > :not(:first-child):is(button, a), & > :not(:first-child) :where(button, a)':\n {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n },\n '& > :not(:last-child):is(button, a), & > :not(:last-child) :where(button, a)':\n {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n vertical: {\n flexDirection: 'column',\n '& > :not(:first-child):is(button, a), & > :not(:first-child) :where(button, a)':\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n },\n '& > :not(:last-child):is(button, a), & > :not(:last-child) :where(button, a)':\n {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type ButtonGroupVariants = RecipeVariantProps<typeof buttonGroupRecipe>;\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button/Button';\nimport {buttonGroupRecipe} from './ButtonGroup.recipe';\nimport {\n ButtonGroupContext,\n type ButtonGroupOrientation,\n} from './ButtonGroupContext';\n\n/**\n * Groups related Buttons and propagates shared size, disabled state, and\n * orientation to child Buttons.\n */\nexport interface ButtonGroupProps {\n /**\n * Direct children should be `<Button>` elements.\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 * Whether all buttons in the group are disabled.\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the group.\n */\n label: string;\n /**\n * Orientation for layout. Default is `horizontal`.\n */\n orientation?: ButtonGroupOrientation;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Default size for Buttons in the group. Individual Buttons can override it.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Groups related Buttons and propagates shared size, disabled state, and\n * orientation to child Buttons.\n */\nexport function ButtonGroup({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n orientation = 'horizontal',\n ref,\n size = 'md',\n style,\n}: ButtonGroupProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({isDisabled, orientation, size}),\n [isDisabled, orientation, size],\n );\n\n return (\n <ButtonGroupContext value={contextValue}>\n <div\n aria-disabled={isDisabled || undefined}\n aria-label={label}\n className={cx(buttonGroupRecipe({orientation}), className)}\n data-orientation={orientation}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </ButtonGroupContext>\n );\n}\n\nButtonGroup.displayName = 'ButtonGroup';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internal/parseDateInput.ts","../src/components/DateInput/DateInput.tsx"],"names":["plainDateCreate","css","plainDateFormat","DATE_FORMAT_LONG","plainDateIsBefore","plainDateIsAfter","useId","getStatusMessageID","getDescribedBy","useRef","useState","useCallback","jsx","Field","jsxs","cx","inputRecipe","Popover","Calendar","Button","CalendarIcon","inputStyles","mergeRefs","Icon","X","Spinner","getStatusIcon"],"mappings":"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","file":"chunk-TPSOUQG7.cjs","sourcesContent":["import {plainDateCreate, type PlainDate} from './plainDate';\n\nconst MONTH_NAMES: Partial<Record<string, number>> = {\n jan: 1,\n january: 1,\n feb: 2,\n february: 2,\n mar: 3,\n march: 3,\n apr: 4,\n april: 4,\n may: 5,\n jun: 6,\n june: 6,\n jul: 7,\n july: 7,\n aug: 8,\n august: 8,\n sep: 9,\n september: 9,\n oct: 10,\n october: 10,\n nov: 11,\n november: 11,\n dec: 12,\n december: 12,\n};\n\n/**\n * Parses common date input formats into a PlainDate.\n * Supports: \"2026-05-21\", \"05/21/2026\", \"May 21, 2026\", \"21 May 2026\", etc.\n * Returns null if the input cannot be parsed.\n */\nexport function parseDateInput(input: string): PlainDate | null {\n const trimmed = input.trim();\n if (trimmed === '') {\n return null;\n }\n\n // ISO format: 2026-05-21\n const isoMatch = /^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/.exec(trimmed);\n if (isoMatch != null) {\n return tryCreate(\n parseInt(isoMatch[1], 10),\n parseInt(isoMatch[2], 10),\n parseInt(isoMatch[3], 10),\n );\n }\n\n // US format: 05/21/2026, 5/21/2026, or 3/4/25 (2-digit year)\n const usMatch = /^(\\d{1,2})[/\\-.](\\d{1,2})[/\\-.](\\d{2,4})$/.exec(trimmed);\n if (usMatch != null) {\n let year = parseInt(usMatch[3], 10);\n if (year < 100) {\n year += year < 50 ? 2000 : 1900;\n }\n return tryCreate(year, parseInt(usMatch[1], 10), parseInt(usMatch[2], 10));\n }\n\n // Named month: \"May 21, 2026\" or \"May 21 2026\"\n const namedMonthFirst = /^([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthFirst != null) {\n const month = MONTH_NAMES[namedMonthFirst[1].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthFirst[3], 10),\n month,\n parseInt(namedMonthFirst[2], 10),\n );\n }\n }\n\n // Named month reversed: \"21 May 2026\"\n const namedMonthLast = /^(\\d{1,2})\\s+([A-Za-z]+),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthLast != null) {\n const month = MONTH_NAMES[namedMonthLast[2].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthLast[3], 10),\n month,\n parseInt(namedMonthLast[1], 10),\n );\n }\n }\n\n return null;\n}\n\nfunction tryCreate(year: number, month: number, day: number): PlainDate | null {\n try {\n return plainDateCreate(year, month, day);\n } catch {\n return null;\n }\n}\n","import {CalendarIcon, X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {parseDateInput} from '../../internal/parseDateInput';\nimport {\n DATE_FORMAT_LONG,\n plainDateFormat,\n plainDateIsAfter,\n plainDateIsBefore,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {Button} from '../Button';\nimport {Calendar, type CalendarHandle} from '../Calendar';\nimport {\n Field,\n inputRecipe,\n inputStyles,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport type {PlainDate} from '../../internal/plainDate';\n\nconst styles = {\n wrapper: css({ps: '1', gap: '1'}),\n} as const;\n\nexport type DateInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Called when the selected date changes.\n */\n onChange: (value: PlainDate | undefined) => void;\n /**\n * Placeholder text shown when no date is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Currently selected date.\n */\n value: PlainDate | undefined;\n} & FieldNecessity;\n\nfunction formatDate(value: PlainDate | undefined): string {\n return value == null ? '' : plainDateFormat(value, DATE_FORMAT_LONG);\n}\n\nfunction isDateAllowed(\n date: PlainDate,\n options: {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n max?: PlainDate;\n min?: PlainDate;\n },\n): boolean {\n if (options.min != null && plainDateIsBefore(date, options.min)) {\n return false;\n }\n if (options.max != null && plainDateIsAfter(date, options.max)) {\n return false;\n }\n if (options.getIsDateDisabled?.(date)) {\n return false;\n }\n return true;\n}\n\n/**\n * A date picker input that combines a text input with a calendar popover.\n * Users can type a date directly or select one from the calendar.\n */\nexport function DateInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n placeholder = 'Select a date',\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const calendarRef = useRef<CalendarHandle | null>(null);\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [pendingInput, setPendingInput] = useState<string | null>(null);\n\n const displayValue = pendingInput ?? formatDate(value);\n\n const necessity: FieldNecessity = {isOptional, isRequired};\n\n const handleCalendarChange = useCallback(\n (nextValue: PlainDate) => {\n onChange(nextValue);\n setPendingInput(null);\n setIsOpen(false);\n inputRef.current?.focus();\n },\n [onChange],\n );\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const text = event.target.value;\n setPendingInput(text);\n\n const parsed = parseDateInput(text);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n calendarRef.current?.navigateTo(parsed);\n }\n },\n [getIsDateDisabled, max, min, onChange],\n );\n\n const commitPendingInput = useCallback(() => {\n if (pendingInput == null) {\n return;\n }\n\n if (pendingInput.trim() === '') {\n if (value != null) {\n onChange(undefined);\n }\n setPendingInput(null);\n return;\n }\n\n const parsed = parseDateInput(pendingInput);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n }\n setPendingInput(null);\n }, [getIsDateDisabled, max, min, onChange, pendingInput, value]);\n\n const handleBlur = useCallback(() => {\n commitPendingInput();\n }, [commitPendingInput]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n commitPendingInput();\n }\n },\n [commitPendingInput],\n );\n\n const handleClear = useCallback(() => {\n onChange(undefined);\n setPendingInput(null);\n inputRef.current?.focus();\n }, [onChange]);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled: isDisabled,\n }),\n styles.wrapper,\n )}\n ref={wrapperRef}>\n <Popover\n content={\n <Calendar\n getIsDateDisabled={getIsDateDisabled}\n max={max}\n min={min}\n onChange={handleCalendarChange}\n ref={calendarRef}\n value={value}\n viewDate={value}\n />\n }\n hasAutoFocus\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={`Choose ${label}`}\n onOpenChange={setIsOpen}\n padding=\"3\">\n <Button\n icon={CalendarIcon}\n isDisabled={isDisabled}\n isIconOnly\n label={`Choose ${label}`}\n size=\"sm\"\n variant=\"ghost\"\n />\n </Popover>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n autoComplete=\"off\"\n className={inputStyles.control}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef)}\n type=\"text\"\n value={displayValue}\n />\n {hasClear && value != null && !isDisabled && !isLoading ? (\n <button\n aria-label={`Clear ${label}`}\n className={inputStyles.clearButton}\n onClick={handleClear}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nDateInput.displayName = 'DateInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":";;;;AAmDA,IAAM,SAAA,GAAY,GAAA;AAClB,IAAM,WAAA,GAAc,GAAA;AAEpB,IAAM,MAAA,GAAS;AAAA,EACb,MAAM,GAAA,CAAI;AAAA,IACR,EAAA,EAAI,UAAA;AAAA,IACJ,eAAA,EACE,oHAAA;AAAA,IACF,cAAA,EAAgB,WAAA;AAAA,IAChB,SAAA,EAAW,4CAAA;AAAA,IACX,yCAAA,EAA2C;AAAA,MACzC,SAAA,EAAW,MAAA;AAAA,MACX,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AAAA,EACD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,GAAA,CAAI,EAAC,YAAA,EAAc,GAAE,CAAA;AAAA,IAC3B,CAAA,EAAG,GAAA,CAAI,EAAC,YAAA,EAAc,GAAE,CAAA;AAAA,IACxB,CAAA,EAAG,GAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,CAAA,EAAG,GAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,CAAA,EAAG,GAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,CAAA,EAAG,GAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,OAAA,EAAS,GAAA,CAAI,EAAC,YAAA,EAAc,QAAO;AAAA;AAEvC,CAAA;AAEA,SAAS,WAAW,KAAA,EAAgC;AAClD,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,GAAW,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA,GAAO,KAAA;AACpD;AAQO,SAAS,QAAA,CAAS;AAAA,EACvB,cAAc,SAAA,GAAY,SAAA;AAAA,EAC1B,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,MAAA,GAAS,MAAA;AAAA,EACT,MAAA,GAAS,CAAA;AAAA,EACT,GAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,KAAA;AAAA,EACA,KAAA,GAAQ;AACV,CAAA,EAAqC;AACnC,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,YAAY,CAAA;AAE7C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAW,GAAG,MAAA,CAAO,IAAA,EAAM,OAAO,MAAA,CAAO,MAAM,GAAG,SAAS,CAAA;AAAA,MAC3D,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,WAAW,KAAK,CAAA;AAAA,QACvB,MAAA,EAAQ,WAAW,MAAM,CAAA;AAAA,QACzB,cAAA,EAAgB,CAAA,EAAG,SAAA,GAAY,WAAA,GAAc,YAAY,CAAA,EAAA,CAAA;AAAA,QACzD,GAAG;AAAA;AACL;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-U35V3GVC.js","sourcesContent":["import type {CSSProperties, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\n\nexport type SkeletonRadius = 0 | 1 | 2 | 3 | 4 | 'none' | 'rounded';\n\nexport interface SkeletonProps {\n /**\n * Accessible label for the loading placeholder.\n * @default 'Loading'\n */\n 'aria-label'?: string;\n /**\n * Additional CSS class names applied to the skeleton.\n */\n className?: string;\n /**\n * Test ID applied to the skeleton.\n */\n 'data-testid'?: string;\n /**\n * Skeleton height. Numbers are treated as pixels.\n * @default '100%'\n */\n height?: number | string;\n /**\n * Border radius token.\n * @default 3\n */\n radius?: SkeletonRadius;\n /**\n * Ref forwarded to the skeleton element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Animation stagger index for lists of skeletons. Controls the delay\n * before the shimmer animation starts, creating a wave effect.\n * @default 0\n */\n staggerIndex?: number;\n /**\n * Inline styles applied to the skeleton.\n */\n style?: CSSProperties;\n /**\n * Skeleton width. Numbers are treated as pixels.\n * @default '100%'\n */\n width?: number | string;\n}\n\nconst delayTime = 1000;\nconst staggerTime = 100;\n\nconst styles = {\n root: css({\n bg: 'skeleton',\n backgroundImage:\n 'linear-gradient(90deg, token(colors.skeleton) 0%, token(colors.skeleton.shimmer) 50%, token(colors.skeleton) 100%)',\n backgroundSize: '200% 100%',\n animation: 'skeleton-shimmer 1.4s ease-in-out infinite',\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n backgroundImage: 'none',\n },\n }),\n radius: {\n none: css({borderRadius: 0}),\n 0: css({borderRadius: 0}),\n 1: css({borderRadius: 'xs'}),\n 2: css({borderRadius: 'sm'}),\n 3: css({borderRadius: 'md'}),\n 4: css({borderRadius: 'lg'}),\n rounded: css({borderRadius: 'full'}),\n } satisfies Record<SkeletonRadius, string>,\n} as const;\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n/**\n * A pulsing placeholder used while content is loading.\n *\n * For containers with multiple skeletons, set `aria-busy=\"true\"` on the\n * parent element so assistive technology knows to wait for content.\n */\nexport function Skeleton({\n 'aria-label': ariaLabel = 'Loading',\n className,\n 'data-testid': dataTestId,\n height = '100%',\n radius = 3,\n ref,\n staggerIndex = 0,\n style,\n width = '100%',\n}: SkeletonProps): React.JSX.Element {\n const clampedIndex = Math.max(0, staggerIndex);\n\n return (\n <div\n aria-label={ariaLabel}\n className={cx(styles.root, styles.radius[radius], className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"status\"\n style={{\n width: formatSize(width),\n height: formatSize(height),\n animationDelay: `${delayTime + staggerTime * clampedIndex}ms`,\n ...style,\n }}\n />\n );\n}\n\nSkeleton.displayName = 'Skeleton';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../styled-system/helpers.js","../styled-system/css/conditions.js","../styled-system/css/css.js"],"names":["context","conditions","resolveShorthand","mergeCss","assignCss"],"mappings":"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","file":"chunk-UHQRL4OA.js","sourcesContent":["// src/assert.ts\nfunction isObject(value) {\n return typeof value === \"object\" && value != null && !Array.isArray(value);\n}\nvar isObjectOrArray = (obj) => typeof obj === \"object\" && obj !== null;\n\n// src/compact.ts\nfunction compact(value) {\n return Object.fromEntries(Object.entries(value ?? {}).filter(([_, value2]) => value2 !== void 0));\n}\n\n// src/condition.ts\nvar isBaseCondition = (v) => v === \"base\";\nfunction filterBaseConditions(c) {\n return c.slice().filter((v) => !isBaseCondition(v));\n}\n\n// src/hash.ts\nfunction toChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n}\nfunction toName(code) {\n let name = \"\";\n let x;\n for (x = Math.abs(code); x > 52; x = x / 52 | 0) name = toChar(x % 52) + name;\n return toChar(x % 52) + name;\n}\nfunction toPhash(h, x) {\n let i = x.length;\n while (i) h = h * 33 ^ x.charCodeAt(--i);\n return h;\n}\nfunction toHash(value) {\n return toName(toPhash(5381, value) >>> 0);\n}\n\n// src/important.ts\nvar importantRegex = /\\s*!(important)?/i;\nfunction isImportant(value) {\n return typeof value === \"string\" ? importantRegex.test(value) : false;\n}\nfunction withoutImportant(value) {\n return typeof value === \"string\" ? value.replace(importantRegex, \"\").trim() : value;\n}\nfunction withoutSpace(str) {\n return typeof str === \"string\" ? str.replaceAll(\" \", \"_\") : str;\n}\n\n// src/memo.ts\nvar memo = (fn) => {\n const cache = /* @__PURE__ */ new Map();\n const get = (...args) => {\n const key = JSON.stringify(args);\n if (cache.has(key)) {\n return cache.get(key);\n }\n const result = fn(...args);\n cache.set(key, result);\n return result;\n };\n return get;\n};\n\n// src/merge-props.ts\nvar MERGE_OMIT = /* @__PURE__ */ new Set([\"__proto__\", \"constructor\", \"prototype\"]);\nfunction mergeProps(...sources) {\n return sources.reduce((prev, obj) => {\n if (!obj) return prev;\n Object.keys(obj).forEach((key) => {\n if (MERGE_OMIT.has(key)) return;\n const prevValue = prev[key];\n const value = obj[key];\n if (isObject(prevValue) && isObject(value)) {\n prev[key] = mergeProps(prevValue, value);\n } else {\n prev[key] = value;\n }\n });\n return prev;\n }, {});\n}\n\n// src/walk-object.ts\nvar isNotNullish = (element) => element != null;\nfunction walkObject(target, predicate, options = {}) {\n const { stop, getKey } = options;\n function inner(value, path = []) {\n if (isObjectOrArray(value)) {\n const result = {};\n for (const [prop, child] of Object.entries(value)) {\n const key = getKey?.(prop, child) ?? prop;\n const childPath = [...path, key];\n if (stop?.(value, childPath)) {\n return predicate(value, path);\n }\n const next = inner(child, childPath);\n if (isNotNullish(next)) {\n result[key] = next;\n }\n }\n return result;\n }\n return predicate(value, path);\n }\n return inner(target);\n}\nfunction mapObject(obj, fn) {\n if (Array.isArray(obj)) return obj.map((value) => fn(value));\n if (!isObject(obj)) return fn(obj);\n return walkObject(obj, (value) => fn(value));\n}\n\n// src/normalize-style-object.ts\nfunction toResponsiveObject(values, breakpoints) {\n return values.reduce(\n (acc, current, index) => {\n const key = breakpoints[index];\n if (current != null) {\n acc[key] = current;\n }\n return acc;\n },\n {}\n );\n}\nfunction normalizeStyleObject(styles, context, shorthand = true) {\n const { utility, conditions } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return walkObject(\n styles,\n (value) => {\n return Array.isArray(value) ? toResponsiveObject(value, conditions.breakpoints.keys) : value;\n },\n {\n stop: (value) => Array.isArray(value),\n getKey: shorthand ? (prop) => hasShorthand ? resolveShorthand(prop) : prop : void 0\n }\n );\n}\n\n// src/classname.ts\nvar fallbackCondition = {\n shift: (v) => v,\n finalize: (v) => v,\n breakpoints: { keys: [] }\n};\nvar sanitize = (value) => typeof value === \"string\" ? value.replaceAll(/[\\n\\s]+/g, \" \") : value;\nfunction createCss(context) {\n const { utility, hash, conditions: conds = fallbackCondition } = context;\n const formatClassName = (str) => [utility.prefix, str].filter(Boolean).join(\"-\");\n const hashFn = (conditions, className) => {\n let result;\n if (hash) {\n const baseArray = [...conds.finalize(conditions), className];\n result = formatClassName(utility.toHash(baseArray, toHash));\n } else {\n const baseArray = [...conds.finalize(conditions), formatClassName(className)];\n result = baseArray.join(\":\");\n }\n return result;\n };\n return memo(({ base, ...styles } = {}) => {\n const styleObject = Object.assign(styles, base);\n const normalizedObject = normalizeStyleObject(styleObject, context);\n const classNames = /* @__PURE__ */ new Set();\n walkObject(normalizedObject, (value, paths) => {\n if (value == null) return;\n const important = isImportant(value);\n const [prop, ...allConditions] = conds.shift(paths);\n const conditions = filterBaseConditions(allConditions);\n const transformed = utility.transform(prop, withoutImportant(sanitize(value)));\n let className = hashFn(conditions, transformed.className);\n if (important) className = `${className}!`;\n classNames.add(className);\n });\n return Array.from(classNames).join(\" \");\n });\n}\nfunction compactStyles(...styles) {\n return styles.flat().filter((style) => isObject(style) && Object.keys(compact(style)).length > 0);\n}\nfunction createMergeCss(context) {\n function resolve(styles) {\n const allStyles = compactStyles(...styles);\n if (allStyles.length === 1) return allStyles;\n return allStyles.map((style) => normalizeStyleObject(style, context));\n }\n function mergeCss(...styles) {\n return mergeProps(...resolve(styles));\n }\n function assignCss(...styles) {\n return Object.assign({}, ...resolve(styles));\n }\n return { mergeCss: memo(mergeCss), assignCss };\n}\n\n// src/hypenate-property.ts\nvar wordRegex = /([A-Z])/g;\nvar msRegex = /^ms-/;\nvar hypenateProperty = memo((property) => {\n if (property.startsWith(\"--\")) return property;\n return property.replace(wordRegex, \"-$1\").replace(msRegex, \"-ms-\").toLowerCase();\n});\n\n// src/is-css-function.ts\nvar fns = [\"min\", \"max\", \"clamp\", \"calc\"];\nvar fnRegExp = new RegExp(`^(${fns.join(\"|\")})\\\\(.*\\\\)`);\nvar isCssFunction = (v) => typeof v === \"string\" && fnRegExp.test(v);\n\n// src/is-css-unit.ts\nvar lengthUnits = \"cm,mm,Q,in,pc,pt,px,em,ex,ch,rem,lh,rlh,vw,vh,vmin,vmax,vb,vi,svw,svh,lvw,lvh,dvw,dvh,cqw,cqh,cqi,cqb,cqmin,cqmax,%\";\nvar lengthUnitsPattern = `(?:${lengthUnits.split(\",\").join(\"|\")})`;\nvar lengthRegExp = new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`);\nvar isCssUnit = (v) => typeof v === \"string\" && lengthRegExp.test(v);\n\n// src/is-css-var.ts\nvar isCssVar = (v) => typeof v === \"string\" && /^var\\(--.+\\)$/.test(v);\n\n// src/pattern-fns.ts\nvar patternFns = {\n map: mapObject,\n isCssFunction,\n isCssVar,\n isCssUnit\n};\nvar getPatternStyles = (pattern, styles) => {\n if (!pattern?.defaultValues) return styles;\n const defaults = typeof pattern.defaultValues === \"function\" ? pattern.defaultValues(styles) : pattern.defaultValues;\n return Object.assign({}, defaults, compact(styles));\n};\n\n// src/slot.ts\nvar getSlotRecipes = (recipe = {}) => {\n const init = (slot) => ({\n className: [recipe.className, slot].filter(Boolean).join(\"__\"),\n base: recipe.base?.[slot] ?? {},\n variants: {},\n defaultVariants: recipe.defaultVariants ?? {},\n compoundVariants: recipe.compoundVariants ? getSlotCompoundVariant(recipe.compoundVariants, slot) : []\n });\n const slots = recipe.slots ?? [];\n const recipeParts = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(recipe.variants ?? {})) {\n for (const [variantKey, variantSpec] of Object.entries(variantsSpec)) {\n recipeParts.forEach(([slot, slotRecipe]) => {\n slotRecipe.variants[variantsKey] ??= {};\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(recipeParts);\n};\nvar getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({ ...compoundVariant, css: compoundVariant.css[slotName] }));\n\n// src/split-props.ts\nfunction splitProps(props, ...keys) {\n const descriptors = Object.getOwnPropertyDescriptors(props);\n const dKeys = Object.keys(descriptors);\n const split = (k) => {\n const clone = {};\n for (let i = 0; i < k.length; i++) {\n const key = k[i];\n if (descriptors[key]) {\n Object.defineProperty(clone, key, descriptors[key]);\n delete descriptors[key];\n }\n }\n return clone;\n };\n const fn = (key) => split(Array.isArray(key) ? key : dKeys.filter(key));\n return keys.map(fn).concat(split(dKeys));\n}\n\n// src/uniq.ts\nvar uniq = (...items) => {\n const set = items.reduce((acc, currItems) => {\n if (currItems) {\n currItems.forEach((item) => acc.add(item));\n }\n return acc;\n }, /* @__PURE__ */ new Set([]));\n return Array.from(set);\n};\nexport {\n compact,\n createCss,\n createMergeCss,\n filterBaseConditions,\n getPatternStyles,\n getSlotCompoundVariant,\n getSlotRecipes,\n hypenateProperty,\n isBaseCondition,\n isObject,\n mapObject,\n memo,\n mergeProps,\n patternFns,\n splitProps,\n toHash,\n uniq,\n walkObject,\n withoutSpace\n};\n\n\n\n// src/normalize-html.ts\nvar htmlProps = [\"htmlSize\", \"htmlTranslate\", \"htmlWidth\", \"htmlHeight\"];\nfunction convert(key) {\n return htmlProps.includes(key) ? key.replace(\"html\", \"\").toLowerCase() : key;\n}\nfunction normalizeHTMLProps(props) {\n return Object.fromEntries(Object.entries(props).map(([key, value]) => [convert(key), value]));\n}\nnormalizeHTMLProps.keys = htmlProps;\nexport {\n normalizeHTMLProps\n};\n\n\nexport function __spreadValues(a, b) {\n return { ...a, ...b }\n}\n\nexport function __objRest(source, exclude) {\n return Object.fromEntries(Object.entries(source).filter(([key]) => !exclude.includes(key)))\n}","import { withoutSpace } from '../helpers.js';\n\nconst conditionsStr = \"_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_noscript,_invertedColors,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,base\"\nconst conditions = new Set(conditionsStr.split(','))\n\nconst conditionRegex = /^@|&|&$/\n\nexport function isCondition(value){\n return conditions.has(value) || conditionRegex.test(value)\n}\n\nconst underscoreRegex = /^_/\nconst conditionsSelectorRegex = /&|@/\n\nexport function finalizeConditions(paths){\n return paths.map((path) => {\n if (conditions.has(path)){\n return path.replace(underscoreRegex, '')\n }\n\n if (conditionsSelectorRegex.test(path)){\n return `[${withoutSpace(path.trim())}]`\n }\n\n return path\n })}\n\n export function sortConditions(paths){\n return paths.sort((a, b) => {\n const aa = isCondition(a)\n const bb = isCondition(b)\n if (aa && !bb) return 1\n if (!aa && bb) return -1\n return 0\n })\n }","import { createCss, createMergeCss, hypenateProperty, withoutSpace } from '../helpers.js';\nimport { sortConditions, finalizeConditions } from './conditions.js';\n\nconst utilities = \"aspectRatio:asp,boxDecorationBreak:bx-db,zIndex:z,boxSizing:bx-s,objectPosition:obj-p,objectFit:obj-f,overscrollBehavior:ovs-b,overscrollBehaviorX:ovs-bx,overscrollBehaviorY:ovs-by,position:pos/1,top:top,left:left,inset:inset,insetInline:inset-x/insetX,insetBlock:inset-y/insetY,insetBlockEnd:inset-be,insetBlockStart:inset-bs,insetInlineEnd:inset-e/insetEnd/end,insetInlineStart:inset-s/insetStart/start,right:right,bottom:bottom,float:float,visibility:vis,display:d,hideFrom:hide,hideBelow:show,flexBasis:flex-b,flex:flex,flexDirection:flex-d/flexDir,flexGrow:flex-g,flexShrink:flex-sh,gridTemplateColumns:grid-tc,gridTemplateRows:grid-tr,gridColumn:grid-c,gridRow:grid-r,gridColumnStart:grid-cs,gridColumnEnd:grid-ce,gridAutoFlow:grid-af,gridAutoColumns:grid-ac,gridAutoRows:grid-ar,gap:gap,gridGap:grid-g,gridRowGap:grid-rg,gridColumnGap:grid-cg,rowGap:rg,columnGap:cg,justifyContent:jc,alignContent:ac,alignItems:ai,alignSelf:as,padding:p/1,paddingLeft:pl/1,paddingRight:pr/1,paddingTop:pt/1,paddingBottom:pb/1,paddingBlock:py/1/paddingY,paddingBlockEnd:pbe,paddingBlockStart:pbs,paddingInline:px/paddingX/1,paddingInlineEnd:pe/1/paddingEnd,paddingInlineStart:ps/1/paddingStart,marginLeft:ml/1,marginRight:mr/1,marginTop:mt/1,marginBottom:mb/1,margin:m/1,marginBlock:my/1/marginY,marginBlockEnd:mbe,marginBlockStart:mbs,marginInline:mx/1/marginX,marginInlineEnd:me/1/marginEnd,marginInlineStart:ms/1/marginStart,spaceX:sx,spaceY:sy,outlineWidth:ring-w/ringWidth,outlineColor:ring-c/ringColor,outline:ring/1,outlineOffset:ring-o/ringOffset,focusRing:focus-ring,focusVisibleRing:focus-v-ring,focusRingColor:focus-ring-c,focusRingOffset:focus-ring-o,focusRingWidth:focus-ring-w,focusRingStyle:focus-ring-s,divideX:dvd-x,divideY:dvd-y,divideColor:dvd-c,divideStyle:dvd-s,width:w/1,inlineSize:w-is,minWidth:min-w/minW,minInlineSize:min-w-is,maxWidth:max-w/maxW,maxInlineSize:max-w-is,height:h/1,blockSize:h-bs,minHeight:min-h/minH,minBlockSize:min-h-bs,maxHeight:max-h/maxH,maxBlockSize:max-b,boxSize:size,color:c,fontFamily:ff,fontSize:fs,fontSizeAdjust:fs-a,fontPalette:fp,fontKerning:fk,fontFeatureSettings:ff-s,fontWeight:fw,fontSmoothing:fsmt,fontVariant:fv,fontVariantAlternates:fv-alt,fontVariantCaps:fv-caps,fontVariationSettings:fv-s,fontVariantNumeric:fv-num,letterSpacing:ls,lineHeight:lh,textAlign:ta,textDecoration:td,textDecorationColor:td-c,textEmphasisColor:te-c,textDecorationStyle:td-s,textDecorationThickness:td-t,textUnderlineOffset:tu-o,textTransform:tt,textIndent:ti,textShadow:tsh,textShadowColor:tsh-c/textShadowColor,WebkitTextFillColor:wktf-c,textOverflow:tov,verticalAlign:va,wordBreak:wb,textWrap:tw,truncate:trunc,lineClamp:lc,listStyleType:li-t,listStylePosition:li-pos,listStyleImage:li-img,listStyle:li-s,backgroundPosition:bg-p/bgPosition,backgroundPositionX:bg-p-x/bgPositionX,backgroundPositionY:bg-p-y/bgPositionY,backgroundAttachment:bg-a/bgAttachment,backgroundClip:bg-cp/bgClip,background:bg/1,backgroundColor:bg-c/bgColor,backgroundOrigin:bg-o/bgOrigin,backgroundImage:bg-i/bgImage,backgroundRepeat:bg-r/bgRepeat,backgroundBlendMode:bg-bm/bgBlendMode,backgroundSize:bg-s/bgSize,backgroundGradient:bg-grad/bgGradient,backgroundLinear:bg-linear/bgLinear,backgroundRadial:bg-radial/bgRadial,backgroundConic:bg-conic/bgConic,textGradient:txt-grad,gradientFromPosition:grad-from-pos,gradientToPosition:grad-to-pos,gradientFrom:grad-from,gradientTo:grad-to,gradientVia:grad-via,gradientViaPosition:grad-via-pos,borderRadius:bdr/rounded,borderTopLeftRadius:bdr-tl/roundedTopLeft,borderTopRightRadius:bdr-tr/roundedTopRight,borderBottomRightRadius:bdr-br/roundedBottomRight,borderBottomLeftRadius:bdr-bl/roundedBottomLeft,borderTopRadius:bdr-t/roundedTop,borderRightRadius:bdr-r/roundedRight,borderBottomRadius:bdr-b/roundedBottom,borderLeftRadius:bdr-l/roundedLeft,borderStartStartRadius:bdr-ss/roundedStartStart,borderStartEndRadius:bdr-se/roundedStartEnd,borderStartRadius:bdr-s/roundedStart,borderEndStartRadius:bdr-es/roundedEndStart,borderEndEndRadius:bdr-ee/roundedEndEnd,borderEndRadius:bdr-e/roundedEnd,border:bd,borderWidth:bd-w,borderTopWidth:bd-t-w,borderLeftWidth:bd-l-w,borderRightWidth:bd-r-w,borderBottomWidth:bd-b-w,borderBlockStartWidth:bd-bs-w,borderBlockEndWidth:bd-be-w,borderColor:bd-c,borderInline:bd-x/borderX,borderInlineWidth:bd-x-w/borderXWidth,borderInlineColor:bd-x-c/borderXColor,borderBlock:bd-y/borderY,borderBlockWidth:bd-y-w/borderYWidth,borderBlockColor:bd-y-c/borderYColor,borderLeft:bd-l,borderLeftColor:bd-l-c,borderInlineStart:bd-s/borderStart,borderInlineStartWidth:bd-s-w/borderStartWidth,borderInlineStartColor:bd-s-c/borderStartColor,borderRight:bd-r,borderRightColor:bd-r-c,borderInlineEnd:bd-e/borderEnd,borderInlineEndWidth:bd-e-w/borderEndWidth,borderInlineEndColor:bd-e-c/borderEndColor,borderTop:bd-t,borderTopColor:bd-t-c,borderBottom:bd-b,borderBottomColor:bd-b-c,borderBlockEnd:bd-be,borderBlockEndColor:bd-be-c,borderBlockStart:bd-bs,borderBlockStartColor:bd-bs-c,opacity:op,boxShadow:bx-sh/shadow,boxShadowColor:bx-sh-c/shadowColor,mixBlendMode:mix-bm,filter:filter,brightness:brightness,contrast:contrast,grayscale:grayscale,hueRotate:hue-rotate,invert:invert,saturate:saturate,sepia:sepia,dropShadow:drop-shadow,blur:blur,backdropFilter:bkdp,backdropBlur:bkdp-blur,backdropBrightness:bkdp-brightness,backdropContrast:bkdp-contrast,backdropGrayscale:bkdp-grayscale,backdropHueRotate:bkdp-hue-rotate,backdropInvert:bkdp-invert,backdropOpacity:bkdp-opacity,backdropSaturate:bkdp-saturate,backdropSepia:bkdp-sepia,borderCollapse:bd-cl,borderSpacing:bd-sp,borderSpacingX:bd-sx,borderSpacingY:bd-sy,tableLayout:tbl,transitionTimingFunction:trs-tmf,transitionDelay:trs-dly,transitionDuration:trs-dur,transitionProperty:trs-prop,transition:trs,animation:anim,animationName:anim-n,animationTimingFunction:anim-tmf,animationDuration:anim-dur,animationDelay:anim-dly,animationPlayState:anim-ps,animationComposition:anim-comp,animationFillMode:anim-fm,animationDirection:anim-dir,animationIterationCount:anim-ic,animationRange:anim-r,animationState:anim-s,animationRangeStart:anim-rs,animationRangeEnd:anim-re,animationTimeline:anim-tl,transformOrigin:trf-o,transformBox:trf-b,transformStyle:trf-s,transform:trf,rotate:rotate,rotateX:rotate-x,rotateY:rotate-y,rotateZ:rotate-z,scale:scale,scaleX:scale-x,scaleY:scale-y,translate:translate,translateX:translate-x/x,translateY:translate-y/y,translateZ:translate-z/z,accentColor:ac-c,caretColor:ca-c,scrollBehavior:scr-bhv,scrollbar:scr-bar,scrollbarColor:scr-bar-c,scrollbarGutter:scr-bar-g,scrollbarWidth:scr-bar-w,scrollMargin:scr-m,scrollMarginLeft:scr-ml,scrollMarginRight:scr-mr,scrollMarginTop:scr-mt,scrollMarginBottom:scr-mb,scrollMarginBlock:scr-my/scrollMarginY,scrollMarginBlockEnd:scr-mbe,scrollMarginBlockStart:scr-mbt,scrollMarginInline:scr-mx/scrollMarginX,scrollMarginInlineEnd:scr-me,scrollMarginInlineStart:scr-ms,scrollPadding:scr-p,scrollPaddingBlock:scr-py/scrollPaddingY,scrollPaddingBlockStart:scr-pbs,scrollPaddingBlockEnd:scr-pbe,scrollPaddingInline:scr-px/scrollPaddingX,scrollPaddingInlineEnd:scr-pe,scrollPaddingInlineStart:scr-ps,scrollPaddingLeft:scr-pl,scrollPaddingRight:scr-pr,scrollPaddingTop:scr-pt,scrollPaddingBottom:scr-pb,scrollSnapAlign:scr-sa,scrollSnapStop:scrs-s,scrollSnapType:scrs-t,scrollSnapStrictness:scrs-strt,scrollSnapMargin:scrs-m,scrollSnapMarginTop:scrs-mt,scrollSnapMarginBottom:scrs-mb,scrollSnapMarginLeft:scrs-ml,scrollSnapMarginRight:scrs-mr,scrollSnapCoordinate:scrs-c,scrollSnapDestination:scrs-d,scrollSnapPointsX:scrs-px,scrollSnapPointsY:scrs-py,scrollSnapTypeX:scrs-tx,scrollSnapTypeY:scrs-ty,scrollTimeline:scrtl,scrollTimelineAxis:scrtl-a,scrollTimelineName:scrtl-n,touchAction:tch-a,userSelect:us,overflow:ov,overflowWrap:ov-wrap,overflowX:ov-x,overflowY:ov-y,overflowAnchor:ov-a,overflowBlock:ov-b,overflowInline:ov-i,overflowClipBox:ovcp-bx,overflowClipMargin:ovcp-m,overscrollBehaviorBlock:ovs-bb,overscrollBehaviorInline:ovs-bi,fill:fill,stroke:stk,strokeWidth:stk-w,strokeDasharray:stk-dsh,strokeDashoffset:stk-do,strokeLinecap:stk-lc,strokeLinejoin:stk-lj,strokeMiterlimit:stk-ml,strokeOpacity:stk-op,srOnly:sr,debug:debug,appearance:ap,backfaceVisibility:bfv,clipPath:cp-path,hyphens:hy,mask:msk,maskImage:msk-i,maskSize:msk-s,textSizeAdjust:txt-adj,container:cq,containerName:cq-n,containerType:cq-t,cursor:cursor,textStyle:textStyle\"\n\nconst classNameByProp = new Map()\nconst shorthands = new Map()\nutilities.split(',').forEach((utility) => {\n const [prop, meta] = utility.split(':')\n const [className, ...shorthandList] = meta.split('/')\n classNameByProp.set(prop, className)\n if (shorthandList.length) {\n shorthandList.forEach((shorthand) => {\n shorthands.set(shorthand === '1' ? className : shorthand, prop)\n })\n }\n})\n\nconst resolveShorthand = (prop) => shorthands.get(prop) || prop\n\nconst context = {\n \n conditions: {\n shift: sortConditions,\n finalize: finalizeConditions,\n breakpoints: { keys: [\"base\",\"sm\",\"md\",\"lg\",\"xl\",\"2xl\"] }\n },\n utility: {\n prefix: \"silver\",\n transform: (prop, value) => {\n const key = resolveShorthand(prop)\n const propKey = classNameByProp.get(key) || hypenateProperty(key)\n return { className: `${propKey}_${withoutSpace(value)}` }\n },\n hasShorthand: true,\n toHash: (path, hashFn) => hashFn(path.join(\":\")),\n resolveShorthand: resolveShorthand,\n }\n}\n\nconst cssFn = createCss(context)\nexport const css = (...styles) => cssFn(mergeCss(...styles))\ncss.raw = (...styles) => mergeCss(...styles)\n\nexport const { mergeCss, assignCss } = createMergeCss(context)"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Skeleton/Skeleton.tsx"],"names":["css","jsx","cx"],"mappings":";;;;;;AAmDA,IAAM,SAAA,GAAY,GAAA;AAClB,IAAM,WAAA,GAAc,GAAA;AAEpB,IAAM,MAAA,GAAS;AAAA,EACb,MAAMA,qBAAA,CAAI;AAAA,IACR,EAAA,EAAI,UAAA;AAAA,IACJ,eAAA,EACE,oHAAA;AAAA,IACF,cAAA,EAAgB,WAAA;AAAA,IAChB,SAAA,EAAW,4CAAA;AAAA,IACX,yCAAA,EAA2C;AAAA,MACzC,SAAA,EAAW,MAAA;AAAA,MACX,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AAAA,EACD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAMA,qBAAA,CAAI,EAAC,YAAA,EAAc,GAAE,CAAA;AAAA,IAC3B,CAAA,EAAGA,qBAAA,CAAI,EAAC,YAAA,EAAc,GAAE,CAAA;AAAA,IACxB,CAAA,EAAGA,qBAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,CAAA,EAAGA,qBAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,CAAA,EAAGA,qBAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,CAAA,EAAGA,qBAAA,CAAI,EAAC,YAAA,EAAc,MAAK,CAAA;AAAA,IAC3B,OAAA,EAASA,qBAAA,CAAI,EAAC,YAAA,EAAc,QAAO;AAAA;AAEvC,CAAA;AAEA,SAAS,WAAW,KAAA,EAAgC;AAClD,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,GAAW,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA,GAAO,KAAA;AACpD;AAQO,SAAS,QAAA,CAAS;AAAA,EACvB,cAAc,SAAA,GAAY,SAAA;AAAA,EAC1B,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,MAAA,GAAS,MAAA;AAAA,EACT,MAAA,GAAS,CAAA;AAAA,EACT,GAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,KAAA;AAAA,EACA,KAAA,GAAQ;AACV,CAAA,EAAqC;AACnC,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,YAAY,CAAA;AAE7C,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAWC,qBAAG,MAAA,CAAO,IAAA,EAAM,OAAO,MAAA,CAAO,MAAM,GAAG,SAAS,CAAA;AAAA,MAC3D,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,WAAW,KAAK,CAAA;AAAA,QACvB,MAAA,EAAQ,WAAW,MAAM,CAAA;AAAA,QACzB,cAAA,EAAgB,CAAA,EAAG,SAAA,GAAY,WAAA,GAAc,YAAY,CAAA,EAAA,CAAA;AAAA,QACzD,GAAG;AAAA;AACL;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-UWG5UQFV.cjs","sourcesContent":["import type {CSSProperties, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\n\nexport type SkeletonRadius = 0 | 1 | 2 | 3 | 4 | 'none' | 'rounded';\n\nexport interface SkeletonProps {\n /**\n * Accessible label for the loading placeholder.\n * @default 'Loading'\n */\n 'aria-label'?: string;\n /**\n * Additional CSS class names applied to the skeleton.\n */\n className?: string;\n /**\n * Test ID applied to the skeleton.\n */\n 'data-testid'?: string;\n /**\n * Skeleton height. Numbers are treated as pixels.\n * @default '100%'\n */\n height?: number | string;\n /**\n * Border radius token.\n * @default 3\n */\n radius?: SkeletonRadius;\n /**\n * Ref forwarded to the skeleton element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Animation stagger index for lists of skeletons. Controls the delay\n * before the shimmer animation starts, creating a wave effect.\n * @default 0\n */\n staggerIndex?: number;\n /**\n * Inline styles applied to the skeleton.\n */\n style?: CSSProperties;\n /**\n * Skeleton width. Numbers are treated as pixels.\n * @default '100%'\n */\n width?: number | string;\n}\n\nconst delayTime = 1000;\nconst staggerTime = 100;\n\nconst styles = {\n root: css({\n bg: 'skeleton',\n backgroundImage:\n 'linear-gradient(90deg, token(colors.skeleton) 0%, token(colors.skeleton.shimmer) 50%, token(colors.skeleton) 100%)',\n backgroundSize: '200% 100%',\n animation: 'skeleton-shimmer 1.4s ease-in-out infinite',\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n backgroundImage: 'none',\n },\n }),\n radius: {\n none: css({borderRadius: 0}),\n 0: css({borderRadius: 0}),\n 1: css({borderRadius: 'xs'}),\n 2: css({borderRadius: 'sm'}),\n 3: css({borderRadius: 'md'}),\n 4: css({borderRadius: 'lg'}),\n rounded: css({borderRadius: 'full'}),\n } satisfies Record<SkeletonRadius, string>,\n} as const;\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n/**\n * A pulsing placeholder used while content is loading.\n *\n * For containers with multiple skeletons, set `aria-busy=\"true\"` on the\n * parent element so assistive technology knows to wait for content.\n */\nexport function Skeleton({\n 'aria-label': ariaLabel = 'Loading',\n className,\n 'data-testid': dataTestId,\n height = '100%',\n radius = 3,\n ref,\n staggerIndex = 0,\n style,\n width = '100%',\n}: SkeletonProps): React.JSX.Element {\n const clampedIndex = Math.max(0, staggerIndex);\n\n return (\n <div\n aria-label={ariaLabel}\n className={cx(styles.root, styles.radius[radius], className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"status\"\n style={{\n width: formatSize(width),\n height: formatSize(height),\n animationDelay: `${delayTime + staggerTime * clampedIndex}ms`,\n ...style,\n }}\n />\n );\n}\n\nSkeleton.displayName = 'Skeleton';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Layout/Layout.recipe.ts","../src/components/Layout/LayoutContext.ts","../src/components/Layout/Layout.tsx","../src/components/Layout/LayoutContent.tsx","../src/components/Layout/LayoutFooter.tsx","../src/components/Layout/LayoutHeader.tsx","../src/components/Layout/LayoutPanel.tsx"],"names":["cva","createContext","use","css","jsx","useMemo","jsxs","cx","styles","Fragment","useDialogContext","Button","X","Heading","Text"],"mappings":"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","file":"chunk-UZNSGQT3.cjs","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst paddingVariants = {\n 0: {p: '0'},\n 0.5: {p: '0.5'},\n 1: {p: '1'},\n 1.5: {p: '1.5'},\n 2: {p: '2'},\n 3: {p: '3'},\n 4: {p: '4'},\n 5: {p: '5'},\n 6: {p: '6'},\n 8: {p: '8'},\n 10: {p: '10'},\n};\n\nexport const layoutRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n variants: {\n height: {\n fill: {\n h: '100%',\n minH: 0,\n },\n auto: {\n minH: '100%',\n },\n },\n padding: paddingVariants,\n },\n defaultVariants: {\n height: 'fill',\n },\n});\n\nexport const layoutMiddleRecipe = cva({\n base: {\n display: 'flex',\n flex: 1,\n minH: 0,\n minW: 0,\n },\n});\n\nexport const layoutRegionRecipe = cva({\n variants: {\n padding: paddingVariants,\n },\n defaultVariants: {\n padding: 4,\n },\n});\n\nexport type LayoutVariants = RecipeVariantProps<typeof layoutRecipe>;\nexport type LayoutRegionVariants = RecipeVariantProps<\n typeof layoutRegionRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type LayoutArea = 'header' | 'content' | 'start' | 'end' | 'footer';\n\nexport interface LayoutSlots {\n hasEnd: boolean;\n hasFooter: boolean;\n hasHeader: boolean;\n hasStart: boolean;\n}\n\nexport interface LayoutDividerContextValue {\n hasDividers: boolean;\n}\n\nexport const LayoutAreaContext = createContext<LayoutArea>('content');\nLayoutAreaContext.displayName = 'LayoutAreaContext';\nexport const LayoutSlotsContext = createContext<LayoutSlots>({\n hasEnd: false,\n hasFooter: false,\n hasHeader: false,\n hasStart: false,\n});\nLayoutSlotsContext.displayName = 'LayoutSlotsContext';\nexport const LayoutDividerContext =\n createContext<LayoutDividerContextValue | null>(null);\nLayoutDividerContext.displayName = 'LayoutDividerContext';\n\nexport function useLayoutArea(): LayoutArea {\n return use(LayoutAreaContext);\n}\n\nexport function useLayoutDivider(): LayoutDividerContextValue | null {\n return use(LayoutDividerContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {layoutMiddleRecipe, layoutRecipe} from './Layout.recipe';\nimport {\n LayoutAreaContext,\n LayoutDividerContext,\n LayoutSlotsContext,\n type LayoutArea,\n} from './LayoutContext';\nimport type {LayoutHeight, SpacingStep} from './types';\n\n/**\n * Shell with header, side panels, content, and footer slots.\n */\nexport interface LayoutProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Main content slot.\n */\n content?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * End panel slot.\n */\n end?: ReactNode;\n /**\n * Footer slot.\n */\n footer?: ReactNode;\n /**\n * Whether child layout regions should show dividers.\n */\n hasDividers?: boolean;\n /**\n * Header slot.\n */\n header?: ReactNode;\n /**\n * Layout height behavior. Default is `fill`.\n */\n height?: LayoutHeight;\n /**\n * Outer padding for layout edges.\n */\n padding?: SpacingStep;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Start panel slot.\n */\n start?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n contentFill: css({\n flex: 1,\n minW: 0,\n display: 'flex',\n flexDirection: 'column',\n }),\n};\n\nfunction AreaProvider({\n area,\n children,\n}: {\n area: LayoutArea;\n children?: ReactNode;\n}): React.JSX.Element | null {\n if (children == null) {\n return null;\n }\n\n return <LayoutAreaContext value={area}>{children}</LayoutAreaContext>;\n}\n\nexport function Layout({\n className,\n content,\n 'data-testid': dataTestId,\n hasDividers = true,\n end,\n footer,\n header,\n height = 'fill',\n padding,\n ref,\n start,\n style,\n}: LayoutProps): React.JSX.Element {\n const slots = useMemo(\n () => ({\n hasEnd: end != null,\n hasFooter: footer != null,\n hasHeader: header != null,\n hasStart: start != null,\n }),\n [end, footer, header, start],\n );\n const dividerValue = useMemo(() => ({hasDividers}), [hasDividers]);\n const rootStyle: CSSProperties = {\n ...style,\n };\n\n return (\n <LayoutDividerContext value={dividerValue}>\n <LayoutSlotsContext value={slots}>\n <div\n className={cx(layoutRecipe({height, padding}), className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <AreaProvider area=\"header\">{header}</AreaProvider>\n <div className={layoutMiddleRecipe()}>\n <AreaProvider area=\"start\">{start}</AreaProvider>\n <div className={styles.contentFill}>\n <AreaProvider area=\"content\">{content}</AreaProvider>\n </div>\n <AreaProvider area=\"end\">{end}</AreaProvider>\n </div>\n <AreaProvider area=\"footer\">{footer}</AreaProvider>\n </div>\n </LayoutSlotsContext>\n </LayoutDividerContext>\n );\n}\n\nLayout.displayName = 'Layout';\n","import type {ComponentPropsWithRef, ElementType} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport type {SpacingStep} from './types';\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport interface LayoutContentProps extends ComponentPropsWithRef<'div'> {\n /**\n * HTML element to render. Default is `div`.\n */\n as?: ElementType;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the content area scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingStep;\n}\n\nconst styles = {\n root: css({\n boxSizing: 'border-box',\n flex: 1,\n minH: 0,\n minW: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n};\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport function LayoutContent({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n ...rest\n}: LayoutContentProps): React.JSX.Element {\n return (\n <Element\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={style}>\n {children}\n </Element>\n );\n}\n\nLayoutContent.displayName = 'LayoutContent';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\nimport type {SpacingStep} from './types';\n\ninterface LayoutFooterBaseProps {\n /**\n * Additional CSS class names applied to the footer.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Fixed height for the footer.\n */\n height?: number | string;\n /**\n * Accessible label for the footer landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingStep;\n /**\n * Ref forwarded to the footer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the footer.\n */\n style?: CSSProperties;\n}\n\ninterface LayoutFooterCustomProps extends LayoutFooterBaseProps {\n /**\n * Custom footer content rendered inside the footer shell.\n */\n children: ReactNode;\n primaryButton?: never;\n secondaryButton?: never;\n startContent?: never;\n}\n\ninterface LayoutFooterActionsProps extends LayoutFooterBaseProps {\n children?: never;\n /**\n * Primary action button, rendered rightmost.\n */\n primaryButton: ReactNode;\n /**\n * Secondary action button, rendered left of the primary button.\n */\n secondaryButton?: ReactNode;\n /**\n * Content rendered at the start (left) of the footer.\n */\n startContent?: ReactNode;\n}\n\n/**\n * Footer landmark region within a Layout. Use action slots for the standard\n * footer layout, or children for a custom footer inside the same shell.\n */\nexport type LayoutFooterProps =\n | LayoutFooterActionsProps\n | LayoutFooterCustomProps;\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n boxSizing: 'border-box',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '3',\n }),\n customInner: css({\n boxSizing: 'border-box',\n }),\n start: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n marginInlineEnd: 'auto',\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n};\n\n/**\n * Footer landmark region within a Layout.\n */\nexport function LayoutFooter({\n children,\n className,\n 'data-testid': dataTestId,\n height,\n label,\n padding = 4,\n primaryButton,\n ref,\n secondaryButton,\n startContent,\n style,\n}: LayoutFooterProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const isCustom = children != null;\n\n return (\n <footer\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-divider={hasDivider || undefined}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div\n className={cx(\n isCustom ? styles.customInner : styles.inner,\n layoutRegionRecipe({padding}),\n )}>\n {isCustom ? (\n children\n ) : (\n <>\n {startContent != null ? (\n <div className={styles.start}>{startContent}</div>\n ) : null}\n <div className={styles.actions}>\n {secondaryButton}\n {primaryButton}\n </div>\n </>\n )}\n </div>\n </footer>\n );\n}\n\nLayoutFooter.displayName = 'LayoutFooter';\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {useDialogContext} from '../Dialog/DialogContext';\nimport {Heading, Text} from '../Text';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\nimport type {SpacingStep} from './types';\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport interface LayoutHeaderProps {\n /**\n * Additional CSS class names applied to the header.\n */\n className?: string;\n /**\n * Test ID applied to the header.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the title area.\n */\n endContent?: ReactNode;\n /**\n * Fixed height for the header.\n */\n height?: number | string;\n /**\n * Accessible label for the header landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingStep;\n /**\n * Ref forwarded to the header element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered before the title area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the header.\n */\n style?: CSSProperties;\n /**\n * Supporting text displayed below the title.\n */\n subtitle?: string;\n /**\n * Primary header title.\n */\n title: string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n inner: css({\n boxSizing: 'border-box',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: '3',\n }),\n titleArea: css({\n flex: 1,\n minW: 0,\n '& > :focus': {\n outline: 'none',\n },\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n closeButton: css({\n marginInlineEnd: '-2',\n marginBlockStart: '-2',\n }),\n} as const;\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport function LayoutHeader({\n className,\n 'data-testid': dataTestId,\n endContent,\n height,\n label,\n padding = 4,\n ref,\n startContent,\n style,\n subtitle,\n title,\n}: LayoutHeaderProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const dialogContext = useDialogContext();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const closeButton =\n dialogContext != null ? (\n <Button\n className={styles.closeButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={() => dialogContext.onOpenChange(false)}\n variant=\"ghost\"\n />\n ) : null;\n const hasEnd = endContent != null || closeButton != null;\n\n return (\n <header\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(styles.inner, layoutRegionRecipe({padding}))}>\n {startContent != null ? (\n <div className={styles.actions}>{startContent}</div>\n ) : null}\n <div className={styles.titleArea}>\n <Heading\n data-dialog-autofocus={dialogContext != null ? 'true' : undefined}\n level={4}\n tabIndex={dialogContext != null ? -1 : undefined}>\n {title}\n </Heading>\n {subtitle != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </div>\n {hasEnd ? (\n <div className={styles.actions}>\n {endContent}\n {closeButton}\n </div>\n ) : null}\n </div>\n </header>\n );\n}\n\nLayoutHeader.displayName = 'LayoutHeader';\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutArea, useLayoutDivider} from './LayoutContext';\nimport type {SpacingStep} from './types';\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport interface LayoutPanelProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the panel scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingStep;\n /**\n * Fixed width for the panel.\n */\n width?: number | string;\n}\n\nconst styles = {\n root: css({\n boxSizing: 'border-box',\n flexShrink: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n dividerEnd: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n dividerStart: css({\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n};\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport function LayoutPanel({\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n width,\n ...rest\n}: LayoutPanelProps): React.JSX.Element {\n const area = useLayoutArea();\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n\n return (\n <div\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n hasDivider && area === 'start' && styles.dividerEnd,\n hasDivider && area === 'end' && styles.dividerStart,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={{width, ...style}}>\n {children}\n </div>\n );\n}\n\nLayoutPanel.displayName = 'LayoutPanel';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Badge/Badge.recipe.ts","../src/components/Badge/Badge.tsx"],"names":[],"mappings":"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","file":"chunk-VIJHDURK.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const badgeRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'full',\n fontFamily: 'body',\n lineHeight: 'none',\n fontWeight: 'medium',\n whiteSpace: 'nowrap',\n },\n variants: {\n size: {\n sm: {gap: '1', h: '5', px: '2', fontSize: 'sm'},\n md: {gap: '1.5', h: '6', px: '2.5', fontSize: 'sm'},\n lg: {gap: '2', h: '7', px: '3', fontSize: 'md'},\n },\n color: {\n neutral: {bg: 'surface.gray', color: 'fg'},\n info: {bg: 'status.info.solid', color: 'status.info.solidFg'},\n success: {bg: 'status.success.solid', color: 'status.success.solidFg'},\n warning: {bg: 'status.warning.solid', color: 'status.warning.solidFg'},\n error: {bg: 'status.error.solid', color: 'status.error.solidFg'},\n blue: {bg: 'surface.blue', color: 'surface.blue.fg'},\n cyan: {bg: 'surface.cyan', color: 'surface.cyan.fg'},\n green: {bg: 'surface.green', color: 'surface.green.fg'},\n orange: {bg: 'surface.orange', color: 'surface.orange.fg'},\n pink: {bg: 'surface.pink', color: 'surface.pink.fg'},\n purple: {bg: 'surface.purple', color: 'surface.purple.fg'},\n red: {bg: 'surface.red', color: 'surface.red.fg'},\n teal: {bg: 'surface.teal', color: 'surface.teal.fg'},\n yellow: {bg: 'surface.yellow', color: 'surface.yellow.fg'},\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'neutral',\n },\n});\n\nexport type BadgeVariants = RecipeVariantProps<typeof badgeRecipe>;\n","import type {CSSProperties, Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {badgeRecipe} from './Badge.recipe';\n\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n\nexport type BadgeColor =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'error'\n | 'blue'\n | 'cyan'\n | 'green'\n | 'orange'\n | 'pink'\n | 'purple'\n | 'red'\n | 'teal'\n | 'yellow';\n\n/**\n * A compact status label, category marker, or count.\n */\nexport interface BadgeProps {\n /**\n * Accessible label for the badge.\n */\n 'aria-label'?: string;\n /**\n * Additional CSS class names applied to the badge.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'neutral'\n */\n color?: BadgeColor;\n /**\n * Test ID applied to the badge.\n */\n 'data-testid'?: string;\n /**\n * Optional icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Badge text or count.\n */\n label: string | number;\n /**\n * Ref forwarded to the badge element.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * ARIA role for the badge element.\n */\n role?: string;\n /**\n * Badge size.\n * @default 'md'\n */\n size?: BadgeSize;\n /**\n * Inline styles applied to the badge.\n */\n style?: CSSProperties;\n}\n\n/**\n * A compact status label, category marker, or count.\n */\nexport function Badge({\n 'aria-label': ariaLabel,\n className,\n 'data-testid': dataTestId,\n icon,\n label,\n ref,\n role,\n size = 'md',\n style,\n color = 'neutral',\n}: BadgeProps): React.JSX.Element {\n return (\n <span\n aria-label={ariaLabel}\n className={cx(badgeRecipe({size, color}), className)}\n data-testid={dataTestId}\n ref={ref}\n role={role}\n style={style}>\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {label}\n </span>\n );\n}\n\nBadge.displayName = 'Badge';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Button/Button.recipe.ts","../src/components/Button/Button.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAEO,IAAM,eAAe,GAAA,CAAI;AAAA,EAC9B,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,UAAA;AAAA,IACV,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,WAAA,EAAa,CAAA;AAAA,IACb,WAAA,EAAa,MAAA;AAAA,IACb,UAAA,EAAY,MAAA;AAAA,IACZ,UAAA,EAAY,QAAA;AAAA,IACZ,MAAA,EAAQ,SAAA;AAAA,IACR,kBAAA,EAAoB,6CAAA;AAAA,IACpB,kBAAA,EAAoB,MAAA;AAAA,IACpB,wBAAA,EAA0B,SAAA;AAAA,IAC1B,UAAA,EAAY,MAAA;AAAA,IACZ,UAAA,EAAY,OAAA;AAAA,IACZ,cAAA,EAAgB,MAAA;AAAA,IAChB,UAAA,EAAY,QAAA;AAAA,IACZ,OAAA,EAAS;AAAA,MACP,SAAA,EAAW;AAAA,KACb;AAAA,IACA,SAAA,EAAW;AAAA,MACT,OAAA,EAAS,GAAA;AAAA,MACT,MAAA,EAAQ,aAAA;AAAA,MACR,aAAA,EAAe,MAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA,IACA,yBAAA,EAA2B;AAAA,MACzB,OAAA,EAAS,GAAA;AAAA,MACT,MAAA,EAAQ,aAAA;AAAA,MACR,aAAA,EAAe,MAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA,IACA,aAAA,EAAe;AAAA,MACb,YAAA,EAAc,OAAA;AAAA,MACd,YAAA,EAAc,OAAA;AAAA,MACd,YAAA,EAAc,SAAA;AAAA,MACd,aAAA,EAAe;AAAA;AACjB,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS;AAAA,QACP,EAAA,EAAI,SAAA;AAAA,QACJ,KAAA,EAAO,cAAA;AAAA,QACP,MAAA,EAAQ,EAAC,EAAA,EAAI,eAAA,EAAe;AAAA,QAC5B,OAAA,EAAS,EAAC,EAAA,EAAI,gBAAA;AAAgB,OAChC;AAAA,MACA,SAAA,EAAW;AAAA,QACT,EAAA,EAAI,WAAA;AAAA,QACJ,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,EAAC,EAAA,EAAI,UAAA,EAAU;AAAA,QACvB,OAAA,EAAS,EAAC,EAAA,EAAI,oBAAA;AAAoB,OACpC;AAAA,MACA,KAAA,EAAO;AAAA,QACL,KAAA,EAAO,IAAA;AAAA,QACP,EAAA,EAAI,aAAA;AAAA,QACJ,MAAA,EAAQ,EAAC,EAAA,EAAI,gBAAA,EAAgB;AAAA,QAC7B,OAAA,EAAS,EAAC,EAAA,EAAI,iBAAA;AAAiB,OACjC;AAAA,MACA,WAAA,EAAa;AAAA,QACX,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,gBAAA;AAAA,QACP,MAAA,EAAQ,EAAC,EAAA,EAAI,mBAAA,EAAmB;AAAA,QAChC,OAAA,EAAS,EAAC,EAAA,EAAI,oBAAA,EAAoB;AAAA,QAClC,aAAA,EAAe;AAAA,UACb,YAAA,EAAc;AAAA;AAChB,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,SAAA;AAAA,QACP,EAAA,EAAI,aAAA;AAAA,QACJ,MAAA,EAAQ,EAAC,EAAA,EAAI,mDAAA,EAAmD;AAAA,QAChE,OAAA,EAAS,EAAC,EAAA,EAAI,mDAAA,EAAmD;AAAA,QACjE,aAAA,EAAe;AAAA,UACb,YAAA,EAAc;AAAA;AAChB;AACF,KACF;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,CAAA,EAAG,cAAA;AAAA,QACH,EAAA,EAAI,cAAA;AAAA,QACJ,QAAA,EAAU,cAAA;AAAA,QACV,GAAA,EAAK,KAAA;AAAA,QACL,YAAA,EAAc,cAAA;AAAA,QACd,oBAAA,EAAsB;AAAA,OACxB;AAAA,MACA,EAAA,EAAI;AAAA,QACF,CAAA,EAAG,cAAA;AAAA,QACH,EAAA,EAAI,cAAA;AAAA,QACJ,QAAA,EAAU,cAAA;AAAA,QACV,GAAA,EAAK,GAAA;AAAA,QACL,YAAA,EAAc,cAAA;AAAA,QACd,oBAAA,EAAsB;AAAA,OACxB;AAAA,MACA,EAAA,EAAI;AAAA,QACF,CAAA,EAAG,cAAA;AAAA,QACH,EAAA,EAAI,cAAA;AAAA,QACJ,QAAA,EAAU,cAAA;AAAA,QACV,GAAA,EAAK,KAAA;AAAA,QACL,YAAA,EAAc,cAAA;AAAA,QACd,oBAAA,EAAsB;AAAA;AACxB,KACF;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,WAAA,EAAa,QAAA;AAAA,QACb,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAO;AAAC;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,WAAA;AAAA,IACT,IAAA,EAAM,IAAA;AAAA,IACN,QAAA,EAAU;AAAA;AAEd,CAAC;AC2FD,IAAM,MAAA,GAAS;AAAA,EACb,SAAS,GAAA,CAAI;AAAA,IACX,OAAA,EAAS;AAAA,GACV,CAAA;AAAA,EACD,OAAO,GAAA,CAAI;AAAA,IACT,QAAA,EAAU,QAAA;AAAA,IACV,YAAA,EAAc,UAAA;AAAA,IACd,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,KAAA,EAAO;AAAA,GACR,CAAA;AAAA,EACD,cAAc,GAAA,CAAI;AAAA,IAChB,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,KAAA,EAAO;AAAA,GACR,CAAA;AAAA,EACD,kBAAkB,GAAA,CAAI;AAAA,IACpB,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,KAAA,EAAO;AAAA,GACR;AACH,CAAA;AAEO,SAAS,MAAA,CAAO;AAAA,EACrB,KAAA;AAAA,EACA,eAAA,EAAiB,YAAA;AAAA,EACjB,cAAA,EAAgB,WAAA;AAAA,EAChB,YAAA,EAAc,aAAA;AAAA,EACd,kBAAA,EAAoB,eAAA;AAAA,EACpB,cAAA,EAAgB,WAAA;AAAA,EAChB,eAAA,EAAiB,YAAA;AAAA,EACjB,eAAA,EAAiB,YAAA;AAAA,EACjB,aAAA,EAAe,UAAA;AAAA,EACf,mBAAA,EAAqB,gBAAA;AAAA,EACrB,iBAAA,EAAmB,cAAA;AAAA,EACnB,WAAA,EAAa,QAAA;AAAA,EACb,cAAA,EAAgB,WAAA;AAAA,EAChB,sBAAA,EAAwB,mBAAA;AAAA,EACxB,IAAA;AAAA,EACA,EAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA,EAAM,QAAA;AAAA,EACN,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,GAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA,GAAY,KAAA;AAAA,EACZ,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,aAAA,GAAgB,iBAAiB,EAAE,CAAA;AACzC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,MAAM,IAAA,GAAO,QAAA,IAAY,WAAA,EAAa,IAAA,IAAQ,IAAA;AAC9C,EAAA,MAAM,cAAA,GACJ,UAAA,IAAc,WAAA,EAAa,UAAA,KAAe,IAAA,IAAQ,SAAA;AACpD,EAAA,MAAM,eAAA,GAAkB,WAAW,IAAA,IAAQ,cAAA;AAC3C,EAAA,MAAM,YAAA,GAAe,IAAA,IAAQ,IAAA,IAAQ,CAAC,cAAA;AACtC,EAAA,MAAM,aAAA,GAAgB,gBAAgB,MAAA,KAAW,QAAA;AACjD,EAAA,MAAM,YACJ,aAAA,IACA,YAAA;AAAA,IACE,cACE,SAAA,IACA,YAAA,IAAgB,QAChB,UAAA,IAAc,IAAA,IACd,gBACE,KAAA,GACA,MAAA;AAAA,IACJ;AAAA,GACF;AACF,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,EAAC,MAAA,EAAQ,KAAI,CAAA;AACpC,EAAA,MAAM,iBACJ,OAAA,KAAY,SAAA,IAAa,YAAY,aAAA,IAAiB,OAAA,KAAY,YAC9D,SAAA,GACA,SAAA;AAEN,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,eAAA,EAAiB,YAAA;AAAA,IACjB,cAAA,EAAgB,WAAA;AAAA,IAChB,kBAAA,EAAoB,eAAA;AAAA,IACpB,cAAA,EAAgB,WAAA;AAAA,IAChB,eAAA,EAAiB,YAAA;AAAA,IACjB,eAAA,EAAiB,YAAA;AAAA,IACjB,aAAA,EAAe,UAAA;AAAA,IACf,mBAAA,EAAqB,gBAAA;AAAA,IACrB,iBAAA,EAAmB,cAAA;AAAA,IACnB,WAAA,EAAa,QAAA;AAAA,IACb,cAAA,EAAgB,WAAA;AAAA,IAChB,sBAAA,EAAwB;AAAA,GAC1B;AAEA,EAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAyC;AAClE,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA;AAAA,IACF;AAEA,IAAA,OAAA,GAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,CAAC,KAAA,KAAyC;AAChE,IAAA,OAAA,GAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAA4C;AACvE,IAAA,IAAI,oBAAoB,KAAA,CAAM,GAAA,KAAQ,OAAA,IAAW,KAAA,CAAM,QAAQ,GAAA,CAAA,EAAM;AACnE,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA;AAAA,IACF;AAEA,IAAA,SAAA,GAAY,KAAK,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAA4C;AACrE,IAAA,SAAA,GAAY,KAAK,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,MAAM,gCACJ,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,UAAK,aAAA,EAAa,SAAA,IAAa,MAAA,EAAW,SAAA,EAAW,OAAO,OAAA,EAC1D,QAAA,EAAA;AAAA,MAAA,IAAA,IAAQ,IAAA,mBACP,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,SAAA,EAAW,MAAA,CAAO,IAAA,EACzC,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,IAAA,EAAY,GAChC,CAAA,GACE,IAAA;AAAA,MACH,CAAC,UAAA,IAAc,YAAA,IAAgB,IAAA,mBAC9B,GAAA,CAAC,UAAK,SAAA,EAAW,MAAA,CAAO,YAAA,EAAe,QAAA,EAAA,YAAA,EAAa,CAAA,GAClD,IAAA;AAAA,MACH,CAAC,UAAA,oBAAc,GAAA,CAAC,UAAK,SAAA,EAAW,MAAA,CAAO,OAAQ,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,MACrD,CAAC,UAAA,IAAc,UAAA,IAAc,IAAA,mBAC5B,GAAA,CAAC,UAAK,SAAA,EAAW,MAAA,CAAO,UAAA,EAAa,QAAA,EAAA,UAAA,EAAW,CAAA,GAC9C,IAAA;AAAA,MACH,CAAC,UAAA,IAAc,SAAA,mBACd,GAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,SAAA,EAAW,MAAA,CAAO,gBAAA,EACzC,8BAAC,OAAA,EAAA,EAAQ,IAAA,EAAY,OAAA,EAAS,cAAA,EAAgB,GAChD,CAAA,GACE;AAAA,KAAA,EACN,CAAA;AAAA,oBACA,GAAA,CAAC,kBAAe,WAAA,EAAU,QAAA,EAAS,MAAK,QAAA,EACrC,QAAA,EAAA,SAAA,GAAY,YAAY,EAAA,EAC3B;AAAA,GAAA,EACF,CAAA;AAGF,EAAA,MAAM,aAAA,GAAgB,EAAA;AAAA,IACpB,aAAa,EAAC,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,YAAW,CAAA;AAAA,IAClD;AAAA,GACF;AAEA,EAAA,MAAM,UAAU,YAAA,mBACd,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAW,aAAA;AAAA,MACX,aAAA,EAAa,UAAA;AAAA,MACb,IAAA;AAAA,MACA,OAAA,EAAS,eAAA;AAAA,MACT,SAAA,EAAW,iBAAA;AAAA,MACX,GAAA;AAAA,MACA,GAAA,EAAK,OAAA;AAAA,MACL,KAAA;AAAA,MACA,MAAA;AAAA,MACA,EAAA,EAAI,aAAA,KAAkB,GAAA,GAAM,MAAA,GAAY,IAAA;AAAA,MACvC,QAAA,EAAA;AAAA;AAAA,GACH,mBAEA,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,aAAW,SAAA,IAAa,MAAA;AAAA,MACxB,iBAAe,eAAA,IAAmB,MAAA;AAAA,MAClC,YAAA,EAAY,SAAA;AAAA,MACZ,SAAA,EAAW,aAAA;AAAA,MACX,aAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,kBAAkB,MAAA,GAAY,cAAA;AAAA,MACxC,IAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA,EAAS,iBAAA;AAAA,MACT,SAAA,EAAW,mBAAA;AAAA,MACX,GAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH;AAGF,EAAA,IAAI,WAAW,IAAA,EAAM;AACnB,IAAA,uBAAO,GAAA,CAAC,OAAA,EAAA,EAAQ,OAAA,EAAS,OAAA,EAAU,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,EAC7C;AAEA,EAAA,OAAO,OAAA;AACT;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-VLIQPSPM.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const buttonRecipe = cva({\n base: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 0,\n borderStyle: 'none',\n fontFamily: 'body',\n fontWeight: 'medium',\n cursor: 'pointer',\n transitionProperty: 'background-color, color, opacity, transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n userSelect: 'none',\n lineHeight: 'tight',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n _active: {\n transform: 'scale(0.98)',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n transform: 'none',\n },\n '&[aria-disabled=\"true\"]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'auto',\n transform: 'none',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetLoose',\n },\n },\n variants: {\n variant: {\n primary: {\n bg: 'primary',\n color: 'fg.onPrimary',\n _hover: {bg: 'primary.hover'},\n _active: {bg: 'primary.active'},\n },\n secondary: {\n bg: 'bg.subtle',\n color: 'fg',\n _hover: {bg: 'bg.hover'},\n _active: {bg: 'surface.gray.hover'},\n },\n ghost: {\n color: 'fg',\n bg: 'transparent',\n _hover: {bg: 'bg.ghost.hover'},\n _active: {bg: 'bg.ghost.active'},\n },\n destructive: {\n bg: 'destructive',\n color: 'destructive.fg',\n _hover: {bg: 'destructive.hover'},\n _active: {bg: 'destructive.active'},\n _focusVisible: {\n outlineColor: 'destructive',\n },\n },\n onSolid: {\n color: 'inherit',\n bg: 'transparent',\n _hover: {bg: 'color-mix(in srgb, currentColor 15%, transparent)'},\n _active: {bg: 'color-mix(in srgb, currentColor 20%, transparent)'},\n _focusVisible: {\n outlineColor: 'currentColor',\n },\n },\n },\n size: {\n sm: {\n h: 'component.sm',\n px: 'component.sm',\n fontSize: 'component.sm',\n gap: '1.5',\n borderRadius: 'component.sm',\n '--button-icon-size': 'var(--silver-sizes-icon-sm)',\n },\n md: {\n h: 'component.md',\n px: 'component.md',\n fontSize: 'component.md',\n gap: '2',\n borderRadius: 'component.md',\n '--button-icon-size': 'var(--silver-sizes-icon-md)',\n },\n lg: {\n h: 'component.lg',\n px: 'component.lg',\n fontSize: 'component.lg',\n gap: '2.5',\n borderRadius: 'component.lg',\n '--button-icon-size': 'var(--silver-sizes-icon-lg)',\n },\n },\n iconOnly: {\n true: {\n aspectRatio: 'square',\n px: 0,\n },\n false: {},\n },\n },\n defaultVariants: {\n variant: 'secondary',\n size: 'md',\n iconOnly: false,\n },\n});\n\nexport type ButtonVariants = RecipeVariantProps<typeof buttonRecipe>;\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport type {\n CSSProperties,\n JSX,\n KeyboardEvent,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal';\nimport {cx} from '../../internal/cx';\nimport {getAriaLabel, useRel} from '../../internal/linkAccessibility';\nimport {useButtonGroup} from '../ButtonGroup/ButtonGroupContext';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {buttonRecipe, type ButtonVariants} from './Button.recipe';\n\nexport type ButtonSize = NonNullable<ButtonVariants>['size'];\ntype ButtonVariant = NonNullable<ButtonVariants>['variant'];\n\n/**\n * A versatile action element that renders as a `<button>` or a link depending\n * on whether `href` is provided. Supports explicit loading states, icon-only\n * modes, link buttons, and tooltips.\n */\ninterface ButtonBaseProps {\n /**\n * Identifies the element(s) whose contents are controlled by the button.\n */\n 'aria-controls'?: string;\n /**\n * Indicates the current item in a set.\n */\n 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time';\n /**\n * Identifies the element(s) that describe the button.\n */\n 'aria-describedby'?: string;\n /**\n * Identifies the element that provides a detailed description.\n */\n 'aria-details'?: string;\n /**\n * Indicates whether a controlled element is expanded or collapsed.\n */\n 'aria-expanded'?: boolean;\n /**\n * Indicates the button opens an interactive popup element.\n */\n 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n /**\n * Indicates whether the element is exposed to the accessibility API.\n */\n 'aria-hidden'?: boolean;\n /**\n * Keyboard shortcuts that activate or focus the button.\n */\n 'aria-keyshortcuts'?: string;\n /**\n * Accessible label that overrides the visible `label` for assistive\n * technologies. Use when the visible text is too terse (e.g. a page\n * number) and a longer description is needed.\n */\n 'aria-label'?: string;\n /**\n * Identifies the element(s) that label the button.\n */\n 'aria-labelledby'?: string;\n /**\n * Identifies element(s) owned by the button that are not DOM children.\n */\n 'aria-owns'?: string;\n /**\n * Indicates the current pressed state of a toggle button.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Human-readable description of the role of the button.\n */\n 'aria-roledescription'?: string;\n /**\n * Custom link component to render when `href` is set. Falls back to the\n * component provided by `LinkProvider`, or a plain `<a>` tag.\n */\n as?: LinkComponent;\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 * Content rendered after the label, such as a badge or count. Hidden in\n * icon-only mode.\n */\n endContent?: ReactNode;\n /**\n * HTML `form` attribute associating the button with a `<form>` by ID.\n */\n form?: string;\n /**\n * URL to navigate to. When set and the button is not disabled, the component\n * renders as a link element.\n */\n href?: string;\n /**\n * Whether the button is disabled. Prevents interaction and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Whether the button is in a loading state. Shows a spinner overlay,\n * disables interaction, and announces \"Loading\" to assistive technologies.\n */\n isLoading?: boolean;\n /**\n * Text label for the button. Always required for accessibility even when\n * `isIconOnly` is true.\n */\n label: string;\n /**\n * HTML `name` attribute for form submission.\n */\n name?: string;\n /**\n * Click event handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Keyboard event handler for the root element.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link `rel` attribute (e.g., `\"noopener\"`). Only applies when rendering\n * as a link.\n */\n rel?: string;\n /**\n * Visual size of the button.\n */\n size?: ButtonSize;\n /**\n * Arbitrary content rendered before the label (after the icon, if present).\n * Hidden in icon-only mode.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link `target` attribute (e.g., `\"_blank\"`). Only applies when rendering\n * as a link.\n */\n target?: string;\n /**\n * Tooltip text shown on hover. When set on a disabled button,\n * `aria-disabled` is used instead of the `disabled` attribute so the\n * tooltip remains accessible.\n */\n tooltip?: string;\n /**\n * HTML button `type` attribute.\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * HTML `value` attribute for form submission.\n */\n value?: string;\n /**\n * Visual style variant.\n */\n variant?: ButtonVariant;\n}\n\nexport type ButtonProps =\n | (ButtonBaseProps & {\n /**\n * Icon element rendered before the label. Required in icon-only mode.\n */\n icon: IconComponent;\n /**\n * Visually hides the label, showing only the icon. The `label` prop is\n * still required and used as `aria-label`.\n */\n isIconOnly: true;\n })\n | (ButtonBaseProps & {\n /**\n * Icon element rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Visually hides the label, showing only the icon. The `label` prop is\n * still required and used as `aria-label`.\n */\n isIconOnly?: false;\n });\n\nconst styles = {\n content: css({\n display: 'contents',\n }),\n label: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minW: 0,\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n startContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n loadingIndicator: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n} as const;\n\nexport function Button({\n label,\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-label': ariaLabelProp,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-pressed': ariaPressed,\n 'aria-roledescription': ariaRoledescription,\n href,\n as,\n target,\n rel,\n variant,\n size: sizeProp,\n className,\n 'data-testid': dataTestId,\n style,\n type = 'button',\n ref,\n isDisabled = false,\n isLoading = false,\n icon,\n isIconOnly = false,\n endContent,\n startContent,\n tooltip,\n onClick,\n onKeyDown,\n form,\n name,\n value,\n}: ButtonProps): JSX.Element {\n const LinkComponent = useLinkComponent(as);\n const buttonGroup = useButtonGroup();\n const size = sizeProp ?? buttonGroup?.size ?? 'md';\n const buttonDisabled =\n isDisabled || buttonGroup?.isDisabled === true || isLoading;\n const useAriaDisabled = tooltip != null && buttonDisabled;\n const renderAsLink = href != null && !buttonDisabled;\n const opensInNewTab = renderAsLink && target === '_blank';\n const ariaLabel =\n ariaLabelProp ??\n getAriaLabel(\n isIconOnly ||\n isLoading ||\n startContent != null ||\n endContent != null ||\n opensInNewTab\n ? label\n : undefined,\n opensInNewTab,\n );\n const linkRel = useRel({target, rel});\n const spinnerVariant =\n variant === 'primary' || variant === 'destructive' || variant === 'onSolid'\n ? 'onMedia'\n : 'default';\n\n const ariaAttrs = {\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-pressed': ariaPressed,\n 'aria-roledescription': ariaRoledescription,\n };\n\n const handleButtonClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (buttonDisabled) {\n event.preventDefault();\n return;\n }\n\n onClick?.(event);\n };\n\n const handleLinkClick = (event: MouseEvent<HTMLAnchorElement>) => {\n onClick?.(event);\n };\n\n const handleButtonKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (useAriaDisabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n return;\n }\n\n onKeyDown?.(event);\n };\n\n const handleLinkKeyDown = (event: KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n };\n\n const buttonContent = (\n <>\n <span aria-hidden={isLoading || undefined} className={styles.content}>\n {icon != null ? (\n <span aria-hidden=\"true\" className={styles.icon}>\n <Icon icon={icon} size={size} />\n </span>\n ) : null}\n {!isIconOnly && startContent != null ? (\n <span className={styles.startContent}>{startContent}</span>\n ) : null}\n {!isIconOnly && <span className={styles.label}>{label}</span>}\n {!isIconOnly && endContent != null ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n {!isIconOnly && isLoading ? (\n <span aria-hidden=\"true\" className={styles.loadingIndicator}>\n <Spinner size={size} variant={spinnerVariant} />\n </span>\n ) : null}\n </span>\n <VisuallyHidden aria-live=\"polite\" role=\"status\">\n {isLoading ? 'Loading' : ''}\n </VisuallyHidden>\n </>\n );\n\n const rootClassName = cx(\n buttonRecipe({variant, size, iconOnly: isIconOnly}),\n className,\n );\n\n const element = renderAsLink ? (\n <LinkComponent\n {...ariaAttrs}\n aria-label={ariaLabel}\n className={rootClassName}\n data-testid={dataTestId}\n href={href}\n onClick={handleLinkClick}\n onKeyDown={handleLinkKeyDown}\n ref={ref as Ref<HTMLAnchorElement>}\n rel={linkRel}\n style={style}\n target={target}\n to={LinkComponent === 'a' ? undefined : href}>\n {buttonContent}\n </LinkComponent>\n ) : (\n <button\n {...ariaAttrs}\n aria-busy={isLoading || undefined}\n aria-disabled={useAriaDisabled || undefined}\n aria-label={ariaLabel}\n className={rootClassName}\n data-testid={dataTestId}\n disabled={useAriaDisabled ? undefined : buttonDisabled}\n form={form}\n name={name}\n onClick={handleButtonClick}\n onKeyDown={handleButtonKeyDown}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type={type}\n value={value}>\n {buttonContent}\n </button>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nButton.displayName = 'Button';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/DropdownMenu/DropdownMenuContext.ts","../src/components/DropdownMenu/DropdownMenuItem.tsx","../src/components/DropdownMenu/menuUtils.tsx","../src/components/DropdownMenu/DropdownMenu.tsx"],"names":["createContext","use","cva","css","jsx","cx","Item","Icon","Divider","jsxs","Text","useCallback","styles","useState","useRef","useMemo","Popover","Button","Fragment","ChevronDown"],"mappings":"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","file":"chunk-VT7VKCHL.cjs","sourcesContent":["import {createContext, use} from 'react';\nimport type {ButtonSize} from '../Button';\n\nexport interface DropdownMenuContextValue {\n closeMenu: () => void;\n menuSize: ButtonSize;\n}\n\nexport const DropdownMenuContext =\n createContext<DropdownMenuContextValue | null>(null);\n\nDropdownMenuContext.displayName = 'DropdownMenuContext';\n\nexport function useDropdownMenuContext(): DropdownMenuContextValue | null {\n return use(DropdownMenuContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css, cva} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport {useDropdownMenuContext} from './DropdownMenuContext';\n\nexport interface DropdownMenuItemProps {\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Item label.\n */\n label: string;\n /**\n * Called when the item is selected.\n */\n onClick?: () => void;\n /**\n * Ref forwarded to the item button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\nconst menuItemRecipe = cva({\n base: {\n all: 'unset',\n boxSizing: 'border-box',\n display: 'block',\n w: 'full',\n borderRadius: 'md',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n },\n variants: {\n size: {\n sm: {\n minH: 'component.sm',\n '& > *': {py: '0.5', px: '1.5', gap: '1.5'},\n },\n md: {\n minH: 'component.md',\n '& > *': {py: '1.5', px: '2'},\n },\n lg: {\n minH: 'component.lg',\n '& > *': {py: '2.5', px: '2.5', gap: '2.5'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst styles = {\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * Action item inside a `DropdownMenu`.\n */\nexport function DropdownMenuItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDisabled = false,\n label,\n onClick,\n ref,\n style,\n}: DropdownMenuItemProps): React.JSX.Element {\n const context = useDropdownMenuContext();\n const menuSize = context?.menuSize ?? 'md';\n\n return (\n <button\n className={cx(menuItemRecipe({size: menuSize}), className)}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={() => {\n onClick?.();\n context?.closeMenu();\n }}\n ref={ref}\n role=\"menuitem\"\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n description={description}\n endContent={endContent}\n label={label}\n startContent={\n icon != null ? (\n <span className={styles.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n />\n </button>\n );\n}\n\nDropdownMenuItem.displayName = 'DropdownMenuItem';\n","/* eslint-disable @eslint-react/no-array-index-key */\nimport {useCallback, type KeyboardEvent, type ReactNode} from 'react';\nimport {css} from 'styled-system/css';\nimport {Divider} from '../Divider';\nimport {Text} from '../Text';\nimport {DropdownMenuItem} from './DropdownMenuItem';\nimport type {DropdownMenuOption} from './types';\n\nconst menuStyles = {\n section: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n heading: css({\n px: '2',\n py: '1',\n userSelect: 'none',\n }),\n divider: css({\n my: '1',\n }),\n} as const;\n\nexport function formatMenuWidth(\n value: number | string | undefined,\n): string | undefined {\n if (value == null) {\n return undefined;\n }\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function renderMenuItems(\n items: ReadonlyArray<DropdownMenuOption>,\n): ReactNode {\n return items.map((item, index) => {\n if ('type' in item && item.type === 'divider') {\n return (\n <Divider className={menuStyles.divider} key={`divider-${index}`} />\n );\n }\n\n if ('type' in item) {\n return (\n <div\n aria-label={item.title}\n className={menuStyles.section}\n key={`section-${item.title ?? index}`}\n role=\"group\">\n {item.title != null ? (\n <Text\n as=\"span\"\n className={menuStyles.heading}\n color=\"secondary\"\n type=\"supporting\">\n {item.title}\n </Text>\n ) : null}\n {item.items.map(sectionItem => (\n <DropdownMenuItem\n description={sectionItem.description}\n icon={sectionItem.icon}\n isDisabled={sectionItem.isDisabled}\n key={sectionItem.label}\n label={sectionItem.label}\n onClick={sectionItem.onClick}\n />\n ))}\n </div>\n );\n }\n\n return (\n <DropdownMenuItem\n description={item.description}\n icon={item.icon}\n isDisabled={item.isDisabled}\n key={item.label}\n label={item.label}\n onClick={item.onClick}\n />\n );\n });\n}\n\nexport function useMenuKeyboard(\n menuRef: React.RefObject<HTMLElement | null>,\n onClose: () => void,\n): (event: KeyboardEvent<HTMLElement>) => void {\n const getMenuItems = useCallback(() => {\n if (menuRef.current == null) {\n return [];\n }\n return Array.from(\n menuRef.current.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not(:disabled)',\n ),\n );\n }, [menuRef]);\n\n return useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n const menuItems = getMenuItems();\n if (menuItems.length === 0) {\n return;\n }\n const currentIndex = menuItems.findIndex(\n item => item === document.activeElement,\n );\n let nextIndex: number;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex === -1 ? 0 : (currentIndex + 1) % menuItems.length;\n break;\n case 'ArrowUp':\n nextIndex =\n currentIndex === -1\n ? menuItems.length - 1\n : (currentIndex - 1 + menuItems.length) % menuItems.length;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = menuItems.length - 1;\n break;\n case 'Escape':\n event.preventDefault();\n onClose();\n return;\n case 'Enter':\n case ' ':\n if (document.activeElement instanceof HTMLElement) {\n event.preventDefault();\n document.activeElement.click();\n }\n return;\n default:\n if (event.key.length === 1) {\n const char = event.key.toLowerCase();\n const startIndex = currentIndex === -1 ? 0 : currentIndex + 1;\n for (let i = 0; i < menuItems.length; i++) {\n const index = (startIndex + i) % menuItems.length;\n const label = menuItems[index].textContent.trim().toLowerCase();\n if (label.startsWith(char)) {\n event.preventDefault();\n menuItems[index].focus();\n return;\n }\n }\n }\n return;\n }\n\n event.preventDefault();\n menuItems[nextIndex]?.focus();\n },\n [getMenuItems, onClose],\n );\n}\n","import {ChevronDown} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport {Button, type ButtonProps, type ButtonSize} from '../Button';\nimport {Icon} from '../Icon';\nimport {Popover} from '../Popover';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {formatMenuWidth, renderMenuItems, useMenuKeyboard} from './menuUtils';\nimport type {DropdownMenuOption} from './types';\n\nexport type {\n DropdownMenuDivider,\n DropdownMenuItemData,\n DropdownMenuOption,\n DropdownMenuSection,\n} from './types';\n\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nexport type DropdownMenuButtonProps = DistributiveOmit<ButtonProps, 'onClick'>;\n\nexport interface DropdownMenuProps {\n /**\n * Trigger button props.\n */\n button?: DropdownMenuButtonProps;\n /**\n * Compound menu content (alternative to `items`).\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the menu surface.\n */\n className?: string;\n /**\n * Test ID applied to the trigger button.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a chevron on the trigger button.\n * @default true\n */\n hasChevron?: boolean;\n /**\n * Controlled open state.\n */\n isMenuOpen?: boolean;\n /**\n * Data-driven menu items.\n */\n items?: ReadonlyArray<DropdownMenuOption>;\n /**\n * Width of the menu surface.\n */\n menuWidth?: number | string;\n /**\n * Click handler for the trigger button.\n */\n onClick?: () => void;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the menu surface.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n} as const;\n\nconst defaultButton = {label: 'Menu'} satisfies DropdownMenuButtonProps;\n\n/**\n * Button-triggered menu for grouped actions.\n */\nexport function DropdownMenu({\n button = defaultButton,\n children,\n className,\n 'data-testid': dataTestId,\n hasAutoFocus = true,\n hasChevron = true,\n isMenuOpen,\n items,\n menuWidth,\n onClick,\n onOpenChange,\n ref,\n style,\n}: DropdownMenuProps): React.JSX.Element {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isMenuOpen !== undefined;\n const isOpen = isControlled ? isMenuOpen : internalOpen;\n const menuSize: ButtonSize = button.size ?? 'md';\n const menuRef = useRef<HTMLDivElement>(null);\n\n if (process.env.NODE_ENV !== 'production') {\n if (items != null && children != null) {\n throw new Error(\n 'DropdownMenu: pass either `items` or `children`, not both.',\n );\n }\n }\n\n const hide = useCallback(() => {\n if (isControlled) {\n onOpenChange?.(false);\n } else {\n setInternalOpen(false);\n }\n }, [isControlled, onOpenChange]);\n\n const handleMenuKeyDown = useMenuKeyboard(menuRef, hide);\n\n const contextValue = useMemo(\n () => ({\n closeMenu: hide,\n menuSize,\n }),\n [hide, menuSize],\n );\n\n const menuNode = useMemo(\n (): ReactNode => (items == null ? children : renderMenuItems(items)),\n [items, children],\n );\n\n return (\n <Popover\n content={\n <DropdownMenuContext value={contextValue}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- keyboard handler captures events for the parent role=\"menu\" element */}\n <div\n className={cx(styles.menu, className)}\n onKeyDown={handleMenuKeyDown}\n ref={menuRef}\n tabIndex={-1}>\n {menuNode}\n </div>\n </DropdownMenuContext>\n }\n hasAutoFocus={hasAutoFocus}\n hasCloseButton={false}\n isOpen={isOpen}\n onOpenChange={(isNextOpen: boolean): void => {\n if (isControlled) {\n onOpenChange?.(isNextOpen);\n } else {\n setInternalOpen(isNextOpen);\n }\n }}\n role=\"menu\"\n style={{width: formatMenuWidth(menuWidth), ...style}}>\n <Button\n {...button}\n data-testid={dataTestId}\n endContent={\n <>\n {button.endContent}\n {hasChevron ? <Icon icon={ChevronDown} size=\"sm\" /> : null}\n </>\n }\n onClick={onClick}\n ref={ref}\n />\n </Popover>\n );\n}\n\nDropdownMenu.displayName = 'DropdownMenu';\n"]}