silver-ui 0.7.3 → 0.8.1

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 (706) hide show
  1. package/README.md +14 -4
  2. package/dist/{chunk-CQYBC3RJ.cjs → chunk-263EUXFI.cjs} +10 -9
  3. package/dist/chunk-263EUXFI.cjs.map +1 -0
  4. package/dist/{chunk-KEPCKSDE.js → chunk-2AY74YXP.js} +3 -2
  5. package/dist/chunk-2AY74YXP.js.map +1 -0
  6. package/dist/{chunk-USEA7DB5.js → chunk-2EGYYWPB.js} +4 -4
  7. package/dist/{chunk-USEA7DB5.js.map → chunk-2EGYYWPB.js.map} +1 -1
  8. package/dist/{chunk-PGBYMBGH.js → chunk-3CV6IEEY.js} +18 -17
  9. package/dist/chunk-3CV6IEEY.js.map +1 -0
  10. package/dist/{chunk-5FQKELP6.js → chunk-3IX2FJWH.js} +3 -2
  11. package/dist/chunk-3IX2FJWH.js.map +1 -0
  12. package/dist/{chunk-H7LOOHWU.cjs → chunk-3JCYTBXI.cjs} +3 -2
  13. package/dist/chunk-3JCYTBXI.cjs.map +1 -0
  14. package/dist/{chunk-PK3NJSHQ.js → chunk-3TPFJ7NS.js} +8 -7
  15. package/dist/{chunk-PK3NJSHQ.js.map → chunk-3TPFJ7NS.js.map} +1 -1
  16. package/dist/{chunk-3W3ST5Y3.cjs → chunk-3USKXV4M.cjs} +7 -6
  17. package/dist/chunk-3USKXV4M.cjs.map +1 -0
  18. package/dist/{chunk-S4IHNNA2.js → chunk-3UYPIVBY.js} +3 -2
  19. package/dist/{chunk-S4IHNNA2.js.map → chunk-3UYPIVBY.js.map} +1 -1
  20. package/dist/{chunk-5GSRIOXE.js → chunk-4G644ETX.js} +16 -15
  21. package/dist/{chunk-5GSRIOXE.js.map → chunk-4G644ETX.js.map} +1 -1
  22. package/dist/{chunk-AO4RVSCG.js → chunk-4MIAF6ZO.js} +6 -5
  23. package/dist/{chunk-AO4RVSCG.js.map → chunk-4MIAF6ZO.js.map} +1 -1
  24. package/dist/{chunk-MN2NCSQQ.js → chunk-4MX4DKWA.js} +3 -2
  25. package/dist/{chunk-MN2NCSQQ.js.map → chunk-4MX4DKWA.js.map} +1 -1
  26. package/dist/{chunk-RX2FXCIH.cjs → chunk-4VYOE2HE.cjs} +8 -8
  27. package/dist/{chunk-RX2FXCIH.cjs.map → chunk-4VYOE2HE.cjs.map} +1 -1
  28. package/dist/{chunk-5MCI3ILK.cjs → chunk-4XFA2XAB.cjs} +44 -43
  29. package/dist/{chunk-5MCI3ILK.cjs.map → chunk-4XFA2XAB.cjs.map} +1 -1
  30. package/dist/{chunk-HENIVDYQ.cjs → chunk-4ZJ3P6IF.cjs} +15 -14
  31. package/dist/chunk-4ZJ3P6IF.cjs.map +1 -0
  32. package/dist/{chunk-RLIBY7XB.cjs → chunk-5AUBRSYO.cjs} +3 -2
  33. package/dist/chunk-5AUBRSYO.cjs.map +1 -0
  34. package/dist/{chunk-ESWYWWY2.js → chunk-5DK3LMS7.js} +5 -4
  35. package/dist/chunk-5DK3LMS7.js.map +1 -0
  36. package/dist/{chunk-TP6RGZ6A.js → chunk-5EDJRYE4.js} +14 -13
  37. package/dist/{chunk-TP6RGZ6A.js.map → chunk-5EDJRYE4.js.map} +1 -1
  38. package/dist/{chunk-3PEK2Q54.cjs → chunk-5FNYOPUL.cjs} +3 -2
  39. package/dist/chunk-5FNYOPUL.cjs.map +1 -0
  40. package/dist/{chunk-ZDZ7FW6V.cjs → chunk-5KFM5ZNO.cjs} +10 -9
  41. package/dist/chunk-5KFM5ZNO.cjs.map +1 -0
  42. package/dist/{chunk-AC4E3WQA.cjs → chunk-5P5OSQT2.cjs} +13 -12
  43. package/dist/chunk-5P5OSQT2.cjs.map +1 -0
  44. package/dist/{chunk-E6AKSBSP.js → chunk-5SCHQS3L.js} +7 -6
  45. package/dist/{chunk-E6AKSBSP.js.map → chunk-5SCHQS3L.js.map} +1 -1
  46. package/dist/{chunk-6SMVH3ON.cjs → chunk-6I7MYAPX.cjs} +9 -8
  47. package/dist/chunk-6I7MYAPX.cjs.map +1 -0
  48. package/dist/{chunk-GJZAGTPV.cjs → chunk-7KUEWO4T.cjs} +6 -5
  49. package/dist/chunk-7KUEWO4T.cjs.map +1 -0
  50. package/dist/{chunk-VCM4MR7N.cjs → chunk-7TLGH4VK.cjs} +53 -52
  51. package/dist/{chunk-VCM4MR7N.cjs.map → chunk-7TLGH4VK.cjs.map} +1 -1
  52. package/dist/{chunk-HPNY32G6.js → chunk-7TYZLVLZ.js} +3 -2
  53. package/dist/{chunk-HPNY32G6.js.map → chunk-7TYZLVLZ.js.map} +1 -1
  54. package/dist/{chunk-GA77PPVL.cjs → chunk-A36BE56K.cjs} +8 -7
  55. package/dist/{chunk-GA77PPVL.cjs.map → chunk-A36BE56K.cjs.map} +1 -1
  56. package/dist/{chunk-WG4NNC3P.js → chunk-AJAHLIHQ.js} +6 -5
  57. package/dist/{chunk-WG4NNC3P.js.map → chunk-AJAHLIHQ.js.map} +1 -1
  58. package/dist/{chunk-5RFHYDQY.js → chunk-AUXMMTKN.js} +3 -2
  59. package/dist/chunk-AUXMMTKN.js.map +1 -0
  60. package/dist/{chunk-DDMUYVSV.cjs → chunk-B5HYXBPH.cjs} +17 -16
  61. package/dist/{chunk-DDMUYVSV.cjs.map → chunk-B5HYXBPH.cjs.map} +1 -1
  62. package/dist/{chunk-63QPCV4F.cjs → chunk-BJSF4VYC.cjs} +38 -37
  63. package/dist/chunk-BJSF4VYC.cjs.map +1 -0
  64. package/dist/{chunk-N6C37HXD.js → chunk-BKZFINUO.js} +8 -7
  65. package/dist/chunk-BKZFINUO.js.map +1 -0
  66. package/dist/{chunk-J242UTPO.cjs → chunk-BLKZDVFG.cjs} +12 -11
  67. package/dist/chunk-BLKZDVFG.cjs.map +1 -0
  68. package/dist/{chunk-QQCEGAUQ.cjs → chunk-BQMIYEFC.cjs} +12 -11
  69. package/dist/chunk-BQMIYEFC.cjs.map +1 -0
  70. package/dist/{chunk-2N3PIXZ5.cjs → chunk-CDN7FN6R.cjs} +8 -7
  71. package/dist/chunk-CDN7FN6R.cjs.map +1 -0
  72. package/dist/{chunk-YQIDUJW2.cjs → chunk-CKERNLXH.cjs} +6 -5
  73. package/dist/{chunk-YQIDUJW2.cjs.map → chunk-CKERNLXH.cjs.map} +1 -1
  74. package/dist/{chunk-PG4CZRTU.js → chunk-CRYF4JDH.js} +3 -2
  75. package/dist/chunk-CRYF4JDH.js.map +1 -0
  76. package/dist/{chunk-EZFQCREN.cjs → chunk-CZAKWWZE.cjs} +10 -9
  77. package/dist/chunk-CZAKWWZE.cjs.map +1 -0
  78. package/dist/{chunk-BUYZZOOU.js → chunk-D57CFXDZ.js} +3 -2
  79. package/dist/{chunk-BUYZZOOU.js.map → chunk-D57CFXDZ.js.map} +1 -1
  80. package/dist/{chunk-Y2GYPMLW.cjs → chunk-DDKW5FTM.cjs} +6 -5
  81. package/dist/{chunk-Y2GYPMLW.cjs.map → chunk-DDKW5FTM.cjs.map} +1 -1
  82. package/dist/{chunk-6KGF66TR.js → chunk-DRWW5XMD.js} +4 -3
  83. package/dist/{chunk-6KGF66TR.js.map → chunk-DRWW5XMD.js.map} +1 -1
  84. package/dist/{chunk-IU2YRN35.cjs → chunk-DUZBTPSH.cjs} +3 -2
  85. package/dist/{chunk-IU2YRN35.cjs.map → chunk-DUZBTPSH.cjs.map} +1 -1
  86. package/dist/{chunk-VK7DXUGH.cjs → chunk-E5TRE2YG.cjs} +3 -2
  87. package/dist/chunk-E5TRE2YG.cjs.map +1 -0
  88. package/dist/{chunk-AXTX3IOR.js → chunk-E65S6HVS.js} +4 -3
  89. package/dist/{chunk-AXTX3IOR.js.map → chunk-E65S6HVS.js.map} +1 -1
  90. package/dist/{chunk-ARUOMLOJ.cjs → chunk-ECVWXA4H.cjs} +3 -2
  91. package/dist/chunk-ECVWXA4H.cjs.map +1 -0
  92. package/dist/{chunk-FUU3I22W.js → chunk-EEB56QQX.js} +4 -3
  93. package/dist/{chunk-FUU3I22W.js.map → chunk-EEB56QQX.js.map} +1 -1
  94. package/dist/{chunk-NYTSAO5I.cjs → chunk-EFYWVWSL.cjs} +3 -2
  95. package/dist/{chunk-NYTSAO5I.cjs.map → chunk-EFYWVWSL.cjs.map} +1 -1
  96. package/dist/{chunk-NYOZQE6P.js → chunk-EZ2LRC7U.js} +6 -5
  97. package/dist/chunk-EZ2LRC7U.js.map +1 -0
  98. package/dist/{chunk-QM7NQK2K.js → chunk-F2ZT6DCV.js} +5 -4
  99. package/dist/{chunk-QM7NQK2K.js.map → chunk-F2ZT6DCV.js.map} +1 -1
  100. package/dist/{chunk-JWMS6LHN.cjs → chunk-FCFVJGWR.cjs} +9 -8
  101. package/dist/{chunk-JWMS6LHN.cjs.map → chunk-FCFVJGWR.cjs.map} +1 -1
  102. package/dist/{chunk-6OWEKKOC.js → chunk-FHLK5CTO.js} +6 -5
  103. package/dist/chunk-FHLK5CTO.js.map +1 -0
  104. package/dist/{chunk-MYSLJWCW.cjs → chunk-FKZATUBG.cjs} +11 -10
  105. package/dist/chunk-FKZATUBG.cjs.map +1 -0
  106. package/dist/{chunk-YQVWDHP4.cjs → chunk-FNBOLEST.cjs} +8 -7
  107. package/dist/{chunk-YQVWDHP4.cjs.map → chunk-FNBOLEST.cjs.map} +1 -1
  108. package/dist/{chunk-KWZMXX4F.js → chunk-FPKXEI3W.js} +4 -3
  109. package/dist/chunk-FPKXEI3W.js.map +1 -0
  110. package/dist/{chunk-OPBELSKN.js → chunk-FQJBEWGB.js} +8 -7
  111. package/dist/chunk-FQJBEWGB.js.map +1 -0
  112. package/dist/{chunk-UUVI3TYW.js → chunk-GCQTQJPW.js} +8 -7
  113. package/dist/chunk-GCQTQJPW.js.map +1 -0
  114. package/dist/{chunk-YAQB3UMC.js → chunk-GEU4SROO.js} +5 -4
  115. package/dist/{chunk-YAQB3UMC.js.map → chunk-GEU4SROO.js.map} +1 -1
  116. package/dist/{chunk-6ZPHID26.cjs → chunk-GIZ7DK3W.cjs} +10 -9
  117. package/dist/chunk-GIZ7DK3W.cjs.map +1 -0
  118. package/dist/{chunk-5K3C3INR.cjs → chunk-GOAIWDHB.cjs} +11 -10
  119. package/dist/chunk-GOAIWDHB.cjs.map +1 -0
  120. package/dist/{chunk-GQ73VKKN.js → chunk-H5BUXKYQ.js} +9 -8
  121. package/dist/{chunk-GQ73VKKN.js.map → chunk-H5BUXKYQ.js.map} +1 -1
  122. package/dist/{chunk-HN4W6TM6.cjs → chunk-H5Q63Z42.cjs} +10 -9
  123. package/dist/chunk-H5Q63Z42.cjs.map +1 -0
  124. package/dist/{chunk-O4PO6AMS.cjs → chunk-HAUMZ357.cjs} +3 -2
  125. package/dist/{chunk-O4PO6AMS.cjs.map → chunk-HAUMZ357.cjs.map} +1 -1
  126. package/dist/{chunk-6SFMORQF.cjs → chunk-HTY7SADT.cjs} +8 -7
  127. package/dist/chunk-HTY7SADT.cjs.map +1 -0
  128. package/dist/{chunk-WOVSJHY6.cjs → chunk-HW7GODZJ.cjs} +15 -14
  129. package/dist/chunk-HW7GODZJ.cjs.map +1 -0
  130. package/dist/{chunk-CKDB7QNT.cjs → chunk-I2QAN2HX.cjs} +21 -20
  131. package/dist/{chunk-CKDB7QNT.cjs.map → chunk-I2QAN2HX.cjs.map} +1 -1
  132. package/dist/{chunk-JIF5TZHC.cjs → chunk-IFRIXTF5.cjs} +3 -2
  133. package/dist/chunk-IFRIXTF5.cjs.map +1 -0
  134. package/dist/{chunk-JTPVAZE6.cjs → chunk-IHR3KEWH.cjs} +12 -11
  135. package/dist/{chunk-JTPVAZE6.cjs.map → chunk-IHR3KEWH.cjs.map} +1 -1
  136. package/dist/{chunk-EBV3EX3J.js → chunk-J2TQNGUM.js} +8 -7
  137. package/dist/chunk-J2TQNGUM.js.map +1 -0
  138. package/dist/{chunk-LWB2CTX6.cjs → chunk-J5VWFOOY.cjs} +5 -4
  139. package/dist/{chunk-LWB2CTX6.cjs.map → chunk-J5VWFOOY.cjs.map} +1 -1
  140. package/dist/{chunk-3NIDAKCF.cjs → chunk-J6XRX6DD.cjs} +3 -2
  141. package/dist/chunk-J6XRX6DD.cjs.map +1 -0
  142. package/dist/{chunk-6R2UZNVE.js → chunk-JCXI44K2.js} +7 -6
  143. package/dist/chunk-JCXI44K2.js.map +1 -0
  144. package/dist/{chunk-NIKT7XSO.js → chunk-JFFAICCY.js} +7 -6
  145. package/dist/chunk-JFFAICCY.js.map +1 -0
  146. package/dist/{chunk-UW3KCCBT.cjs → chunk-KZOUXGPD.cjs} +5 -4
  147. package/dist/{chunk-UW3KCCBT.cjs.map → chunk-KZOUXGPD.cjs.map} +1 -1
  148. package/dist/{chunk-OX2FNKIV.cjs → chunk-LDKE723G.cjs} +11 -10
  149. package/dist/{chunk-OX2FNKIV.cjs.map → chunk-LDKE723G.cjs.map} +1 -1
  150. package/dist/{chunk-BIKVMVWF.js → chunk-LHQM533G.js} +3 -2
  151. package/dist/{chunk-BIKVMVWF.js.map → chunk-LHQM533G.js.map} +1 -1
  152. package/dist/{chunk-KVJ27734.cjs → chunk-LIDE7FVO.cjs} +5 -4
  153. package/dist/{chunk-KVJ27734.cjs.map → chunk-LIDE7FVO.cjs.map} +1 -1
  154. package/dist/{chunk-EIJSWHG7.js → chunk-LT4P67TG.js} +6 -5
  155. package/dist/{chunk-EIJSWHG7.js.map → chunk-LT4P67TG.js.map} +1 -1
  156. package/dist/{chunk-3PCXFOOS.js → chunk-M5SZUUWM.js} +7 -6
  157. package/dist/chunk-M5SZUUWM.js.map +1 -0
  158. package/dist/{chunk-BQWUTDTN.js → chunk-MCCOQSSC.js} +3 -2
  159. package/dist/{chunk-BQWUTDTN.js.map → chunk-MCCOQSSC.js.map} +1 -1
  160. package/dist/{chunk-I2DXEPDF.js → chunk-MVDTWARG.js} +7 -6
  161. package/dist/chunk-MVDTWARG.js.map +1 -0
  162. package/dist/{chunk-VWG54F6X.cjs → chunk-MWETV5LK.cjs} +9 -8
  163. package/dist/{chunk-VWG54F6X.cjs.map → chunk-MWETV5LK.cjs.map} +1 -1
  164. package/dist/{chunk-OCYZKZ24.cjs → chunk-MWWAQVJ3.cjs} +4 -4
  165. package/dist/{chunk-OCYZKZ24.cjs.map → chunk-MWWAQVJ3.cjs.map} +1 -1
  166. package/dist/{chunk-BBLAZNCC.js → chunk-MYBFODRI.js} +9 -8
  167. package/dist/chunk-MYBFODRI.js.map +1 -0
  168. package/dist/{chunk-GLFWSLJB.cjs → chunk-NHM6CSX2.cjs} +11 -10
  169. package/dist/{chunk-GLFWSLJB.cjs.map → chunk-NHM6CSX2.cjs.map} +1 -1
  170. package/dist/{chunk-BF2DUOC3.cjs → chunk-NJR5SVHL.cjs} +15 -14
  171. package/dist/{chunk-BF2DUOC3.cjs.map → chunk-NJR5SVHL.cjs.map} +1 -1
  172. package/dist/{chunk-Q6YOSQAM.js → chunk-NP527IVS.js} +8 -7
  173. package/dist/chunk-NP527IVS.js.map +1 -0
  174. package/dist/{chunk-56PY2CD7.js → chunk-NSA33LOE.js} +6 -5
  175. package/dist/chunk-NSA33LOE.js.map +1 -0
  176. package/dist/{chunk-ZW2ZOEYM.cjs → chunk-OAEVUPAL.cjs} +11 -10
  177. package/dist/chunk-OAEVUPAL.cjs.map +1 -0
  178. package/dist/{chunk-KVEXSDEM.js → chunk-OI4GH7DO.js} +5 -4
  179. package/dist/{chunk-KVEXSDEM.js.map → chunk-OI4GH7DO.js.map} +1 -1
  180. package/dist/{chunk-AKAXQ4RL.js → chunk-OLJIILEI.js} +4 -3
  181. package/dist/{chunk-AKAXQ4RL.js.map → chunk-OLJIILEI.js.map} +1 -1
  182. package/dist/{chunk-S4WWBV4N.js → chunk-ONOKHFK3.js} +6 -5
  183. package/dist/chunk-ONOKHFK3.js.map +1 -0
  184. package/dist/{chunk-BSXUNRET.cjs → chunk-ONRLHP46.cjs} +3 -2
  185. package/dist/chunk-ONRLHP46.cjs.map +1 -0
  186. package/dist/{chunk-NSWKBWPP.js → chunk-OSYOGJC5.js} +6 -5
  187. package/dist/{chunk-NSWKBWPP.js.map → chunk-OSYOGJC5.js.map} +1 -1
  188. package/dist/{chunk-5UGHDUMO.js → chunk-OXBBLHTC.js} +3 -2
  189. package/dist/chunk-OXBBLHTC.js.map +1 -0
  190. package/dist/{chunk-PQXPYN23.js → chunk-OYBRYZKK.js} +8 -7
  191. package/dist/chunk-OYBRYZKK.js.map +1 -0
  192. package/dist/{chunk-4MIIXRZN.cjs → chunk-OZNCX6DY.cjs} +21 -20
  193. package/dist/chunk-OZNCX6DY.cjs.map +1 -0
  194. package/dist/{chunk-FHUOUARL.js → chunk-P6LEAMPW.js} +5 -4
  195. package/dist/{chunk-FHUOUARL.js.map → chunk-P6LEAMPW.js.map} +1 -1
  196. package/dist/{chunk-DE7JLNSO.js → chunk-PTDBPRZD.js} +3 -2
  197. package/dist/chunk-PTDBPRZD.js.map +1 -0
  198. package/dist/{chunk-LBOWHXOF.js → chunk-PYUPT3HU.js} +5 -4
  199. package/dist/chunk-PYUPT3HU.js.map +1 -0
  200. package/dist/{chunk-PZHRFASW.js → chunk-Q4UI2MP4.js} +3 -2
  201. package/dist/chunk-Q4UI2MP4.js.map +1 -0
  202. package/dist/{chunk-YGESCFX2.js → chunk-Q5DVIVMR.js} +4 -3
  203. package/dist/chunk-Q5DVIVMR.js.map +1 -0
  204. package/dist/{chunk-FQSVY4QB.js → chunk-QMFPPGSZ.js} +4 -3
  205. package/dist/chunk-QMFPPGSZ.js.map +1 -0
  206. package/dist/{chunk-JMVYWHJ7.js → chunk-QMZQ4I72.js} +5 -4
  207. package/dist/chunk-QMZQ4I72.js.map +1 -0
  208. package/dist/{chunk-PXTTIAC4.cjs → chunk-QOQ55IUO.cjs} +9 -8
  209. package/dist/chunk-QOQ55IUO.cjs.map +1 -0
  210. package/dist/{chunk-5HPXPF3F.js → chunk-R3ONJZXN.js} +6 -5
  211. package/dist/chunk-R3ONJZXN.js.map +1 -0
  212. package/dist/{chunk-EEOUWM2F.cjs → chunk-RCRUFF6F.cjs} +5 -4
  213. package/dist/{chunk-EEOUWM2F.cjs.map → chunk-RCRUFF6F.cjs.map} +1 -1
  214. package/dist/{chunk-V5XVXQWE.js → chunk-RKPEY2LR.js} +6 -5
  215. package/dist/{chunk-V5XVXQWE.js.map → chunk-RKPEY2LR.js.map} +1 -1
  216. package/dist/{chunk-X2P5SPGB.js → chunk-RM2XLAAU.js} +3 -3
  217. package/dist/{chunk-X2P5SPGB.js.map → chunk-RM2XLAAU.js.map} +1 -1
  218. package/dist/{chunk-D7TT4HUI.cjs → chunk-RNKQPVCB.cjs} +17 -16
  219. package/dist/{chunk-D7TT4HUI.cjs.map → chunk-RNKQPVCB.cjs.map} +1 -1
  220. package/dist/{chunk-FTNEAX24.js → chunk-RQUQSI67.js} +5 -4
  221. package/dist/chunk-RQUQSI67.js.map +1 -0
  222. package/dist/{chunk-54B36CSW.js → chunk-RRN6FK6U.js} +6 -5
  223. package/dist/{chunk-54B36CSW.js.map → chunk-RRN6FK6U.js.map} +1 -1
  224. package/dist/{chunk-KLPVBJGZ.cjs → chunk-RUPT4QAW.cjs} +6 -5
  225. package/dist/{chunk-KLPVBJGZ.cjs.map → chunk-RUPT4QAW.cjs.map} +1 -1
  226. package/dist/{chunk-UNS7OCEA.cjs → chunk-RYVQVW2U.cjs} +6 -5
  227. package/dist/{chunk-UNS7OCEA.cjs.map → chunk-RYVQVW2U.cjs.map} +1 -1
  228. package/dist/{chunk-OUUG4RHO.js → chunk-RZBOQQRG.js} +7 -6
  229. package/dist/chunk-RZBOQQRG.js.map +1 -0
  230. package/dist/{chunk-HC57X3U4.js → chunk-RZPKI7FD.js} +6 -5
  231. package/dist/chunk-RZPKI7FD.js.map +1 -0
  232. package/dist/{chunk-WTCH3QCQ.js → chunk-SHJNMFEV.js} +3 -2
  233. package/dist/chunk-SHJNMFEV.js.map +1 -0
  234. package/dist/{chunk-DVCDAKPK.cjs → chunk-T6E5MIIO.cjs} +7 -6
  235. package/dist/chunk-T6E5MIIO.cjs.map +1 -0
  236. package/dist/{chunk-UJDHRILS.cjs → chunk-TFPTFBHN.cjs} +7 -6
  237. package/dist/chunk-TFPTFBHN.cjs.map +1 -0
  238. package/dist/{chunk-XUCLNECV.js → chunk-TRDO4OBD.js} +4 -3
  239. package/dist/chunk-TRDO4OBD.js.map +1 -0
  240. package/dist/{chunk-LTHPJRFK.cjs → chunk-TRQQZ3FY.cjs} +10 -9
  241. package/dist/{chunk-LTHPJRFK.cjs.map → chunk-TRQQZ3FY.cjs.map} +1 -1
  242. package/dist/{chunk-PYN75QAG.js → chunk-TS3FMP6Z.js} +4 -3
  243. package/dist/chunk-TS3FMP6Z.js.map +1 -0
  244. package/dist/{chunk-QB2BSOM4.cjs → chunk-TT65RNBY.cjs} +3 -2
  245. package/dist/{chunk-QB2BSOM4.cjs.map → chunk-TT65RNBY.cjs.map} +1 -1
  246. package/dist/{chunk-KLCEDPJ4.cjs → chunk-TX4BD3JN.cjs} +19 -18
  247. package/dist/chunk-TX4BD3JN.cjs.map +1 -0
  248. package/dist/{chunk-CWZCBYVZ.cjs → chunk-U7NJKBAR.cjs} +14 -13
  249. package/dist/chunk-U7NJKBAR.cjs.map +1 -0
  250. package/dist/{chunk-6SKIBUCY.js → chunk-UCMIHJFE.js} +5 -4
  251. package/dist/chunk-UCMIHJFE.js.map +1 -0
  252. package/dist/{chunk-BNGYGCT2.js → chunk-UCSMB46R.js} +4 -3
  253. package/dist/{chunk-BNGYGCT2.js.map → chunk-UCSMB46R.js.map} +1 -1
  254. package/dist/{chunk-DTNIUZ3C.cjs → chunk-UGK3AL6Z.cjs} +8 -7
  255. package/dist/{chunk-DTNIUZ3C.cjs.map → chunk-UGK3AL6Z.cjs.map} +1 -1
  256. package/dist/{chunk-2AOR4EVA.cjs → chunk-UJS33XO7.cjs} +9 -8
  257. package/dist/chunk-UJS33XO7.cjs.map +1 -0
  258. package/dist/{chunk-BPAZTKMC.cjs → chunk-VOYIMBTO.cjs} +11 -10
  259. package/dist/{chunk-BPAZTKMC.cjs.map → chunk-VOYIMBTO.cjs.map} +1 -1
  260. package/dist/{chunk-ACGPBJIS.js → chunk-VRXTRDIP.js} +6 -5
  261. package/dist/chunk-VRXTRDIP.js.map +1 -0
  262. package/dist/{chunk-CPDWUT2H.cjs → chunk-W6UBDEMN.cjs} +3 -2
  263. package/dist/{chunk-CPDWUT2H.cjs.map → chunk-W6UBDEMN.cjs.map} +1 -1
  264. package/dist/{chunk-DXUFDJHA.cjs → chunk-WBVSDRWB.cjs} +11 -10
  265. package/dist/{chunk-DXUFDJHA.cjs.map → chunk-WBVSDRWB.cjs.map} +1 -1
  266. package/dist/{chunk-U7QJJ3NR.cjs → chunk-WHQNYDUT.cjs} +9 -8
  267. package/dist/{chunk-U7QJJ3NR.cjs.map → chunk-WHQNYDUT.cjs.map} +1 -1
  268. package/dist/{chunk-MJHEPDDX.cjs → chunk-WW6XXMJL.cjs} +21 -20
  269. package/dist/chunk-WW6XXMJL.cjs.map +1 -0
  270. package/dist/{chunk-HEF53COU.js → chunk-X6QULLGW.js} +4 -3
  271. package/dist/{chunk-HEF53COU.js.map → chunk-X6QULLGW.js.map} +1 -1
  272. package/dist/{chunk-BYV7NXC5.cjs → chunk-XB6G4W4P.cjs} +8 -7
  273. package/dist/chunk-XB6G4W4P.cjs.map +1 -0
  274. package/dist/{chunk-MDQSVB2Y.js → chunk-XBQKPRWG.js} +3 -2
  275. package/dist/chunk-XBQKPRWG.js.map +1 -0
  276. package/dist/{chunk-WLWSQKWI.js → chunk-XQIPFZUD.js} +9 -8
  277. package/dist/{chunk-WLWSQKWI.js.map → chunk-XQIPFZUD.js.map} +1 -1
  278. package/dist/{chunk-TACO5IWI.cjs → chunk-XTWTL3UB.cjs} +20 -19
  279. package/dist/chunk-XTWTL3UB.cjs.map +1 -0
  280. package/dist/{chunk-6KG76KUZ.js → chunk-XVJLFQJT.js} +4 -3
  281. package/dist/{chunk-6KG76KUZ.js.map → chunk-XVJLFQJT.js.map} +1 -1
  282. package/dist/{chunk-CVT7JW6C.cjs → chunk-XY5GXS62.cjs} +5 -4
  283. package/dist/{chunk-CVT7JW6C.cjs.map → chunk-XY5GXS62.cjs.map} +1 -1
  284. package/dist/{chunk-PKZSJX53.cjs → chunk-Y3TUHGI2.cjs} +3 -2
  285. package/dist/chunk-Y3TUHGI2.cjs.map +1 -0
  286. package/dist/{chunk-GKYGZWSQ.js → chunk-YBMIXGFM.js} +6 -5
  287. package/dist/{chunk-GKYGZWSQ.js.map → chunk-YBMIXGFM.js.map} +1 -1
  288. package/dist/{chunk-GTZQT6MK.js → chunk-YK5BUUZG.js} +6 -5
  289. package/dist/chunk-YK5BUUZG.js.map +1 -0
  290. package/dist/{chunk-L747HIHG.js → chunk-YKLFVO22.js} +5 -4
  291. package/dist/chunk-YKLFVO22.js.map +1 -0
  292. package/dist/{chunk-BKKLUIIU.js → chunk-YNGDGY2J.js} +3 -2
  293. package/dist/chunk-YNGDGY2J.js.map +1 -0
  294. package/dist/{chunk-2K4I2MB3.cjs → chunk-YPTBGFPT.cjs} +3 -2
  295. package/dist/{chunk-2K4I2MB3.cjs.map → chunk-YPTBGFPT.cjs.map} +1 -1
  296. package/dist/{chunk-O3UT5D57.js → chunk-YUKH75MR.js} +15 -14
  297. package/dist/{chunk-O3UT5D57.js.map → chunk-YUKH75MR.js.map} +1 -1
  298. package/dist/{chunk-IREOTHD3.cjs → chunk-Z2KSHRDD.cjs} +6 -5
  299. package/dist/chunk-Z2KSHRDD.cjs.map +1 -0
  300. package/dist/{chunk-VPWNRWNO.cjs → chunk-Z5EY2GRO.cjs} +3 -2
  301. package/dist/chunk-Z5EY2GRO.cjs.map +1 -0
  302. package/dist/{chunk-D3CHBU46.js → chunk-ZLJOIPTJ.js} +4 -3
  303. package/dist/{chunk-D3CHBU46.js.map → chunk-ZLJOIPTJ.js.map} +1 -1
  304. package/dist/{chunk-NGNVNRAZ.cjs → chunk-ZQWT5UEN.cjs} +18 -17
  305. package/dist/chunk-ZQWT5UEN.cjs.map +1 -0
  306. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  307. package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
  308. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  309. package/dist/components/Accordion/index.cjs +4 -4
  310. package/dist/components/Accordion/index.js +1 -1
  311. package/dist/components/Accordion/useAccordionDevWarning.d.ts.map +1 -1
  312. package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
  313. package/dist/components/Alert/Alert.d.ts.map +1 -1
  314. package/dist/components/Alert/index.cjs +10 -10
  315. package/dist/components/Alert/index.js +9 -9
  316. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  317. package/dist/components/AlertDialog/index.cjs +16 -16
  318. package/dist/components/AlertDialog/index.js +14 -14
  319. package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
  320. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  321. package/dist/components/AppShell/AppShellMobileContext.d.ts.map +1 -1
  322. package/dist/components/AppShell/index.cjs +21 -21
  323. package/dist/components/AppShell/index.js +18 -18
  324. package/dist/components/AppShell/useSlotPresence.d.ts.map +1 -1
  325. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  326. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  327. package/dist/components/AutocompleteInput/index.cjs +17 -17
  328. package/dist/components/AutocompleteInput/index.js +13 -13
  329. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  330. package/dist/components/Avatar/AvatarSizeContext.d.ts.map +1 -1
  331. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  332. package/dist/components/Avatar/index.cjs +4 -4
  333. package/dist/components/Avatar/index.js +1 -1
  334. package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  335. package/dist/components/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
  336. package/dist/components/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  337. package/dist/components/AvatarGroup/index.cjs +4 -4
  338. package/dist/components/AvatarGroup/index.js +2 -2
  339. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  340. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  341. package/dist/components/Breadcrumbs/BreadcrumbsContext.d.ts.map +1 -1
  342. package/dist/components/Breadcrumbs/index.cjs +5 -5
  343. package/dist/components/Breadcrumbs/index.js +2 -2
  344. package/dist/components/Button/Button.d.ts.map +1 -1
  345. package/dist/components/Button/index.cjs +9 -9
  346. package/dist/components/Button/index.js +8 -8
  347. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  348. package/dist/components/ButtonGroup/ButtonGroupContext.d.ts.map +1 -1
  349. package/dist/components/ButtonGroup/index.cjs +3 -3
  350. package/dist/components/ButtonGroup/index.js +2 -2
  351. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  352. package/dist/components/Calendar/index.cjs +10 -10
  353. package/dist/components/Calendar/index.js +9 -9
  354. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  355. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -1
  356. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -1
  357. package/dist/components/CheckboxGroup/index.cjs +12 -12
  358. package/dist/components/CheckboxGroup/index.js +10 -10
  359. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  360. package/dist/components/CheckboxInput/index.cjs +9 -9
  361. package/dist/components/CheckboxInput/index.js +8 -8
  362. package/dist/components/CodeBlock/index.cjs +11 -11
  363. package/dist/components/CodeBlock/index.js +10 -10
  364. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
  365. package/dist/components/ContextMenu/index.cjs +15 -15
  366. package/dist/components/ContextMenu/index.js +13 -13
  367. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  368. package/dist/components/DateInput/index.cjs +13 -13
  369. package/dist/components/DateInput/index.js +12 -12
  370. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  371. package/dist/components/DateRangeInput/index.cjs +13 -13
  372. package/dist/components/DateRangeInput/index.js +12 -12
  373. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  374. package/dist/components/DateTimeInput/index.cjs +15 -15
  375. package/dist/components/DateTimeInput/index.js +14 -14
  376. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  377. package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
  378. package/dist/components/Dialog/index.cjs +8 -8
  379. package/dist/components/Dialog/index.js +4 -4
  380. package/dist/components/Dialog/useDialog.d.ts.map +1 -1
  381. package/dist/components/Divider/Divider.d.ts.map +1 -1
  382. package/dist/components/Divider/index.cjs +2 -2
  383. package/dist/components/Divider/index.js +1 -1
  384. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  385. package/dist/components/Drawer/index.cjs +5 -5
  386. package/dist/components/Drawer/index.js +3 -3
  387. package/dist/components/Drawer/useDrawer.d.ts.map +1 -1
  388. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  389. package/dist/components/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
  390. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  391. package/dist/components/DropdownMenu/index.cjs +16 -16
  392. package/dist/components/DropdownMenu/index.js +12 -12
  393. package/dist/components/DropdownMenu/menuUtils.d.ts.map +1 -1
  394. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  395. package/dist/components/EmptyState/index.cjs +5 -5
  396. package/dist/components/EmptyState/index.js +4 -4
  397. package/dist/components/Field/index.cjs +6 -6
  398. package/dist/components/Field/index.js +4 -4
  399. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  400. package/dist/components/FileInput/index.cjs +11 -11
  401. package/dist/components/FileInput/index.js +10 -10
  402. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
  403. package/dist/components/HoverCard/index.cjs +4 -4
  404. package/dist/components/HoverCard/index.js +2 -2
  405. package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
  406. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  407. package/dist/components/InputGroup/InputGroupContext.d.ts.map +1 -1
  408. package/dist/components/InputGroup/index.cjs +9 -9
  409. package/dist/components/InputGroup/index.js +5 -5
  410. package/dist/components/Item/Item.d.ts.map +1 -1
  411. package/dist/components/Item/index.cjs +7 -7
  412. package/dist/components/Item/index.js +6 -6
  413. package/dist/components/Kbd/Kbd.d.ts.map +1 -1
  414. package/dist/components/Kbd/index.cjs +2 -2
  415. package/dist/components/Kbd/index.js +1 -1
  416. package/dist/components/Layout/Layout.d.ts.map +1 -1
  417. package/dist/components/Layout/LayoutContext.d.ts.map +1 -1
  418. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  419. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  420. package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
  421. package/dist/components/Layout/index.cjs +15 -15
  422. package/dist/components/Layout/index.js +10 -10
  423. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  424. package/dist/components/Lightbox/index.cjs +12 -12
  425. package/dist/components/Lightbox/index.js +10 -10
  426. package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
  427. package/dist/components/Link/Link.d.ts.map +1 -1
  428. package/dist/components/Link/LinkContext.d.ts.map +1 -1
  429. package/dist/components/Link/LinkProvider.d.ts.map +1 -1
  430. package/dist/components/Link/index.cjs +8 -8
  431. package/dist/components/Link/index.js +5 -5
  432. package/dist/components/Link/useLinkComponent.d.ts.map +1 -1
  433. package/dist/components/List/List.d.ts.map +1 -1
  434. package/dist/components/List/ListContext.d.ts.map +1 -1
  435. package/dist/components/List/ListItem.d.ts.map +1 -1
  436. package/dist/components/List/index.cjs +9 -9
  437. package/dist/components/List/index.js +7 -7
  438. package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
  439. package/dist/components/MetadataList/MetadataListContext.d.ts.map +1 -1
  440. package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
  441. package/dist/components/MetadataList/index.cjs +6 -6
  442. package/dist/components/MetadataList/index.js +4 -4
  443. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  444. package/dist/components/MultiSelect/index.cjs +13 -13
  445. package/dist/components/MultiSelect/index.js +12 -12
  446. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  447. package/dist/components/NumberInput/index.cjs +12 -12
  448. package/dist/components/NumberInput/index.js +11 -11
  449. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  450. package/dist/components/Pagination/index.cjs +10 -10
  451. package/dist/components/Pagination/index.js +9 -9
  452. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  453. package/dist/components/PasswordInput/index.cjs +13 -13
  454. package/dist/components/PasswordInput/index.js +12 -12
  455. package/dist/components/Popover/Popover.d.ts.map +1 -1
  456. package/dist/components/Popover/index.cjs +11 -11
  457. package/dist/components/Popover/index.js +9 -9
  458. package/dist/components/Popover/usePopover.d.ts.map +1 -1
  459. package/dist/components/Progress/Progress.d.ts.map +1 -1
  460. package/dist/components/Progress/index.cjs +2 -2
  461. package/dist/components/Progress/index.js +1 -1
  462. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  463. package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/index.cjs +10 -10
  466. package/dist/components/RadioGroup/index.js +8 -8
  467. package/dist/components/Rating/Rating.d.ts.map +1 -1
  468. package/dist/components/Rating/index.cjs +2 -2
  469. package/dist/components/Rating/index.js +1 -1
  470. package/dist/components/Schedule/DayView.d.ts.map +1 -1
  471. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  472. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  473. package/dist/components/Schedule/Schedule.d.ts.map +1 -1
  474. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  475. package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
  476. package/dist/components/Schedule/context.d.ts.map +1 -1
  477. package/dist/components/Schedule/index.cjs +34 -34
  478. package/dist/components/Schedule/index.js +19 -19
  479. package/dist/components/Schedule/plugins/EventMovePlugin.d.ts.map +1 -1
  480. package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts.map +1 -1
  481. package/dist/components/Schedule/plugins/EventResizePlugin.d.ts.map +1 -1
  482. package/dist/components/Schedule/plugins/PaginationPlugin.d.ts.map +1 -1
  483. package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -1
  484. package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
  485. package/dist/components/Schedule/shared.d.ts.map +1 -1
  486. package/dist/components/Schedule/useCurrentTime.d.ts.map +1 -1
  487. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  488. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
  489. package/dist/components/SearchFilterInput/SearchFilterInputFilterEditor.d.ts.map +1 -1
  490. package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts.map +1 -1
  491. package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts.map +1 -1
  492. package/dist/components/SearchFilterInput/index.cjs +32 -32
  493. package/dist/components/SearchFilterInput/index.js +24 -24
  494. package/dist/components/SearchFilterInput/internalConfig.d.ts.map +1 -1
  495. package/dist/components/SearchFilterInput/useSearchFilterInputConfig.d.ts.map +1 -1
  496. package/dist/components/SearchFilterInput/useSearchFilterInputSource.d.ts.map +1 -1
  497. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  498. package/dist/components/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  499. package/dist/components/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  500. package/dist/components/SegmentedControl/index.cjs +3 -3
  501. package/dist/components/SegmentedControl/index.js +1 -1
  502. package/dist/components/Select/Select.d.ts.map +1 -1
  503. package/dist/components/Select/index.cjs +15 -15
  504. package/dist/components/Select/index.js +13 -13
  505. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  506. package/dist/components/SideNav/SideNavContext.d.ts.map +1 -1
  507. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  508. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  509. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  510. package/dist/components/SideNav/index.cjs +19 -19
  511. package/dist/components/SideNav/index.js +13 -13
  512. package/dist/components/SideNav/internal/SideNavCollapseButton.d.ts.map +1 -1
  513. package/dist/components/Slider/Slider.d.ts.map +1 -1
  514. package/dist/components/Slider/index.cjs +6 -6
  515. package/dist/components/Slider/index.js +5 -5
  516. package/dist/components/Spinner/index.cjs +5 -5
  517. package/dist/components/Spinner/index.js +4 -4
  518. package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
  519. package/dist/components/SplitButton/index.cjs +15 -15
  520. package/dist/components/SplitButton/index.js +14 -14
  521. package/dist/components/Stepper/Stepper.d.ts.map +1 -1
  522. package/dist/components/Stepper/index.cjs +5 -5
  523. package/dist/components/Stepper/index.js +4 -4
  524. package/dist/components/Stepper/internal/Step.d.ts.map +1 -1
  525. package/dist/components/Switch/Switch.d.ts.map +1 -1
  526. package/dist/components/Switch/index.cjs +6 -6
  527. package/dist/components/Switch/index.js +5 -5
  528. package/dist/components/Table/Table.d.ts.map +1 -1
  529. package/dist/components/Table/TableCell.d.ts.map +1 -1
  530. package/dist/components/Table/TableContext.d.ts.map +1 -1
  531. package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
  532. package/dist/components/Table/TableRow.d.ts.map +1 -1
  533. package/dist/components/Table/index.cjs +54 -54
  534. package/dist/components/Table/index.js +28 -28
  535. package/dist/components/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  536. package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts.map +1 -1
  537. package/dist/components/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts.map +1 -1
  538. package/dist/components/Table/plugins/filtering/useTableFilterState.d.ts.map +1 -1
  539. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  540. package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  541. package/dist/components/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  542. package/dist/components/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
  543. package/dist/components/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  544. package/dist/components/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
  545. package/dist/components/Table/useBaseTablePlugins.d.ts.map +1 -1
  546. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  547. package/dist/components/Tabs/TabMenu.d.ts.map +1 -1
  548. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  549. package/dist/components/Tabs/TabsContext.d.ts.map +1 -1
  550. package/dist/components/Tabs/index.cjs +15 -15
  551. package/dist/components/Tabs/index.js +10 -10
  552. package/dist/components/Tag/Tag.d.ts.map +1 -1
  553. package/dist/components/Tag/index.cjs +7 -7
  554. package/dist/components/Tag/index.js +6 -6
  555. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  556. package/dist/components/TagsInput/index.cjs +15 -15
  557. package/dist/components/TagsInput/index.js +14 -14
  558. package/dist/components/Text/Heading.d.ts.map +1 -1
  559. package/dist/components/Text/Text.d.ts.map +1 -1
  560. package/dist/components/Text/index.cjs +5 -5
  561. package/dist/components/Text/index.js +3 -3
  562. package/dist/components/Text/useTruncation.d.ts.map +1 -1
  563. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  564. package/dist/components/TextArea/index.cjs +7 -7
  565. package/dist/components/TextArea/index.js +6 -6
  566. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  567. package/dist/components/TextInput/index.cjs +12 -12
  568. package/dist/components/TextInput/index.js +11 -11
  569. package/dist/components/Theme/Theme.d.ts.map +1 -1
  570. package/dist/components/Theme/index.cjs +2 -2
  571. package/dist/components/Theme/index.js +1 -1
  572. package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
  573. package/dist/components/Thumbnail/index.cjs +10 -10
  574. package/dist/components/Thumbnail/index.js +9 -9
  575. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  576. package/dist/components/TimeInput/index.cjs +11 -11
  577. package/dist/components/TimeInput/index.js +10 -10
  578. package/dist/components/Toast/Toast.d.ts.map +1 -1
  579. package/dist/components/Toast/ToastContext.d.ts.map +1 -1
  580. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  581. package/dist/components/Toast/index.cjs +12 -12
  582. package/dist/components/Toast/index.js +9 -9
  583. package/dist/components/Toast/useToast.d.ts.map +1 -1
  584. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
  585. package/dist/components/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  586. package/dist/components/ToggleButton/index.cjs +7 -7
  587. package/dist/components/ToggleButton/index.js +5 -5
  588. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  589. package/dist/components/Tooltip/index.cjs +4 -4
  590. package/dist/components/Tooltip/index.js +2 -2
  591. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  592. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  593. package/dist/components/TopNav/TopNavContext.d.ts.map +1 -1
  594. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  595. package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
  596. package/dist/components/TopNav/index.cjs +18 -18
  597. package/dist/components/TopNav/index.js +13 -13
  598. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  599. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  600. package/dist/components/TreeView/index.cjs +3 -3
  601. package/dist/components/TreeView/index.js +2 -2
  602. package/dist/index.cjs +246 -246
  603. package/dist/index.js +76 -76
  604. package/dist/internal/ActionElement.d.ts.map +1 -1
  605. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  606. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  607. package/dist/internal/MobileNav/MobileNavToggle.d.ts.map +1 -1
  608. package/dist/internal/OverflowList.d.ts.map +1 -1
  609. package/dist/internal/linkAccessibility.d.ts.map +1 -1
  610. package/dist/internal/useBackdropDismiss.d.ts.map +1 -1
  611. package/dist/internal/useConstant.d.ts.map +1 -1
  612. package/dist/internal/useFocusTrap.d.ts.map +1 -1
  613. package/dist/internal/useGridFocus.d.ts.map +1 -1
  614. package/dist/internal/useHoverLayer.d.ts.map +1 -1
  615. package/dist/internal/useLatest.d.ts.map +1 -1
  616. package/dist/internal/useLayer.d.ts.map +1 -1
  617. package/dist/internal/useListboxNavigation.d.ts.map +1 -1
  618. package/dist/internal/useMediaQuery.d.ts.map +1 -1
  619. package/dist/internal/useScrollLock.d.ts.map +1 -1
  620. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  621. package/dist/internal/useShallowEqualMemo.d.ts.map +1 -1
  622. package/dist/styles.css +1 -1
  623. package/package.json +3 -2
  624. package/dist/chunk-2AOR4EVA.cjs.map +0 -1
  625. package/dist/chunk-2N3PIXZ5.cjs.map +0 -1
  626. package/dist/chunk-3NIDAKCF.cjs.map +0 -1
  627. package/dist/chunk-3PCXFOOS.js.map +0 -1
  628. package/dist/chunk-3PEK2Q54.cjs.map +0 -1
  629. package/dist/chunk-3W3ST5Y3.cjs.map +0 -1
  630. package/dist/chunk-4MIIXRZN.cjs.map +0 -1
  631. package/dist/chunk-56PY2CD7.js.map +0 -1
  632. package/dist/chunk-5FQKELP6.js.map +0 -1
  633. package/dist/chunk-5HPXPF3F.js.map +0 -1
  634. package/dist/chunk-5K3C3INR.cjs.map +0 -1
  635. package/dist/chunk-5RFHYDQY.js.map +0 -1
  636. package/dist/chunk-5UGHDUMO.js.map +0 -1
  637. package/dist/chunk-63QPCV4F.cjs.map +0 -1
  638. package/dist/chunk-6OWEKKOC.js.map +0 -1
  639. package/dist/chunk-6R2UZNVE.js.map +0 -1
  640. package/dist/chunk-6SFMORQF.cjs.map +0 -1
  641. package/dist/chunk-6SKIBUCY.js.map +0 -1
  642. package/dist/chunk-6SMVH3ON.cjs.map +0 -1
  643. package/dist/chunk-6ZPHID26.cjs.map +0 -1
  644. package/dist/chunk-AC4E3WQA.cjs.map +0 -1
  645. package/dist/chunk-ACGPBJIS.js.map +0 -1
  646. package/dist/chunk-ARUOMLOJ.cjs.map +0 -1
  647. package/dist/chunk-BBLAZNCC.js.map +0 -1
  648. package/dist/chunk-BKKLUIIU.js.map +0 -1
  649. package/dist/chunk-BSXUNRET.cjs.map +0 -1
  650. package/dist/chunk-BYV7NXC5.cjs.map +0 -1
  651. package/dist/chunk-CQYBC3RJ.cjs.map +0 -1
  652. package/dist/chunk-CWZCBYVZ.cjs.map +0 -1
  653. package/dist/chunk-DE7JLNSO.js.map +0 -1
  654. package/dist/chunk-DVCDAKPK.cjs.map +0 -1
  655. package/dist/chunk-EBV3EX3J.js.map +0 -1
  656. package/dist/chunk-ESWYWWY2.js.map +0 -1
  657. package/dist/chunk-EZFQCREN.cjs.map +0 -1
  658. package/dist/chunk-FQSVY4QB.js.map +0 -1
  659. package/dist/chunk-FTNEAX24.js.map +0 -1
  660. package/dist/chunk-GJZAGTPV.cjs.map +0 -1
  661. package/dist/chunk-GTZQT6MK.js.map +0 -1
  662. package/dist/chunk-H7LOOHWU.cjs.map +0 -1
  663. package/dist/chunk-HC57X3U4.js.map +0 -1
  664. package/dist/chunk-HENIVDYQ.cjs.map +0 -1
  665. package/dist/chunk-HN4W6TM6.cjs.map +0 -1
  666. package/dist/chunk-I2DXEPDF.js.map +0 -1
  667. package/dist/chunk-IREOTHD3.cjs.map +0 -1
  668. package/dist/chunk-J242UTPO.cjs.map +0 -1
  669. package/dist/chunk-JIF5TZHC.cjs.map +0 -1
  670. package/dist/chunk-JMVYWHJ7.js.map +0 -1
  671. package/dist/chunk-KEPCKSDE.js.map +0 -1
  672. package/dist/chunk-KLCEDPJ4.cjs.map +0 -1
  673. package/dist/chunk-KWZMXX4F.js.map +0 -1
  674. package/dist/chunk-L747HIHG.js.map +0 -1
  675. package/dist/chunk-LBOWHXOF.js.map +0 -1
  676. package/dist/chunk-MDQSVB2Y.js.map +0 -1
  677. package/dist/chunk-MJHEPDDX.cjs.map +0 -1
  678. package/dist/chunk-MYSLJWCW.cjs.map +0 -1
  679. package/dist/chunk-N6C37HXD.js.map +0 -1
  680. package/dist/chunk-NGNVNRAZ.cjs.map +0 -1
  681. package/dist/chunk-NIKT7XSO.js.map +0 -1
  682. package/dist/chunk-NYOZQE6P.js.map +0 -1
  683. package/dist/chunk-OPBELSKN.js.map +0 -1
  684. package/dist/chunk-OUUG4RHO.js.map +0 -1
  685. package/dist/chunk-PG4CZRTU.js.map +0 -1
  686. package/dist/chunk-PGBYMBGH.js.map +0 -1
  687. package/dist/chunk-PKZSJX53.cjs.map +0 -1
  688. package/dist/chunk-PQXPYN23.js.map +0 -1
  689. package/dist/chunk-PXTTIAC4.cjs.map +0 -1
  690. package/dist/chunk-PYN75QAG.js.map +0 -1
  691. package/dist/chunk-PZHRFASW.js.map +0 -1
  692. package/dist/chunk-Q6YOSQAM.js.map +0 -1
  693. package/dist/chunk-QQCEGAUQ.cjs.map +0 -1
  694. package/dist/chunk-RLIBY7XB.cjs.map +0 -1
  695. package/dist/chunk-S4WWBV4N.js.map +0 -1
  696. package/dist/chunk-TACO5IWI.cjs.map +0 -1
  697. package/dist/chunk-UJDHRILS.cjs.map +0 -1
  698. package/dist/chunk-UUVI3TYW.js.map +0 -1
  699. package/dist/chunk-VK7DXUGH.cjs.map +0 -1
  700. package/dist/chunk-VPWNRWNO.cjs.map +0 -1
  701. package/dist/chunk-WOVSJHY6.cjs.map +0 -1
  702. package/dist/chunk-WTCH3QCQ.js.map +0 -1
  703. package/dist/chunk-XUCLNECV.js.map +0 -1
  704. package/dist/chunk-YGESCFX2.js.map +0 -1
  705. package/dist/chunk-ZDZ7FW6V.cjs.map +0 -1
  706. package/dist/chunk-ZW2ZOEYM.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Theme/Theme.tsx"],"names":[],"mappings":"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","file":"chunk-PTDBPRZD.js","sourcesContent":["'use client';\n\nimport {\n Fragment,\n createElement,\n useId,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from 'internal/cx';\n\nexport type ThemeMode = 'dark' | 'light' | 'system';\n\nexport type ThemePaletteName =\n | 'blue'\n | 'cyan'\n | 'gray'\n | 'green'\n | 'orange'\n | 'pink'\n | 'purple'\n | 'red'\n | 'teal'\n | 'yellow';\n\nexport type ThemePaletteStep =\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900;\n\nexport type ThemePaletteReference =\n | `${ThemePaletteName}.${ThemePaletteStep}`\n | `${ThemePaletteName}-${ThemePaletteStep}`;\n\nexport type ThemeColorValue = ThemePaletteReference | (string & {});\ntype ThemeCssVariableName = `--silver-${string}`;\ntype ThemeCssVariables = Partial<Record<ThemeCssVariableName, string>>;\n\nexport interface ThemeColorTokens {\n bg?: ThemeColorValue;\n bgGhostActive?: ThemeColorValue;\n bgGhostHover?: ThemeColorValue;\n bgHover?: ThemeColorValue;\n bgSelected?: ThemeColorValue;\n bgSubtle?: ThemeColorValue;\n border?: ThemeColorValue;\n borderEmphasized?: ThemeColorValue;\n destructive?: ThemeColorValue;\n destructiveActive?: ThemeColorValue;\n destructiveFg?: ThemeColorValue;\n destructiveHover?: ThemeColorValue;\n fg?: ThemeColorValue;\n fgDisabled?: ThemeColorValue;\n fgMuted?: ThemeColorValue;\n fgOnPrimary?: ThemeColorValue;\n iconAccent?: ThemeColorValue;\n iconBlue?: ThemeColorValue;\n iconCyan?: ThemeColorValue;\n iconDisabled?: ThemeColorValue;\n iconError?: ThemeColorValue;\n iconGray?: ThemeColorValue;\n iconGreen?: ThemeColorValue;\n iconInfo?: ThemeColorValue;\n iconOrange?: ThemeColorValue;\n iconPink?: ThemeColorValue;\n iconPrimary?: ThemeColorValue;\n iconPurple?: ThemeColorValue;\n iconRed?: ThemeColorValue;\n iconSecondary?: ThemeColorValue;\n iconSuccess?: ThemeColorValue;\n iconTeal?: ThemeColorValue;\n iconTertiary?: ThemeColorValue;\n iconWarning?: ThemeColorValue;\n iconYellow?: ThemeColorValue;\n overlayScrim?: ThemeColorValue;\n overlayScrimStrong?: ThemeColorValue;\n overlayScrimSubtle?: ThemeColorValue;\n presenceError?: ThemeColorValue;\n presenceNeutral?: ThemeColorValue;\n presenceSuccess?: ThemeColorValue;\n primary?: ThemeColorValue;\n primaryActive?: ThemeColorValue;\n primaryHover?: ThemeColorValue;\n primarySubtle?: ThemeColorValue;\n skeleton?: ThemeColorValue;\n skeletonShimmer?: ThemeColorValue;\n statusDisabledSolid?: ThemeColorValue;\n statusDisabledSolidFg?: ThemeColorValue;\n statusErrorBorder?: ThemeColorValue;\n statusErrorBorderHover?: ThemeColorValue;\n statusErrorFg?: ThemeColorValue;\n statusErrorSolid?: ThemeColorValue;\n statusErrorSolidFg?: ThemeColorValue;\n statusInfoFg?: ThemeColorValue;\n statusInfoSolid?: ThemeColorValue;\n statusInfoSolidFg?: ThemeColorValue;\n statusNeutralSolid?: ThemeColorValue;\n statusNeutralSolidFg?: ThemeColorValue;\n statusSuccessBorder?: ThemeColorValue;\n statusSuccessBorderHover?: ThemeColorValue;\n statusSuccessFg?: ThemeColorValue;\n statusSuccessSolid?: ThemeColorValue;\n statusSuccessSolidFg?: ThemeColorValue;\n statusWarningBorder?: ThemeColorValue;\n statusWarningBorderHover?: ThemeColorValue;\n statusWarningFg?: ThemeColorValue;\n statusWarningSolid?: ThemeColorValue;\n statusWarningSolidFg?: ThemeColorValue;\n surfaceBlue?: ThemeColorValue;\n surfaceBlueAccent?: ThemeColorValue;\n surfaceBlueFg?: ThemeColorValue;\n surfaceBlueHover?: ThemeColorValue;\n surfaceCyan?: ThemeColorValue;\n surfaceCyanAccent?: ThemeColorValue;\n surfaceCyanFg?: ThemeColorValue;\n surfaceCyanHover?: ThemeColorValue;\n surfaceGray?: ThemeColorValue;\n surfaceGrayAccent?: ThemeColorValue;\n surfaceGrayFg?: ThemeColorValue;\n surfaceGrayHover?: ThemeColorValue;\n surfaceGreen?: ThemeColorValue;\n surfaceGreenAccent?: ThemeColorValue;\n surfaceGreenFg?: ThemeColorValue;\n surfaceGreenHover?: ThemeColorValue;\n surfaceOrange?: ThemeColorValue;\n surfaceOrangeAccent?: ThemeColorValue;\n surfaceOrangeFg?: ThemeColorValue;\n surfaceOrangeHover?: ThemeColorValue;\n surfacePink?: ThemeColorValue;\n surfacePinkAccent?: ThemeColorValue;\n surfacePinkFg?: ThemeColorValue;\n surfacePinkHover?: ThemeColorValue;\n surfacePurple?: ThemeColorValue;\n surfacePurpleAccent?: ThemeColorValue;\n surfacePurpleFg?: ThemeColorValue;\n surfacePurpleHover?: ThemeColorValue;\n surfaceRed?: ThemeColorValue;\n surfaceRedAccent?: ThemeColorValue;\n surfaceRedFg?: ThemeColorValue;\n surfaceRedHover?: ThemeColorValue;\n surfaceTeal?: ThemeColorValue;\n surfaceTealAccent?: ThemeColorValue;\n surfaceTealFg?: ThemeColorValue;\n surfaceTealHover?: ThemeColorValue;\n surfaceYellow?: ThemeColorValue;\n surfaceYellowAccent?: ThemeColorValue;\n surfaceYellowFg?: ThemeColorValue;\n surfaceYellowHover?: ThemeColorValue;\n track?: ThemeColorValue;\n trackDisabled?: ThemeColorValue;\n trackEmphasized?: ThemeColorValue;\n}\n\nexport interface ThemeFontTokens {\n body?: string;\n mono?: string;\n}\n\nexport interface ThemeFontSizeTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n iconLg?: string;\n iconMd?: string;\n iconSm?: string;\n}\n\nexport interface ThemeRadiusTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n lg?: string;\n md?: string;\n sm?: string;\n}\n\nexport interface ThemeShadowTokens {\n focus?: string;\n focusError?: string;\n focusSuccess?: string;\n focusWarning?: string;\n}\n\nexport interface ThemeSizeTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n iconLg?: string;\n iconMd?: string;\n iconSm?: string;\n}\n\nexport interface ThemeSpacingTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n focusOffset?: string;\n focusOffsetLoose?: string;\n focusOffsetTight?: string;\n}\n\nexport interface ThemeTokens {\n colors?: ThemeColorTokens;\n fonts?: ThemeFontTokens;\n fontSizes?: ThemeFontSizeTokens;\n radii?: ThemeRadiusTokens;\n shadows?: ThemeShadowTokens;\n sizes?: ThemeSizeTokens;\n spacing?: ThemeSpacingTokens;\n}\n\nexport interface ThemeModeTokens {\n dark?: ThemeTokens;\n light?: ThemeTokens;\n}\n\nexport interface ThemeProps extends HTMLAttributes<HTMLElement> {\n /**\n * HTML element type to render.\n * @default 'div'\n */\n as?: ElementType;\n /**\n * Theme content.\n */\n children?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Theme mode. System mode omits data-theme and follows existing CSS/media\n * query behavior.\n * @default 'system'\n */\n mode?: ThemeMode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Friendly token overrides mapped to Silver CSS custom properties.\n */\n themes?: ThemeModeTokens;\n /**\n * Friendly token overrides applied in every mode.\n */\n tokens?: ThemeTokens;\n}\n\nconst colorTokenVariables: Record<\n keyof ThemeColorTokens,\n ThemeCssVariableName\n> = {\n bg: '--silver-colors-bg',\n bgGhostActive: '--silver-colors-bg-ghost-active',\n bgGhostHover: '--silver-colors-bg-ghost-hover',\n bgHover: '--silver-colors-bg-hover',\n bgSelected: '--silver-colors-bg-selected',\n bgSubtle: '--silver-colors-bg-subtle',\n border: '--silver-colors-border',\n borderEmphasized: '--silver-colors-border-emphasized',\n destructive: '--silver-colors-destructive',\n destructiveActive: '--silver-colors-destructive-active',\n destructiveFg: '--silver-colors-destructive-fg',\n destructiveHover: '--silver-colors-destructive-hover',\n fg: '--silver-colors-fg',\n fgDisabled: '--silver-colors-fg-disabled',\n fgMuted: '--silver-colors-fg-muted',\n fgOnPrimary: '--silver-colors-fg-on-primary',\n primary: '--silver-colors-primary',\n primaryActive: '--silver-colors-primary-active',\n primaryHover: '--silver-colors-primary-hover',\n primarySubtle: '--silver-colors-primary-subtle',\n iconAccent: '--silver-colors-icon-accent',\n iconBlue: '--silver-colors-icon-blue',\n iconCyan: '--silver-colors-icon-cyan',\n iconDisabled: '--silver-colors-icon-disabled',\n iconError: '--silver-colors-icon-error',\n iconGray: '--silver-colors-icon-gray',\n iconGreen: '--silver-colors-icon-green',\n iconInfo: '--silver-colors-icon-info',\n iconOrange: '--silver-colors-icon-orange',\n iconPink: '--silver-colors-icon-pink',\n iconPrimary: '--silver-colors-icon-primary',\n iconPurple: '--silver-colors-icon-purple',\n iconRed: '--silver-colors-icon-red',\n iconSecondary: '--silver-colors-icon-secondary',\n iconSuccess: '--silver-colors-icon-success',\n iconTeal: '--silver-colors-icon-teal',\n iconTertiary: '--silver-colors-icon-tertiary',\n iconWarning: '--silver-colors-icon-warning',\n iconYellow: '--silver-colors-icon-yellow',\n overlayScrim: '--silver-colors-overlay-scrim',\n overlayScrimStrong: '--silver-colors-overlay-scrim-strong',\n overlayScrimSubtle: '--silver-colors-overlay-scrim-subtle',\n presenceError: '--silver-colors-presence-error',\n presenceNeutral: '--silver-colors-presence-neutral',\n presenceSuccess: '--silver-colors-presence-success',\n skeleton: '--silver-colors-skeleton',\n skeletonShimmer: '--silver-colors-skeleton-shimmer',\n statusDisabledSolid: '--silver-colors-status-disabled-solid',\n statusDisabledSolidFg: '--silver-colors-status-disabled-solid-fg',\n statusErrorBorder: '--silver-colors-status-error-border',\n statusErrorBorderHover: '--silver-colors-status-error-border-hover',\n statusErrorFg: '--silver-colors-status-error-fg',\n statusErrorSolid: '--silver-colors-status-error-solid',\n statusErrorSolidFg: '--silver-colors-status-error-solid-fg',\n statusInfoFg: '--silver-colors-status-info-fg',\n statusInfoSolid: '--silver-colors-status-info-solid',\n statusInfoSolidFg: '--silver-colors-status-info-solid-fg',\n statusNeutralSolid: '--silver-colors-status-neutral-solid',\n statusNeutralSolidFg: '--silver-colors-status-neutral-solid-fg',\n statusSuccessBorder: '--silver-colors-status-success-border',\n statusSuccessBorderHover: '--silver-colors-status-success-border-hover',\n statusSuccessFg: '--silver-colors-status-success-fg',\n statusSuccessSolid: '--silver-colors-status-success-solid',\n statusSuccessSolidFg: '--silver-colors-status-success-solid-fg',\n statusWarningBorder: '--silver-colors-status-warning-border',\n statusWarningBorderHover: '--silver-colors-status-warning-border-hover',\n statusWarningFg: '--silver-colors-status-warning-fg',\n statusWarningSolid: '--silver-colors-status-warning-solid',\n statusWarningSolidFg: '--silver-colors-status-warning-solid-fg',\n surfaceBlue: '--silver-colors-surface-blue',\n surfaceBlueAccent: '--silver-colors-surface-blue-accent',\n surfaceBlueFg: '--silver-colors-surface-blue-fg',\n surfaceBlueHover: '--silver-colors-surface-blue-hover',\n surfaceCyan: '--silver-colors-surface-cyan',\n surfaceCyanAccent: '--silver-colors-surface-cyan-accent',\n surfaceCyanFg: '--silver-colors-surface-cyan-fg',\n surfaceCyanHover: '--silver-colors-surface-cyan-hover',\n surfaceGray: '--silver-colors-surface-gray',\n surfaceGrayAccent: '--silver-colors-surface-gray-accent',\n surfaceGrayFg: '--silver-colors-surface-gray-fg',\n surfaceGrayHover: '--silver-colors-surface-gray-hover',\n surfaceGreen: '--silver-colors-surface-green',\n surfaceGreenAccent: '--silver-colors-surface-green-accent',\n surfaceGreenFg: '--silver-colors-surface-green-fg',\n surfaceGreenHover: '--silver-colors-surface-green-hover',\n surfaceOrange: '--silver-colors-surface-orange',\n surfaceOrangeAccent: '--silver-colors-surface-orange-accent',\n surfaceOrangeFg: '--silver-colors-surface-orange-fg',\n surfaceOrangeHover: '--silver-colors-surface-orange-hover',\n surfacePink: '--silver-colors-surface-pink',\n surfacePinkAccent: '--silver-colors-surface-pink-accent',\n surfacePinkFg: '--silver-colors-surface-pink-fg',\n surfacePinkHover: '--silver-colors-surface-pink-hover',\n surfacePurple: '--silver-colors-surface-purple',\n surfacePurpleAccent: '--silver-colors-surface-purple-accent',\n surfacePurpleFg: '--silver-colors-surface-purple-fg',\n surfacePurpleHover: '--silver-colors-surface-purple-hover',\n surfaceRed: '--silver-colors-surface-red',\n surfaceRedAccent: '--silver-colors-surface-red-accent',\n surfaceRedFg: '--silver-colors-surface-red-fg',\n surfaceRedHover: '--silver-colors-surface-red-hover',\n surfaceTeal: '--silver-colors-surface-teal',\n surfaceTealAccent: '--silver-colors-surface-teal-accent',\n surfaceTealFg: '--silver-colors-surface-teal-fg',\n surfaceTealHover: '--silver-colors-surface-teal-hover',\n surfaceYellow: '--silver-colors-surface-yellow',\n surfaceYellowAccent: '--silver-colors-surface-yellow-accent',\n surfaceYellowFg: '--silver-colors-surface-yellow-fg',\n surfaceYellowHover: '--silver-colors-surface-yellow-hover',\n track: '--silver-colors-track',\n trackDisabled: '--silver-colors-track-disabled',\n trackEmphasized: '--silver-colors-track-emphasized',\n};\n\nconst fontTokenVariables: Record<keyof ThemeFontTokens, ThemeCssVariableName> =\n {\n body: '--silver-fonts-body',\n mono: '--silver-fonts-mono',\n };\n\nconst fontSizeTokenVariables: Record<\n keyof ThemeFontSizeTokens,\n ThemeCssVariableName\n> = {\n componentLg: '--silver-font-sizes-component-lg',\n componentMd: '--silver-font-sizes-component-md',\n componentSm: '--silver-font-sizes-component-sm',\n iconLg: '--silver-font-sizes-icon-lg',\n iconMd: '--silver-font-sizes-icon-md',\n iconSm: '--silver-font-sizes-icon-sm',\n};\n\nconst radiusTokenVariables: Record<\n keyof ThemeRadiusTokens,\n ThemeCssVariableName\n> = {\n componentLg: '--silver-radii-component-lg',\n componentMd: '--silver-radii-component-md',\n componentSm: '--silver-radii-component-sm',\n lg: '--silver-radii-lg',\n md: '--silver-radii-md',\n sm: '--silver-radii-sm',\n};\n\nconst shadowTokenVariables: Record<\n keyof ThemeShadowTokens,\n ThemeCssVariableName\n> = {\n focus: '--silver-shadows-focus',\n focusError: '--silver-shadows-focus-error',\n focusSuccess: '--silver-shadows-focus-success',\n focusWarning: '--silver-shadows-focus-warning',\n};\n\nconst sizeTokenVariables: Record<keyof ThemeSizeTokens, ThemeCssVariableName> =\n {\n componentLg: '--silver-sizes-component-lg',\n componentMd: '--silver-sizes-component-md',\n componentSm: '--silver-sizes-component-sm',\n iconLg: '--silver-sizes-icon-lg',\n iconMd: '--silver-sizes-icon-md',\n iconSm: '--silver-sizes-icon-sm',\n };\n\nconst spacingTokenVariables: Record<\n keyof ThemeSpacingTokens,\n ThemeCssVariableName\n> = {\n componentLg: '--silver-spacing-component-lg',\n componentMd: '--silver-spacing-component-md',\n componentSm: '--silver-spacing-component-sm',\n focusOffset: '--silver-spacing-focus-offset',\n focusOffsetLoose: '--silver-spacing-focus-offset-loose',\n focusOffsetTight: '--silver-spacing-focus-offset-tight',\n};\n\nconst paletteReferencePattern =\n /^(blue|cyan|gray|green|orange|pink|purple|red|teal|yellow)[.-](50|100|200|300|400|500|600|700|800|900)$/;\n\nfunction resolveThemeColorValue(value: ThemeColorValue): string {\n const match = paletteReferencePattern.exec(value);\n\n if (match == null) {\n return value;\n }\n\n const [, paletteName, paletteStep] = match;\n return `var(--silver-colors-${paletteName}-${paletteStep})`;\n}\n\nfunction assignTokenVariables<TTokenName extends string>(\n style: ThemeCssVariables,\n tokens: Partial<Record<TTokenName, string>> | undefined,\n variables: Record<TTokenName, ThemeCssVariableName>,\n resolveValue: (value: string) => string = value => value,\n): void {\n if (tokens == null) {\n return;\n }\n\n for (const tokenName of Object.keys(variables) as TTokenName[]) {\n const value = tokens[tokenName];\n\n if (value != null) {\n style[variables[tokenName]] = resolveValue(value);\n }\n }\n}\n\nfunction createThemeStyle(\n tokens: ThemeTokens | undefined,\n style: CSSProperties | undefined,\n): CSSProperties {\n return {\n ...createThemeVariables(tokens),\n ...style,\n };\n}\n\nfunction createThemeVariables(\n tokens: ThemeTokens | undefined,\n): ThemeCssVariables {\n const themeStyle: ThemeCssVariables = {};\n\n assignTokenVariables(\n themeStyle,\n tokens?.colors,\n colorTokenVariables,\n resolveThemeColorValue,\n );\n assignTokenVariables(themeStyle, tokens?.fontSizes, fontSizeTokenVariables);\n assignTokenVariables(themeStyle, tokens?.fonts, fontTokenVariables);\n assignTokenVariables(themeStyle, tokens?.radii, radiusTokenVariables);\n assignTokenVariables(themeStyle, tokens?.shadows, shadowTokenVariables);\n assignTokenVariables(themeStyle, tokens?.sizes, sizeTokenVariables);\n assignTokenVariables(themeStyle, tokens?.spacing, spacingTokenVariables);\n\n return themeStyle;\n}\n\nfunction sanitizeThemeClassName(id: string): string {\n return `silver-theme-${id.replace(/[^a-zA-Z0-9_-]/g, '')}`;\n}\n\nfunction serializeThemeVariables(variables: ThemeCssVariables): string {\n return Object.entries(variables)\n .map(\n ([name, value]) =>\n `${name}: ${String(value).replace(/<\\/style/gi, '<\\\\/style')};`,\n )\n .join('');\n}\n\nfunction createThemeCss(\n className: string,\n tokens: ThemeModeTokens,\n mode: ThemeMode,\n): string | undefined {\n const baseTokens =\n mode === 'dark'\n ? (tokens.dark ?? tokens.light)\n : (tokens.light ?? tokens.dark);\n\n if (baseTokens == null) {\n return undefined;\n }\n\n const selector = `.${className}`;\n const baseCss = `${selector}{${serializeThemeVariables(createThemeVariables(baseTokens))}}`;\n\n if (mode !== 'system' || tokens.dark == null) {\n return baseCss;\n }\n\n const darkVariables = serializeThemeVariables(\n createThemeVariables(tokens.dark),\n );\n const darkSelector = `.${className}[data-theme=\"dark\"],[data-theme=\"dark\"] .${className}`;\n const darkCss = `${darkSelector}{${darkVariables}}`;\n\n return `${baseCss}@media (prefers-color-scheme: dark){${selector}{${darkVariables}}}${darkCss}`;\n}\n\n/**\n * Scoped Silver UI theme provider backed by CSS custom properties.\n */\nexport function Theme({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n mode = 'system',\n ref,\n style,\n themes,\n tokens,\n ...htmlProps\n}: ThemeProps): React.JSX.Element {\n const themeId = useId();\n const themeClassName =\n themes == null ? undefined : sanitizeThemeClassName(themeId);\n const themeCss =\n themes != null && themeClassName != null\n ? createThemeCss(themeClassName, themes, mode)\n : undefined;\n const themeStyle = createThemeStyle(tokens, style);\n\n return createElement(\n Element,\n {\n ...htmlProps,\n className: cx(themeClassName, className),\n 'data-testid': dataTestId,\n 'data-theme': mode === 'system' ? undefined : mode,\n ref,\n style: themeStyle,\n },\n themeCss == null\n ? children\n : createElement(\n Fragment,\n null,\n createElement(\n 'style',\n dataTestId == null ? null : {'data-testid': `${dataTestId}-styles`},\n themeCss,\n ),\n children,\n ),\n );\n}\n\nTheme.displayName = 'Theme';\n"]}
