silver-ui 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-2A3V6OR7.cjs +112 -0
  3. package/dist/chunk-2A3V6OR7.cjs.map +1 -0
  4. package/dist/{chunk-HLN3JQYD.js → chunk-2LABTS4P.js} +18 -58
  5. package/dist/chunk-2LABTS4P.js.map +1 -0
  6. package/dist/{chunk-GI5MVVIX.js → chunk-2N6FOSNM.js} +15 -14
  7. package/dist/chunk-2N6FOSNM.js.map +1 -0
  8. package/dist/chunk-2PSZAWLC.js +8 -0
  9. package/dist/chunk-2PSZAWLC.js.map +1 -0
  10. package/dist/{chunk-YGYA4BYN.js → chunk-2RKMG2TC.js} +19 -18
  11. package/dist/chunk-2RKMG2TC.js.map +1 -0
  12. package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
  13. package/dist/chunk-2XAA3CM5.js.map +1 -0
  14. package/dist/{chunk-EMHLPPQZ.js → chunk-3CJC4QE6.js} +4 -4
  15. package/dist/chunk-3CJC4QE6.js.map +1 -0
  16. package/dist/{chunk-P3SMNZCT.js → chunk-3JPUXC5U.js} +3 -3
  17. package/dist/{chunk-P3SMNZCT.js.map → chunk-3JPUXC5U.js.map} +1 -1
  18. package/dist/{chunk-OJCJPYXE.js → chunk-3OIUA2NY.js} +9 -8
  19. package/dist/chunk-3OIUA2NY.js.map +1 -0
  20. package/dist/chunk-3ZV3EGGK.cjs +470 -0
  21. package/dist/chunk-3ZV3EGGK.cjs.map +1 -0
  22. package/dist/{chunk-BERQEJYB.js → chunk-4H7X5FGX.js} +7 -6
  23. package/dist/chunk-4H7X5FGX.js.map +1 -0
  24. package/dist/{chunk-EUN5TCB2.js → chunk-52WQDDWQ.js} +18 -20
  25. package/dist/chunk-52WQDDWQ.js.map +1 -0
  26. package/dist/{chunk-UMGW7WJI.cjs → chunk-5D2OR64D.cjs} +11 -9
  27. package/dist/chunk-5D2OR64D.cjs.map +1 -0
  28. package/dist/{chunk-YAIEA2YE.cjs → chunk-5PX76QOL.cjs} +3 -3
  29. package/dist/{chunk-YAIEA2YE.cjs.map → chunk-5PX76QOL.cjs.map} +1 -1
  30. package/dist/{chunk-HM7IEGQ2.cjs → chunk-5YS43PSQ.cjs} +7 -7
  31. package/dist/chunk-5YS43PSQ.cjs.map +1 -0
  32. package/dist/{chunk-AH4AMQEO.js → chunk-6ONAGCCZ.js} +262 -208
  33. package/dist/chunk-6ONAGCCZ.js.map +1 -0
  34. package/dist/{chunk-S54CKWKV.js → chunk-6ULCJ3XZ.js} +4 -4
  35. package/dist/{chunk-S54CKWKV.js.map → chunk-6ULCJ3XZ.js.map} +1 -1
  36. package/dist/{chunk-6XESVFC3.js → chunk-6XWXBXYE.js} +90 -75
  37. package/dist/chunk-6XWXBXYE.js.map +1 -0
  38. package/dist/{chunk-EXYBQVZT.js → chunk-7BSFKG7N.js} +3 -3
  39. package/dist/{chunk-EXYBQVZT.js.map → chunk-7BSFKG7N.js.map} +1 -1
  40. package/dist/{chunk-7GN6YTSS.cjs → chunk-7CCXHH6Y.cjs} +7 -7
  41. package/dist/chunk-7CCXHH6Y.cjs.map +1 -0
  42. package/dist/{chunk-3PDUOYAT.cjs → chunk-7U7JMRVF.cjs} +28 -30
  43. package/dist/chunk-7U7JMRVF.cjs.map +1 -0
  44. package/dist/chunk-AFI4V7LI.js +393 -0
  45. package/dist/chunk-AFI4V7LI.js.map +1 -0
  46. package/dist/{chunk-DSNJDFO3.cjs → chunk-AHVHLNHU.cjs} +18 -17
  47. package/dist/chunk-AHVHLNHU.cjs.map +1 -0
  48. package/dist/{chunk-35MFOORC.js → chunk-AJ6X62AI.js} +5 -5
  49. package/dist/{chunk-35MFOORC.js.map → chunk-AJ6X62AI.js.map} +1 -1
  50. package/dist/{chunk-OMHOVHPX.js → chunk-AP7BDTTF.js} +4 -4
  51. package/dist/{chunk-OMHOVHPX.js.map → chunk-AP7BDTTF.js.map} +1 -1
  52. package/dist/{chunk-4T62TLOD.cjs → chunk-AWDIKDX5.cjs} +10 -10
  53. package/dist/{chunk-4T62TLOD.cjs.map → chunk-AWDIKDX5.cjs.map} +1 -1
  54. package/dist/chunk-BCCPNGUV.js +162 -0
  55. package/dist/chunk-BCCPNGUV.js.map +1 -0
  56. package/dist/{chunk-PTJ5YZFY.cjs → chunk-BLRWA445.cjs} +242 -182
  57. package/dist/chunk-BLRWA445.cjs.map +1 -0
  58. package/dist/{chunk-67VLK263.js → chunk-BSAZRW6T.js} +13 -10
  59. package/dist/chunk-BSAZRW6T.js.map +1 -0
  60. package/dist/{chunk-I2X2Z7FA.cjs → chunk-BUESV4DR.cjs} +9 -9
  61. package/dist/{chunk-I2X2Z7FA.cjs.map → chunk-BUESV4DR.cjs.map} +1 -1
  62. package/dist/{chunk-UJODHP7E.cjs → chunk-BULJWVPU.cjs} +18 -17
  63. package/dist/chunk-BULJWVPU.cjs.map +1 -0
  64. package/dist/{chunk-PNYF6NS4.cjs → chunk-C6EYCIKJ.cjs} +9 -8
  65. package/dist/chunk-C6EYCIKJ.cjs.map +1 -0
  66. package/dist/{chunk-ZTQQ2O6O.cjs → chunk-C732WXKS.cjs} +36 -34
  67. package/dist/chunk-C732WXKS.cjs.map +1 -0
  68. package/dist/{chunk-GTPRZCNZ.js → chunk-CGYZ6QWY.js} +4 -4
  69. package/dist/{chunk-GTPRZCNZ.js.map → chunk-CGYZ6QWY.js.map} +1 -1
  70. package/dist/{chunk-X5ZQRMEM.cjs → chunk-CKTXDIH4.cjs} +39 -40
  71. package/dist/chunk-CKTXDIH4.cjs.map +1 -0
  72. package/dist/{chunk-PYW5UO2Z.js → chunk-D3LZQ5QS.js} +4 -4
  73. package/dist/chunk-D3LZQ5QS.js.map +1 -0
  74. package/dist/{chunk-WNGBWUWZ.cjs → chunk-DIRVAHOF.cjs} +6 -6
  75. package/dist/{chunk-WNGBWUWZ.cjs.map → chunk-DIRVAHOF.cjs.map} +1 -1
  76. package/dist/{chunk-K77D7H4V.cjs → chunk-DP7VC4FW.cjs} +7 -6
  77. package/dist/chunk-DP7VC4FW.cjs.map +1 -0
  78. package/dist/{chunk-4I6VIR44.cjs → chunk-DVGLYE3G.cjs} +16 -15
  79. package/dist/chunk-DVGLYE3G.cjs.map +1 -0
  80. package/dist/{chunk-ISYUZ5FS.js → chunk-DWUEPOYH.js} +31 -29
  81. package/dist/chunk-DWUEPOYH.js.map +1 -0
  82. package/dist/chunk-DXPQRAGI.js +110 -0
  83. package/dist/chunk-DXPQRAGI.js.map +1 -0
  84. package/dist/{chunk-P4A7GWQY.cjs → chunk-E2A3GJSN.cjs} +9 -8
  85. package/dist/chunk-E2A3GJSN.cjs.map +1 -0
  86. package/dist/{chunk-32G54PL3.cjs → chunk-EALKX3ST.cjs} +9 -8
  87. package/dist/chunk-EALKX3ST.cjs.map +1 -0
  88. package/dist/{chunk-ZW2ATXTL.js → chunk-EBDODJ5X.js} +8 -7
  89. package/dist/chunk-EBDODJ5X.js.map +1 -0
  90. package/dist/chunk-FB245S6T.cjs +395 -0
  91. package/dist/chunk-FB245S6T.cjs.map +1 -0
  92. package/dist/{chunk-RNB4BDEG.js → chunk-FDUO2HVX.js} +3 -3
  93. package/dist/{chunk-RNB4BDEG.js.map → chunk-FDUO2HVX.js.map} +1 -1
  94. package/dist/{chunk-JAHKLROD.cjs → chunk-FDZQPWFZ.cjs} +13 -12
  95. package/dist/chunk-FDZQPWFZ.cjs.map +1 -0
  96. package/dist/{chunk-KIGRE6NA.js → chunk-FMLIYHDP.js} +5 -5
  97. package/dist/{chunk-KIGRE6NA.js.map → chunk-FMLIYHDP.js.map} +1 -1
  98. package/dist/{chunk-4YQSKCVF.cjs → chunk-FNOUX5T2.cjs} +5 -5
  99. package/dist/{chunk-4YQSKCVF.cjs.map → chunk-FNOUX5T2.cjs.map} +1 -1
  100. package/dist/{chunk-LFRTNC7M.cjs → chunk-FNZOICR4.cjs} +7 -7
  101. package/dist/{chunk-LFRTNC7M.cjs.map → chunk-FNZOICR4.cjs.map} +1 -1
  102. package/dist/{chunk-4M2KCZMO.js → chunk-FP5E5BUM.js} +5 -4
  103. package/dist/chunk-FP5E5BUM.js.map +1 -0
  104. package/dist/{chunk-VSEKSDTK.js → chunk-G2U2W422.js} +8 -7
  105. package/dist/chunk-G2U2W422.js.map +1 -0
  106. package/dist/{chunk-MAL4D4LR.cjs → chunk-G2WW52GO.cjs} +14 -13
  107. package/dist/chunk-G2WW52GO.cjs.map +1 -0
  108. package/dist/{chunk-FQSOUCZS.cjs → chunk-G3KKLGZU.cjs} +9 -9
  109. package/dist/{chunk-FQSOUCZS.cjs.map → chunk-G3KKLGZU.cjs.map} +1 -1
  110. package/dist/{chunk-IKF6VHA4.cjs → chunk-GC5VUTUR.cjs} +4 -4
  111. package/dist/{chunk-IKF6VHA4.cjs.map → chunk-GC5VUTUR.cjs.map} +1 -1
  112. package/dist/{chunk-ITDQSF2O.cjs → chunk-GL7PSN7H.cjs} +17 -16
  113. package/dist/chunk-GL7PSN7H.cjs.map +1 -0
  114. package/dist/{chunk-WMXIUOOU.cjs → chunk-GYVWTH3U.cjs} +3 -3
  115. package/dist/{chunk-WMXIUOOU.cjs.map → chunk-GYVWTH3U.cjs.map} +1 -1
  116. package/dist/{chunk-ACQMLJ4I.cjs → chunk-H2CZ6IE5.cjs} +42 -39
  117. package/dist/chunk-H2CZ6IE5.cjs.map +1 -0
  118. package/dist/{chunk-CZNN2GOC.js → chunk-H7HQYBPH.js} +25 -26
  119. package/dist/chunk-H7HQYBPH.js.map +1 -0
  120. package/dist/{chunk-ZNUOFLCQ.js → chunk-HINS4GY6.js} +3 -3
  121. package/dist/chunk-HINS4GY6.js.map +1 -0
  122. package/dist/{chunk-PXTE3XRD.js → chunk-HNZWPIJE.js} +74 -68
  123. package/dist/chunk-HNZWPIJE.js.map +1 -0
  124. package/dist/{chunk-Y5SXQR52.cjs → chunk-IA5GII7N.cjs} +33 -22
  125. package/dist/chunk-IA5GII7N.cjs.map +1 -0
  126. package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
  127. package/dist/chunk-IAVZKGZS.js.map +1 -0
  128. package/dist/{chunk-XM3AZXOA.js → chunk-ILEKDNP7.js} +6 -6
  129. package/dist/{chunk-XM3AZXOA.js.map → chunk-ILEKDNP7.js.map} +1 -1
  130. package/dist/{chunk-XSQOHNIF.js → chunk-J3DNWPXJ.js} +3 -3
  131. package/dist/{chunk-XSQOHNIF.js.map → chunk-J3DNWPXJ.js.map} +1 -1
  132. package/dist/{chunk-25FU5AVR.cjs → chunk-J4OEETYQ.cjs} +14 -13
  133. package/dist/chunk-J4OEETYQ.cjs.map +1 -0
  134. package/dist/{chunk-4Z62KDKI.js → chunk-J5IRFGUP.js} +25 -14
  135. package/dist/chunk-J5IRFGUP.js.map +1 -0
  136. package/dist/{chunk-2YC7SMVF.js → chunk-JDAJ2HJQ.js} +7 -6
  137. package/dist/chunk-JDAJ2HJQ.js.map +1 -0
  138. package/dist/{chunk-AGJ5SZCM.js → chunk-JIVYPJKO.js} +6 -6
  139. package/dist/{chunk-AGJ5SZCM.js.map → chunk-JIVYPJKO.js.map} +1 -1
  140. package/dist/{chunk-U2WVHZ24.cjs → chunk-JJ324PSZ.cjs} +6 -6
  141. package/dist/chunk-JJ324PSZ.cjs.map +1 -0
  142. package/dist/{chunk-WWB4NSEY.cjs → chunk-JSINCF2R.cjs} +10 -10
  143. package/dist/{chunk-WWB4NSEY.cjs.map → chunk-JSINCF2R.cjs.map} +1 -1
  144. package/dist/{chunk-BJD32VBQ.cjs → chunk-JTFNNEWR.cjs} +90 -75
  145. package/dist/chunk-JTFNNEWR.cjs.map +1 -0
  146. package/dist/{chunk-YAYINZT2.cjs → chunk-JYVYCU22.cjs} +3 -3
  147. package/dist/{chunk-YAYINZT2.cjs.map → chunk-JYVYCU22.cjs.map} +1 -1
  148. package/dist/chunk-K3XHXWBW.js +242 -0
  149. package/dist/chunk-K3XHXWBW.js.map +1 -0
  150. package/dist/{chunk-TRK2ZZFB.cjs → chunk-K4ZJNQTX.cjs} +6 -5
  151. package/dist/chunk-K4ZJNQTX.cjs.map +1 -0
  152. package/dist/{chunk-WA4VZ363.cjs → chunk-KDR5DCYL.cjs} +13 -12
  153. package/dist/chunk-KDR5DCYL.cjs.map +1 -0
  154. package/dist/{chunk-2D6SGEPH.cjs → chunk-KXIILLQD.cjs} +16 -11
  155. package/dist/chunk-KXIILLQD.cjs.map +1 -0
  156. package/dist/{chunk-ZNZ67KFM.js → chunk-L6VSBBPP.js} +9 -8
  157. package/dist/chunk-L6VSBBPP.js.map +1 -0
  158. package/dist/{chunk-YJJOKZN2.js → chunk-LNT2IFOA.js} +4 -4
  159. package/dist/{chunk-YJJOKZN2.js.map → chunk-LNT2IFOA.js.map} +1 -1
  160. package/dist/{chunk-IXJOPMJX.cjs → chunk-LO5NZY7N.cjs} +7 -6
  161. package/dist/chunk-LO5NZY7N.cjs.map +1 -0
  162. package/dist/{chunk-AADUJ6CN.js → chunk-LQIZSE3O.js} +212 -183
  163. package/dist/chunk-LQIZSE3O.js.map +1 -0
  164. package/dist/{chunk-OJKZS6HG.cjs → chunk-LUQVSNQL.cjs} +265 -211
  165. package/dist/chunk-LUQVSNQL.cjs.map +1 -0
  166. package/dist/{chunk-BYBVI7UN.js → chunk-LY6Z6A54.js} +10 -9
  167. package/dist/chunk-LY6Z6A54.js.map +1 -0
  168. package/dist/{chunk-JMNH45Q3.cjs → chunk-M26XECB2.cjs} +91 -97
  169. package/dist/chunk-M26XECB2.cjs.map +1 -0
  170. package/dist/chunk-M2MC3E27.cjs +220 -0
  171. package/dist/chunk-M2MC3E27.cjs.map +1 -0
  172. package/dist/chunk-MAYQGKKW.cjs +193 -0
  173. package/dist/chunk-MAYQGKKW.cjs.map +1 -0
  174. package/dist/{chunk-2IKWX66Q.js → chunk-MI5QU37D.js} +5 -5
  175. package/dist/{chunk-2IKWX66Q.js.map → chunk-MI5QU37D.js.map} +1 -1
  176. package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
  177. package/dist/chunk-N2TNBDQI.js.map +1 -0
  178. package/dist/{chunk-H2SGYAUO.js → chunk-NFABMGNH.js} +56 -46
  179. package/dist/chunk-NFABMGNH.js.map +1 -0
  180. package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
  181. package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
  182. package/dist/chunk-NI55JEYL.js +213 -0
  183. package/dist/chunk-NI55JEYL.js.map +1 -0
  184. package/dist/{chunk-BDPE6ZKX.cjs → chunk-O2WICOUK.cjs} +5 -5
  185. package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-O2WICOUK.cjs.map} +1 -1
  186. package/dist/{chunk-ATDW2VII.cjs → chunk-OBWWRRL6.cjs} +66 -51
  187. package/dist/chunk-OBWWRRL6.cjs.map +1 -0
  188. package/dist/{chunk-3DW2N6UN.js → chunk-PIOMR4X2.js} +5 -5
  189. package/dist/{chunk-3DW2N6UN.js.map → chunk-PIOMR4X2.js.map} +1 -1
  190. package/dist/{chunk-7P3VY5JZ.js → chunk-PIZMCOKL.js} +9 -8
  191. package/dist/chunk-PIZMCOKL.js.map +1 -0
  192. package/dist/{chunk-W3QVSVL7.cjs → chunk-PQEFVHJZ.cjs} +12 -11
  193. package/dist/chunk-PQEFVHJZ.cjs.map +1 -0
  194. package/dist/chunk-QAO6QMNQ.cjs +10 -0
  195. package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
  196. package/dist/{chunk-CFOGSQCG.cjs → chunk-QATCDVZ6.cjs} +14 -13
  197. package/dist/chunk-QATCDVZ6.cjs.map +1 -0
  198. package/dist/{chunk-YBPG5RPR.cjs → chunk-QOKEU3DC.cjs} +22 -62
  199. package/dist/chunk-QOKEU3DC.cjs.map +1 -0
  200. package/dist/{chunk-J2FCNWYM.js → chunk-QRFDPG34.js} +85 -91
  201. package/dist/chunk-QRFDPG34.js.map +1 -0
  202. package/dist/{chunk-UYXQBM2B.cjs → chunk-QVNDZZS6.cjs} +10 -10
  203. package/dist/{chunk-UYXQBM2B.cjs.map → chunk-QVNDZZS6.cjs.map} +1 -1
  204. package/dist/{chunk-AMG3S252.js → chunk-QY6OMQW6.js} +11 -10
  205. package/dist/chunk-QY6OMQW6.js.map +1 -0
  206. package/dist/{chunk-XIFLSMGW.js → chunk-R6CMJMIJ.js} +3 -3
  207. package/dist/{chunk-XIFLSMGW.js.map → chunk-R6CMJMIJ.js.map} +1 -1
  208. package/dist/{chunk-K6CQ45C2.js → chunk-RLOGQBFD.js} +10 -9
  209. package/dist/chunk-RLOGQBFD.js.map +1 -0
  210. package/dist/{chunk-5Q5TJUHI.js → chunk-S7INL5NI.js} +12 -7
  211. package/dist/chunk-S7INL5NI.js.map +1 -0
  212. package/dist/{chunk-VYFMYXU4.js → chunk-SBOXHIES.js} +234 -174
  213. package/dist/chunk-SBOXHIES.js.map +1 -0
  214. package/dist/{chunk-YXYD5HKL.cjs → chunk-SBS7U7CN.cjs} +6 -6
  215. package/dist/{chunk-YXYD5HKL.cjs.map → chunk-SBS7U7CN.cjs.map} +1 -1
  216. package/dist/chunk-SCGXGVNN.cjs +244 -0
  217. package/dist/chunk-SCGXGVNN.cjs.map +1 -0
  218. package/dist/{chunk-XQU4ECJY.js → chunk-SOCSUNIM.js} +19 -18
  219. package/dist/chunk-SOCSUNIM.js.map +1 -0
  220. package/dist/chunk-SR5VVJ5Y.cjs +164 -0
  221. package/dist/chunk-SR5VVJ5Y.cjs.map +1 -0
  222. package/dist/{chunk-SEAVOF6B.js → chunk-SSAYBCAD.js} +9 -7
  223. package/dist/chunk-SSAYBCAD.js.map +1 -0
  224. package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
  225. package/dist/chunk-SSOAZZNR.cjs.map +1 -0
  226. package/dist/{chunk-24J3BUKL.js → chunk-SUH62Z64.js} +3 -3
  227. package/dist/{chunk-24J3BUKL.js.map → chunk-SUH62Z64.js.map} +1 -1
  228. package/dist/{chunk-3WMLV4VP.cjs → chunk-TBOQTPRO.cjs} +9 -9
  229. package/dist/chunk-TBOQTPRO.cjs.map +1 -0
  230. package/dist/chunk-TCTPR7YQ.js +191 -0
  231. package/dist/chunk-TCTPR7YQ.js.map +1 -0
  232. package/dist/{chunk-SFT5LCQP.cjs → chunk-TF7XVTSP.cjs} +61 -51
  233. package/dist/chunk-TF7XVTSP.cjs.map +1 -0
  234. package/dist/{chunk-PXVVTPRJ.js → chunk-TKTLWX2V.js} +11 -10
  235. package/dist/chunk-TKTLWX2V.js.map +1 -0
  236. package/dist/{chunk-ZXPKFGRB.cjs → chunk-TPB53MHV.cjs} +82 -76
  237. package/dist/chunk-TPB53MHV.cjs.map +1 -0
  238. package/dist/chunk-TQA3BI7M.cjs +216 -0
  239. package/dist/chunk-TQA3BI7M.cjs.map +1 -0
  240. package/dist/{chunk-MACIT6C6.js → chunk-U6NH54YD.js} +7 -6
  241. package/dist/chunk-U6NH54YD.js.map +1 -0
  242. package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
  243. package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
  244. package/dist/{chunk-S4GLMGFI.js → chunk-UKW2C5RN.js} +6 -5
  245. package/dist/chunk-UKW2C5RN.js.map +1 -0
  246. package/dist/chunk-UUVLEOSD.js +216 -0
  247. package/dist/chunk-UUVLEOSD.js.map +1 -0
  248. package/dist/{chunk-BA2VUDQS.js → chunk-VFGSNR35.js} +4 -4
  249. package/dist/{chunk-BA2VUDQS.js.map → chunk-VFGSNR35.js.map} +1 -1
  250. package/dist/{chunk-6ADWXOZ2.cjs → chunk-VGHNBMEJ.cjs} +6 -6
  251. package/dist/{chunk-6ADWXOZ2.cjs.map → chunk-VGHNBMEJ.cjs.map} +1 -1
  252. package/dist/{chunk-UR7RYJOU.cjs → chunk-VHKA25IV.cjs} +20 -17
  253. package/dist/chunk-VHKA25IV.cjs.map +1 -0
  254. package/dist/{chunk-E7UOFIBW.cjs → chunk-VK4O6W2K.cjs} +8 -7
  255. package/dist/chunk-VK4O6W2K.cjs.map +1 -0
  256. package/dist/{chunk-2VOB6LEI.js → chunk-VQ7U3ASC.js} +4 -4
  257. package/dist/{chunk-2VOB6LEI.js.map → chunk-VQ7U3ASC.js.map} +1 -1
  258. package/dist/{chunk-E4KM3RQ2.js → chunk-VUCMGGU5.js} +32 -17
  259. package/dist/chunk-VUCMGGU5.js.map +1 -0
  260. package/dist/{chunk-UY3MYNI6.js → chunk-W2Q4PQ6I.js} +6 -5
  261. package/dist/chunk-W2Q4PQ6I.js.map +1 -0
  262. package/dist/{chunk-RKMW3ZOK.js → chunk-W3C6QQF7.js} +5 -5
  263. package/dist/{chunk-RKMW3ZOK.js.map → chunk-W3C6QQF7.js.map} +1 -1
  264. package/dist/{chunk-GEGYC7CE.js → chunk-WBGFFP3G.js} +7 -7
  265. package/dist/chunk-WBGFFP3G.js.map +1 -0
  266. package/dist/{chunk-5BLNJVIA.js → chunk-WBQNPBXR.js} +10 -9
  267. package/dist/chunk-WBQNPBXR.js.map +1 -0
  268. package/dist/{chunk-ZH3GKYUZ.js → chunk-WY5BOT7O.js} +4 -4
  269. package/dist/{chunk-ZH3GKYUZ.js.map → chunk-WY5BOT7O.js.map} +1 -1
  270. package/dist/{chunk-PLXUM7U6.cjs → chunk-X574M2JB.cjs} +13 -13
  271. package/dist/{chunk-PLXUM7U6.cjs.map → chunk-X574M2JB.cjs.map} +1 -1
  272. package/dist/{chunk-ZNPTARIS.cjs → chunk-XLKXFJMU.cjs} +8 -8
  273. package/dist/{chunk-ZNPTARIS.cjs.map → chunk-XLKXFJMU.cjs.map} +1 -1
  274. package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
  275. package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
  276. package/dist/{chunk-A66NIFJE.cjs → chunk-XXBA3KSH.cjs} +5 -5
  277. package/dist/{chunk-A66NIFJE.cjs.map → chunk-XXBA3KSH.cjs.map} +1 -1
  278. package/dist/{chunk-PXIWITSS.js → chunk-YAWVGZRC.js} +6 -6
  279. package/dist/{chunk-PXIWITSS.js.map → chunk-YAWVGZRC.js.map} +1 -1
  280. package/dist/{chunk-BFWKL5MJ.cjs → chunk-YHBYVERE.cjs} +29 -28
  281. package/dist/chunk-YHBYVERE.cjs.map +1 -0
  282. package/dist/{chunk-CPOYENSZ.cjs → chunk-YO3MBGBP.cjs} +4 -4
  283. package/dist/{chunk-CPOYENSZ.cjs.map → chunk-YO3MBGBP.cjs.map} +1 -1
  284. package/dist/{chunk-MQQ4GSUG.cjs → chunk-YVHWOKR7.cjs} +33 -32
  285. package/dist/chunk-YVHWOKR7.cjs.map +1 -0
  286. package/dist/{chunk-C264Z2GQ.cjs → chunk-YWGYN6YV.cjs} +11 -10
  287. package/dist/chunk-YWGYN6YV.cjs.map +1 -0
  288. package/dist/{chunk-KFEXS6OK.cjs → chunk-YY6KJO5Z.cjs} +15 -14
  289. package/dist/chunk-YY6KJO5Z.cjs.map +1 -0
  290. package/dist/{chunk-IG4UJZ6B.js → chunk-YYNWZRXZ.js} +24 -21
  291. package/dist/chunk-YYNWZRXZ.js.map +1 -0
  292. package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
  293. package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
  294. package/dist/{chunk-7FY26X2V.js → chunk-ZAX2UJBC.js} +8 -7
  295. package/dist/chunk-ZAX2UJBC.js.map +1 -0
  296. package/dist/{chunk-WATCCAQU.js → chunk-ZEA2VYX4.js} +5 -4
  297. package/dist/chunk-ZEA2VYX4.js.map +1 -0
  298. package/dist/{chunk-AXT4VA5N.cjs → chunk-ZFBQ4R7M.cjs} +11 -10
  299. package/dist/chunk-ZFBQ4R7M.cjs.map +1 -0
  300. package/dist/{chunk-AX6HC2YY.cjs → chunk-ZN7CULIL.cjs} +3 -3
  301. package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZN7CULIL.cjs.map} +1 -1
  302. package/dist/{chunk-OHKL4DOV.js → chunk-ZQUPAIBS.js} +8 -7
  303. package/dist/chunk-ZQUPAIBS.js.map +1 -0
  304. package/dist/{chunk-JVLE7PCJ.cjs → chunk-ZTWBG2XY.cjs} +8 -8
  305. package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-ZTWBG2XY.cjs.map} +1 -1
  306. package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
  307. package/dist/components/Accordion/index.cjs +6 -7
  308. package/dist/components/Accordion/index.js +3 -4
  309. package/dist/components/Alert/Alert.d.ts.map +1 -1
  310. package/dist/components/Alert/Alert.recipe.d.ts +1 -1
  311. package/dist/components/Alert/index.cjs +13 -13
  312. package/dist/components/Alert/index.js +12 -12
  313. package/dist/components/AlertDialog/index.cjs +16 -16
  314. package/dist/components/AlertDialog/index.js +14 -14
  315. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  316. package/dist/components/AppShell/index.cjs +21 -21
  317. package/dist/components/AppShell/index.js +18 -18
  318. package/dist/components/AspectRatio/index.cjs +3 -3
  319. package/dist/components/AspectRatio/index.js +2 -2
  320. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +9 -2
  321. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  322. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
  323. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
  324. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
  325. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
  326. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +25 -3
  327. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  328. package/dist/components/AutocompleteInput/index.cjs +21 -21
  329. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  330. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  331. package/dist/components/AutocompleteInput/index.js +16 -16
  332. package/dist/components/AutocompleteInput/types.d.ts +42 -6
  333. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  334. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  335. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  336. package/dist/components/Avatar/index.cjs +7 -7
  337. package/dist/components/Avatar/index.js +4 -4
  338. package/dist/components/AvatarGroup/index.cjs +7 -7
  339. package/dist/components/AvatarGroup/index.js +5 -5
  340. package/dist/components/Badge/index.cjs +1 -1
  341. package/dist/components/Badge/index.js +1 -1
  342. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  343. package/dist/components/Blockquote/index.cjs +5 -5
  344. package/dist/components/Blockquote/index.js +4 -4
  345. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  346. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
  347. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
  348. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  349. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
  350. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
  351. package/dist/components/Breadcrumbs/index.cjs +11 -10
  352. package/dist/components/Breadcrumbs/index.js +8 -7
  353. package/dist/components/Button/Button.d.ts.map +1 -1
  354. package/dist/components/Button/Button.recipe.d.ts +80 -62
  355. package/dist/components/Button/Button.recipe.d.ts.map +1 -1
  356. package/dist/components/Button/index.cjs +12 -12
  357. package/dist/components/Button/index.js +11 -11
  358. package/dist/components/ButtonGroup/index.cjs +1 -1
  359. package/dist/components/ButtonGroup/index.js +1 -1
  360. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  361. package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
  362. package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
  363. package/dist/components/Calendar/index.cjs +13 -13
  364. package/dist/components/Calendar/index.js +12 -12
  365. package/dist/components/Card/index.cjs +1 -1
  366. package/dist/components/Card/index.js +1 -1
  367. package/dist/components/Center/index.cjs +1 -1
  368. package/dist/components/Center/index.js +1 -1
  369. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  370. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
  371. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
  372. package/dist/components/CheckboxInput/index.cjs +13 -13
  373. package/dist/components/CheckboxInput/index.js +12 -12
  374. package/dist/components/CodeBlock/index.cjs +14 -14
  375. package/dist/components/CodeBlock/index.js +13 -13
  376. package/dist/components/ContextMenu/index.cjs +18 -18
  377. package/dist/components/ContextMenu/index.js +16 -16
  378. package/dist/components/DateInput/DateInput.d.ts +5 -1
  379. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  380. package/dist/components/DateInput/index.cjs +17 -17
  381. package/dist/components/DateInput/index.js +16 -16
  382. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  383. package/dist/components/DateRangeInput/index.cjs +17 -17
  384. package/dist/components/DateRangeInput/index.js +16 -16
  385. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  386. package/dist/components/DateTimeInput/index.cjs +19 -19
  387. package/dist/components/DateTimeInput/index.js +18 -18
  388. package/dist/components/Dialog/index.cjs +5 -6
  389. package/dist/components/Dialog/index.js +3 -4
  390. package/dist/components/Divider/Divider.d.ts.map +1 -1
  391. package/dist/components/Divider/index.cjs +5 -5
  392. package/dist/components/Divider/index.js +4 -4
  393. package/dist/components/Drawer/index.cjs +4 -4
  394. package/dist/components/Drawer/index.js +2 -2
  395. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  396. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  397. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
  398. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
  399. package/dist/components/DropdownMenu/index.cjs +19 -19
  400. package/dist/components/DropdownMenu/index.js +15 -15
  401. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  402. package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
  403. package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
  404. package/dist/components/EmptyState/index.cjs +8 -7
  405. package/dist/components/EmptyState/index.js +7 -6
  406. package/dist/components/Field/Field.d.ts.map +1 -1
  407. package/dist/components/Field/index.cjs +11 -11
  408. package/dist/components/Field/index.js +9 -9
  409. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  410. package/dist/components/FileInput/index.cjs +15 -15
  411. package/dist/components/FileInput/index.js +14 -14
  412. package/dist/components/HoverCard/index.cjs +5 -5
  413. package/dist/components/HoverCard/index.js +3 -3
  414. package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
  415. package/dist/components/Icon/index.cjs +1 -1
  416. package/dist/components/Icon/index.js +1 -1
  417. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  418. package/dist/components/InputGroup/index.cjs +14 -14
  419. package/dist/components/InputGroup/index.js +10 -10
  420. package/dist/components/Item/Item.d.ts.map +1 -1
  421. package/dist/components/Item/index.cjs +9 -9
  422. package/dist/components/Item/index.js +8 -8
  423. package/dist/components/Kbd/index.cjs +4 -5
  424. package/dist/components/Kbd/index.js +3 -4
  425. package/dist/components/Layout/Layout.d.ts.map +1 -1
  426. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  427. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  428. package/dist/components/Layout/index.cjs +17 -17
  429. package/dist/components/Layout/index.js +12 -12
  430. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  431. package/dist/components/Lightbox/index.cjs +14 -14
  432. package/dist/components/Lightbox/index.js +12 -12
  433. package/dist/components/Link/index.cjs +9 -9
  434. package/dist/components/Link/index.js +6 -6
  435. package/dist/components/List/List.d.ts.map +1 -1
  436. package/dist/components/List/List.recipe.d.ts +42 -0
  437. package/dist/components/List/List.recipe.d.ts.map +1 -0
  438. package/dist/components/List/ListItem.d.ts.map +1 -1
  439. package/dist/components/List/index.cjs +12 -11
  440. package/dist/components/List/index.js +10 -9
  441. package/dist/components/MetadataList/index.cjs +7 -8
  442. package/dist/components/MetadataList/index.js +5 -6
  443. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  444. package/dist/components/MultiSelect/index.cjs +17 -17
  445. package/dist/components/MultiSelect/index.js +16 -16
  446. package/dist/components/NavIcon/index.cjs +3 -3
  447. package/dist/components/NavIcon/index.js +2 -2
  448. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  449. package/dist/components/NumberInput/index.cjs +16 -16
  450. package/dist/components/NumberInput/index.js +15 -15
  451. package/dist/components/Pagination/index.cjs +13 -13
  452. package/dist/components/Pagination/index.js +12 -12
  453. package/dist/components/PasswordInput/index.cjs +17 -17
  454. package/dist/components/PasswordInput/index.js +16 -16
  455. package/dist/components/Popover/Popover.d.ts.map +1 -1
  456. package/dist/components/Popover/index.cjs +14 -14
  457. package/dist/components/Popover/index.js +12 -12
  458. package/dist/components/Progress/Progress.d.ts.map +1 -1
  459. package/dist/components/Progress/Progress.recipe.d.ts +34 -16
  460. package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
  461. package/dist/components/Progress/index.cjs +5 -4
  462. package/dist/components/Progress/index.js +4 -3
  463. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/index.cjs +14 -14
  466. package/dist/components/RadioGroup/index.js +12 -12
  467. package/dist/components/Rating/index.cjs +5 -6
  468. package/dist/components/Rating/index.js +4 -5
  469. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  470. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  471. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  472. package/dist/components/Schedule/index.cjs +27 -27
  473. package/dist/components/Schedule/index.js +16 -16
  474. package/dist/components/Schedule/shared.d.ts.map +1 -1
  475. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  476. package/dist/components/SearchFilterInput/index.cjs +36 -36
  477. package/dist/components/SearchFilterInput/index.js +28 -28
  478. package/dist/components/SegmentedControl/index.cjs +5 -5
  479. package/dist/components/SegmentedControl/index.js +3 -3
  480. package/dist/components/Select/Select.d.ts.map +1 -1
  481. package/dist/components/Select/Select.recipe.d.ts +25 -0
  482. package/dist/components/Select/Select.recipe.d.ts.map +1 -0
  483. package/dist/components/Select/SelectOption.d.ts.map +1 -1
  484. package/dist/components/Select/index.cjs +19 -19
  485. package/dist/components/Select/index.js +17 -17
  486. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  487. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  488. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  489. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  490. package/dist/components/SideNav/index.cjs +20 -20
  491. package/dist/components/SideNav/index.js +14 -14
  492. package/dist/components/Skeleton/index.cjs +1 -1
  493. package/dist/components/Skeleton/index.js +1 -1
  494. package/dist/components/Slider/index.cjs +11 -11
  495. package/dist/components/Slider/index.js +10 -10
  496. package/dist/components/Spinner/index.cjs +7 -8
  497. package/dist/components/Spinner/index.js +6 -7
  498. package/dist/components/SplitButton/index.cjs +17 -17
  499. package/dist/components/SplitButton/index.js +16 -16
  500. package/dist/components/Stack/HStack.d.ts +1 -1
  501. package/dist/components/Stack/HStack.d.ts.map +1 -1
  502. package/dist/components/Stack/VStack.d.ts +1 -1
  503. package/dist/components/Stack/VStack.d.ts.map +1 -1
  504. package/dist/components/Stack/index.cjs +4 -4
  505. package/dist/components/Stack/index.d.ts +1 -1
  506. package/dist/components/Stack/index.d.ts.map +1 -1
  507. package/dist/components/Stack/index.js +2 -2
  508. package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
  509. package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
  510. package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
  511. package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
  512. package/dist/components/Stepper/Step.d.ts.map +1 -1
  513. package/dist/components/Stepper/index.cjs +9 -9
  514. package/dist/components/Stepper/index.js +6 -6
  515. package/dist/components/Switch/Switch.d.ts.map +1 -1
  516. package/dist/components/Switch/index.cjs +10 -10
  517. package/dist/components/Switch/index.js +9 -9
  518. package/dist/components/Table/BaseTable.d.ts.map +1 -1
  519. package/dist/components/Table/index.cjs +59 -59
  520. package/dist/components/Table/index.js +31 -31
  521. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  522. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  523. package/dist/components/Tabs/index.cjs +18 -18
  524. package/dist/components/Tabs/index.js +13 -13
  525. package/dist/components/Tag/Tag.d.ts +2 -2
  526. package/dist/components/Tag/Tag.d.ts.map +1 -1
  527. package/dist/components/Tag/Tag.recipe.d.ts +103 -68
  528. package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
  529. package/dist/components/Tag/index.cjs +9 -8
  530. package/dist/components/Tag/index.js +8 -7
  531. package/dist/components/TagsInput/TagsInput.d.ts +3 -1
  532. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  533. package/dist/components/TagsInput/index.cjs +18 -18
  534. package/dist/components/TagsInput/index.js +17 -17
  535. package/dist/components/Text/Heading.d.ts.map +1 -1
  536. package/dist/components/Text/Text.d.ts.map +1 -1
  537. package/dist/components/Text/index.cjs +6 -6
  538. package/dist/components/Text/index.js +4 -4
  539. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  540. package/dist/components/TextArea/index.cjs +12 -12
  541. package/dist/components/TextArea/index.js +11 -11
  542. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  543. package/dist/components/TextInput/index.cjs +16 -16
  544. package/dist/components/TextInput/index.js +15 -15
  545. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
  546. package/dist/components/Thumbnail/index.cjs +13 -13
  547. package/dist/components/Thumbnail/index.js +12 -12
  548. package/dist/components/TimeInput/TimeInput.d.ts +10 -2
  549. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  550. package/dist/components/TimeInput/index.cjs +15 -15
  551. package/dist/components/TimeInput/index.js +14 -14
  552. package/dist/components/Toast/Toast.d.ts.map +1 -1
  553. package/dist/components/Toast/Toast.recipe.d.ts +39 -0
  554. package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
  555. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  556. package/dist/components/Toast/index.cjs +15 -15
  557. package/dist/components/Toast/index.js +12 -12
  558. package/dist/components/ToggleButton/index.cjs +10 -11
  559. package/dist/components/ToggleButton/index.js +8 -9
  560. package/dist/components/Tooltip/index.cjs +5 -5
  561. package/dist/components/Tooltip/index.js +3 -3
  562. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  563. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  564. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  565. package/dist/components/TopNav/index.cjs +20 -20
  566. package/dist/components/TopNav/index.js +14 -14
  567. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  568. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  569. package/dist/components/TreeView/index.cjs +4 -3
  570. package/dist/components/TreeView/index.js +3 -2
  571. package/dist/index.cjs +248 -248
  572. package/dist/index.d.ts +1 -1
  573. package/dist/index.d.ts.map +1 -1
  574. package/dist/index.js +77 -77
  575. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  576. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  577. package/dist/internal/OverflowList.d.ts.map +1 -1
  578. package/dist/internal/index.d.ts +1 -0
  579. package/dist/internal/index.d.ts.map +1 -1
  580. package/dist/internal/isReactNode.d.ts +3 -0
  581. package/dist/internal/isReactNode.d.ts.map +1 -0
  582. package/dist/internal/useLayer.d.ts.map +1 -1
  583. package/dist/internal/useSelectListbox.d.ts +2 -2
  584. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  585. package/dist/styles.css +1 -1
  586. package/package.json +1 -1
  587. package/dist/chunk-25FU5AVR.cjs.map +0 -1
  588. package/dist/chunk-2D6SGEPH.cjs.map +0 -1
  589. package/dist/chunk-2TGDDZG6.cjs +0 -441
  590. package/dist/chunk-2TGDDZG6.cjs.map +0 -1
  591. package/dist/chunk-2YC7SMVF.js.map +0 -1
  592. package/dist/chunk-32G54PL3.cjs.map +0 -1
  593. package/dist/chunk-3PDUOYAT.cjs.map +0 -1
  594. package/dist/chunk-3WMLV4VP.cjs.map +0 -1
  595. package/dist/chunk-4I6VIR44.cjs.map +0 -1
  596. package/dist/chunk-4M2KCZMO.js.map +0 -1
  597. package/dist/chunk-4YESF35X.cjs +0 -211
  598. package/dist/chunk-4YESF35X.cjs.map +0 -1
  599. package/dist/chunk-4Z62KDKI.js.map +0 -1
  600. package/dist/chunk-5BLNJVIA.js.map +0 -1
  601. package/dist/chunk-5MDH6QZE.js.map +0 -1
  602. package/dist/chunk-5Q5TJUHI.js.map +0 -1
  603. package/dist/chunk-5QPM5LUS.cjs.map +0 -1
  604. package/dist/chunk-67VLK263.js.map +0 -1
  605. package/dist/chunk-6BK4LUK4.cjs +0 -17
  606. package/dist/chunk-6BK4LUK4.cjs.map +0 -1
  607. package/dist/chunk-6D3FA247.js +0 -126
  608. package/dist/chunk-6D3FA247.js.map +0 -1
  609. package/dist/chunk-6XESVFC3.js.map +0 -1
  610. package/dist/chunk-76FHSISK.cjs.map +0 -1
  611. package/dist/chunk-77RGTGRM.cjs +0 -128
  612. package/dist/chunk-77RGTGRM.cjs.map +0 -1
  613. package/dist/chunk-7FY26X2V.js.map +0 -1
  614. package/dist/chunk-7GN6YTSS.cjs.map +0 -1
  615. package/dist/chunk-7P3VY5JZ.js.map +0 -1
  616. package/dist/chunk-AADUJ6CN.js.map +0 -1
  617. package/dist/chunk-ACQMLJ4I.cjs.map +0 -1
  618. package/dist/chunk-AH4AMQEO.js.map +0 -1
  619. package/dist/chunk-AMG3S252.js.map +0 -1
  620. package/dist/chunk-ATDW2VII.cjs.map +0 -1
  621. package/dist/chunk-AXT4VA5N.cjs.map +0 -1
  622. package/dist/chunk-BERQEJYB.js.map +0 -1
  623. package/dist/chunk-BFWKL5MJ.cjs.map +0 -1
  624. package/dist/chunk-BJD32VBQ.cjs.map +0 -1
  625. package/dist/chunk-BYBVI7UN.js.map +0 -1
  626. package/dist/chunk-C264Z2GQ.cjs.map +0 -1
  627. package/dist/chunk-CFOGSQCG.cjs.map +0 -1
  628. package/dist/chunk-CZNN2GOC.js.map +0 -1
  629. package/dist/chunk-DSNJDFO3.cjs.map +0 -1
  630. package/dist/chunk-E2JZGYKU.cjs +0 -181
  631. package/dist/chunk-E2JZGYKU.cjs.map +0 -1
  632. package/dist/chunk-E4KM3RQ2.js.map +0 -1
  633. package/dist/chunk-E7UOFIBW.cjs.map +0 -1
  634. package/dist/chunk-EFO5NDBJ.js +0 -191
  635. package/dist/chunk-EFO5NDBJ.js.map +0 -1
  636. package/dist/chunk-EHCAF6D3.js.map +0 -1
  637. package/dist/chunk-EMHLPPQZ.js.map +0 -1
  638. package/dist/chunk-EUN5TCB2.js.map +0 -1
  639. package/dist/chunk-GEGYC7CE.js.map +0 -1
  640. package/dist/chunk-GI5MVVIX.js.map +0 -1
  641. package/dist/chunk-GUKZNXTB.js +0 -15
  642. package/dist/chunk-GUKZNXTB.js.map +0 -1
  643. package/dist/chunk-H2SGYAUO.js.map +0 -1
  644. package/dist/chunk-HLN3JQYD.js.map +0 -1
  645. package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
  646. package/dist/chunk-IG4UJZ6B.js.map +0 -1
  647. package/dist/chunk-ISYUZ5FS.js.map +0 -1
  648. package/dist/chunk-ITDQSF2O.cjs.map +0 -1
  649. package/dist/chunk-IXJOPMJX.cjs.map +0 -1
  650. package/dist/chunk-J2FCNWYM.js.map +0 -1
  651. package/dist/chunk-JAHKLROD.cjs.map +0 -1
  652. package/dist/chunk-JMNH45Q3.cjs.map +0 -1
  653. package/dist/chunk-K6CQ45C2.js.map +0 -1
  654. package/dist/chunk-K77D7H4V.cjs.map +0 -1
  655. package/dist/chunk-KFEXS6OK.cjs.map +0 -1
  656. package/dist/chunk-L6JT244G.cjs.map +0 -1
  657. package/dist/chunk-L6WUK7O4.js +0 -207
  658. package/dist/chunk-L6WUK7O4.js.map +0 -1
  659. package/dist/chunk-LJLCGQRV.js +0 -99
  660. package/dist/chunk-LJLCGQRV.js.map +0 -1
  661. package/dist/chunk-MACIT6C6.js.map +0 -1
  662. package/dist/chunk-MAL4D4LR.cjs.map +0 -1
  663. package/dist/chunk-MMST4VXH.cjs +0 -392
  664. package/dist/chunk-MMST4VXH.cjs.map +0 -1
  665. package/dist/chunk-MQQ4GSUG.cjs.map +0 -1
  666. package/dist/chunk-OHKL4DOV.js.map +0 -1
  667. package/dist/chunk-OJCJPYXE.js.map +0 -1
  668. package/dist/chunk-OJKZS6HG.cjs.map +0 -1
  669. package/dist/chunk-P4A7GWQY.cjs.map +0 -1
  670. package/dist/chunk-P4TOIB2A.cjs +0 -101
  671. package/dist/chunk-P4TOIB2A.cjs.map +0 -1
  672. package/dist/chunk-PJXJOI73.js +0 -232
  673. package/dist/chunk-PJXJOI73.js.map +0 -1
  674. package/dist/chunk-PNYF6NS4.cjs.map +0 -1
  675. package/dist/chunk-PTJ5YZFY.cjs.map +0 -1
  676. package/dist/chunk-PXTE3XRD.js.map +0 -1
  677. package/dist/chunk-PXVVTPRJ.js.map +0 -1
  678. package/dist/chunk-PYW5UO2Z.js.map +0 -1
  679. package/dist/chunk-S4GLMGFI.js.map +0 -1
  680. package/dist/chunk-SEAVOF6B.js.map +0 -1
  681. package/dist/chunk-SFT5LCQP.cjs.map +0 -1
  682. package/dist/chunk-SSOHJEHS.js +0 -390
  683. package/dist/chunk-SSOHJEHS.js.map +0 -1
  684. package/dist/chunk-TO3ZPSYO.cjs +0 -234
  685. package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
  686. package/dist/chunk-TRK2ZZFB.cjs.map +0 -1
  687. package/dist/chunk-U2WVHZ24.cjs.map +0 -1
  688. package/dist/chunk-UJODHP7E.cjs.map +0 -1
  689. package/dist/chunk-UMGW7WJI.cjs.map +0 -1
  690. package/dist/chunk-UR7RYJOU.cjs.map +0 -1
  691. package/dist/chunk-UX2Z7LRM.cjs +0 -194
  692. package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
  693. package/dist/chunk-UY3MYNI6.js.map +0 -1
  694. package/dist/chunk-VSEKSDTK.js.map +0 -1
  695. package/dist/chunk-VYFMYXU4.js.map +0 -1
  696. package/dist/chunk-W3QVSVL7.cjs.map +0 -1
  697. package/dist/chunk-WA4VZ363.cjs.map +0 -1
  698. package/dist/chunk-WATCCAQU.js.map +0 -1
  699. package/dist/chunk-X5ZQRMEM.cjs.map +0 -1
  700. package/dist/chunk-XQU4ECJY.js.map +0 -1
  701. package/dist/chunk-XVRQSTUF.js.map +0 -1
  702. package/dist/chunk-Y5SXQR52.cjs.map +0 -1
  703. package/dist/chunk-YBPG5RPR.cjs.map +0 -1
  704. package/dist/chunk-YGYA4BYN.js.map +0 -1
  705. package/dist/chunk-ZC6GLBEL.js +0 -179
  706. package/dist/chunk-ZC6GLBEL.js.map +0 -1
  707. package/dist/chunk-ZNUOFLCQ.js.map +0 -1
  708. package/dist/chunk-ZNZ67KFM.js.map +0 -1
  709. package/dist/chunk-ZTQQ2O6O.cjs.map +0 -1
  710. package/dist/chunk-ZW2ATXTL.js.map +0 -1
  711. package/dist/chunk-ZXPKFGRB.cjs.map +0 -1
  712. package/dist/components/Stack/Stack.d.ts.map +0 -1
  713. package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Thumbnail/Thumbnail.recipe.ts","../src/components/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"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","file":"chunk-XM3AZXOA.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const thumbnailRecipe = sva({\n slots: [\n 'root',\n 'imageContainer',\n 'imageButton',\n 'image',\n 'placeholder',\n 'insetBorder',\n 'remove',\n 'overlay',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column',\n w: '16',\n flexShrink: 0,\n isolation: 'isolate',\n },\n imageContainer: {\n position: 'relative',\n w: 'full',\n aspectRatio: '1',\n borderRadius: 'md',\n overflow: 'hidden',\n bg: 'surface.gray',\n },\n imageButton: {\n display: 'block',\n w: 'full',\n h: 'full',\n cursor: 'pointer',\n borderRadius: 'inherit',\n overflow: 'hidden',\n },\n image: {\n display: 'block',\n w: 'full',\n h: 'full',\n objectFit: 'cover',\n },\n placeholder: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n color: 'fg.muted',\n },\n insetBorder: {\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)',\n pointerEvents: 'none',\n },\n remove: {\n position: 'absolute',\n top: '1',\n right: '1',\n zIndex: 1,\n color: 'fg.onPrimary',\n },\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n bg: 'overlay.scrim.subtle',\n borderRadius: 'inherit',\n zIndex: 1,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n },\n isInteractive: {\n true: {\n imageContainer: {\n cursor: 'pointer',\n transitionProperty: 'opacity, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n boxShadow: 'lg',\n opacity: 0.9,\n },\n _active: {\n opacity: 0.75,\n },\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n isInteractive: false,\n },\n});\n\nexport type ThumbnailVariants = RecipeVariantProps<typeof thumbnailRecipe>;\n","import {ImageIcon, X} from 'lucide-react';\nimport {useState, type CSSProperties, type MouseEvent, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Skeleton} from '../Skeleton';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {thumbnailRecipe} from './Thumbnail.recipe';\n\nexport interface ThumbnailProps {\n /**\n * Alt text describing the image content. Use `label` for a file name or\n * action label shown in the tooltip and button accessible names.\n */\n alt?: string;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Whether the thumbnail is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the thumbnail is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * File name or short item label used for the root accessible name, tooltip,\n * and open/remove button labels. When omitted, `alt` is used as a fallback.\n */\n label?: string;\n /**\n * Called when the thumbnail image area is clicked.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Called when the remove button is clicked.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Image source.\n */\n src?: string;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\ntype ThumbnailClasses = ReturnType<typeof thumbnailRecipe>;\n\ntype ThumbnailImageAreaProps = Pick<\n ThumbnailProps,\n 'alt' | 'isLoading' | 'onClick' | 'onRemove' | 'src'\n> & {\n accessibleName: string;\n classes: ThumbnailClasses;\n isDisabled: boolean;\n};\n\nfunction ThumbnailImageArea({\n accessibleName,\n alt,\n classes,\n isDisabled,\n isLoading = false,\n onClick,\n onRemove,\n src,\n}: ThumbnailImageAreaProps): React.JSX.Element {\n const [hasImageError, setHasImageError] = useState(false);\n const hasImage = src != null && !hasImageError;\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const imageContent =\n isLoading && !hasImage ? (\n <Skeleton radius={2} />\n ) : hasImage ? (\n <img\n alt={alt ?? ''}\n className={classes.image}\n onError={() => setHasImageError(true)}\n src={src}\n />\n ) : (\n <div className={classes.placeholder}>\n <Icon icon={ImageIcon} size=\"lg\" />\n </div>\n );\n\n return (\n <div className={classes.imageContainer}>\n {isInteractive ? (\n <button\n aria-label={`Open ${accessibleName}`}\n className={classes.imageButton}\n onClick={onClick}\n type=\"button\">\n {imageContent}\n </button>\n ) : (\n imageContent\n )}\n {hasImage ? <div className={classes.insetBorder} /> : null}\n {isLoading && hasImage ? (\n <div className={classes.overlay}>\n <Spinner size=\"sm\" variant=\"onMedia\" />\n </div>\n ) : null}\n {onRemove != null && !isDisabled ? (\n <div className={classes.remove}>\n <Button\n icon={X}\n isIconOnly\n label={`Remove ${accessibleName}`}\n onClick={event => {\n event.stopPropagation();\n onRemove(event as MouseEvent<HTMLButtonElement>);\n }}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n ) : null}\n </div>\n );\n}\n\n/**\n * Square image preview for attachments and media.\n */\nexport function Thumbnail({\n alt,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isLoading = false,\n label,\n onClick,\n onRemove,\n ref,\n src,\n style,\n}: ThumbnailProps): React.JSX.Element {\n const accessibleName = label ?? alt ?? 'thumbnail';\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const classes = thumbnailRecipe({isDisabled, isInteractive});\n\n const thumbnail = (\n <div\n aria-busy={isLoading || undefined}\n aria-label={accessibleName}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ThumbnailImageArea\n accessibleName={accessibleName}\n alt={alt}\n classes={classes}\n isDisabled={isDisabled}\n isLoading={isLoading}\n key={src ?? 'empty'}\n onClick={onClick}\n onRemove={onRemove}\n src={src}\n />\n </div>\n );\n\n return label != null ? (\n <Tooltip content={label}>{thumbnail}</Tooltip>\n ) : (\n thumbnail\n );\n}\n\nThumbnail.displayName = 'Thumbnail';\n"]}