@@ -1,6 +1,7 @@
1
+ 'use client';
1
2
  import { nowMonotonicMilliseconds, nowEpochMilliseconds } from './chunk-OX4ZMUF4.js';
2
- import { Button } from './chunk-EBV3EX3J.js';
3
- import { useLatest_default } from './chunk-KEPCKSDE.js';
3
+ import { Button } from './chunk-J2TQNGUM.js';
4
+ import { useLatest_default } from './chunk-2AY74YXP.js';
4
5
  import { mergeRefs } from './chunk-SGLIDI6R.js';
5
6
  import { sva } from './chunk-IAVZKGZS.js';
6
7
  import { css } from './chunk-OD4DHHZH.js';
@@ -398,5 +399,5 @@ function useToast() {
398
399
  }
399
400
 
400
401
  export { Toast, ToastViewport, useToast };
401
- //# sourceMappingURL=chunk-LBOWHXOF.js.map
402
- //# sourceMappingURL=chunk-LBOWHXOF.js.map
402
+ //# sourceMappingURL=chunk-PYUPT3HU.js.map
403
+ //# sourceMappingURL=chunk-PYUPT3HU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Toast/Toast.recipe.ts","../src/components/Toast/Toast.tsx","../src/components/Toast/ToastContext.ts","../src/components/Toast/ToastViewport.tsx","../src/components/Toast/useToast.tsx"],"names":["useRef","useEffect","useCallback","jsxs","jsx"],"mappings":"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","file":"chunk-PYUPT3HU.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const toastRecipe = sva({\n slots: ['root', 'inner', 'content', 'end'],\n base: {\n root: {\n width: '25rem',\n maxW: 'calc(100vw - 32px)',\n p: '4',\n borderRadius: 'lg',\n boxShadow: 'xl',\n fontFamily: 'body',\n transitionProperty: 'opacity, transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@starting-style': {\n opacity: 0,\n transform: 'translateY(8px)',\n },\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n },\n inner: {\n display: 'flex',\n alignItems: 'center',\n gap: '3',\n },\n content: {\n flex: 1,\n minW: 0,\n },\n end: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n },\n },\n variants: {\n type: {\n info: {root: {bg: 'status.info.solid', color: 'status.info.solidFg'}},\n error: {root: {bg: 'status.error.solid', color: 'status.error.solidFg'}},\n success: {\n root: {bg: 'status.success.solid', color: 'status.success.solidFg'},\n },\n warning: {\n root: {bg: 'status.warning.solid', color: 'status.warning.solidFg'},\n },\n },\n isExiting: {\n true: {\n root: {\n opacity: 0,\n transform: 'translateY(-8px)',\n },\n },\n },\n },\n defaultVariants: {\n type: 'info',\n isExiting: false,\n },\n});\n\nexport type ToastVariants = RecipeVariantProps<typeof toastRecipe>;\n","/* eslint-disable jsx-a11y-x/no-static-element-interactions */\n'use client';\nimport {X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {toastRecipe} from 'components/Toast/Toast.recipe';\nimport type {ToastDismissReason, ToastType} from 'components/Toast/types';\nimport {cx} from 'internal/cx';\nimport {nowMonotonicMilliseconds} from 'internal/time';\nimport useLatest from 'internal/useLatest';\n\nexport interface ToastProps {\n /**\n * Auto-dismiss duration in milliseconds.\n */\n autoHideDuration: number;\n /**\n * Toast message content.\n */\n body: ReactNode;\n /**\n * Additional CSS class names applied to the toast.\n */\n className?: string;\n /**\n * Test ID applied to the toast.\n */\n 'data-testid'?: string;\n /**\n * Content rendered before the dismiss button.\n */\n endContent?: ReactNode;\n /**\n * Whether the toast auto-dismisses.\n */\n isAutoHide: boolean;\n /**\n * Whether the toast is exiting.\n * @default false\n */\n isExiting?: boolean;\n /**\n * Called when the toast should be dismissed.\n */\n onDismiss: (reason: ToastDismissReason) => void;\n /**\n * Ref forwarded to the toast element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the toast.\n */\n style?: CSSProperties;\n /**\n * Toast tone.\n */\n type: ToastType;\n}\n\nconst assertiveTypes: Partial<Record<ToastType, true>> = {\n error: true,\n warning: true,\n};\n\n/**\n * An individual toast notification.\n */\nexport function Toast({\n autoHideDuration,\n body,\n className,\n 'data-testid': dataTestId,\n endContent,\n isAutoHide,\n isExiting = false,\n onDismiss: onDismissFromProps,\n ref,\n style,\n type,\n}: ToastProps): React.JSX.Element {\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const startedAtRef = useRef<number | null>(null);\n const remainingRef = useRef(autoHideDuration);\n const isPausedRef = useRef(false);\n const onDismissRef = useLatest(onDismissFromProps);\n\n const startTimer = useCallback(() => {\n if (!isAutoHide) {\n return;\n }\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n }\n startedAtRef.current = nowMonotonicMilliseconds();\n timerRef.current = setTimeout(\n () => onDismissRef.current('auto'),\n remainingRef.current,\n );\n }, [isAutoHide]);\n\n const pauseTimer = useCallback(() => {\n if (!isAutoHide || isPausedRef.current) {\n return;\n }\n isPausedRef.current = true;\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n if (startedAtRef.current != null) {\n remainingRef.current = Math.max(\n remainingRef.current -\n (nowMonotonicMilliseconds() - startedAtRef.current),\n 1000,\n );\n }\n }, [isAutoHide]);\n\n const resumeTimer = useCallback(() => {\n if (!isAutoHide || !isPausedRef.current) {\n return;\n }\n isPausedRef.current = false;\n startTimer();\n }, [isAutoHide, startTimer]);\n\n useEffect(() => {\n remainingRef.current = autoHideDuration;\n startTimer();\n return () => {\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n }\n };\n }, [autoHideDuration, startTimer]);\n\n const classes = toastRecipe({type, isExiting});\n\n return (\n <div\n aria-atomic=\"true\"\n aria-live={assertiveTypes[type] ? 'assertive' : 'polite'}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onBlurCapture={resumeTimer}\n onFocusCapture={pauseTimer}\n onMouseEnter={pauseTimer}\n onMouseLeave={resumeTimer}\n ref={ref}\n role={assertiveTypes[type] ? 'alert' : 'status'}\n style={style}>\n <div className={classes.inner}>\n <div className={classes.content}>{body}</div>\n <div className={classes.end}>\n {endContent}\n <Button\n icon={X}\n isIconOnly\n label=\"Dismiss notification\"\n onClick={() => onDismissRef.current('manual')}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n </div>\n </div>\n );\n}\n\nToast.displayName = 'Toast';\n","'use client';\n\nimport {createContext} from 'react';\nimport type {ToastDismissReason, ToastEntry} from 'components/Toast/types';\n\nexport interface ToastContextValue {\n addToast: (entry: ToastEntry) => void;\n findByUniqueID: (uniqueID: string) => ToastEntry | undefined;\n removeToast: (id: string, reason: ToastDismissReason) => void;\n}\n\nexport const ToastContext = createContext<ToastContextValue | null>(null);\n\nToastContext.displayName = 'ToastContext';\n","'use client';\n\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Toast} from 'components/Toast/Toast';\nimport {\n ToastContext,\n type ToastContextValue,\n} from 'components/Toast/ToastContext';\nimport type {\n ToastDismissReason,\n ToastEntry,\n ToastPosition,\n} from 'components/Toast/types';\nimport {cx} from 'internal/cx';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport {css} from 'styled-system/css';\n\nexport interface ToastViewportInset {\n bottom?: number;\n end?: number;\n start?: number;\n top?: number;\n}\n\nexport interface ToastViewportProps {\n /**\n * App content that should receive the toast context.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the viewport.\n */\n className?: string;\n /**\n * Test ID applied to the viewport.\n */\n 'data-testid'?: string;\n /**\n * Custom viewport inset.\n */\n inset?: Readonly<ToastViewportInset>;\n /**\n * Whether to promote the viewport to the CSS top layer using popover.\n * @default true\n */\n isTopLayer?: boolean;\n /**\n * Maximum visible toast count.\n * @default 5\n */\n maxVisible?: number;\n /**\n * Toast stack position.\n * @default 'bottomEnd'\n */\n position?: ToastPosition;\n /**\n * Ref forwarded to the viewport element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the viewport.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n viewport: css({\n position: 'fixed',\n zIndex: 500,\n display: 'flex',\n flexDirection: 'column',\n p: '4',\n pointerEvents: 'none',\n inset: 'unset',\n m: 0,\n borderWidth: 0,\n bg: 'transparent',\n overflow: 'visible',\n }),\n bottomEnd: css({bottom: 0, insetInlineEnd: 0, alignItems: 'flex-end'}),\n bottomStart: css({bottom: 0, insetInlineStart: 0, alignItems: 'flex-start'}),\n topEnd: css({\n top: 0,\n insetInlineEnd: 0,\n alignItems: 'flex-end',\n flexDirection: 'column-reverse',\n }),\n topStart: css({\n top: 0,\n insetInlineStart: 0,\n alignItems: 'flex-start',\n flexDirection: 'column-reverse',\n }),\n wrapper: css({\n pointerEvents: 'auto',\n display: 'grid',\n gridTemplateRows: '1fr',\n pb: '3',\n transitionProperty: 'grid-template-rows, padding',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n }),\n wrapperExiting: css({\n gridTemplateRows: '0fr',\n pb: 0,\n }),\n wrapperInner: css({\n overflow: 'hidden',\n }),\n position: {\n bottomEnd: '',\n bottomStart: '',\n topEnd: '',\n topStart: '',\n } satisfies Record<ToastPosition, string>,\n} as const;\n\nstyles.position.bottomEnd = styles.bottomEnd;\nstyles.position.bottomStart = styles.bottomStart;\nstyles.position.topEnd = styles.topEnd;\nstyles.position.topStart = styles.topStart;\n\n/**\n * Toast provider and viewport. Mount once near the app root to enable\n * toast notifications. Components below this provider can call `useToast()`\n * to show toasts.\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <ToastViewport>\n * <MyRoutes />\n * </ToastViewport>\n * );\n * }\n * ```\n */\nexport function ToastViewport({\n children,\n className,\n 'data-testid': dataTestId,\n inset,\n isTopLayer = true,\n maxVisible = 5,\n position = 'bottomEnd',\n ref,\n style,\n}: ToastViewportProps): React.JSX.Element {\n const [toasts, setToasts] = useState<ToastEntry[]>([]);\n const [exitingIds, setExitingIds] = useState<Set<string>>(() => new Set());\n const toastsRef = useRef(toasts);\n const viewportRef = useRef<HTMLDivElement>(null);\n const exitTimeoutsRef = useRef(\n new Map<string, ReturnType<typeof globalThis.setTimeout>>(),\n );\n\n useEffect(() => {\n toastsRef.current = toasts;\n }, [toasts]);\n\n const addToast = useCallback((entry: ToastEntry) => {\n setToasts(previous => {\n const {uniqueID, collisionBehavior = 'overwrite'} = entry.options;\n if (uniqueID != null) {\n const existing = previous.find(\n toast => toast.options.uniqueID === uniqueID,\n );\n if (existing != null) {\n if (collisionBehavior === 'ignore') {\n return previous;\n }\n return previous.map(toast =>\n toast.options.uniqueID === uniqueID ? entry : toast,\n );\n }\n }\n return [...previous, entry];\n });\n }, []);\n\n const removeToast = useCallback((id: string, reason: ToastDismissReason) => {\n const entry = toastsRef.current.find(toast => toast.id === id);\n entry?.options.onHide?.(reason);\n setExitingIds(previous => new Set(previous).add(id));\n const existingTimeout = exitTimeoutsRef.current.get(id);\n if (existingTimeout != null) {\n globalThis.clearTimeout(existingTimeout);\n }\n const timeout = globalThis.setTimeout(() => {\n exitTimeoutsRef.current.delete(id);\n setExitingIds(previous => {\n const next = new Set(previous);\n next.delete(id);\n return next;\n });\n setToasts(previous => previous.filter(toast => toast.id !== id));\n }, 180);\n exitTimeoutsRef.current.set(id, timeout);\n }, []);\n\n const findByUniqueID = useCallback((uniqueID: string) => {\n return toastsRef.current.find(toast => toast.options.uniqueID === uniqueID);\n }, []);\n\n const contextValue = useMemo<ToastContextValue>(\n () => ({addToast, findByUniqueID, removeToast}),\n [addToast, findByUniqueID, removeToast],\n );\n\n useEffect(() => {\n if (!isTopLayer) {\n return;\n }\n try {\n viewportRef.current?.showPopover();\n } catch {\n // Already showing.\n }\n }, [isTopLayer]);\n\n useEffect(() => {\n const exitTimeouts = exitTimeoutsRef.current;\n return () => {\n for (const timeout of exitTimeouts.values()) {\n globalThis.clearTimeout(timeout);\n }\n exitTimeouts.clear();\n };\n }, []);\n\n const insetStyle: CSSProperties = {\n ...(inset?.top != null ? {top: inset.top} : null),\n ...(inset?.bottom != null ? {bottom: inset.bottom} : null),\n ...(inset?.start != null ? {insetInlineStart: inset.start} : null),\n ...(inset?.end != null ? {insetInlineEnd: inset.end} : null),\n ...style,\n };\n const visibleToasts = toasts.slice(-maxVisible);\n\n return (\n <ToastContext value={contextValue}>\n {children}\n <div\n aria-label=\"Notifications\"\n className={cx(styles.viewport, styles.position[position], className)}\n data-testid={dataTestId}\n popover={isTopLayer ? 'manual' : undefined}\n ref={mergeRefs(viewportRef, ref)}\n role=\"region\"\n style={insetStyle}>\n {visibleToasts.map(entry => {\n const type = entry.options.type ?? 'info';\n const isAutoHide =\n entry.options.isAutoHide ?? (type === 'error' ? false : true);\n return (\n <div\n className={cx(\n styles.wrapper,\n exitingIds.has(entry.id) ? styles.wrapperExiting : undefined,\n )}\n key={entry.id}>\n <div className={styles.wrapperInner}>\n <Toast\n autoHideDuration={entry.options.autoHideDuration ?? 5000}\n body={entry.options.body}\n endContent={entry.options.endContent}\n isAutoHide={isAutoHide}\n isExiting={exitingIds.has(entry.id)}\n onDismiss={reason => removeToast(entry.id, reason)}\n type={type}\n />\n </div>\n </div>\n );\n })}\n </div>\n </ToastContext>\n );\n}\n\nToastViewport.displayName = 'ToastViewport';\n","'use client';\n\nimport {use, useCallback} from 'react';\nimport {ToastContext} from 'components/Toast/ToastContext';\nimport type {\n ShowToastFn,\n ToastDismissFn,\n ToastEntry,\n ToastOptions,\n} from 'components/Toast/types';\nimport {nowEpochMilliseconds} from 'internal/time';\n\nlet toastIdCounter = 0;\n\nfunction generateToastId(): string {\n toastIdCounter += 1;\n return `silver-toast-${toastIdCounter}`;\n}\n\n/**\n * Returns a function that shows a toast notification.\n * Must be called within a `ToastViewport` provider.\n * The returned function accepts `ToastOptions` and returns a dismiss callback.\n */\nexport function useToast(): ShowToastFn {\n const context = use(ToastContext);\n\n if (context == null) {\n throw new Error(\n 'useToast must be used within a ToastViewport. Add <ToastViewport> around your app root to enable toast notifications.',\n );\n }\n\n return useCallback(\n (options: ToastOptions): ToastDismissFn => {\n const id = generateToastId();\n const entry: ToastEntry = {\n createdAt: nowEpochMilliseconds(),\n id,\n options,\n };\n context.addToast(entry);\n return () => context.removeToast(id, 'manual');\n },\n [context],\n );\n}\n"]}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useEffect } from 'react';
2
3
 
3
4
  // src/internal/useScrollLock.ts
@@ -32,5 +33,5 @@ function useScrollLock(isLocked) {
32
33
  }
33
34
 
34
35
  export { useScrollLock };
35
- //# sourceMappingURL=chunk-PZHRFASW.js.map
36
- //# sourceMappingURL=chunk-PZHRFASW.js.map
36
+ //# sourceMappingURL=chunk-Q4UI2MP4.js.map
37
+ //# sourceMappingURL=chunk-Q4UI2MP4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/useScrollLock.ts"],"names":[],"mappings":";;;AASA,IAAI,SAAA,GAAY,CAAA;AAChB,IAAI,gBAAA,GAAmB,EAAA;AACvB,IAAI,oBAAA,GAAuB,EAAA;AAQpB,SAAS,cAAc,QAAA,EAAyB;AACrD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,cAAc,CAAA,EAAG;AACnB,MAAA,MAAM,EAAC,IAAA,EAAM,eAAA,EAAe,GAAI,QAAA;AAChC,MAAA,gBAAA,GAAmB,KAAK,KAAA,CAAM,QAAA;AAC9B,MAAA,oBAAA,GAAuB,KAAK,KAAA,CAAM,YAAA;AAKlC,MAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,UAAA,GAAa,eAAA,CAAgB,WAAA;AAC3D,MAAA,IAAI,eAAA,CAAgB,WAAA,GAAc,CAAA,IAAK,cAAA,GAAiB,CAAA,EAAG;AACzD,QAAA,MAAM,cACJ,UAAA,CAAW,MAAA,CAAO,iBAAiB,IAAI,CAAA,CAAE,YAAY,CAAA,IAAK,CAAA;AAC5D,QAAA,IAAA,CAAK,KAAA,CAAM,YAAA,GAAe,CAAA,EAAG,WAAA,GAAc,cAAc,CAAA,EAAA,CAAA;AAAA,MAC3D;AACA,MAAA,IAAA,CAAK,MAAM,QAAA,GAAW,QAAA;AAAA,IACxB;AACA,IAAA,SAAA,IAAa,CAAA;AAEb,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,IAAa,CAAA;AACb,MAAA,IAAI,cAAc,CAAA,EAAG;AACnB,QAAA,QAAA,CAAS,IAAA,CAAK,MAAM,QAAA,GAAW,gBAAA;AAC/B,QAAA,QAAA,CAAS,IAAA,CAAK,MAAM,YAAA,GAAe,oBAAA;AAAA,MACrC;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AACf","file":"chunk-Q4UI2MP4.js","sourcesContent":["'use client';\n\nimport {useEffect} from 'react';\n\n// Module-level reference count so overlapping locks cooperate: e.g. a Lightbox\n// opened from within a Dialog. The body is unlocked only once every active lock\n// has been released. Without this shared count, an out-of-order unmount would\n// either unlock the body too early or leave it permanently locked, since each\n// component would save and restore `overflow` independently.\nlet lockCount = 0;\nlet previousOverflow = '';\nlet previousPaddingRight = '';\n\n/**\n * Locks body scroll while `isLocked` is true. Safe to call from multiple\n * components whose locks overlap; the body is restored only when the last one\n * releases. Compensates for the removed scrollbar width to avoid a layout\n * shift when the lock engages.\n */\nexport function useScrollLock(isLocked: boolean): void {\n useEffect(() => {\n if (!isLocked) {\n return;\n }\n\n if (lockCount === 0) {\n const {body, documentElement} = document;\n previousOverflow = body.style.overflow;\n previousPaddingRight = body.style.paddingRight;\n\n // Reserve space for the scrollbar that `overflow: hidden` removes. Guard\n // against environments without layout (e.g. jsdom reports clientWidth 0),\n // where the difference is meaningless.\n const scrollbarWidth = window.innerWidth - documentElement.clientWidth;\n if (documentElement.clientWidth > 0 && scrollbarWidth > 0) {\n const basePadding =\n parseFloat(window.getComputedStyle(body).paddingRight) || 0;\n body.style.paddingRight = `${basePadding + scrollbarWidth}px`;\n }\n body.style.overflow = 'hidden';\n }\n lockCount += 1;\n\n return () => {\n lockCount -= 1;\n if (lockCount === 0) {\n document.body.style.overflow = previousOverflow;\n document.body.style.paddingRight = previousPaddingRight;\n }\n };\n }, [isLocked]);\n}\n"]}
@@ -1,6 +1,7 @@
1
+ 'use client';
1
2
  import { plainDateIsEqual, plainDateIsBefore, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_MONTH_YEAR, plainDateIsInRange, DATE_FORMAT_WITH_WEEKDAY, getDaysInMonth, plainDateCreate, plainDateDayOfWeek, plainDateIsAfter, plainDateToday } from './chunk-5HPXUDX6.js';