1
+ {"version":3,"sources":["../src/components/Thumbnail/Thumbnail.recipe.ts","../src/components/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"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","file":"chunk-ILEKDNP7.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const thumbnailRecipe = sva({\n slots: [\n 'root',\n 'imageContainer',\n 'imageButton',\n 'image',\n 'placeholder',\n 'insetBorder',\n 'remove',\n 'overlay',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column',\n w: '16',\n flexShrink: 0,\n isolation: 'isolate',\n },\n imageContainer: {\n position: 'relative',\n w: 'full',\n aspectRatio: '1',\n borderRadius: 'md',\n overflow: 'hidden',\n bg: 'surface.gray',\n },\n imageButton: {\n display: 'block',\n w: 'full',\n h: 'full',\n cursor: 'pointer',\n borderRadius: 'inherit',\n overflow: 'hidden',\n },\n image: {\n display: 'block',\n w: 'full',\n h: 'full',\n objectFit: 'cover',\n },\n placeholder: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n color: 'fg.muted',\n },\n insetBorder: {\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)',\n pointerEvents: 'none',\n },\n remove: {\n position: 'absolute',\n top: '1',\n right: '1',\n zIndex: 1,\n color: 'fg.onPrimary',\n },\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n bg: 'overlay.scrim.subtle',\n borderRadius: 'inherit',\n zIndex: 1,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n },\n isInteractive: {\n true: {\n imageContainer: {\n cursor: 'pointer',\n transitionProperty: 'opacity, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n boxShadow: 'lg',\n opacity: 0.9,\n },\n _active: {\n opacity: 0.75,\n },\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n isInteractive: false,\n },\n});\n\nexport type ThumbnailVariants = RecipeVariantProps<typeof thumbnailRecipe>;\n","import {ImageIcon, X} from 'lucide-react';\nimport {useState, type CSSProperties, type MouseEvent, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Skeleton} from '../Skeleton';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {thumbnailRecipe} from './Thumbnail.recipe';\n\nexport interface ThumbnailProps {\n /**\n * Alt text describing the image content. Use `label` for a file name or\n * action label shown in the tooltip and button accessible names.\n */\n alt?: string;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Whether the thumbnail is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the thumbnail is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * File name or short item label used for the root accessible name, tooltip,\n * and open/remove button labels. When omitted, `alt` is used as a fallback.\n */\n label?: string;\n /**\n * Called when the thumbnail image area is clicked.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Called when the remove button is clicked.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Image source.\n */\n src?: string;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\ntype ThumbnailClasses = ReturnType<typeof thumbnailRecipe>;\n\ntype ThumbnailImageAreaProps = Pick<\n ThumbnailProps,\n 'alt' | 'isLoading' | 'onClick' | 'onRemove' | 'src'\n> & {\n accessibleName: string;\n classes: ThumbnailClasses;\n isDisabled: boolean;\n};\n\nfunction ThumbnailImageArea({\n accessibleName,\n alt,\n classes,\n isDisabled,\n isLoading = false,\n onClick,\n onRemove,\n src,\n}: ThumbnailImageAreaProps): React.JSX.Element {\n const [hasImageError, setHasImageError] = useState(false);\n const hasImage = src != null && !hasImageError;\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const imageContent =\n isLoading && !hasImage ? (\n <Skeleton radius={2} />\n ) : hasImage ? (\n <img\n alt={alt ?? ''}\n className={classes.image}\n onError={() => setHasImageError(true)}\n src={src}\n />\n ) : (\n <div className={classes.placeholder}>\n <Icon icon={ImageIcon} size=\"lg\" />\n </div>\n );\n\n return (\n <div className={classes.imageContainer}>\n {isInteractive ? (\n <button\n aria-label={`Open ${accessibleName}`}\n className={classes.imageButton}\n onClick={onClick}\n type=\"button\">\n {imageContent}\n </button>\n ) : (\n imageContent\n )}\n {hasImage ? <div className={classes.insetBorder} /> : null}\n {isLoading && hasImage ? (\n <div className={classes.overlay}>\n <Spinner size=\"sm\" variant=\"onMedia\" />\n </div>\n ) : null}\n {onRemove != null && !isDisabled ? (\n <div className={classes.remove}>\n <Button\n icon={X}\n isIconOnly\n label={`Remove ${accessibleName}`}\n onClick={event => {\n event.stopPropagation();\n onRemove(event as MouseEvent<HTMLButtonElement>);\n }}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n ) : null}\n </div>\n );\n}\n\n/**\n * Square image preview for attachments and media.\n */\nexport function Thumbnail({\n alt,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isLoading = false,\n label,\n onClick,\n onRemove,\n ref,\n src,\n style,\n}: ThumbnailProps): React.JSX.Element {\n const accessibleName = label ?? alt ?? 'thumbnail';\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const classes = thumbnailRecipe({isDisabled, isInteractive});\n\n const thumbnail = (\n <div\n aria-busy={isLoading || undefined}\n aria-label={accessibleName}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ThumbnailImageArea\n accessibleName={accessibleName}\n alt={alt}\n classes={classes}\n isDisabled={isDisabled}\n isLoading={isLoading}\n key={src ?? 'empty'}\n onClick={onClick}\n onRemove={onRemove}\n src={src}\n />\n </div>\n );\n\n return label != null ? (\n <Tooltip content={label}>{thumbnail}</Tooltip>\n ) : (\n thumbnail\n );\n}\n\nThumbnail.displayName = 'Thumbnail';\n"]}
@@ -1,6 +1,6 @@
1
1
  import { cva } from './chunk-FMEIPGUP.js';
2
- import { cx } from './chunk-PPNETWIP.js';
3
2
  import { css } from './chunk-OD4DHHZH.js';
3
+ import { cx } from './chunk-PPNETWIP.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
6
6
  // src/components/AspectRatio/AspectRatio.recipe.ts
@@ -54,5 +54,5 @@ function AspectRatio({
54
54
  AspectRatio.displayName = "AspectRatio";
55
55
 
56
56
  export { AspectRatio };
57
- //# sourceMappingURL=chunk-XSQOHNIF.js.map
58
- //# sourceMappingURL=chunk-XSQOHNIF.js.map
57
+ //# sourceMappingURL=chunk-J3DNWPXJ.js.map
58
+ //# sourceMappingURL=chunk-J3DNWPXJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AspectRatio/AspectRatio.recipe.ts","../src/components/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,UAAA;AAAA,IACV,CAAA,EAAG,MAAA;AAAA,IACH,IAAA,EAAM,CAAA;AAAA,IACN,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;ACSD,IAAM,MAAA,GAAS;AAAA,EACb,OAAO,GAAA,CAAI;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,CAAA,EAAG,MAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAEO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,QAAA,CAAS,KAAK,KAAK,KAAA,GAAQ,CAAA;AAEvD,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AACzC,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,kEAAA,EAAqE,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA;AAAA,OACpF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,aAAA,GAAgB,eAAe,KAAA,GAAQ,CAAA;AAE7C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAkB,EAAG,SAAS,CAAA;AAAA,MAC5C,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA,EAAO,EAAC,GAAG,KAAA,EAAO,aAAa,aAAA,EAAa;AAAA,MAC5C,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA,GAC1C;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-XSQOHNIF.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const aspectRatioRecipe = cva({\n base: {\n position: 'relative',\n w: '100%',\n minH: 0,\n flexShrink: 0,\n overflow: 'clip',\n },\n});\n\nexport type AspectRatioVariants = RecipeVariantProps<typeof aspectRatioRecipe>;\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {aspectRatioRecipe} from './AspectRatio.recipe';\n\n/**\n * Maintains a fixed width-to-height ratio for media or embedded content.\n */\nexport interface AspectRatioProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Width divided by height, such as `16 / 9`, `4 / 3`, or `1`.\n */\n ratio: number;\n}\n\nconst styles = {\n child: css({\n position: 'absolute',\n inset: 0,\n w: '100%',\n h: '100%',\n }),\n};\n\nexport function AspectRatio({\n children,\n className,\n 'data-testid': dataTestId,\n ratio,\n ref,\n style,\n ...rest\n}: AspectRatioProps): React.JSX.Element {\n const isValidRatio = Number.isFinite(ratio) && ratio > 0;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!isValidRatio) {\n throw new Error(\n `AspectRatio: \\`ratio\\` must be a finite positive number, received ${String(ratio)}.`,\n );\n }\n }\n\n const resolvedRatio = isValidRatio ? ratio : 1;\n\n return (\n <div\n {...rest}\n className={cx(aspectRatioRecipe(), className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...style, aspectRatio: resolvedRatio}}>\n <div className={styles.child}>{children}</div>\n </div>\n );\n}\n\nAspectRatio.displayName = 'AspectRatio';\n"]}
1
+ {"version":3,"sources":["../src/components/AspectRatio/AspectRatio.recipe.ts","../src/components/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,UAAA;AAAA,IACV,CAAA,EAAG,MAAA;AAAA,IACH,IAAA,EAAM,CAAA;AAAA,IACN,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;ACSD,IAAM,MAAA,GAAS;AAAA,EACb,OAAO,GAAA,CAAI;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,CAAA,EAAG,MAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAEO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,QAAA,CAAS,KAAK,KAAK,KAAA,GAAQ,CAAA;AAEvD,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AACzC,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,kEAAA,EAAqE,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA;AAAA,OACpF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,aAAA,GAAgB,eAAe,KAAA,GAAQ,CAAA;AAE7C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAkB,EAAG,SAAS,CAAA;AAAA,MAC5C,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA,EAAO,EAAC,GAAG,KAAA,EAAO,aAAa,aAAA,EAAa;AAAA,MAC5C,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA,GAC1C;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-J3DNWPXJ.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const aspectRatioRecipe = cva({\n base: {\n position: 'relative',\n w: '100%',\n minH: 0,\n flexShrink: 0,\n overflow: 'clip',\n },\n});\n\nexport type AspectRatioVariants = RecipeVariantProps<typeof aspectRatioRecipe>;\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {aspectRatioRecipe} from './AspectRatio.recipe';\n\n/**\n * Maintains a fixed width-to-height ratio for media or embedded content.\n */\nexport interface AspectRatioProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Width divided by height, such as `16 / 9`, `4 / 3`, or `1`.\n */\n ratio: number;\n}\n\nconst styles = {\n child: css({\n position: 'absolute',\n inset: 0,\n w: '100%',\n h: '100%',\n }),\n};\n\nexport function AspectRatio({\n children,\n className,\n 'data-testid': dataTestId,\n ratio,\n ref,\n style,\n ...rest\n}: AspectRatioProps): React.JSX.Element {\n const isValidRatio = Number.isFinite(ratio) && ratio > 0;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!isValidRatio) {\n throw new Error(\n `AspectRatio: \\`ratio\\` must be a finite positive number, received ${String(ratio)}.`,\n );\n }\n }\n\n const resolvedRatio = isValidRatio ? ratio : 1;\n\n return (\n <div\n {...rest}\n className={cx(aspectRatioRecipe(), className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...style, aspectRatio: resolvedRatio}}>\n <div className={styles.child}>{children}</div>\n </div>\n );\n}\n\nAspectRatio.displayName = 'AspectRatio';\n"]}
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkYBPG5RPR_cjs = require('./chunk-YBPG5RPR.cjs');
4
- var chunkJMNH45Q3_cjs = require('./chunk-JMNH45Q3.cjs');
5
- var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
3
+ var chunkQOKEU3DC_cjs = require('./chunk-QOKEU3DC.cjs');
4
+ var chunkM26XECB2_cjs = require('./chunk-M26XECB2.cjs');
5
+ var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
6
6
  var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
7
+ var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
7
8
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
8
9
  var lucideReact = require('lucide-react');
9
10
  var react = require('react');
@@ -23,7 +24,7 @@ var paddingVariants = {
23
24
  8: { bodyContent: { px: "8", py: "8" } },
24
25
  10: { bodyContent: { px: "10", py: "10" } }
25
26
  };
26
- var alertRecipe = chunk5QPM5LUS_cjs.sva({
27
+ var alertRecipe = chunkZ6RT3WPE_cjs.sva({
27
28
  slots: [
28
29
  "root",
29
30
  "header",
@@ -200,10 +201,10 @@ function Alert({
200
201
  const bodyId = react.useId();
201
202
  const [isDismissed, setIsDismissed] = react.useState(false);
202
203
  const [isExpanded, setIsExpanded] = react.useState(isDefaultExpanded);
203
- const hasChildren = children != null;
204
+ const hasChildren = chunkQAO6QMNQ_cjs.isReactNode(children);
204
205
  const showContent = hasChildren && isExpanded;
205
- const showEndArea = endContent != null || isDismissable || hasChildren;
206
- const isSingleLine = description == null && (endContent != null || isDismissable || hasChildren);
206
+ const showEndArea = chunkQAO6QMNQ_cjs.isReactNode(endContent) || isDismissable || hasChildren;
207
+ const isSingleLine = !chunkQAO6QMNQ_cjs.isReactNode(description) && (chunkQAO6QMNQ_cjs.isReactNode(endContent) || isDismissable || hasChildren);
207
208
  if (isDismissed) {
208
209
  return null;
209
210
  }
@@ -227,13 +228,13 @@ function Alert({
227
228
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.header, children: [
228
229
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: classes.icon, children: icon ?? defaultIcons[status] }),
229
230
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.content, children: [
230
- /* @__PURE__ */ jsxRuntime.jsx(chunkJMNH45Q3_cjs.Text, { as: "p", type: "label", weight: "semibold", children: title }),
231
- description != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkJMNH45Q3_cjs.Text, { as: "p", color: "secondary", type: "supporting", children: description }) : null
231
+ /* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "p", type: "label", weight: "semibold", children: title }),
232
+ chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "p", color: "secondary", type: "supporting", children: description }) : null
232
233
  ] }),
233
234
  showEndArea ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.endArea, children: [
234
235
  endContent,
235
236
  hasChildren ? /* @__PURE__ */ jsxRuntime.jsx(
236
- chunkYBPG5RPR_cjs.Button,
237
+ chunkQOKEU3DC_cjs.Button,
237
238
  {
238
239
  "aria-controls": bodyId,
239
240
  "aria-expanded": isExpanded,
@@ -247,7 +248,7 @@ function Alert({
247
248
  }
248
249
  ) : null,
249
250
  isDismissable ? /* @__PURE__ */ jsxRuntime.jsx(
250
- chunkYBPG5RPR_cjs.Button,
251
+ chunkQOKEU3DC_cjs.Button,
251
252
  {
252
253
  icon: lucideReact.X,
253
254
  isIconOnly: true,
@@ -278,5 +279,5 @@ function Alert({
278
279
  Alert.displayName = "Alert";
279
280
 
280
281
  exports.Alert = Alert;
281
- //# sourceMappingURL=chunk-25FU5AVR.cjs.map
282
- //# sourceMappingURL=chunk-25FU5AVR.cjs.map
282
+ //# sourceMappingURL=chunk-J4OEETYQ.cjs.map
283
+ //# sourceMappingURL=chunk-J4OEETYQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Alert/Alert.recipe.ts","../src/components/Alert/Alert.tsx"],"names":["sva","jsx","Icon","XCircle","Info","CheckCircle2","TriangleAlert","useId","useState","isReactNode","jsxs","cx","Text","Button","ChevronDown","X"],"mappings":"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","file":"chunk-J4OEETYQ.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Symmetric padding overrides for the collapsible body. Keys mirror the\n * `SpacingToken` scale so the `padding` prop maps onto build-time-validated\n * spacing tokens instead of a runtime token lookup.\n */\nconst paddingVariants = {\n 0: {bodyContent: {px: '0', py: '0'}},\n 0.5: {bodyContent: {px: '0.5', py: '0.5'}},\n 1: {bodyContent: {px: '1', py: '1'}},\n 1.5: {bodyContent: {px: '1.5', py: '1.5'}},\n 2: {bodyContent: {px: '2', py: '2'}},\n 3: {bodyContent: {px: '3', py: '3'}},\n 4: {bodyContent: {px: '4', py: '4'}},\n 5: {bodyContent: {px: '5', py: '5'}},\n 6: {bodyContent: {px: '6', py: '6'}},\n 8: {bodyContent: {px: '8', py: '8'}},\n 10: {bodyContent: {px: '10', py: '10'}},\n};\n\nexport const alertRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'icon',\n 'content',\n 'endArea',\n 'chevron',\n 'body',\n 'bodyContent',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n fontFamily: 'body',\n },\n header: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: '2',\n px: '4',\n py: '3',\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n content: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n minW: 0,\n },\n endArea: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n gap: '2',\n ms: 'auto',\n },\n // The body stays mounted so child state and the `aria-controls` target are\n // preserved; it is collapsed with a `grid-template-rows` 1fr -> 0fr\n // transition (mirroring `AccordionItem`). `overflow: hidden` lives on this\n // grid so the body chrome on `bodyContent` is fully clipped when collapsed.\n body: {\n display: 'grid',\n gridTemplateRows: '1fr',\n overflow: 'hidden',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n bodyContent: {\n minH: 0,\n bg: 'bg',\n borderBlockEndWidth: 'default',\n borderColor: 'border',\n borderInlineWidth: 'default',\n borderStyle: 'solid',\n px: '4',\n py: '3',\n },\n },\n variants: {\n status: {\n error: {\n header: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n '--silver-text-color': 'token(colors.surface.red.fg)',\n '--silver-text-color-muted': 'token(colors.surface.red.fg)',\n },\n },\n info: {\n header: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n '--silver-text-color': 'token(colors.surface.blue.fg)',\n '--silver-text-color-muted': 'token(colors.surface.blue.fg)',\n },\n },\n success: {\n header: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n '--silver-text-color': 'token(colors.surface.green.fg)',\n '--silver-text-color-muted': 'token(colors.surface.green.fg)',\n },\n },\n warning: {\n header: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n '--silver-text-color': 'token(colors.surface.yellow.fg)',\n '--silver-text-color-muted': 'token(colors.surface.yellow.fg)',\n },\n },\n },\n container: {\n card: {\n header: {borderTopRadius: 'lg'},\n bodyContent: {borderBottomRadius: 'lg'},\n },\n section: {},\n },\n // Squares off the header's bottom corners while the body is revealed; the\n // compound variant rounds them back when there is no expanded content.\n hasContent: {\n true: {},\n false: {},\n },\n isCentered: {\n true: {header: {alignItems: 'center'}},\n false: {},\n },\n isExpanded: {\n true: {chevron: {transform: 'rotate(180deg)'}},\n false: {body: {gridTemplateRows: '0fr'}},\n },\n padding: paddingVariants,\n },\n compoundVariants: [\n {\n container: 'card',\n css: {header: {borderBottomRadius: 'lg'}},\n hasContent: false,\n },\n ],\n defaultVariants: {\n container: 'card',\n hasContent: false,\n isCentered: false,\n isExpanded: false,\n status: 'info',\n },\n});\n\nexport type AlertVariants = RecipeVariantProps<typeof alertRecipe>;\n","import {\n CheckCircle2,\n ChevronDown,\n Info,\n TriangleAlert,\n X,\n XCircle,\n} from 'lucide-react';\nimport {\n useId,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Text} from '../Text';\nimport {alertRecipe, type AlertVariants} from './Alert.recipe';\n\n/**\n * Derived from the recipe's `container` variant so the prop stays in sync with\n * the styles.\n */\nexport type AlertContainer = NonNullable<\n NonNullable<AlertVariants>['container']\n>;\n/**\n * Derived from the recipe's `status` variant so the prop stays in sync with the\n * styles.\n */\nexport type AlertStatus = NonNullable<NonNullable<AlertVariants>['status']>;\n\nexport interface AlertProps {\n /**\n * Extra content rendered below the alert header in a collapsible area.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Visual container style.\n * @default 'card'\n */\n container?: AlertContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting description displayed below the title.\n */\n description?: ReactNode;\n /**\n * Content rendered at the end of the header, before collapse and dismiss controls.\n */\n endContent?: ReactNode;\n /**\n * Custom status icon. A default icon is rendered when omitted.\n */\n icon?: ReactNode;\n /**\n * Whether collapsible children are expanded initially.\n * @default false\n */\n isDefaultExpanded?: boolean;\n /**\n * Whether the alert can be dismissed.\n * @default false\n */\n isDismissable?: boolean;\n /**\n * Called when the dismiss button is clicked.\n */\n onDismiss?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Status controlling role, icon, and color.\n */\n status: AlertStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Primary alert title.\n */\n title: ReactNode;\n}\n\nconst statusRole: Record<AlertStatus, 'alert' | 'status'> = {\n error: 'alert',\n info: 'status',\n success: 'status',\n warning: 'alert',\n};\n\nconst defaultIcons: Record<AlertStatus, ReactNode> = {\n error: <Icon color=\"error\" icon={XCircle} />,\n info: <Icon color=\"info\" icon={Info} />,\n success: <Icon color=\"success\" icon={CheckCircle2} />,\n warning: <Icon color=\"warning\" icon={TriangleAlert} />,\n};\n\n/**\n * Displays a contextual message with status-based styling, an optional\n * collapsible body, and dismiss functionality.\n */\nexport function Alert({\n children,\n className,\n container = 'card',\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDefaultExpanded = false,\n isDismissable = false,\n onDismiss,\n padding,\n ref,\n status,\n style,\n title,\n}: AlertProps): React.JSX.Element | null {\n const bodyId = useId();\n const [isDismissed, setIsDismissed] = useState(false);\n const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);\n const hasChildren = isReactNode(children);\n // The body is kept mounted whenever there are children (so child state and\n // the `aria-controls` target survive collapsing); `isExpanded` only drives\n // the visual collapse. `showContent` reflects whether the body is currently\n // revealed, which the header uses to square off its bottom corners.\n const showContent = hasChildren && isExpanded;\n const showEndArea = isReactNode(endContent) || isDismissable || hasChildren;\n const isSingleLine =\n !isReactNode(description) &&\n (isReactNode(endContent) || isDismissable || hasChildren);\n\n if (isDismissed) {\n return null;\n }\n\n const classes = alertRecipe({\n container,\n hasContent: showContent,\n isCentered: isSingleLine,\n isExpanded,\n padding,\n status,\n });\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role={statusRole[status]}\n style={style}>\n <div className={classes.header}>\n <span aria-hidden=\"true\" className={classes.icon}>\n {icon ?? defaultIcons[status]}\n </span>\n <div className={classes.content}>\n <Text as=\"p\" type=\"label\" weight=\"semibold\">\n {title}\n </Text>\n {isReactNode(description) ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </div>\n {showEndArea ? (\n <div className={classes.endArea}>\n {endContent}\n {hasChildren ? (\n <Button\n aria-controls={bodyId}\n aria-expanded={isExpanded}\n className={classes.chevron}\n icon={ChevronDown}\n isIconOnly\n label={isExpanded ? 'Collapse' : 'Expand'}\n onClick={() => setIsExpanded(value => !value)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isDismissable ? (\n <Button\n icon={X}\n isIconOnly\n label=\"Dismiss\"\n onClick={() => {\n setIsDismissed(true);\n onDismiss?.();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n </div>\n ) : null}\n </div>\n {hasChildren ? (\n <div\n className={classes.body}\n id={bodyId}\n style={{visibility: isExpanded ? undefined : 'hidden'}}>\n <div className={classes.bodyContent}>{children}</div>\n </div>\n ) : null}\n </div>\n );\n}\n\nAlert.displayName = 'Alert';\n"]}
@@ -1,14 +1,15 @@
1
- import { BaseAutocompleteInput } from './chunk-VYFMYXU4.js';
2
- import { Tag } from './chunk-SSOHJEHS.js';
1
+ import { BaseAutocompleteInput } from './chunk-SBOXHIES.js';
2
+ import { Tag } from './chunk-AFI4V7LI.js';
3
3
  import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
4
- import { getNecessity, Field } from './chunk-K6CQ45C2.js';
4
+ import { getNecessity, Field } from './chunk-RLOGQBFD.js';
5
5
  import { getStatusMessageID, getDescribedBy } from './chunk-WOIWI2UO.js';
6
- import { Button } from './chunk-HLN3JQYD.js';
7
- import { useLayer, useIsomorphicLayoutEffect } from './chunk-ZNUOFLCQ.js';
6
+ import { Button } from './chunk-2LABTS4P.js';
7
+ import { useLayer, useIsomorphicLayoutEffect } from './chunk-HINS4GY6.js';
8
8
  import { mergeRefs } from './chunk-SGLIDI6R.js';
9
+ import { isReactNode } from './chunk-2PSZAWLC.js';
9
10
  import { Icon } from './chunk-7T3SWOY7.js';
10
- import { cx } from './chunk-PPNETWIP.js';
11
11
  import { css } from './chunk-OD4DHHZH.js';
12
+ import { cx } from './chunk-PPNETWIP.js';
12
13
  import { X } from 'lucide-react';
13
14
  import { useId, useRef, useState, useCallback, useMemo, useImperativeHandle, Children } from 'react';
14
15
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
@@ -144,7 +145,7 @@ function OverflowList({
144
145
  style: { gap },
145
146
  children: [
146
147
  childArray,
147
- measureIndicator != null ? /* @__PURE__ */ jsx("div", { className: styles.measureIndicator, children: measureIndicator }) : null
148
+ isReactNode(measureIndicator) ? /* @__PURE__ */ jsx("div", { className: styles.measureIndicator, children: measureIndicator }) : null
148
149
  ]
149
150
  }
150
151
  ),
@@ -270,13 +271,14 @@ function TagsInput({
270
271
  value
271
272
  }) {
272
273
  const inputId = useId();
273
- const descriptionID = description != null ? `${inputId}-description` : void 0;
274
+ const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
274
275
  const statusMessageID = getStatusMessageID(inputId, status);
275
276
  const describedBy = getDescribedBy(descriptionID, statusMessageID);
276
277
  const inputRef = useRef(null);
277
278
  const wrapperRef = useRef(null);
278
279
  const [isFocusedWithin, setIsFocusedWithin] = useState(false);
279
280
  const [announcement, setAnnouncement] = useState("");
281
+ const [queryValue, setQueryValue] = useState("");
280
282
  const isLayerMode = tagOverflowBehavior === "unfocusedLayer";
281
283
  const layer = useLayer();
282
284
  const layerContentRef = useRef(null);
@@ -403,11 +405,15 @@ function TagsInput({
403
405
  }
404
406
  document.addEventListener(
405
407
  "click",
406
- () => requestAnimationFrame(() => inputRef.current?.focus()),
408
+ (event) => {
409
+ if (isFocusInTagsInput(event.target)) {
410
+ requestAnimationFrame(() => inputRef.current?.focus());
411
+ }
412
+ },
407
413
  { once: true }
408
414
  );
409
415
  }
410
- }, [isDisabled, isLayerMode, layer]);
416
+ }, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);
411
417
  const necessity = getNecessity(isOptional, isRequired);
412
418
  const tokens = value.map((item) => /* @__PURE__ */ jsx("span", { className: styles2.tag, children: renderTag == null ? /* @__PURE__ */ jsx(
413
419
  Tag,
@@ -468,6 +474,7 @@ function TagsInput({
468
474
  emptySearchResultsText,
469
475
  hasAutoFocus,
470
476
  hasEntriesOnFocus,
477
+ hasReopenOnSelect: hasEntriesOnFocus,
471
478
  inputId,
472
479
  isDisabled: isDisabled || isReadOnly || isAtMax,
473
480
  maxMenuItems,
@@ -501,8 +508,12 @@ function TagsInput({
501
508
  removeItem(item);
502
509
  }
503
510
  },
504
- onQueryChange,
511
+ onQueryChange: (nextQuery) => {
512
+ setQueryValue(nextQuery);
513
+ onQueryChange?.(nextQuery);
514
+ },
505
515
  placeholder: value.length === 0 ? placeholder : void 0,
516
+ query: queryValue,
506
517
  ref: inputRef,
507
518
  renderItem,
508
519
  searchSource: filteredSource,
@@ -510,7 +521,7 @@ function TagsInput({
510
521
  value: null
511
522
  }
512
523
  ),
513
- endContent != null ? /* @__PURE__ */ jsx("span", { className: styles2.endContent, children: endContent }) : null,
524
+ isReactNode(endContent) ? /* @__PURE__ */ jsx("span", { className: styles2.endContent, children: endContent }) : null,
514
525
  hasClear && value.length > 0 && !isDisabled && !isReadOnly ? /* @__PURE__ */ jsx(
515
526
  Button,
516
527
  {
@@ -613,5 +624,5 @@ function TagsInput({
613
624
  TagsInput.displayName = "TagsInput";
614
625
 
615
626
  export { TagsInput };
616
- //# sourceMappingURL=chunk-4Z62KDKI.js.map
617
- //# sourceMappingURL=chunk-4Z62KDKI.js.map
627
+ //# sourceMappingURL=chunk-J5IRFGUP.js.map
628
+ //# sourceMappingURL=chunk-J5IRFGUP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/OverflowList.tsx","../src/components/TagsInput/TagsInput.tsx"],"names":["styles","useRef","useState","useCallback","jsx","Fragment","jsxs"],"mappings":"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","file":"chunk-J5IRFGUP.js","sourcesContent":["import {\n Children,\n useCallback,\n useRef,\n useState,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from './cx';\nimport isReactNode from './isReactNode';\nimport {mergeRefs} from './mergeRefs';\nimport {useIsomorphicLayoutEffect} from './useIsomorphicLayoutEffect';\n\nexport interface OverflowItem {\n child: ReactElement;\n index: number;\n}\n\nexport interface OverflowListProps {\n behavior?: 'observeParent' | 'observeSelf';\n children: ReactNode;\n className?: string;\n collapseFrom?: 'end' | 'start';\n gap?: number;\n minVisibleItems?: number;\n overflowRenderer?: (overflowItems: OverflowItem[]) => ReactNode;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nconst styles = {\n container: css({\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minW: 0,\n }),\n fillParent: css({\n flex: '1 1 0',\n }),\n measureContainer: css({\n position: 'absolute',\n visibility: 'hidden',\n h: 0,\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n }),\n measureIndicator: css({\n display: 'inline-flex',\n }),\n} as const;\n\nfunction getAvailableWidth(\n container: HTMLElement,\n observeParent: boolean,\n): number {\n if (observeParent && container.parentElement != null) {\n const parent = container.parentElement;\n const parentStyle = window.getComputedStyle(parent);\n const paddingLeft = Number.parseFloat(parentStyle.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(parentStyle.paddingRight) || 0;\n return parent.clientWidth - paddingLeft - paddingRight;\n }\n\n return container.offsetWidth;\n}\n\nexport function OverflowList({\n behavior = 'observeSelf',\n children,\n className,\n collapseFrom = 'end',\n gap = 0,\n minVisibleItems = 0,\n overflowRenderer,\n ref,\n style,\n}: OverflowListProps): React.JSX.Element {\n // eslint-disable-next-line @eslint-react/no-children-to-array -- matches XDSOverflowList: normalizes children before width measurement\n const childArray = Children.toArray(children) as ReactElement[];\n const itemCount = childArray.length;\n const observeParent = behavior === 'observeParent';\n const [visibleCount, setVisibleCount] = useState(itemCount);\n const containerRef = useRef<HTMLElement | null>(null);\n const measureRef = useRef<HTMLElement | null>(null);\n\n const calculate = useCallback(() => {\n const container = containerRef.current;\n const measure = measureRef.current;\n if (container == null || measure == null) {\n return;\n }\n\n const availableWidth = Math.min(\n getAvailableWidth(container, observeParent),\n container.offsetWidth || Number.POSITIVE_INFINITY,\n );\n const allChildren = Array.from(measure.children) as HTMLElement[];\n const hasIndicator = allChildren.length > itemCount;\n const measuredItems = hasIndicator\n ? allChildren.slice(0, itemCount)\n : allChildren;\n const indicatorWidth = hasIndicator\n ? allChildren[allChildren.length - 1].offsetWidth\n : 0;\n\n if (measuredItems.length === 0) {\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(0);\n return;\n }\n\n const measuredWidths = measuredItems.map(item => item.offsetWidth);\n const orderedWidths =\n collapseFrom === 'end' ? measuredWidths : [...measuredWidths].reverse();\n let totalWidth = 0;\n let count = 0;\n\n for (const itemWidth of orderedWidths) {\n const gapWidth = count > 0 ? gap : 0;\n const candidateWidth = totalWidth + itemWidth + gapWidth;\n const isLastItem = count === orderedWidths.length - 1;\n const reservedWidth = isLastItem\n ? 0\n : indicatorWidth + (count > 0 || indicatorWidth > 0 ? gap : 0);\n\n if (\n candidateWidth + reservedWidth > availableWidth &&\n count >= minVisibleItems\n ) {\n break;\n }\n\n totalWidth = candidateWidth;\n count++;\n }\n\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(Math.max(Math.min(count, itemCount), minVisibleItems));\n }, [collapseFrom, gap, itemCount, minVisibleItems, observeParent]);\n\n const containerRefCallback = useCallback((element: HTMLDivElement | null) => {\n containerRef.current = element;\n }, []);\n\n const measureRefCallback = useCallback(\n (element: HTMLDivElement | null) => {\n measureRef.current = element;\n if (element != null) {\n calculate();\n }\n },\n [calculate],\n );\n\n useIsomorphicLayoutEffect(() => {\n calculate();\n }, [calculate]);\n\n useIsomorphicLayoutEffect(() => {\n const container = containerRef.current;\n if (container == null || typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const target =\n observeParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, observeParent]);\n\n const allItems: OverflowItem[] = childArray.map((child, index) => ({\n child,\n index,\n }));\n const visibleItems =\n collapseFrom === 'end'\n ? allItems.slice(0, visibleCount)\n : allItems.slice(itemCount - visibleCount);\n const overflowItems =\n collapseFrom === 'end'\n ? allItems.slice(visibleCount)\n : allItems.slice(0, itemCount - visibleCount);\n const hasOverflow = visibleCount < itemCount;\n const measureIndicator = overflowRenderer?.(allItems);\n\n return (\n <>\n <div\n aria-hidden=\"true\"\n className={styles.measureContainer}\n inert\n ref={measureRefCallback}\n style={{gap}}>\n {childArray}\n {isReactNode(measureIndicator) ? (\n <div className={styles.measureIndicator}>{measureIndicator}</div>\n ) : null}\n </div>\n <div\n className={cx(\n styles.container,\n observeParent && hasOverflow ? styles.fillParent : undefined,\n className,\n )}\n ref={mergeRefs(ref, containerRefCallback)}\n style={{gap, ...style}}>\n {collapseFrom === 'start' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n {visibleItems.map(({child}) => child)}\n {collapseFrom === 'end' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n </div>\n </>\n );\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useImperativeHandle,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {OverflowList} from '../../internal/OverflowList';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {useLayer} from '../../internal/useLayer';\nimport {BaseAutocompleteInput} from '../AutocompleteInput';\nimport type {SearchableItem, SearchSource} from '../AutocompleteInput';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Tag} from '../Tag';\n\nexport type TagsInputChange<T extends SearchableItem> =\n | {item: T; type: 'add'}\n | {item: T; type: 'create'}\n | {item: T; type: 'remove'}\n | {items: T[]; type: 'remove-all'};\n\nexport type TagsInputOverflowBehavior =\n | 'none'\n | 'unfocusedInline'\n | 'unfocusedLayer';\n\nexport interface TagsInputHandle {\n /**\n * Blur the input.\n */\n blur(): void;\n /**\n * Focus the input.\n */\n focus(): void;\n}\n\nexport type TagsInputProps<T extends SearchableItem = SearchableItem> = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Content rendered at the end of the input row.\n */\n endContent?: ReactNode;\n /**\n * Imperative focus/blur handle.\n */\n handleRef?: Ref<TagsInputHandle>;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button that removes all tags.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: 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 read-only. Prevents typing and hides the clear\n * button without applying disabled opacity.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of selected tags.\n */\n maxEntries?: number;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when focus leaves the tags-input.\n */\n onBlur?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when selected tags change.\n */\n onChange: (items: T[], change: TagsInputChange<T>) => void;\n /**\n * Called when focus enters the tags-input.\n */\n onFocus?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Custom tag renderer.\n */\n renderTag?: (item: T, onRemove: () => void) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the tags-input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controls how tags overflow when the container is too narrow.\n * - `'none'`: Tags wrap to multiple lines (default).\n * - `'unfocusedInline'`: Single line with \"+ N more\" when unfocused; expands inline on focus.\n * - `'unfocusedLayer'`: Single line with \"+ N more\" when unfocused; expands as overlay on focus.\n * @default 'none'\n */\n tagOverflowBehavior?: TagsInputOverflowBehavior;\n /**\n * Selected items.\n */\n value: T[];\n} & FieldNecessity;\n\nconst CREATABLE_ID_PREFIX = '__silver_create__';\n\nconst styles = {\n wrapper: css({\n cursor: 'text',\n flexWrap: 'wrap',\n alignItems: 'center',\n h: 'auto',\n }),\n wrapperWithTags: css({\n rowGap: '1',\n }),\n wrapperWithTagsSize: {\n sm: css({pt: '0px', pb: '0.5'}),\n md: css({py: '1'}),\n lg: css({py: '1'}),\n },\n layerPopover: css({\n w: 'anchor-size(width)',\n }),\n truncatedWrapper: css({\n flexWrap: 'nowrap',\n overflow: 'hidden',\n }),\n truncatedSize: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n tag: css({flexShrink: 0}),\n input: css({\n minW: '10',\n flex: '1 1 40px',\n }),\n inputHidden: css({\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n overflowText: css({\n flexShrink: 0,\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n color: 'fg.muted',\n px: '1',\n }),\n liveRegion: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n whiteSpace: 'nowrap',\n }),\n} as const;\n\nfunction isCreatableItem<T extends SearchableItem>(item: T): boolean {\n return item.id.startsWith(CREATABLE_ID_PREFIX);\n}\n\n/**\n * Multi-select combobox that renders selected values as removable tags.\n */\nexport function TagsInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n endContent,\n hasAutoFocus = false,\n hasClear = false,\n hasCreate = false,\n hasEntriesOnFocus = false,\n handleRef,\n isDisabled = false,\n isLabelHidden = false,\n isReadOnly = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxEntries,\n maxMenuItems,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n renderTag,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n tagOverflowBehavior = 'none',\n value,\n}: TagsInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [isFocusedWithin, setIsFocusedWithin] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const [queryValue, setQueryValue] = useState('');\n const isLayerMode = tagOverflowBehavior === 'unfocusedLayer';\n const layer = useLayer();\n const layerContentRef = useRef<HTMLDivElement>(null);\n const selectedIDsRef = useRef(new Set<string>());\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern: synchronous, idempotent sync with props\n selectedIDsRef.current = new Set(value.map(item => item.id));\n const isAtMax = maxEntries != null && value.length >= maxEntries;\n const isAtMaxRef = useRef(false);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n isAtMaxRef.current = isAtMax;\n const isTruncated =\n !isFocusedWithin && tagOverflowBehavior !== 'none' && value.length > 0;\n\n const placeholderRef = useCallback(\n (element: HTMLElement | null) => {\n if (isLayerMode) {\n layer.ref(element);\n }\n },\n [isLayerMode, layer],\n );\n\n const isFocusInTagsInput = useCallback(\n (target: EventTarget | null): boolean => {\n if (!(target instanceof Node)) {\n return false;\n }\n if (wrapperRef.current?.contains(target)) {\n return true;\n }\n if (layerContentRef.current?.contains(target)) {\n return true;\n }\n const popoverElement = document.getElementById(layer.id);\n return popoverElement?.contains(target) ?? false;\n },\n [layer.id],\n );\n\n const filteredSource = useMemo<SearchSource<T>>(\n () => ({\n cancel: () => searchSource.cancel?.(),\n async bootstrap() {\n const results = await searchSource.bootstrap();\n return results.filter(item => !selectedIDsRef.current.has(item.id));\n },\n async search(searchQuery) {\n const results = await searchSource.search(searchQuery);\n const filteredResults = results.filter(\n item => !selectedIDsRef.current.has(item.id),\n );\n if (!hasCreate || searchQuery.trim() === '' || isAtMaxRef.current) {\n return filteredResults;\n }\n const existing = filteredResults.some(\n item => item.label.toLowerCase() === searchQuery.trim().toLowerCase(),\n );\n if (existing) {\n return filteredResults;\n }\n return [\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n id: `${CREATABLE_ID_PREFIX}${searchQuery}`,\n label: `Create \"${searchQuery}\"`,\n auxiliaryData: {value: searchQuery},\n } as T,\n ...filteredResults,\n ];\n },\n }),\n [hasCreate, searchSource],\n );\n\n useImperativeHandle(\n handleRef,\n () => ({\n blur: () => inputRef.current?.blur(),\n focus: () => inputRef.current?.focus(),\n }),\n [],\n );\n\n const valueRef = useRef(value);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n valueRef.current = value;\n const onChangeRef = useRef(onChange);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n onChangeRef.current = onChange;\n\n const announce = useCallback((message: string) => {\n setAnnouncement('');\n requestAnimationFrame(() => setAnnouncement(message));\n }, []);\n\n const removeItem = useCallback(\n (item: T) => {\n onChangeRef.current(\n valueRef.current.filter(selectedItem => selectedItem.id !== item.id),\n {item, type: 'remove'},\n );\n announce(`Removed ${item.label}`);\n },\n [announce],\n );\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const comingFromOutside = !isFocusInTagsInput(event.relatedTarget);\n setIsFocusedWithin(true);\n if (isLayerMode) {\n layer.show();\n }\n if (comingFromOutside) {\n onFocus?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onFocus],\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n if (!isFocusInTagsInput(event.relatedTarget)) {\n setIsFocusedWithin(false);\n if (isLayerMode) {\n layer.hide();\n }\n onBlur?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onBlur],\n );\n\n const handleWrapperPointerDown = useCallback(() => {\n if (!isDisabled) {\n if (isLayerMode) {\n layer.show();\n setIsFocusedWithin(true);\n }\n document.addEventListener(\n 'click',\n event => {\n // Focus the input only when the click that completes this press lands\n // inside the TagsInput. A press on a tag may open a popover anchored to\n // it (e.g. SearchFilterInput's edit popover); since the tag's own click\n // can stop propagation, this listener instead fires on the next click\n // — which might be a control in that popover. Focusing the input then\n // would steal focus back and briefly re-open the input's surface.\n if (isFocusInTagsInput(event.target)) {\n requestAnimationFrame(() => inputRef.current?.focus());\n }\n },\n {once: true},\n );\n }\n }, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const tokens = value.map(item => (\n <span className={styles.tag} key={item.id}>\n {renderTag == null ? (\n <Tag\n isDisabled={isDisabled}\n label={item.label}\n onRemove={() => removeItem(item)}\n size={size}\n />\n ) : (\n renderTag(item, () => removeItem(item))\n )}\n </span>\n ));\n\n const wrapperContent = (\n <>\n {/* eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- pointerdown delegates to inner input for focus convenience */}\n <div\n aria-label={label}\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n value.length > 0 && !isTruncated ? styles.wrapperWithTags : undefined,\n value.length > 0 && !isTruncated\n ? styles.wrapperWithTagsSize[size]\n : undefined,\n isTruncated ? styles.truncatedWrapper : undefined,\n isTruncated ? styles.truncatedSize[size] : undefined,\n )}\n data-testid={dataTestId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onPointerDown={handleWrapperPointerDown}\n ref={wrapperRef}\n role=\"group\">\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {isTruncated ? (\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={styles.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n ) : (\n tokens\n )}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={cx(\n styles.input,\n isAtMax || isTruncated ? styles.inputHidden : undefined,\n )}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n hasReopenOnSelect={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled || isReadOnly || isAtMax}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n if (item == null) {\n return;\n }\n if (isCreatableItem(item)) {\n const rawValue =\n typeof item.auxiliaryData === 'object' &&\n item.auxiliaryData != null &&\n 'value' in item.auxiliaryData\n ? String(item.auxiliaryData.value)\n : item.label;\n const createdItem = {\n ...item,\n id: rawValue,\n label: rawValue,\n };\n onChangeRef.current([...valueRef.current, createdItem], {\n item: createdItem,\n type: 'create',\n });\n announce(`Added ${rawValue}`);\n return;\n }\n onChangeRef.current([...valueRef.current, item], {\n item,\n type: 'add',\n });\n announce(`Added ${item.label}`);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (\n event.key === 'Backspace' &&\n event.currentTarget.value === '' &&\n valueRef.current.length > 0\n ) {\n const item = valueRef.current[valueRef.current.length - 1];\n removeItem(item);\n }\n }}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={value.length === 0 ? placeholder : undefined}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={filteredSource}\n size={size}\n value={null}\n />\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n {hasClear && value.length > 0 && !isDisabled && !isReadOnly ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChangeRef.current([], {\n items: valueRef.current,\n type: 'remove-all',\n });\n announce('Cleared all tags');\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span aria-live=\"polite\" className={styles.liveRegion} role=\"status\">\n {announcement}\n </span>\n </div>\n </>\n );\n\n const popoverOverrideStyle: CSSProperties = {\n positionArea: undefined,\n positionTryFallbacks: undefined,\n top: 'anchor(top)',\n left: 'anchor(start)',\n };\n\n const inputContent = isLayerMode ? (\n <>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n isTruncated ? styles.truncatedWrapper : undefined,\n styles.truncatedSize[size],\n )}\n onPointerDown={handleWrapperPointerDown}\n ref={placeholderRef}>\n {isTruncated ? (\n <>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={styles.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n </>\n ) : null}\n </div>\n {layer.render(\n <div\n data-testid={dataTestId == null ? undefined : `${dataTestId}-layer`}\n ref={layerContentRef}>\n {wrapperContent}\n </div>,\n {\n alignment: 'start',\n className: styles.layerPopover,\n placement: 'below',\n style: popoverOverrideStyle,\n },\n )}\n </>\n ) : (\n wrapperContent\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 {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputContent}\n </Field>\n );\n}\n\nTagsInput.displayName = 'TagsInput';\n"]}
@@ -1,9 +1,9 @@
1
- import { TimeInput } from './chunk-5Q5TJUHI.js';
2
- import { DateInput } from './chunk-67VLK263.js';
1
+ import { TimeInput } from './chunk-S7INL5NI.js';
2
+ import { DateInput } from './chunk-BSAZRW6T.js';
3
3
  import { plainDateIsEqual } from './chunk-QSEDH7T2.js';
4
- import { getNecessity, Field } from './chunk-K6CQ45C2.js';
5
- import { cx } from './chunk-PPNETWIP.js';
4
+ import { getNecessity, Field } from './chunk-RLOGQBFD.js';
6
5
  import { css } from './chunk-OD4DHHZH.js';
6
+ import { cx } from './chunk-PPNETWIP.js';
7
7
  import { Temporal } from '@js-temporal/polyfill';
8
8
  import { useId, useMemo, useCallback } from 'react';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -113,6 +113,7 @@ function DateTimeInput({
113
113
  DateInput,
114
114
  {
115
115
  getIsDateDisabled,
116
+ htmlId: fieldId,
116
117
  isDisabled,
117
118
  isLabelHidden: true,
118
119
  isLoading,
@@ -149,5 +150,5 @@ function DateTimeInput({
149
150
  DateTimeInput.displayName = "DateTimeInput";
150
151
 
151
152
  export { DateTimeInput };
152
- //# sourceMappingURL=chunk-2YC7SMVF.js.map
153
- //# sourceMappingURL=chunk-2YC7SMVF.js.map
153
+ //# sourceMappingURL=chunk-JDAJ2HJQ.js.map
154
+ //# sourceMappingURL=chunk-JDAJ2HJQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DateTimeInput/DateTimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-JDAJ2HJQ.js","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {\n useCallback,\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {plainDateIsEqual, type PlainDate} from '../../internal/plainDate';\nimport {DateInput} from '../DateInput';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport type {IconComponent} from '../Icon';\nimport {TimeInput, type PlainTime} from '../TimeInput';\n\nexport type PlainDateTime = Temporal.PlainDateTime;\n\nexport type DateTimeInputProps = {\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 * 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 the seconds field in the time input.\n * @default false\n */\n hasSeconds?: 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-time.\n */\n max?: PlainDateTime;\n /**\n * Minimum selectable date-time.\n */\n min?: PlainDateTime;\n /**\n * Called when the selected date-time changes.\n */\n onChange: (value: PlainDateTime | undefined) => void;\n /**\n * Ref forwarded to the date input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the inputs.\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 root element.\n */\n style?: CSSProperties;\n /**\n * Currently selected date-time.\n */\n value: PlainDateTime | undefined;\n} & FieldNecessity;\n\nconst styles = {\n row: css({\n display: 'grid',\n gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 0.75fr)',\n gap: '2',\n }),\n} as const;\n\nfunction splitDateTime(value: PlainDateTime | undefined): {\n date: PlainDate | undefined;\n time: PlainTime | undefined;\n} {\n if (value == null) {\n return {date: undefined, time: undefined};\n }\n return {\n date: value.toPlainDate(),\n time: value.toPlainTime(),\n };\n}\n\nfunction combineDateTime(\n date: PlainDate | undefined,\n time: PlainTime | undefined,\n): PlainDateTime | undefined {\n if (date == null && time == null) {\n return undefined;\n }\n const resolvedDate = date ?? Temporal.Now.plainDateISO();\n const resolvedTime = time ?? Temporal.Now.plainTimeISO();\n return resolvedDate.toPlainDateTime(resolvedTime);\n}\n\nfunction clampTime(\n time: PlainTime,\n min: PlainTime | undefined,\n max: PlainTime | undefined,\n): PlainTime {\n if (min != null && Temporal.PlainTime.compare(time, min) < 0) {\n return min;\n }\n if (max != null && Temporal.PlainTime.compare(time, max) > 0) {\n return max;\n }\n return time;\n}\n\n/**\n * A combined date and time input with calendar popover and time fields.\n */\nexport function DateTimeInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n hasSeconds = false,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateTimeInputProps): React.JSX.Element {\n const fieldId = useId();\n const {date, time} = useMemo(() => splitDateTime(value), [value]);\n const minParts = useMemo(() => splitDateTime(min), [min]);\n const maxParts = useMemo(() => splitDateTime(max), [max]);\n\n const handleDateChange = useCallback(\n (nextDate: PlainDate | undefined) => {\n if (nextDate == null || time == null) {\n onChange(combineDateTime(nextDate, time));\n return;\n }\n const effectiveTimeMin =\n min != null && nextDate.equals(min.toPlainDate())\n ? min.toPlainTime()\n : undefined;\n const effectiveTimeMax =\n max != null && nextDate.equals(max.toPlainDate())\n ? max.toPlainTime()\n : undefined;\n onChange(\n combineDateTime(\n nextDate,\n clampTime(time, effectiveTimeMin, effectiveTimeMax),\n ),\n );\n },\n [onChange, time, min, max],\n );\n const handleTimeChange = useCallback(\n (nextTime: PlainTime | undefined) =>\n onChange(combineDateTime(date, nextTime)),\n [onChange, date],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n description={description}\n inputId={fieldId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={status}>\n <div\n className={cx(styles.row, className)}\n data-testid={dataTestId}\n style={style}>\n <DateInput\n getIsDateDisabled={getIsDateDisabled}\n htmlId={fieldId}\n isDisabled={isDisabled}\n isLabelHidden\n isLoading={isLoading}\n label={`${label} date`}\n max={maxParts.date}\n min={minParts.date}\n onChange={handleDateChange}\n ref={ref}\n size={size}\n value={date}\n />\n <TimeInput\n hasSeconds={hasSeconds}\n isDisabled={isDisabled}\n isLabelHidden\n isLoading={isLoading}\n label={`${label} time`}\n max={\n date != null &&\n maxParts.date != null &&\n plainDateIsEqual(date, maxParts.date)\n ? maxParts.time\n : undefined\n }\n min={\n date != null &&\n minParts.date != null &&\n plainDateIsEqual(date, minParts.date)\n ? minParts.time\n : undefined\n }\n onChange={handleTimeChange}\n size={size}\n value={time}\n />\n </div>\n </Field>\n );\n}\n\nDateTimeInput.displayName = 'DateTimeInput';\n"]}
@@ -1,7 +1,7 @@
1
- import { Dialog } from './chunk-P3SMNZCT.js';
2
- import { Layout, LayoutHeader, LayoutFooter, LayoutContent } from './chunk-GI5MVVIX.js';
3
- import { Button } from './chunk-HLN3JQYD.js';
4
- import { Text } from './chunk-J2FCNWYM.js';
1
+ import { Dialog } from './chunk-3JPUXC5U.js';
2
+ import { Layout, LayoutHeader, LayoutFooter, LayoutContent } from './chunk-2N6FOSNM.js';
3
+ import { Button } from './chunk-2LABTS4P.js';
4
+ import { Text } from './chunk-QRFDPG34.js';
5
5
  import { useRef, useEffect, useCallback, useState } from 'react';
6
6
  import { jsx } from 'react/jsx-runtime';
7
7
 
@@ -101,5 +101,5 @@ function useAlertDialog() {
101
101
  }
102
102
 
103
103
  export { AlertDialog, useAlertDialog };
104
- //# sourceMappingURL=chunk-AGJ5SZCM.js.map
105
- //# sourceMappingURL=chunk-AGJ5SZCM.js.map
104
+ //# sourceMappingURL=chunk-JIVYPJKO.js.map
105
+ //# sourceMappingURL=chunk-JIVYPJKO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useCallback","jsx"],"mappings":"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","file":"chunk-AGJ5SZCM.js","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from '../Button';\nimport {Dialog} from '../Dialog';\nimport {Layout, LayoutContent, LayoutFooter, LayoutHeader} from '../Layout';\nimport {Text} from '../Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {AlertDialog, type AlertDialogProps} from './AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
1
+ {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useCallback","jsx"],"mappings":"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","file":"chunk-JIVYPJKO.js","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from '../Button';\nimport {Dialog} from '../Dialog';\nimport {Layout, LayoutContent, LayoutFooter, LayoutHeader} from '../Layout';\nimport {Text} from '../Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {AlertDialog, type AlertDialogProps} from './AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
4
- var chunk6BK4LUK4_cjs = require('./chunk-6BK4LUK4.cjs');
5
4
  var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
5
+ var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -73,7 +73,7 @@ function HoverLayerTrigger({
73
73
  "span",
74
74
  {
75
75
  "aria-describedby": describedBy,
76
- className: chunk6BK4LUK4_cjs.cx(
76
+ className: chunkSPDVNY2Z_cjs.cx(
77
77
  styles.wrapperInline,
78
78
  showHoverIndication ? styles.hoverIndication : void 0,
79
79
  className
@@ -89,7 +89,7 @@ function HoverLayerTrigger({
89
89
  ] });
90
90
  }
91
91
  const nonTextWrapperRef = shouldForwardNonTextWrapperProps ? chunk6SHL7FYO_cjs.mergeRefs(ownWrapperRef, wrapperRef) : ownWrapperRef;
92
- const nonTextWrapperClassName = chunk6BK4LUK4_cjs.cx(
92
+ const nonTextWrapperClassName = chunkSPDVNY2Z_cjs.cx(
93
93
  styles.wrapperContents,
94
94
  shouldForwardNonTextWrapperProps ? className : void 0
95
95
  );
@@ -234,7 +234,7 @@ function useLayer({
234
234
  id,
235
235
  role: props?.role,
236
236
  popover: hasLightDismiss ? "auto" : "manual",
237
- className: chunk6BK4LUK4_cjs.cx(styles2.layer, props?.className),
237
+ className: chunkSPDVNY2Z_cjs.cx(styles2.layer, props?.className),
238
238
  style: { ...anchorStyle, ...props?.style }
239
239
  };
240
240
  return react.createElement("div", layerProps, children);
@@ -440,5 +440,5 @@ exports.HoverLayerTrigger = HoverLayerTrigger;
440
440
  exports.useHoverLayer = useHoverLayer;
441
441
  exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
442
442
  exports.useLayer = useLayer;
443
- //# sourceMappingURL=chunk-U2WVHZ24.cjs.map
444
- //# sourceMappingURL=chunk-U2WVHZ24.cjs.map
443
+ //# sourceMappingURL=chunk-JJ324PSZ.cjs.map
444
+ //# sourceMappingURL=chunk-JJ324PSZ.cjs.map