2
3
  import { getBrowserTimezoneID } from './chunk-OX4ZMUF4.js';
3
- import { Button } from './chunk-EBV3EX3J.js';
4
+ import { Button } from './chunk-J2TQNGUM.js';
4
5
  import { sva } from './chunk-IAVZKGZS.js';
5
6
  import { cx } from './chunk-PPNETWIP.js';
6
7
  import { Temporal } from '@js-temporal/polyfill';
@@ -827,5 +828,5 @@ var DayCell = memo(function DayCell2({
827
828
  Calendar.displayName = "Calendar";
828
829
 
829
830
  export { Calendar };
830
- //# sourceMappingURL=chunk-YGESCFX2.js.map
831
- //# sourceMappingURL=chunk-YGESCFX2.js.map
831
+ //# sourceMappingURL=chunk-Q5DVIVMR.js.map
832
+ //# sourceMappingURL=chunk-Q5DVIVMR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Calendar/Calendar.recipe.ts","../src/internal/useGridFocus.ts","../src/components/Calendar/Calendar.tsx"],"names":["useRef","useCallback","MonthGrid","DayCell"],"mappings":"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","file":"chunk-Q5DVIVMR.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const calendarRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'monthYear',\n 'months',\n 'monthGrid',\n 'weekHeader',\n 'dayName',\n 'daysGrid',\n 'weekRow',\n 'weekNumber',\n 'cell',\n 'rangeBackground',\n 'day',\n ],\n base: {\n root: {\n display: 'inline-block',\n minW: '220px',\n color: 'fg',\n fontFamily: 'body',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n mb: '2',\n },\n monthYear: {\n flex: 1,\n textAlign: 'center',\n fontSize: 'sm',\n fontWeight: 'semibold',\n },\n months: {\n display: 'flex',\n gap: '4',\n },\n monthGrid: {\n flex: '1 1 0',\n },\n weekHeader: {\n display: 'grid',\n gridTemplateColumns: 'repeat(7, 1fr)',\n mb: '1',\n },\n dayName: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'component.md',\n h: 'component.md',\n color: 'fg.muted',\n fontSize: 'sm',\n },\n daysGrid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(7, 1fr)',\n },\n weekRow: {\n display: 'contents',\n },\n weekNumber: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'component.md',\n h: 'component.md',\n color: 'fg.muted',\n fontSize: 'sm',\n },\n cell: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n h: 'component.md',\n isolation: 'isolate',\n },\n rangeBackground: {\n position: 'absolute',\n insetBlock: '2px',\n insetInline: 0,\n },\n day: {\n position: 'relative',\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'component.sm',\n h: 'component.sm',\n p: 0,\n borderWidth: 0,\n borderStyle: 'none',\n borderRadius: 'full',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'inherit',\n fontSize: 'md',\n transitionProperty: 'background-color, color',\n transitionDuration: 'fast',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n },\n variants: {\n // Reserve a leading column for ISO week numbers in the header and grid.\n hasWeekNumbers: {\n true: {\n weekHeader: {gridTemplateColumns: 'auto repeat(7, 1fr)'},\n daysGrid: {gridTemplateColumns: 'auto repeat(7, 1fr)'},\n },\n false: {},\n },\n isOutside: {\n true: {day: {color: 'fg.muted', opacity: 0.55}},\n false: {},\n },\n // Marker variant; the today ring is suppressed for selected/in-range days,\n // so the real styling lives in compoundVariants below.\n isToday: {\n true: {},\n false: {},\n },\n isSelected: {\n true: {\n day: {\n bg: 'primary',\n color: 'fg.onPrimary',\n _hover: {bg: 'primary'},\n },\n },\n false: {},\n },\n // Marker variant; only used to suppress the today ring on range middles.\n isInRange: {\n true: {},\n false: {},\n },\n // Declared after isOutside so the disabled opacity wins when both apply.\n // Outside days are `aria-disabled` but intentionally not natively\n // `disabled` (that would drop them from useGridFocus's dense-grid index\n // math), so the not-allowed cursor is driven from this variant rather than\n // the native `:disabled` pseudo.\n isDisabled: {\n true: {day: {opacity: 0.35, cursor: 'not-allowed'}},\n false: {},\n },\n rangeTone: {\n range: {rangeBackground: {bg: 'bg.selected'}},\n preview: {rangeBackground: {bg: 'bg.subtle'}},\n },\n roundedStart: {\n true: {\n rangeBackground: {\n left: '2px',\n borderTopLeftRadius: 'full',\n borderBottomLeftRadius: 'full',\n },\n },\n false: {},\n },\n roundedEnd: {\n true: {\n rangeBackground: {\n right: '2px',\n borderTopRightRadius: 'full',\n borderBottomRightRadius: 'full',\n },\n },\n false: {},\n },\n },\n compoundVariants: [\n {\n isToday: true,\n isSelected: false,\n isInRange: false,\n css: {\n day: {boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)'},\n },\n },\n ],\n defaultVariants: {\n hasWeekNumbers: false,\n isOutside: false,\n isToday: false,\n isSelected: false,\n isInRange: false,\n isDisabled: false,\n rangeTone: 'range',\n roundedStart: false,\n roundedEnd: false,\n },\n});\n\nexport type CalendarVariants = RecipeVariantProps<typeof calendarRecipe>;\n","'use client';\n\nimport {useCallback, useRef} from 'react';\n\nexport interface UseGridFocusOptions {\n cellSelector?: string;\n columns: number;\n onNavigateAfter?: (column: number, offset: number) => void;\n onNavigateBefore?: (column: number, offset: number) => void;\n onPageDown?: () => void;\n onPageUp?: () => void;\n}\n\nexport interface UseGridFocusReturn<T extends HTMLElement = HTMLElement> {\n focusCell: (index: number) => void;\n focusFirst: () => void;\n focusLast: () => void;\n gridRef: React.RefObject<T | null>;\n handleKeyDown: (event: React.KeyboardEvent) => void;\n}\n\nexport function useGridFocus<T extends HTMLElement = HTMLElement>({\n columns,\n cellSelector = 'button:not([disabled]), [tabindex]:not([tabindex=\"-1\"])',\n onNavigateAfter,\n onNavigateBefore,\n onPageDown,\n onPageUp,\n}: UseGridFocusOptions): UseGridFocusReturn<T> {\n const gridRef = useRef<T>(null);\n\n const getCells = useCallback(() => {\n return gridRef.current == null\n ? []\n : Array.from(gridRef.current.querySelectorAll<HTMLElement>(cellSelector));\n }, [cellSelector]);\n\n const focusCell = useCallback(\n (index: number) => {\n const cells = getCells();\n const clampedIndex = Math.max(0, Math.min(index, cells.length - 1));\n cells[clampedIndex]?.focus();\n },\n [getCells],\n );\n\n const focusFirst = useCallback(() => focusCell(0), [focusCell]);\n\n const focusLast = useCallback(() => {\n const cells = getCells();\n cells.at(-1)?.focus();\n }, [getCells]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n const cells = getCells();\n const currentIndex = cells.findIndex(\n cell => cell === document.activeElement,\n );\n if (currentIndex === -1) {\n return;\n }\n\n const currentRow = Math.floor(currentIndex / columns);\n const currentColumn = currentIndex % columns;\n const totalRows = Math.ceil(cells.length / columns);\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowRight':\n nextIndex = currentIndex + 1;\n break;\n case 'ArrowLeft':\n nextIndex = currentIndex - 1;\n break;\n case 'ArrowDown':\n if (currentRow >= totalRows - 1) {\n onNavigateAfter?.(currentColumn, columns);\n } else {\n nextIndex = currentIndex + columns;\n }\n break;\n case 'ArrowUp':\n if (currentRow <= 0) {\n onNavigateBefore?.(currentColumn, columns);\n } else {\n nextIndex = currentIndex - columns;\n }\n break;\n case 'Home':\n nextIndex = event.ctrlKey || event.metaKey ? 0 : currentRow * columns;\n break;\n case 'End':\n nextIndex =\n event.ctrlKey || event.metaKey\n ? cells.length - 1\n : Math.min((currentRow + 1) * columns - 1, cells.length - 1);\n break;\n case 'PageUp':\n onPageUp?.();\n break;\n case 'PageDown':\n onPageDown?.();\n break;\n default:\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (nextIndex == null) {\n return;\n }\n\n if (nextIndex < 0) {\n onNavigateBefore?.(currentColumn, 1);\n return;\n }\n\n if (nextIndex >= cells.length) {\n onNavigateAfter?.(currentColumn, 1);\n return;\n }\n\n cells[nextIndex]?.focus();\n },\n [\n columns,\n getCells,\n onNavigateAfter,\n onNavigateBefore,\n onPageDown,\n onPageUp,\n ],\n );\n\n return {gridRef, handleKeyDown, focusCell, focusFirst, focusLast};\n}\n","'use client';\n\nimport {Temporal} from '@js-temporal/polyfill';\nimport {ChevronLeft, ChevronRight} from 'lucide-react';\nimport {\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {calendarRecipe} from 'components/Calendar/Calendar.recipe';\nimport {cx} from 'internal/cx';\nimport type {DateRange, DayOfWeek} from 'internal/dateTypes';\nimport {\n DATE_FORMAT_MONTH_YEAR,\n DATE_FORMAT_WITH_WEEKDAY,\n getDaysInMonth,\n plainDateCreate,\n plainDateDayOfWeek,\n plainDateFormat,\n plainDateGetWeekNumber,\n plainDateIsAfter,\n plainDateIsBefore,\n plainDateIsEqual,\n plainDateIsInRange,\n plainDateToday,\n type PlainDate,\n} from 'internal/plainDate';\nimport {getBrowserTimezoneID} from 'internal/time';\nimport {useGridFocus} from 'internal/useGridFocus';\n\nexport type {DateRange, DayOfWeek} from 'internal/dateTypes';\n\nexport interface CalendarHandle {\n navigateTo: (date: PlainDate) => void;\n}\n\ninterface CalendarBaseProps {\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 * Whether to move focus into the day grid — onto the selected date, otherwise\n * today, otherwise the first enabled day. Focus is (re)applied whenever this\n * transitions to `true`, so driving it from an open state focuses the grid\n * each time the calendar opens.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show outside-month days.\n * @default true\n */\n hasOutsideDays?: boolean;\n /**\n * Whether month grids use only needed rows rather than a fixed six rows.\n * @default false\n */\n hasVariableRowCount?: boolean;\n /**\n * Whether to show ISO week numbers.\n * @default false\n */\n hasWeekNumbers?: boolean;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Number of months displayed.\n * @default 1\n */\n numberOfMonths?: 1 | 2;\n /**\n * Called when the visible month changes. Passing this alongside `viewDate`\n * puts the visible month in controlled mode: the calendar stops tracking the\n * month itself and renders whatever `viewDate` you feed back here.\n */\n onViewDateChange?: (viewDate: PlainDate) => void;\n /**\n * Ref exposing imperative calendar navigation.\n */\n ref?: Ref<CalendarHandle>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Timezone used to determine today's date.\n * @default browser timezone\n */\n timezoneID?: string;\n /**\n * The visible month. On its own this is just the initial month to display;\n * the calendar then tracks the month internally. Pass `onViewDateChange` as\n * well to make the visible month controlled, where `viewDate` is the source\n * of truth on every render.\n */\n viewDate?: PlainDate;\n /**\n * First day of week, where 0 is Sunday.\n * @default 0\n */\n weekStartsOn?: DayOfWeek;\n}\n\ninterface CalendarSingleProps extends CalendarBaseProps {\n /**\n * Default selected date for uncontrolled usage.\n */\n defaultValue?: PlainDate;\n /**\n * Selection mode. Defaults to 'single'.\n */\n mode?: 'single';\n /**\n * Called when the selected date changes.\n */\n onChange: (value: PlainDate) => void;\n /**\n * Controlled selected date.\n */\n value?: PlainDate;\n}\n\ninterface CalendarRangeProps extends CalendarBaseProps {\n /**\n * Default selected range for uncontrolled usage.\n */\n defaultValue?: DateRange;\n /**\n * Selection mode set to 'range'.\n */\n mode: 'range';\n /**\n * Called when the selected date range changes.\n */\n onChange: (value: DateRange) => void;\n /**\n * Controlled selected date range.\n */\n value?: DateRange;\n}\n\nexport type CalendarProps = CalendarSingleProps | CalendarRangeProps;\n\ninterface CalendarDay {\n date: PlainDate;\n dayNumber: number;\n isOutside: boolean;\n}\n\nfunction generateCalendarDays({\n year,\n month,\n weekStartsOn,\n hasVariableRowCount,\n}: {\n hasVariableRowCount: boolean;\n month: number;\n weekStartsOn: DayOfWeek;\n year: number;\n}): {dayNames: string[]; weeks: CalendarDay[][]} {\n const names = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n const dayNames = Array.from({length: 7}, (_, index) => {\n return names[(index + weekStartsOn) % 7];\n });\n const daysInMonth = getDaysInMonth(year, month);\n const firstOfMonth = plainDateCreate(year, month, 1);\n let startOffset = plainDateDayOfWeek(firstOfMonth) - weekStartsOn;\n if (startOffset < 0) {\n startOffset += 7;\n }\n\n const totalDays = daysInMonth + startOffset;\n const totalRows = hasVariableRowCount ? Math.ceil(totalDays / 7) : 6;\n const days = Array.from({length: totalRows * 7}, (_, index) => {\n const dayOffset = index - startOffset + 1;\n const isOutside = dayOffset < 1 || dayOffset > daysInMonth;\n const date = isOutside\n ? firstOfMonth.add({days: dayOffset - 1})\n : plainDateCreate(year, month, dayOffset);\n\n return {\n date,\n dayNumber: date.day,\n isOutside,\n };\n });\n\n const weeks: CalendarDay[][] = [];\n for (let index = 0; index < days.length; index += 7) {\n weeks.push(days.slice(index, index + 7));\n }\n\n return {dayNames, weeks};\n}\n\nfunction checkDateDisabled(\n date: PlainDate,\n options: {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n max?: PlainDate;\n min?: PlainDate;\n },\n): boolean {\n if (options.min != null && plainDateIsBefore(date, options.min)) {\n return true;\n }\n\n if (options.max != null && plainDateIsAfter(date, options.max)) {\n return true;\n }\n\n return options.getIsDateDisabled?.(date) ?? false;\n}\n\nfunction getSelectedTabDate({\n days,\n getIsDisabled,\n month,\n selectedDate,\n today,\n year,\n}: {\n days: CalendarDay[];\n getIsDisabled: (date: PlainDate) => boolean;\n month: number;\n selectedDate: PlainDate | null;\n today: PlainDate;\n year: number;\n}): PlainDate | null {\n if (\n selectedDate?.year === year &&\n selectedDate.month === month &&\n !getIsDisabled(selectedDate)\n ) {\n return selectedDate;\n }\n\n if (today.year === year && today.month === month && !getIsDisabled(today)) {\n return today;\n }\n\n return (\n days.find(day => !day.isOutside && !getIsDisabled(day.date))?.date ?? null\n );\n}\n\n/**\n * A date picker calendar supporting single date and date range selection.\n */\nexport function Calendar({\n className,\n 'data-testid': dataTestId,\n defaultValue,\n getIsDateDisabled: getIsDateDisabledProp,\n hasAutoFocus = false,\n hasOutsideDays = true,\n hasVariableRowCount = false,\n hasWeekNumbers = false,\n max,\n min,\n mode = 'single',\n numberOfMonths = 1,\n onChange,\n onViewDateChange,\n ref,\n style,\n timezoneID,\n value,\n viewDate: viewDateFromProps,\n weekStartsOn = 0,\n}: CalendarProps): React.JSX.Element {\n const effectiveTimezoneID = timezoneID ?? getBrowserTimezoneID();\n const today = useMemo(\n () => plainDateToday(effectiveTimezoneID),\n [effectiveTimezoneID],\n );\n const [internalValue, setInternalValue] = useState<\n DateRange | PlainDate | undefined\n >(defaultValue);\n const [rangeSelectionStart, setRangeSelectionStart] =\n useState<PlainDate | null>(null);\n const [hoveredDate, setHoveredDate] = useState<PlainDate | null>(null);\n const [pendingFocus, setPendingFocus] = useState<PlainDate | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const effectiveValue = value ?? internalValue;\n const isViewDateControlled =\n viewDateFromProps != null && onViewDateChange != null;\n const [internalViewDate, setInternalViewDate] = useState(() => {\n if (viewDateFromProps != null) {\n return viewDateFromProps;\n }\n\n if (effectiveValue != null && 'year' in effectiveValue) {\n return effectiveValue;\n }\n\n if (effectiveValue != null && 'start' in effectiveValue) {\n return effectiveValue.start;\n }\n\n return today;\n });\n const viewDate = isViewDateControlled ? viewDateFromProps : internalViewDate;\n const baseMonth = useMemo(() => viewDate.with({day: 1}), [viewDate]);\n const visibleMonths = useMemo(\n () =>\n Array.from({length: numberOfMonths}, (_, index) =>\n baseMonth.add({months: index}),\n ),\n [baseMonth, numberOfMonths],\n );\n const monthYearLabel = useMemo(\n () =>\n visibleMonths\n .map(month => plainDateFormat(month, DATE_FORMAT_MONTH_YEAR))\n .join(' - '),\n [visibleMonths],\n );\n\n const canNavigatePrevious =\n min == null || plainDateIsBefore(min.with({day: 1}), baseMonth);\n const lastVisibleMonth = visibleMonths.at(-1) ?? baseMonth;\n const canNavigateNext =\n max == null || plainDateIsAfter(max.with({day: 1}), lastVisibleMonth);\n\n const navigateMonth = useCallback(\n (delta: number, nextFocus?: PlainDate) => {\n const nextMonth = baseMonth.add({months: delta});\n\n if (nextFocus != null) {\n setPendingFocus(nextFocus);\n }\n\n onViewDateChange?.(nextMonth);\n if (!isViewDateControlled) {\n setInternalViewDate(nextMonth);\n }\n },\n [baseMonth, isViewDateControlled, onViewDateChange],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n navigateTo: date => {\n onViewDateChange?.(date);\n if (!isViewDateControlled) {\n setInternalViewDate(date);\n }\n },\n }),\n [isViewDateControlled, onViewDateChange],\n );\n\n // When focus is requested, move it to the grid cell that holds the roving\n // tabindex — the selected date if visible and enabled, otherwise today,\n // otherwise the first enabled day — per the WAI-ARIA date picker pattern.\n // Driving `hasAutoFocus` from an open state re-focuses each time it opens.\n useEffect(() => {\n if (!hasAutoFocus) {\n return;\n }\n\n rootRef.current\n ?.querySelector<HTMLButtonElement>('[data-date][tabindex=\"0\"]')\n ?.focus();\n }, [hasAutoFocus]);\n\n const handleDayClick = useCallback(\n (date: PlainDate) => {\n if (mode === 'single') {\n setInternalValue(date);\n (onChange as CalendarSingleProps['onChange'])(date);\n return;\n }\n\n if (rangeSelectionStart == null) {\n setRangeSelectionStart(date);\n return;\n }\n\n const range = plainDateIsBefore(date, rangeSelectionStart)\n ? {start: date, end: rangeSelectionStart}\n : {start: rangeSelectionStart, end: date};\n setInternalValue(range);\n setRangeSelectionStart(null);\n (onChange as CalendarRangeProps['onChange'])(range);\n },\n [mode, onChange, rangeSelectionStart],\n );\n\n const handleNavigateNext = useCallback(\n (nextFocus: PlainDate) => navigateMonth(1, nextFocus),\n [navigateMonth],\n );\n\n const handleNavigatePrevious = useCallback(\n (nextFocus: PlainDate) => navigateMonth(-1, nextFocus),\n [navigateMonth],\n );\n\n const handlePendingFocusHandled = useCallback(\n () => setPendingFocus(null),\n [],\n );\n\n const styles = calendarRecipe();\n\n return (\n // eslint-disable-next-line jsx-a11y-x/no-static-element-interactions\n <div\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n onKeyDown={event => {\n if (\n mode === 'range' &&\n rangeSelectionStart != null &&\n event.key === 'Escape'\n ) {\n setRangeSelectionStart(null);\n event.preventDefault();\n event.stopPropagation();\n }\n }}\n ref={rootRef}\n style={style}>\n <div className={styles.header}>\n <Button\n icon={ChevronLeft}\n isDisabled={!canNavigatePrevious}\n isIconOnly\n label=\"Previous month\"\n onClick={() => navigateMonth(-1)}\n size=\"sm\"\n variant=\"ghost\"\n />\n <span className={styles.monthYear}>{monthYearLabel}</span>\n <Button\n icon={ChevronRight}\n isDisabled={!canNavigateNext}\n isIconOnly\n label=\"Next month\"\n onClick={() => navigateMonth(1)}\n size=\"sm\"\n variant=\"ghost\"\n />\n </div>\n <div className={styles.months}>\n {visibleMonths.map(month => (\n <MonthGrid\n getIsDateDisabled={getIsDateDisabledProp}\n hasOutsideDays={hasOutsideDays}\n hasVariableRowCount={hasVariableRowCount}\n hasWeekNumbers={hasWeekNumbers}\n hoveredDate={hoveredDate}\n key={month.toString()}\n max={max}\n min={min}\n mode={mode}\n month={month}\n onDayClick={handleDayClick}\n onDayHover={setHoveredDate}\n onNavigateNext={handleNavigateNext}\n onNavigatePrevious={handleNavigatePrevious}\n onPendingFocusHandled={handlePendingFocusHandled}\n pendingFocus={pendingFocus}\n rangeSelectionStart={rangeSelectionStart}\n today={today}\n value={effectiveValue}\n weekStartsOn={weekStartsOn}\n />\n ))}\n </div>\n </div>\n );\n}\n\ninterface MonthGridProps {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n hasOutsideDays: boolean;\n hasVariableRowCount: boolean;\n hasWeekNumbers: boolean;\n hoveredDate: PlainDate | null;\n max?: PlainDate;\n min?: PlainDate;\n mode: 'single' | 'range';\n month: PlainDate;\n onDayClick: (date: PlainDate) => void;\n onDayHover: (date: PlainDate | null) => void;\n onNavigateNext: (nextFocus: PlainDate) => void;\n onNavigatePrevious: (nextFocus: PlainDate) => void;\n onPendingFocusHandled: () => void;\n pendingFocus: PlainDate | null;\n rangeSelectionStart: PlainDate | null;\n today: PlainDate;\n value: DateRange | PlainDate | undefined;\n weekStartsOn: DayOfWeek;\n}\n\nconst MonthGrid = memo(function MonthGrid({\n month,\n value,\n mode,\n rangeSelectionStart,\n hoveredDate,\n min,\n max,\n getIsDateDisabled: getIsDateDisabledProp,\n hasOutsideDays,\n hasWeekNumbers,\n hasVariableRowCount,\n weekStartsOn,\n onDayClick,\n onDayHover,\n today,\n onNavigatePrevious,\n onNavigateNext,\n pendingFocus,\n onPendingFocusHandled,\n}: MonthGridProps): React.JSX.Element {\n const {dayNames, weeks} = useMemo(\n () =>\n generateCalendarDays({\n year: month.year,\n month: month.month,\n weekStartsOn,\n hasVariableRowCount,\n }),\n [hasVariableRowCount, month.month, month.year, weekStartsOn],\n );\n const days = weeks.flat();\n const isDisabled = useCallback(\n (date: PlainDate) =>\n checkDateDisabled(date, {\n min,\n max,\n getIsDateDisabled: getIsDateDisabledProp,\n }),\n [getIsDateDisabledProp, max, min],\n );\n const selectedDate =\n mode === 'single' && value != null && 'year' in value ? value : null;\n const tabbableDate = getSelectedTabDate({\n days,\n getIsDisabled: isDisabled,\n month: month.month,\n selectedDate,\n today,\n year: month.year,\n });\n\n const getFocusedDate = useCallback((): PlainDate | null => {\n const activeElement = document.activeElement as HTMLElement | null;\n const date = activeElement?.dataset.date;\n return date == null ? null : Temporal.PlainDate.from(date);\n }, []);\n\n const {gridRef, handleKeyDown} = useGridFocus<HTMLDivElement>({\n columns: 7,\n cellSelector: 'button:not([disabled])',\n onNavigateBefore: (_column, offset) => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigatePrevious(focusedDate.subtract({days: offset}));\n }\n },\n onNavigateAfter: (_column, offset) => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigateNext(focusedDate.add({days: offset}));\n }\n },\n // Page keys move a whole month, keeping the same day. Temporal's default\n // `constrain` overflow clamps to the month's last day (e.g. Jan 31 -> Feb 28).\n onPageUp: () => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigatePrevious(focusedDate.subtract({months: 1}));\n }\n },\n onPageDown: () => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigateNext(focusedDate.add({months: 1}));\n }\n },\n });\n\n // Keyboard navigation that crosses a month boundary sets `pendingFocus` and\n // changes the visible month in the same update. We can't focus the target day\n // imperatively at that point because its cell doesn't exist yet — it only\n // renders after the new month commits (and with a controlled `viewDate`, that\n // render is driven by the parent, so its timing isn't ours to know). Deferring\n // to this effect runs the focus once the new month's cells are in the DOM.\n useEffect(() => {\n if (pendingFocus == null || gridRef.current == null) {\n return;\n }\n\n const button = gridRef.current.querySelector<HTMLButtonElement>(\n `button[data-date=\"${pendingFocus.toString()}\"]`,\n );\n button?.focus();\n onPendingFocusHandled();\n }, [gridRef, onPendingFocusHandled, pendingFocus]);\n\n let rangeStart: PlainDate | null = null;\n let rangeEnd: PlainDate | null = null;\n if (mode === 'range' && value != null && 'start' in value) {\n rangeStart = value.start;\n rangeEnd = value.end;\n }\n if (rangeSelectionStart != null) {\n rangeStart = rangeSelectionStart;\n rangeEnd = rangeSelectionStart;\n }\n\n let previewStart: PlainDate | null = null;\n let previewEnd: PlainDate | null = null;\n if (mode === 'range' && rangeSelectionStart != null && hoveredDate != null) {\n if (!plainDateIsEqual(rangeSelectionStart, hoveredDate)) {\n previewStart = plainDateIsBefore(hoveredDate, rangeSelectionStart)\n ? hoveredDate\n : rangeSelectionStart;\n previewEnd = plainDateIsBefore(hoveredDate, rangeSelectionStart)\n ? rangeSelectionStart\n : hoveredDate;\n }\n }\n\n const isSelectingRange = mode === 'range' && rangeSelectionStart != null;\n\n const styles = calendarRecipe({hasWeekNumbers});\n\n return (\n <div className={styles.monthGrid}>\n <div className={styles.weekHeader}>\n {hasWeekNumbers ? <div className={styles.dayName} /> : null}\n {dayNames.map(dayName => (\n <div className={styles.dayName} key={dayName} role=\"columnheader\">\n {dayName}\n </div>\n ))}\n </div>\n <div\n aria-label={plainDateFormat(month, DATE_FORMAT_MONTH_YEAR)}\n className={styles.daysGrid}\n onKeyDown={handleKeyDown}\n ref={gridRef}\n role=\"grid\"\n tabIndex={-1}>\n {weeks.map(week => {\n const weekDate =\n week.find(day => !day.isOutside)?.date ?? week[0].date;\n return (\n <div\n className={styles.weekRow}\n key={week[0].date.toString()}\n role=\"row\">\n {hasWeekNumbers ? (\n <div className={styles.weekNumber}>\n {plainDateGetWeekNumber(weekDate)}\n </div>\n ) : null}\n {week.map((day, dayIndex) => (\n <DayCell\n day={day}\n dayIndex={dayIndex}\n hasOutsideDays={hasOutsideDays}\n isDisabled={isDisabled(day.date)}\n isSelectingRange={isSelectingRange}\n isTabbable={\n tabbableDate != null &&\n plainDateIsEqual(tabbableDate, day.date)\n }\n key={day.date.toString()}\n mode={mode}\n onDayClick={onDayClick}\n onDayHover={onDayHover}\n previewEnd={previewEnd}\n previewStart={previewStart}\n rangeEnd={rangeEnd}\n rangeStart={rangeStart}\n selectedDate={selectedDate}\n today={today}\n />\n ))}\n </div>\n );\n })}\n </div>\n </div>\n );\n});\n\ninterface DayCellProps {\n day: CalendarDay;\n dayIndex: number;\n hasOutsideDays: boolean;\n isDisabled: boolean;\n isSelectingRange: boolean;\n isTabbable: boolean;\n mode: 'single' | 'range';\n onDayClick: (date: PlainDate) => void;\n onDayHover: (date: PlainDate | null) => void;\n previewEnd: PlainDate | null;\n previewStart: PlainDate | null;\n rangeEnd: PlainDate | null;\n rangeStart: PlainDate | null;\n selectedDate: PlainDate | null;\n today: PlainDate;\n}\n\nconst DayCell = memo(function DayCell({\n day,\n dayIndex,\n mode,\n selectedDate,\n rangeStart,\n rangeEnd,\n previewStart,\n previewEnd,\n today,\n hasOutsideDays,\n isDisabled,\n isSelectingRange,\n isTabbable,\n onDayClick,\n onDayHover,\n}: DayCellProps): React.JSX.Element {\n if (day.isOutside && !hasOutsideDays) {\n return <div className={calendarRecipe().cell} />;\n }\n\n const effectivelyDisabled = isDisabled || day.isOutside;\n const isToday = plainDateIsEqual(day.date, today);\n const isSelected =\n mode === 'single' &&\n selectedDate != null &&\n plainDateIsEqual(day.date, selectedDate);\n const isInRange =\n mode === 'range' &&\n rangeStart != null &&\n rangeEnd != null &&\n plainDateIsInRange(day.date, [rangeStart, rangeEnd]);\n const isRangeStart =\n mode === 'range' &&\n rangeStart != null &&\n plainDateIsEqual(day.date, rangeStart);\n const isRangeEnd =\n mode === 'range' &&\n rangeEnd != null &&\n plainDateIsEqual(day.date, rangeEnd);\n const isInPreview =\n previewStart != null &&\n previewEnd != null &&\n plainDateIsInRange(day.date, [previewStart, previewEnd]);\n const isPreviewStart =\n previewStart != null && plainDateIsEqual(day.date, previewStart);\n const isPreviewEnd =\n previewEnd != null && plainDateIsEqual(day.date, previewEnd);\n const isFirstColumn = dayIndex === 0;\n const isLastColumn = dayIndex === 6;\n\n const styles = calendarRecipe({\n isOutside: day.isOutside,\n isToday,\n isSelected: isSelected || isRangeStart || isRangeEnd,\n isInRange,\n isDisabled: effectivelyDisabled,\n });\n const rangeBackgroundClass = calendarRecipe({\n rangeTone: 'range',\n roundedStart: isRangeStart || isFirstColumn,\n roundedEnd: isRangeEnd || isLastColumn,\n }).rangeBackground;\n const previewBackgroundClass = calendarRecipe({\n rangeTone: 'preview',\n roundedStart: isPreviewStart || isFirstColumn,\n roundedEnd: isPreviewEnd || isLastColumn,\n }).rangeBackground;\n\n return (\n <div className={styles.cell}>\n {isInRange ? <div className={rangeBackgroundClass} /> : null}\n {isInPreview ? <div className={previewBackgroundClass} /> : null}\n <button\n aria-disabled={effectivelyDisabled || undefined}\n aria-label={plainDateFormat(day.date, DATE_FORMAT_WITH_WEEKDAY)}\n aria-selected={isSelected || isInRange || undefined}\n className={styles.day}\n data-date={day.date.toString()}\n disabled={isDisabled}\n onClick={() => {\n if (!effectivelyDisabled) {\n onDayClick(day.date);\n }\n }}\n onMouseEnter={() => {\n if (isSelectingRange && !effectivelyDisabled) {\n onDayHover(day.date);\n }\n }}\n onMouseLeave={() => {\n if (isSelectingRange) {\n onDayHover(null);\n }\n }}\n role=\"gridcell\"\n tabIndex={isTabbable ? 0 : -1}\n type=\"button\">\n {day.dayNumber}\n </button>\n </div>\n );\n});\n\nCalendar.displayName = 'Calendar';\n"]}
@@ -1,4 +1,5 @@
1
- import { resolveAvatarSize, AvatarGroupContext, useAvatarGroup } from './chunk-WTCH3QCQ.js';
1
+ 'use client';
2
+ import { resolveAvatarSize, AvatarGroupContext, useAvatarGroup } from './chunk-SHJNMFEV.js';
2
3
  import { cva } from './chunk-FMEIPGUP.js';
3
4
  import { css } from './chunk-OD4DHHZH.js';
4
5
  import { cx } from './chunk-PPNETWIP.js';
@@ -134,5 +135,5 @@ function AvatarGroupOverflow({
134
135
  AvatarGroupOverflow.displayName = "AvatarGroupOverflow";
135
136
 
136
137
  export { AvatarGroup, AvatarGroupOverflow };
137
- //# sourceMappingURL=chunk-FQSVY4QB.js.map
138
- //# sourceMappingURL=chunk-FQSVY4QB.js.map
138
+ //# sourceMappingURL=chunk-QMFPPGSZ.js.map
139
+ //# sourceMappingURL=chunk-QMFPPGSZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/AvatarGroup/AvatarGroup.recipe.ts","../src/components/AvatarGroup/AvatarGroup.tsx","../src/components/AvatarGroup/AvatarGroupOverflow.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-QMFPPGSZ.js","sourcesContent":["import {cva} from 'styled-system/css';\n\nexport const avatarGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n verticalAlign: 'middle',\n },\n});\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {resolveAvatarSize, type AvatarSize} from 'components/Avatar';\nimport {avatarGroupRecipe} from 'components/AvatarGroup/AvatarGroup.recipe';\nimport {AvatarGroupContext} from 'components/AvatarGroup/AvatarGroupContext';\nimport {cx} from 'internal/cx';\n\nconst OVERLAP_RATIO = 0.25;\n\n/**\n * Displays a stacked group of Avatars with shared size and overlap.\n */\nexport interface AvatarGroupProps {\n /**\n * Accessible label for the group. Default is \"Avatars\".\n */\n 'aria-label'?: string;\n /**\n * Avatar and AvatarGroupOverflow children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size applied to child Avatars. Individual Avatar size props are ignored\n * while inside the group so the stack remains visually consistent.\n */\n size?: AvatarSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\ntype AvatarGroupStyle = CSSProperties & {\n '--avatar-group-overlap': string;\n};\n\n/**\n * Displays a stacked group of Avatars with shared size and overlap.\n */\nexport function AvatarGroup({\n 'aria-label': ariaLabel = 'Avatars',\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n size = 'small',\n style,\n}: AvatarGroupProps): React.JSX.Element {\n const numericSize = resolveAvatarSize(size);\n const overlap = Math.round(numericSize * OVERLAP_RATIO);\n const contextValue = useMemo(\n () => ({numericSize, overlap, size}),\n [numericSize, overlap, size],\n );\n const rootStyle: AvatarGroupStyle = {\n '--avatar-group-overlap': `${-overlap}px`,\n ...style,\n };\n\n return (\n <AvatarGroupContext value={contextValue}>\n <div\n aria-label={ariaLabel}\n className={cx(avatarGroupRecipe(), className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n {children}\n </div>\n </AvatarGroupContext>\n );\n}\n\nAvatarGroup.displayName = 'AvatarGroup';\n","'use client';\n\nimport type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {useAvatarGroup} from 'components/AvatarGroup/AvatarGroupContext';\nimport {cx} from 'internal/cx';\nimport {css} from 'styled-system/css';\n\nconst DEFAULT_SIZE = 36;\nconst BORDER_WIDTH = 2;\nconst OVERFLOW_FONT_RATIO = 0.35;\n\n/**\n * Overflow indicator for AvatarGroup.\n */\nexport interface AvatarGroupOverflowProps {\n /**\n * Custom content rendered instead of the default \"+N\" text.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Number of hidden avatars represented by the overflow indicator.\n */\n count: number;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Click handler. When set, the overflow indicator renders as a button.\n */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'full',\n borderWidth: `${BORDER_WIDTH}px`,\n borderStyle: 'solid',\n borderColor: 'bg',\n boxSizing: 'content-box',\n bg: 'bg.subtle',\n color: 'fg.muted',\n fontFamily: 'body',\n fontWeight: 'medium',\n userSelect: 'none',\n '&:not(:first-child)': {\n marginInlineStart: 'var(--avatar-group-overlap)',\n },\n }),\n button: css({\n cursor: 'pointer',\n p: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n};\n\n/**\n * Overflow indicator showing the count of hidden avatars in an AvatarGroup.\n */\nexport function AvatarGroupOverflow({\n children,\n className,\n count,\n 'data-testid': dataTestId,\n onClick,\n ref,\n style,\n}: AvatarGroupOverflowProps): React.JSX.Element | null {\n const group = useAvatarGroup();\n\n if (count <= 0) {\n return null;\n }\n\n const numericSize = group?.numericSize ?? DEFAULT_SIZE;\n const label = `${count} more`;\n const content = children ?? `+${count}`;\n const rootStyle: CSSProperties = {\n width: numericSize,\n height: numericSize,\n fontSize: numericSize * OVERFLOW_FONT_RATIO,\n ...style,\n };\n\n if (onClick != null) {\n return (\n <button\n aria-label={label}\n className={cx(styles.root, styles.button, className)}\n data-testid={dataTestId}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n style={rootStyle}\n type=\"button\">\n {content}\n </button>\n );\n }\n\n return (\n <span\n aria-label={label}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"status\"\n style={rootStyle}>\n {content}\n </span>\n );\n}\n\nAvatarGroupOverflow.displayName = 'AvatarGroupOverflow';\n"]}
@@ -1,6 +1,7 @@
1
- import { Popover } from './chunk-GTZQT6MK.js';
1
+ 'use client';
2
+ import { Popover } from './chunk-YK5BUUZG.js';
2
3
  import { mergeRefs } from './chunk-SGLIDI6R.js';
3
- import { ActionElement } from './chunk-PG4CZRTU.js';
4
+ import { ActionElement } from './chunk-CRYF4JDH.js';
4
5
  import { isReactNode } from './chunk-2PSZAWLC.js';
5
6
  import { Icon } from './chunk-IUW777WZ.js';
6
7
  import { sva } from './chunk-IAVZKGZS.js';
@@ -481,5 +482,5 @@ function TabMenu({
481
482
  TabMenu.displayName = "TabMenu";
482
483
 
483
484
  export { Tab, TabMenu, Tabs, TabsContext, useTabsContext };
484
- //# sourceMappingURL=chunk-JMVYWHJ7.js.map
485
- //# sourceMappingURL=chunk-JMVYWHJ7.js.map
485
+ //# sourceMappingURL=chunk-QMZQ4I72.js.map
486
+ //# sourceMappingURL=chunk-QMZQ4I72.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Tabs/Tabs.recipe.ts","../src/components/Tabs/TabsContext.ts","../src/components/Tabs/Tab.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabMenu.recipe.ts","../src/components/Tabs/TabMenu.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"chunk-QMZQ4I72.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tabsRecipe = sva({\n slots: [\n 'root',\n 'tab',\n 'icon',\n 'label',\n 'labelText',\n 'labelSizer',\n 'endContent',\n ],\n base: {\n root: {\n display: 'flex',\n alignItems: 'stretch',\n maxW: 'full',\n minW: 0,\n },\n tab: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n transitionProperty: 'color, background-color, border-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n label: {\n display: 'inline-grid',\n },\n labelText: {\n gridRowStart: 1,\n gridColumnStart: 1,\n },\n labelSizer: {\n gridRowStart: 1,\n gridColumnStart: 1,\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n size: {\n sm: {tab: {h: 'component.sm'}},\n md: {tab: {h: 'component.md'}},\n lg: {tab: {h: 'component.lg'}},\n },\n layout: {\n hug: {},\n fill: {\n root: {w: 'full'},\n tab: {flex: 1},\n },\n },\n isSelected: {\n true: {\n tab: {\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n },\n },\n false: {},\n },\n isDisabled: {\n true: {\n tab: {\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {\n bg: 'transparent',\n },\n },\n },\n false: {},\n },\n hasDivider: {\n true: {\n root: {\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n size: 'md',\n layout: 'hug',\n isSelected: false,\n isDisabled: false,\n hasDivider: false,\n },\n});\n\nexport type TabsVariants = RecipeVariantProps<typeof tabsRecipe>;\n","'use client';\n\nimport {createContext, use} from 'react';\n\nexport type TabsSize = 'lg' | 'md' | 'sm';\nexport type TabsLayout = 'fill' | 'hug';\n\nexport interface TabsContextValue {\n layout: TabsLayout;\n onChange: (value: string) => void;\n size: TabsSize;\n value: string;\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null);\n\nTabsContext.displayName = 'TabsContext';\n\nexport function useTabsContext(): TabsContextValue {\n const context = use(TabsContext);\n if (context == null) {\n throw new Error('Tabs children must be used within a Tabs.');\n }\n return context;\n}\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport type {LinkComponent} from 'components/Link';\nimport {tabsRecipe} from 'components/Tabs/Tabs.recipe';\nimport {useTabsContext} from 'components/Tabs/TabsContext';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface TabProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Additional CSS class names applied to the tab.\n */\n className?: string;\n /**\n * ID of the tabpanel controlled by this tab. Use this for in-page tabs, and\n * render the corresponding panel with `id={controls}`, `role=\"tabpanel\"`,\n * and `aria-labelledby` pointing to this tab's `id`.\n */\n controls?: string;\n /**\n * Test ID applied to the tab.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Optional link URL. When set, the tab renders as a link.\n */\n href?: string;\n /**\n * Icon shown before the label.\n */\n icon?: IconComponent;\n /**\n * ID applied to the tab element. Provide this with `controls` when rendering\n * your own tabpanel so the panel can reference the tab with\n * `aria-labelledby`.\n */\n id?: string;\n /**\n * Whether the tab is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Visible tab label.\n */\n label: string;\n /**\n * Ref forwarded to the tab root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Icon shown when selected. Falls back to icon.\n */\n selectedIcon?: IconComponent;\n /**\n * Inline styles applied to the tab.\n */\n style?: CSSProperties;\n /**\n * Unique tab value.\n */\n value: string;\n}\n\n/**\n * A single tab inside `Tabs`.\n */\nexport function Tab({\n as,\n className,\n 'data-testid': dataTestId,\n controls,\n endContent,\n href,\n id,\n icon,\n isDisabled = false,\n label,\n ref,\n selectedIcon,\n style,\n value,\n}: TabProps): React.JSX.Element {\n const context = useTabsContext();\n const isSelected = context.value === value;\n const displayIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const classes = tabsRecipe({\n size: context.size,\n layout: context.layout,\n isSelected,\n isDisabled,\n });\n const rootClassName = cx(classes.tab, className);\n const content = (\n <>\n {displayIcon != null ? (\n <span className={classes.icon}>\n <Icon icon={displayIcon} size={context.size} />\n </span>\n ) : null}\n <span className={classes.label}>\n <span className={classes.labelText}>{label}</span>\n <span aria-hidden=\"true\" className={classes.labelSizer}>\n {label}\n </span>\n </span>\n {isReactNode(endContent) ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n return (\n <ActionElement\n aria-controls={controls}\n aria-disabled={href != null && isDisabled ? true : undefined}\n aria-selected={isSelected}\n as={as}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n href={href}\n id={id}\n isDisabled={href == null ? isDisabled : undefined}\n isLink={href != null}\n onClick={event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n type=\"button\">\n {content}\n </ActionElement>\n );\n}\n\nTab.displayName = 'Tab';\n","'use client';\n\nimport {\n useMemo,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {tabsRecipe} from 'components/Tabs/Tabs.recipe';\nimport {\n TabsContext,\n type TabsLayout,\n type TabsSize,\n} from 'components/Tabs/TabsContext';\nimport {cx} from 'internal/cx';\n\nexport interface TabsProps {\n /**\n * Tab and TabMenu children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tablist element.\n */\n className?: string;\n /**\n * Test ID applied to the tablist element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a bottom divider.\n * @default false\n */\n hasDivider?: boolean;\n /**\n * Accessible label for the tabs.\n * @default 'Tabs'\n */\n label?: string;\n /**\n * Tab layout mode.\n * @default 'hug'\n */\n layout?: TabsLayout;\n /**\n * Called when a tab is selected.\n */\n onChange: (value: string) => void;\n /**\n * Ref forwarded to the tablist element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Tab size.\n * @default 'md'\n */\n size?: TabsSize;\n /**\n * Inline styles applied to the tablist element.\n */\n style?: CSSProperties;\n /**\n * Current selected tab value.\n */\n value: string;\n}\n\n/**\n * Controlled tab wrapper.\n *\n * Uses `tablist` / `tabpanel` semantics, so reach for it when selecting an\n * option shows or hides associated content panels. To pick a value without\n * swapping panels — a styled radio group for filters, settings, or view modes —\n * use {@link SegmentedControl} instead.\n */\nexport function Tabs({\n children,\n className,\n 'data-testid': dataTestId,\n hasDivider = false,\n label = 'Tabs',\n layout = 'hug',\n onChange,\n ref,\n size = 'md',\n style,\n value,\n}: TabsProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({layout, onChange, size, value}),\n [layout, onChange, size, value],\n );\n const classes = tabsRecipe({hasDivider, layout});\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (\n event.key !== 'ArrowLeft' &&\n event.key !== 'ArrowRight' &&\n event.key !== 'Home' &&\n event.key !== 'End'\n ) {\n return;\n }\n\n const activeTab = (event.target as HTMLElement).closest<HTMLElement>(\n '[role=\"tab\"]',\n );\n if (activeTab == null || !event.currentTarget.contains(activeTab)) {\n return;\n }\n\n const tabs = Array.from(\n event.currentTarget.querySelectorAll<HTMLElement>(\n '[role=\"tab\"]:not([data-tab-disabled=\"true\"])',\n ),\n );\n const currentIndex = tabs.indexOf(activeTab);\n if (currentIndex === -1) {\n return;\n }\n\n event.preventDefault();\n\n const nextIndex =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? tabs.length - 1\n : event.key === 'ArrowRight'\n ? (currentIndex + 1) % tabs.length\n : (currentIndex - 1 + tabs.length) % tabs.length;\n const nextTab = tabs[nextIndex];\n nextTab.focus();\n\n const nextValue = nextTab.dataset.tabValue;\n if (nextValue != null) {\n onChange(nextValue);\n }\n };\n\n return (\n <TabsContext value={contextValue}>\n <div\n aria-label={label}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onKeyDown={handleKeyDown}\n ref={ref as Ref<HTMLDivElement>}\n role=\"tablist\"\n style={style}\n tabIndex={-1}>\n {children}\n </div>\n </TabsContext>\n );\n}\n\nTabs.displayName = 'Tabs';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tabMenuRecipe = sva({\n slots: ['chevron', 'menu', 'item', 'itemContent', 'itemIcon', 'check'],\n base: {\n chevron: {\n display: 'inline-flex',\n },\n menu: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n minW: '40',\n p: '1',\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n },\n itemContent: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n },\n itemIcon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n check: {\n display: 'inline-flex',\n color: 'primary',\n },\n },\n variants: {\n isOpen: {\n true: {chevron: {transform: 'rotate(180deg)'}},\n false: {},\n },\n isItemSelected: {\n true: {item: {fontWeight: 'medium'}},\n false: {},\n },\n },\n defaultVariants: {\n isOpen: false,\n isItemSelected: false,\n },\n});\n\nexport type TabMenuVariants = RecipeVariantProps<typeof tabMenuRecipe>;\n","'use client';\n\nimport {Check, ChevronDown} from 'lucide-react';\nimport {\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type Ref,\n} from 'react';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Popover} from 'components/Popover';\nimport {tabMenuRecipe} from 'components/Tabs/TabMenu.recipe';\nimport {tabsRecipe} from 'components/Tabs/Tabs.recipe';\nimport {useTabsContext} from 'components/Tabs/TabsContext';\nimport {cx} from 'internal/cx';\nimport {mergeRefs} from 'internal/mergeRefs';\n\nexport interface TabMenuOption {\n /**\n * Icon rendered before the option label.\n */\n icon?: IconComponent;\n /**\n * Visible option label.\n */\n label: string;\n /**\n * Tab value selected by this option.\n */\n value: string;\n}\n\nexport interface TabMenuProps {\n /**\n * Additional CSS class names applied to the trigger.\n */\n className?: string;\n /**\n * Test ID applied to the trigger.\n */\n 'data-testid'?: string;\n /**\n * ID applied to the menu trigger tab.\n */\n id?: string;\n /**\n * Whether the menu trigger is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Trigger and menu heading label.\n */\n label: string;\n /**\n * Menu options.\n */\n options: ReadonlyArray<TabMenuOption>;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the trigger.\n */\n style?: CSSProperties;\n}\n\n/**\n * Overflow menu for additional tabs.\n */\nexport function TabMenu({\n className,\n 'data-testid': dataTestId,\n id,\n isDisabled = false,\n label,\n options,\n ref,\n style,\n}: TabMenuProps): React.JSX.Element {\n const context = useTabsContext();\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const selectedOption = options.find(option => option.value === context.value);\n const triggerLabel = selectedOption?.label ?? label;\n const hasSelectedOption = selectedOption != null;\n const triggerClasses = tabsRecipe({\n size: context.size,\n layout: context.layout,\n isSelected: hasSelectedOption,\n isDisabled,\n });\n const classes = tabMenuRecipe({isOpen});\n\n const focusMenuItem = (\n event: KeyboardEvent<HTMLElement>,\n nextIndex: number,\n ) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n items[nextIndex]?.focus();\n };\n\n const handleMenuKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n const activeIndex = items.indexOf(\n document.activeElement as HTMLButtonElement,\n );\n\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n triggerRef.current?.focus();\n return;\n }\n\n if (items.length === 0) {\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n focusMenuItem(event, 0);\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n focusMenuItem(event, items.length - 1);\n return;\n }\n\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {\n return;\n }\n\n event.preventDefault();\n\n const currentIndex = activeIndex === -1 ? 0 : activeIndex;\n const nextIndex =\n event.key === 'ArrowDown'\n ? (currentIndex + 1) % items.length\n : (currentIndex - 1 + items.length) % items.length;\n focusMenuItem(event, nextIndex);\n };\n\n return (\n <Popover\n content={\n <div className={classes.menu}>\n {options.map(option => {\n const isSelected = option.value === context.value;\n return (\n <button\n aria-current={isSelected ? 'true' : undefined}\n className={tabMenuRecipe({isItemSelected: isSelected}).item}\n key={option.value}\n onClick={() => {\n context.onChange(option.value);\n setIsOpen(false);\n }}\n onKeyDown={handleMenuKeyDown}\n role=\"menuitem\"\n type=\"button\">\n <span className={classes.itemContent}>\n {option.icon != null ? (\n <span className={classes.itemIcon}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </span>\n {isSelected ? (\n <span className={classes.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </button>\n );\n })}\n </div>\n }\n hasAutoFocus\n hasCloseButton={false}\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={label}\n onOpenChange={setIsOpen}\n role=\"menu\">\n <button\n aria-disabled={isDisabled || undefined}\n aria-selected={hasSelectedOption}\n className={cx(triggerClasses.tab, className)}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={\n hasSelectedOption && !isDisabled ? context.value : undefined\n }\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onKeyDown={event => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n event.preventDefault();\n setIsOpen(true);\n }}\n ref={mergeRefs(triggerRef, ref)}\n role=\"tab\"\n style={style}\n tabIndex={hasSelectedOption && !isDisabled ? 0 : -1}\n type=\"button\">\n {triggerLabel}\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </button>\n </Popover>\n );\n}\n\nTabMenu.displayName = 'TabMenu';\n"]}
@@ -1,8 +1,9 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
- var chunkJ242UTPO_cjs = require('./chunk-J242UTPO.cjs');
4
- var chunkRX2FXCIH_cjs = require('./chunk-RX2FXCIH.cjs');
5
- var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
4
+ var chunkBLKZDVFG_cjs = require('./chunk-BLKZDVFG.cjs');
5
+ var chunk4VYOE2HE_cjs = require('./chunk-4VYOE2HE.cjs');
6
+ var chunkHW7GODZJ_cjs = require('./chunk-HW7GODZJ.cjs');
6
7
  var lucideReact = require('lucide-react');
7
8
  var react = require('react');
8
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -20,14 +21,14 @@ function PasswordInput({
20
21
  const [isVisible, setIsVisible] = react.useState(false);
21
22
  const toggleVisibility = react.useCallback(() => setIsVisible((v) => !v), []);
22
23
  return /* @__PURE__ */ jsxRuntime.jsx(
23
- chunkJ242UTPO_cjs.TextInput,
24
+ chunkBLKZDVFG_cjs.TextInput,
24
25
  {
25
26
  ...props,
26
- ...chunkRX2FXCIH_cjs.getNecessity(isOptional, isRequired),
27
+ ...chunk4VYOE2HE_cjs.getNecessity(isOptional, isRequired),
27
28
  className,
28
29
  "data-testid": dataTestId,
29
30
  endContent: /* @__PURE__ */ jsxRuntime.jsx(
30
- chunkWOVSJHY6_cjs.Button,
31
+ chunkHW7GODZJ_cjs.Button,
31
32
  {
32
33
  icon: isVisible ? lucideReact.EyeOff : lucideReact.Eye,
33
34
  isDisabled,
@@ -48,5 +49,5 @@ function PasswordInput({
48
49
  PasswordInput.displayName = "PasswordInput";
49
50
 
50
51
  exports.PasswordInput = PasswordInput;
51
- //# sourceMappingURL=chunk-PXTTIAC4.cjs.map
52
- //# sourceMappingURL=chunk-PXTTIAC4.cjs.map
52
+ //# sourceMappingURL=chunk-QOQ55IUO.cjs.map
53
+ //# sourceMappingURL=chunk-QOQ55IUO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/PasswordInput/PasswordInput.tsx"],"names":["useState","useCallback","jsx","TextInput","getNecessity","Button","EyeOff","Eye"],"mappings":";;;;;;;;;AAqBO,SAAS,aAAA,CAAc;AAAA,EAC5B,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA,GAAa,KAAA;AAAA,EACb,UAAA;AAAA,EACA,UAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0C;AACxC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,KAAK,CAAA;AAChD,EAAA,MAAM,gBAAA,GAAmBC,kBAAY,MAAM,YAAA,CAAa,OAAK,CAAC,CAAC,CAAA,EAAG,EAAE,CAAA;AAEpE,EAAA,uBACEC,cAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACH,GAAGC,8BAAA,CAAa,UAAA,EAAY,UAAU,CAAA;AAAA,MACvC,SAAA;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,UAAA,kBACEF,cAAA;AAAA,QAACG,wBAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,YAAYC,kBAAA,GAASC,eAAA;AAAA,UAC3B,UAAA;AAAA,UACA,UAAA,EAAU,IAAA;AAAA,UACV,KAAA,EAAO,YAAY,eAAA,GAAkB,eAAA;AAAA,UACrC,OAAA,EAAS,gBAAA;AAAA,UACT,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAQ;AAAA;AAAA,OACV;AAAA,MAEF,UAAA;AAAA,MACA,GAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA,EAAM,YAAY,MAAA,GAAS;AAAA;AAAA,GAC7B;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA","file":"chunk-QOQ55IUO.cjs","sourcesContent":["'use client';\n\nimport {Eye, EyeOff} from 'lucide-react';\nimport {useCallback, useState, type Ref} from 'react';\nimport {Button} from 'components/Button';\nimport {getNecessity} from 'components/Field';\nimport {TextInput, type TextInputProps} from 'components/TextInput';\n\nexport type PasswordInputProps = Omit<\n TextInputProps,\n 'endContent' | 'hasClear' | 'startIcon' | 'type'\n> & {\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n};\n\n/**\n * Password input with a toggle to show or hide the entered value.\n */\nexport function PasswordInput({\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isOptional,\n isRequired,\n ref,\n style,\n ...props\n}: PasswordInputProps): React.JSX.Element {\n const [isVisible, setIsVisible] = useState(false);\n const toggleVisibility = useCallback(() => setIsVisible(v => !v), []);\n\n return (\n <TextInput\n {...props}\n {...getNecessity(isOptional, isRequired)}\n className={className}\n data-testid={dataTestId}\n endContent={\n <Button\n icon={isVisible ? EyeOff : Eye}\n isDisabled={isDisabled}\n isIconOnly\n label={isVisible ? 'Hide password' : 'Show password'}\n onClick={toggleVisibility}\n size=\"sm\"\n variant=\"ghost\"\n />\n }\n isDisabled={isDisabled}\n ref={ref}\n style={style}\n type={isVisible ? 'text' : 'password'}\n />\n );\n}\n\nPasswordInput.displayName = 'PasswordInput';\n"]}
@@ -1,7 +1,8 @@
1
- import { TimeInput } from './chunk-6OWEKKOC.js';
2
- import { DateInput } from './chunk-PK3NJSHQ.js';
1
+ 'use client';
2
+ import { TimeInput } from './chunk-FHLK5CTO.js';
3
+ import { DateInput } from './chunk-3TPFJ7NS.js';
3
4
  import { plainDateIsEqual } from './chunk-5HPXUDX6.js';
4
- import { getNecessity, Field } from './chunk-USEA7DB5.js';
5
+ import { getNecessity, Field } from './chunk-2EGYYWPB.js';
5
6
  import { css } from './chunk-OD4DHHZH.js';
6
7
  import { cx } from './chunk-PPNETWIP.js';
7
8
  import { Temporal } from '@js-temporal/polyfill';
@@ -150,5 +151,5 @@ function DateTimeInput({
150
151
  DateTimeInput.displayName = "DateTimeInput";
151
152
 
152
153
  export { DateTimeInput };
153
- //# sourceMappingURL=chunk-5HPXPF3F.js.map
154
- //# sourceMappingURL=chunk-5HPXPF3F.js.map
154
+ //# sourceMappingURL=chunk-R3ONJZXN.js.map
155
+ //# sourceMappingURL=chunk-R3ONJZXN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DateTimeInput/DateTimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-R3ONJZXN.js","sourcesContent":["'use client';\n\nimport {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 {DateInput} from 'components/DateInput';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport type {IconComponent} from 'components/Icon';\nimport {TimeInput, type PlainTime} from 'components/TimeInput';\nimport {cx} from 'internal/cx';\nimport {plainDateIsEqual, type PlainDate} from 'internal/plainDate';\nimport {css} from 'styled-system/css';\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 | null) => 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. Pass `null` for an empty input.\n */\n value: PlainDateTime | null;\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 | null | 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 | null | undefined,\n time: PlainTime | null | undefined,\n): PlainDateTime | null {\n if (date == null && time == null) {\n return null;\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 | null) => {\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 | null) => 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 ?? null}\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 ?? null}\n />\n </div>\n </Field>\n );\n}\n\nDateTimeInput.displayName = 'DateTimeInput';\n"]}