silver-ui 0.5.0 → 0.7.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 (520) hide show
  1. package/README.md +2 -65
  2. package/dist/{chunk-XHJRAEGW.js → chunk-223UOU3H.js} +5 -5
  3. package/dist/{chunk-XHJRAEGW.js.map → chunk-223UOU3H.js.map} +1 -1
  4. package/dist/{chunk-67UUGI3M.cjs → chunk-2AOR4EVA.cjs} +8 -8
  5. package/dist/{chunk-67UUGI3M.cjs.map → chunk-2AOR4EVA.cjs.map} +1 -1
  6. package/dist/{chunk-75KSHZTV.js → chunk-2KLTODOC.js} +7 -7
  7. package/dist/{chunk-75KSHZTV.js.map → chunk-2KLTODOC.js.map} +1 -1
  8. package/dist/chunk-2N3PIXZ5.cjs +165 -0
  9. package/dist/chunk-2N3PIXZ5.cjs.map +1 -0
  10. package/dist/{chunk-W5F7PYT2.js → chunk-3PCXFOOS.js} +17 -11
  11. package/dist/chunk-3PCXFOOS.js.map +1 -0
  12. package/dist/chunk-3PEK2Q54.cjs +31 -0
  13. package/dist/chunk-3PEK2Q54.cjs.map +1 -0
  14. package/dist/{chunk-GW6P4FJ4.cjs → chunk-4MIIXRZN.cjs} +25 -40
  15. package/dist/chunk-4MIIXRZN.cjs.map +1 -0
  16. package/dist/{chunk-CUHJDV6K.js → chunk-4NPVIEWF.js} +6 -6
  17. package/dist/{chunk-CUHJDV6K.js.map → chunk-4NPVIEWF.js.map} +1 -1
  18. package/dist/{chunk-ADSG24VE.js → chunk-4UYMGEBF.js} +6 -6
  19. package/dist/{chunk-ADSG24VE.js.map → chunk-4UYMGEBF.js.map} +1 -1
  20. package/dist/{chunk-ECDYAZ2R.js → chunk-54B36CSW.js} +5 -5
  21. package/dist/{chunk-ECDYAZ2R.js.map → chunk-54B36CSW.js.map} +1 -1
  22. package/dist/chunk-5FQKELP6.js +28 -0
  23. package/dist/chunk-5FQKELP6.js.map +1 -0
  24. package/dist/{chunk-RJEZBOSH.js → chunk-5GSRIOXE.js} +24 -14
  25. package/dist/chunk-5GSRIOXE.js.map +1 -0
  26. package/dist/{chunk-OUZX7STE.cjs → chunk-5K3C3INR.cjs} +25 -53
  27. package/dist/chunk-5K3C3INR.cjs.map +1 -0
  28. package/dist/{chunk-AEYJ6PWC.js → chunk-5RFHYDQY.js} +16 -11
  29. package/dist/chunk-5RFHYDQY.js.map +1 -0
  30. package/dist/{chunk-E42WOTIC.js → chunk-6KG76KUZ.js} +3 -3
  31. package/dist/{chunk-E42WOTIC.js.map → chunk-6KG76KUZ.js.map} +1 -1
  32. package/dist/{chunk-I47WOF6E.js → chunk-6KGF66TR.js} +3 -3
  33. package/dist/{chunk-I47WOF6E.js.map → chunk-6KGF66TR.js.map} +1 -1
  34. package/dist/{chunk-TOQ4MGM5.js → chunk-6R2UZNVE.js} +6 -6
  35. package/dist/{chunk-TOQ4MGM5.js.map → chunk-6R2UZNVE.js.map} +1 -1
  36. package/dist/{chunk-BIJ6YDWJ.cjs → chunk-6SFMORQF.cjs} +15 -8
  37. package/dist/chunk-6SFMORQF.cjs.map +1 -0
  38. package/dist/{chunk-H4L456EW.js → chunk-6SKIBUCY.js} +12 -5
  39. package/dist/chunk-6SKIBUCY.js.map +1 -0
  40. package/dist/{chunk-ANACERIO.cjs → chunk-6SMVH3ON.cjs} +6 -6
  41. package/dist/{chunk-ANACERIO.cjs.map → chunk-6SMVH3ON.cjs.map} +1 -1
  42. package/dist/{chunk-ESRDHDYN.cjs → chunk-6ZPHID26.cjs} +9 -9
  43. package/dist/{chunk-ESRDHDYN.cjs.map → chunk-6ZPHID26.cjs.map} +1 -1
  44. package/dist/{chunk-SUT35RHA.cjs → chunk-76GVUEFH.cjs} +8 -8
  45. package/dist/{chunk-SUT35RHA.cjs.map → chunk-76GVUEFH.cjs.map} +1 -1
  46. package/dist/chunk-7VUDE5BI.js +91 -0
  47. package/dist/chunk-7VUDE5BI.js.map +1 -0
  48. package/dist/{chunk-Q3HMGFGI.js → chunk-7WQW7H3D.js} +98 -77
  49. package/dist/chunk-7WQW7H3D.js.map +1 -0
  50. package/dist/chunk-A2AC6WL5.cjs +4 -0
  51. package/dist/chunk-A2AC6WL5.cjs.map +1 -0
  52. package/dist/{chunk-2Y7ULSEU.js → chunk-A4QLLTMD.js} +17 -17
  53. package/dist/{chunk-2Y7ULSEU.js.map → chunk-A4QLLTMD.js.map} +1 -1
  54. package/dist/{chunk-HWD4HDQ5.cjs → chunk-AC4E3WQA.cjs} +10 -10
  55. package/dist/{chunk-HWD4HDQ5.cjs.map → chunk-AC4E3WQA.cjs.map} +1 -1
  56. package/dist/chunk-AFXU6XIS.js +3 -0
  57. package/dist/chunk-AFXU6XIS.js.map +1 -0
  58. package/dist/{chunk-L5PJCLV6.js → chunk-AKAXQ4RL.js} +16 -25
  59. package/dist/chunk-AKAXQ4RL.js.map +1 -0
  60. package/dist/{chunk-AV7D3SXF.js → chunk-AO4RVSCG.js} +4 -4
  61. package/dist/{chunk-AV7D3SXF.js.map → chunk-AO4RVSCG.js.map} +1 -1
  62. package/dist/{chunk-OERNLR2P.js → chunk-AX653SYJ.js} +8 -8
  63. package/dist/{chunk-OERNLR2P.js.map → chunk-AX653SYJ.js.map} +1 -1
  64. package/dist/{chunk-4HXNBLCJ.js → chunk-AXTX3IOR.js} +3 -3
  65. package/dist/{chunk-4HXNBLCJ.js.map → chunk-AXTX3IOR.js.map} +1 -1
  66. package/dist/{chunk-2AWSJF22.js → chunk-BNGYGCT2.js} +8 -8
  67. package/dist/chunk-BNGYGCT2.js.map +1 -0
  68. package/dist/{chunk-PGTOVMP7.cjs → chunk-BPAZTKMC.cjs} +10 -10
  69. package/dist/{chunk-PGTOVMP7.cjs.map → chunk-BPAZTKMC.cjs.map} +1 -1
  70. package/dist/{chunk-7CTHD4G6.cjs → chunk-BYV7NXC5.cjs} +5 -5
  71. package/dist/{chunk-7CTHD4G6.cjs.map → chunk-BYV7NXC5.cjs.map} +1 -1
  72. package/dist/{chunk-3Z5PF75J.cjs → chunk-CKDB7QNT.cjs} +29 -19
  73. package/dist/chunk-CKDB7QNT.cjs.map +1 -0
  74. package/dist/{chunk-3VJIUZAY.cjs → chunk-CVT7JW6C.cjs} +16 -25
  75. package/dist/chunk-CVT7JW6C.cjs.map +1 -0
  76. package/dist/{chunk-6DAZ2ZOW.cjs → chunk-CWZCBYVZ.cjs} +11 -11
  77. package/dist/{chunk-6DAZ2ZOW.cjs.map → chunk-CWZCBYVZ.cjs.map} +1 -1
  78. package/dist/{chunk-N77K3NQY.cjs → chunk-DTNIUZ3C.cjs} +7 -7
  79. package/dist/{chunk-N77K3NQY.cjs.map → chunk-DTNIUZ3C.cjs.map} +1 -1
  80. package/dist/{chunk-X4I5YARV.cjs → chunk-DUGGZUJP.cjs} +11 -11
  81. package/dist/{chunk-X4I5YARV.cjs.map → chunk-DUGGZUJP.cjs.map} +1 -1
  82. package/dist/{chunk-TTDNCN5G.cjs → chunk-DVCDAKPK.cjs} +13 -39
  83. package/dist/chunk-DVCDAKPK.cjs.map +1 -0
  84. package/dist/{chunk-2RZNX26F.cjs → chunk-DXUFDJHA.cjs} +12 -13
  85. package/dist/chunk-DXUFDJHA.cjs.map +1 -0
  86. package/dist/{chunk-4SUQFPWH.js → chunk-E6AKSBSP.js} +6 -6
  87. package/dist/{chunk-4SUQFPWH.js.map → chunk-E6AKSBSP.js.map} +1 -1
  88. package/dist/{chunk-THTVYP5V.js → chunk-EBV3EX3J.js} +21 -32
  89. package/dist/chunk-EBV3EX3J.js.map +1 -0
  90. package/dist/{chunk-JM4Q7ZQH.cjs → chunk-EEOUWM2F.cjs} +8 -8
  91. package/dist/chunk-EEOUWM2F.cjs.map +1 -0
  92. package/dist/{chunk-KC4EKXGF.js → chunk-EIJSWHG7.js} +9 -10
  93. package/dist/chunk-EIJSWHG7.js.map +1 -0
  94. package/dist/{chunk-IGJEZLHP.cjs → chunk-EQFSDFV2.cjs} +19 -19
  95. package/dist/{chunk-IGJEZLHP.cjs.map → chunk-EQFSDFV2.cjs.map} +1 -1
  96. package/dist/chunk-ESWYWWY2.js +162 -0
  97. package/dist/chunk-ESWYWWY2.js.map +1 -0
  98. package/dist/{chunk-UXGHFKLA.js → chunk-FHUOUARL.js} +4 -4
  99. package/dist/{chunk-UXGHFKLA.js.map → chunk-FHUOUARL.js.map} +1 -1
  100. package/dist/{chunk-HNDDNW52.js → chunk-FTNEAX24.js} +3 -3
  101. package/dist/{chunk-HNDDNW52.js.map → chunk-FTNEAX24.js.map} +1 -1
  102. package/dist/{chunk-JJNXQ7EL.js → chunk-FUU3I22W.js} +3 -3
  103. package/dist/{chunk-JJNXQ7EL.js.map → chunk-FUU3I22W.js.map} +1 -1
  104. package/dist/{chunk-OF5NULAO.js → chunk-GFMQIR5U.js} +7 -7
  105. package/dist/{chunk-OF5NULAO.js.map → chunk-GFMQIR5U.js.map} +1 -1
  106. package/dist/{chunk-JSAYTQTJ.cjs → chunk-GJZAGTPV.cjs} +7 -7
  107. package/dist/chunk-GJZAGTPV.cjs.map +1 -0
  108. package/dist/{chunk-J2YKUHQM.js → chunk-GKYGZWSQ.js} +14 -23
  109. package/dist/chunk-GKYGZWSQ.js.map +1 -0
  110. package/dist/{chunk-2F5TDBRT.cjs → chunk-GLFWSLJB.cjs} +8 -8
  111. package/dist/{chunk-2F5TDBRT.cjs.map → chunk-GLFWSLJB.cjs.map} +1 -1
  112. package/dist/{chunk-S5CMLG2E.js → chunk-GTZQT6MK.js} +9 -5
  113. package/dist/chunk-GTZQT6MK.js.map +1 -0
  114. package/dist/{chunk-4RDA4W4N.js → chunk-HEF53COU.js} +23 -7
  115. package/dist/chunk-HEF53COU.js.map +1 -0
  116. package/dist/{chunk-WPMWHKJX.js → chunk-I2DXEPDF.js} +5 -5
  117. package/dist/{chunk-WPMWHKJX.js.map → chunk-I2DXEPDF.js.map} +1 -1
  118. package/dist/{chunk-Z7OUMVR5.cjs → chunk-I4XYOJJS.cjs} +9 -9
  119. package/dist/{chunk-Z7OUMVR5.cjs.map → chunk-I4XYOJJS.cjs.map} +1 -1
  120. package/dist/{chunk-HWP2UGOC.cjs → chunk-IE7GWY4E.cjs} +126 -105
  121. package/dist/chunk-IE7GWY4E.cjs.map +1 -0
  122. package/dist/{chunk-YDNEAHVK.cjs → chunk-IH6DJWYH.cjs} +37 -37
  123. package/dist/{chunk-YDNEAHVK.cjs.map → chunk-IH6DJWYH.cjs.map} +1 -1
  124. package/dist/{chunk-D5OX6II7.cjs → chunk-IREOTHD3.cjs} +8 -8
  125. package/dist/chunk-IREOTHD3.cjs.map +1 -0
  126. package/dist/{chunk-L7XJZJCM.js → chunk-J4MQQ4K5.js} +5 -5
  127. package/dist/{chunk-L7XJZJCM.js.map → chunk-J4MQQ4K5.js.map} +1 -1
  128. package/dist/{chunk-UARQIMPS.js → chunk-JFLU2X5Q.js} +5 -5
  129. package/dist/{chunk-UARQIMPS.js.map → chunk-JFLU2X5Q.js.map} +1 -1
  130. package/dist/{chunk-VH3G4IUX.js → chunk-JMVYWHJ7.js} +12 -38
  131. package/dist/chunk-JMVYWHJ7.js.map +1 -0
  132. package/dist/{chunk-K4K4FU3D.cjs → chunk-JTPVAZE6.cjs} +11 -11
  133. package/dist/{chunk-K4K4FU3D.cjs.map → chunk-JTPVAZE6.cjs.map} +1 -1
  134. package/dist/{chunk-LW3DJOF4.cjs → chunk-JWMS6LHN.cjs} +6 -6
  135. package/dist/{chunk-LW3DJOF4.cjs.map → chunk-JWMS6LHN.cjs.map} +1 -1
  136. package/dist/{chunk-EBJPUXFQ.js → chunk-KEPCKSDE.js} +31 -11
  137. package/dist/chunk-KEPCKSDE.js.map +1 -0
  138. package/dist/{chunk-I2NG2P5K.cjs → chunk-KLPVBJGZ.cjs} +5 -5
  139. package/dist/{chunk-I2NG2P5K.cjs.map → chunk-KLPVBJGZ.cjs.map} +1 -1
  140. package/dist/{chunk-6PIVWNUR.js → chunk-KWZMXX4F.js} +5 -5
  141. package/dist/chunk-KWZMXX4F.js.map +1 -0
  142. package/dist/{chunk-3IYM5MAC.js → chunk-L747HIHG.js} +4 -4
  143. package/dist/{chunk-3IYM5MAC.js.map → chunk-L747HIHG.js.map} +1 -1
  144. package/dist/{chunk-HIH6MS5D.js → chunk-LBOWHXOF.js} +24 -6
  145. package/dist/chunk-LBOWHXOF.js.map +1 -0
  146. package/dist/{chunk-ZPJW3PP7.cjs → chunk-LTHPJRFK.cjs} +18 -10
  147. package/dist/chunk-LTHPJRFK.cjs.map +1 -0
  148. package/dist/{chunk-F7BFO3SD.cjs → chunk-LWB2CTX6.cjs} +24 -8
  149. package/dist/chunk-LWB2CTX6.cjs.map +1 -0
  150. package/dist/{chunk-FCUUGJTM.cjs → chunk-MJHEPDDX.cjs} +132 -160
  151. package/dist/chunk-MJHEPDDX.cjs.map +1 -0
  152. package/dist/{chunk-QO5C7TIV.js → chunk-MUXUHIIV.js} +5 -5
  153. package/dist/{chunk-QO5C7TIV.js.map → chunk-MUXUHIIV.js.map} +1 -1
  154. package/dist/{chunk-L5JS6P62.cjs → chunk-MYSLJWCW.cjs} +14 -10
  155. package/dist/chunk-MYSLJWCW.cjs.map +1 -0
  156. package/dist/{chunk-65MJZYO6.js → chunk-N6C37HXD.js} +14 -29
  157. package/dist/chunk-N6C37HXD.js.map +1 -0
  158. package/dist/{chunk-VO4FG3L2.cjs → chunk-NGNVNRAZ.cjs} +17 -17
  159. package/dist/{chunk-VO4FG3L2.cjs.map → chunk-NGNVNRAZ.cjs.map} +1 -1
  160. package/dist/{chunk-2WTHSGDP.cjs → chunk-NMC7QG2X.cjs} +14 -14
  161. package/dist/{chunk-2WTHSGDP.cjs.map → chunk-NMC7QG2X.cjs.map} +1 -1
  162. package/dist/{chunk-6EYLEVC6.js → chunk-NSWKBWPP.js} +15 -7
  163. package/dist/chunk-NSWKBWPP.js.map +1 -0
  164. package/dist/{chunk-FNRYGCO3.js → chunk-NYOZQE6P.js} +4 -4
  165. package/dist/{chunk-FNRYGCO3.js.map → chunk-NYOZQE6P.js.map} +1 -1
  166. package/dist/{chunk-GSTINE4X.js → chunk-O3UT5D57.js} +1775 -575
  167. package/dist/chunk-O3UT5D57.js.map +1 -0
  168. package/dist/{chunk-BSI4BQEX.cjs → chunk-OCYZKZ24.cjs} +4 -4
  169. package/dist/{chunk-BSI4BQEX.cjs.map → chunk-OCYZKZ24.cjs.map} +1 -1
  170. package/dist/{chunk-LBGC6EC5.js → chunk-OP6WQYYP.js} +15 -15
  171. package/dist/chunk-OP6WQYYP.js.map +1 -0
  172. package/dist/{chunk-TSKFGLGQ.cjs → chunk-OX2FNKIV.cjs} +18 -27
  173. package/dist/chunk-OX2FNKIV.cjs.map +1 -0
  174. package/dist/chunk-PG4CZRTU.js +77 -0
  175. package/dist/chunk-PG4CZRTU.js.map +1 -0
  176. package/dist/{chunk-TH537HOM.js → chunk-PQXPYN23.js} +6 -6
  177. package/dist/{chunk-TH537HOM.js.map → chunk-PQXPYN23.js.map} +1 -1
  178. package/dist/{chunk-U5M4JZBX.js → chunk-PYN75QAG.js} +6 -6
  179. package/dist/chunk-PYN75QAG.js.map +1 -0
  180. package/dist/{chunk-JS6MRT6M.js → chunk-QM7NQK2K.js} +4 -4
  181. package/dist/{chunk-JS6MRT6M.js.map → chunk-QM7NQK2K.js.map} +1 -1
  182. package/dist/{chunk-SUWRSJAN.cjs → chunk-RLIBY7XB.cjs} +16 -11
  183. package/dist/chunk-RLIBY7XB.cjs.map +1 -0
  184. package/dist/chunk-RNUQWYJJ.cjs +93 -0
  185. package/dist/chunk-RNUQWYJJ.cjs.map +1 -0
  186. package/dist/{chunk-GY2ZZR4Z.cjs → chunk-RUQODCTW.cjs} +18 -18
  187. package/dist/{chunk-GY2ZZR4Z.cjs.map → chunk-RUQODCTW.cjs.map} +1 -1
  188. package/dist/{chunk-FFF57VHO.cjs → chunk-RX2FXCIH.cjs} +8 -8
  189. package/dist/{chunk-FFF57VHO.cjs.map → chunk-RX2FXCIH.cjs.map} +1 -1
  190. package/dist/{chunk-EFBSEJBD.js → chunk-S4WWBV4N.js} +22 -47
  191. package/dist/chunk-S4WWBV4N.js.map +1 -0
  192. package/dist/{chunk-J3X465QT.cjs → chunk-SY2A4K6P.cjs} +9 -9
  193. package/dist/{chunk-J3X465QT.cjs.map → chunk-SY2A4K6P.cjs.map} +1 -1
  194. package/dist/{chunk-YJEX32HZ.cjs → chunk-U7QJJ3NR.cjs} +8 -8
  195. package/dist/{chunk-YJEX32HZ.cjs.map → chunk-U7QJJ3NR.cjs.map} +1 -1
  196. package/dist/{chunk-XZZI3JYK.cjs → chunk-UJDHRILS.cjs} +26 -8
  197. package/dist/chunk-UJDHRILS.cjs.map +1 -0
  198. package/dist/{chunk-IX26TMZD.cjs → chunk-UNS7OCEA.cjs} +5 -5
  199. package/dist/{chunk-IX26TMZD.cjs.map → chunk-UNS7OCEA.cjs.map} +1 -1
  200. package/dist/{chunk-RRXOSNCX.cjs → chunk-UR5EWWWL.cjs} +11 -11
  201. package/dist/{chunk-RRXOSNCX.cjs.map → chunk-UR5EWWWL.cjs.map} +1 -1
  202. package/dist/{chunk-6J326CN6.js → chunk-USEA7DB5.js} +4 -4
  203. package/dist/{chunk-6J326CN6.js.map → chunk-USEA7DB5.js.map} +1 -1
  204. package/dist/{chunk-DZZEJY3J.js → chunk-UUVI3TYW.js} +120 -148
  205. package/dist/chunk-UUVI3TYW.js.map +1 -0
  206. package/dist/{chunk-DV4K35UC.cjs → chunk-UW3KCCBT.cjs} +4 -4
  207. package/dist/{chunk-DV4K35UC.cjs.map → chunk-UW3KCCBT.cjs.map} +1 -1
  208. package/dist/{chunk-MEXR5ONE.js → chunk-V5XVXQWE.js} +5 -5
  209. package/dist/{chunk-MEXR5ONE.js.map → chunk-V5XVXQWE.js.map} +1 -1
  210. package/dist/{chunk-UXQSSRBQ.cjs → chunk-VCM4MR7N.cjs} +1785 -581
  211. package/dist/chunk-VCM4MR7N.cjs.map +1 -0
  212. package/dist/{chunk-VD52FLHL.js → chunk-VEQ5H765.js} +10 -10
  213. package/dist/{chunk-VD52FLHL.js.map → chunk-VEQ5H765.js.map} +1 -1
  214. package/dist/{chunk-Q4HAXT5C.cjs → chunk-VK7DXUGH.cjs} +31 -11
  215. package/dist/chunk-VK7DXUGH.cjs.map +1 -0
  216. package/dist/chunk-VPWNRWNO.cjs +81 -0
  217. package/dist/chunk-VPWNRWNO.cjs.map +1 -0
  218. package/dist/{chunk-VV72PGKH.cjs → chunk-VULMEKZZ.cjs} +27 -27
  219. package/dist/chunk-VULMEKZZ.cjs.map +1 -0
  220. package/dist/{chunk-MEUELWGO.cjs → chunk-VWG54F6X.cjs} +8 -8
  221. package/dist/{chunk-MEUELWGO.cjs.map → chunk-VWG54F6X.cjs.map} +1 -1
  222. package/dist/{chunk-MGJLBHPJ.js → chunk-WG4NNC3P.js} +4 -4
  223. package/dist/{chunk-MGJLBHPJ.js.map → chunk-WG4NNC3P.js.map} +1 -1
  224. package/dist/{chunk-V4ZH2H2P.cjs → chunk-WIFMXZIN.cjs} +14 -14
  225. package/dist/{chunk-V4ZH2H2P.cjs.map → chunk-WIFMXZIN.cjs.map} +1 -1
  226. package/dist/{chunk-5XMWGK3O.cjs → chunk-WOVSJHY6.cjs} +25 -36
  227. package/dist/chunk-WOVSJHY6.cjs.map +1 -0
  228. package/dist/{chunk-2VAUVJVG.js → chunk-X2P5SPGB.js} +3 -3
  229. package/dist/{chunk-2VAUVJVG.js.map → chunk-X2P5SPGB.js.map} +1 -1
  230. package/dist/{chunk-PBQMHXVO.js → chunk-XUCLNECV.js} +3 -3
  231. package/dist/{chunk-PBQMHXVO.js.map → chunk-XUCLNECV.js.map} +1 -1
  232. package/dist/{chunk-HXIU3SIQ.cjs → chunk-Y2GYPMLW.cjs} +5 -5
  233. package/dist/{chunk-HXIU3SIQ.cjs.map → chunk-Y2GYPMLW.cjs.map} +1 -1
  234. package/dist/{chunk-OTQAREYU.js → chunk-YAQB3UMC.js} +4 -4
  235. package/dist/{chunk-OTQAREYU.js.map → chunk-YAQB3UMC.js.map} +1 -1
  236. package/dist/{chunk-2VL66QBX.js → chunk-YGESCFX2.js} +3 -3
  237. package/dist/{chunk-2VL66QBX.js.map → chunk-YGESCFX2.js.map} +1 -1
  238. package/dist/{chunk-XPGIWOJO.cjs → chunk-YOAFVMEN.cjs} +18 -18
  239. package/dist/chunk-YOAFVMEN.cjs.map +1 -0
  240. package/dist/{chunk-2GMDMZKI.cjs → chunk-YQIDUJW2.cjs} +5 -5
  241. package/dist/{chunk-2GMDMZKI.cjs.map → chunk-YQIDUJW2.cjs.map} +1 -1
  242. package/dist/{chunk-R4DGCQTA.cjs → chunk-YQVWDHP4.cjs} +7 -7
  243. package/dist/{chunk-R4DGCQTA.cjs.map → chunk-YQVWDHP4.cjs.map} +1 -1
  244. package/dist/{chunk-LKGHYNLH.js → chunk-YRJYWTVG.js} +10 -10
  245. package/dist/chunk-YRJYWTVG.js.map +1 -0
  246. package/dist/{chunk-TKTCN4JE.cjs → chunk-ZNAGK36T.cjs} +9 -9
  247. package/dist/{chunk-TKTCN4JE.cjs.map → chunk-ZNAGK36T.cjs.map} +1 -1
  248. package/dist/{chunk-BSPWX2OZ.cjs → chunk-ZW2ZOEYM.cjs} +21 -15
  249. package/dist/chunk-ZW2ZOEYM.cjs.map +1 -0
  250. package/dist/components/Alert/index.cjs +10 -8
  251. package/dist/components/Alert/index.js +9 -7
  252. package/dist/components/AlertDialog/index.cjs +12 -10
  253. package/dist/components/AlertDialog/index.js +10 -8
  254. package/dist/components/AppShell/index.cjs +18 -15
  255. package/dist/components/AppShell/index.js +15 -12
  256. package/dist/components/AutocompleteInput/index.cjs +17 -14
  257. package/dist/components/AutocompleteInput/index.js +13 -10
  258. package/dist/components/Badge/Badge.d.ts.map +1 -1
  259. package/dist/components/Badge/Badge.recipe.d.ts +75 -41
  260. package/dist/components/Badge/Badge.recipe.d.ts.map +1 -1
  261. package/dist/components/Badge/index.cjs +3 -2
  262. package/dist/components/Badge/index.js +2 -1
  263. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  264. package/dist/components/Breadcrumbs/index.cjs +5 -10
  265. package/dist/components/Breadcrumbs/index.js +2 -7
  266. package/dist/components/Button/Button.d.ts +5 -3
  267. package/dist/components/Button/Button.d.ts.map +1 -1
  268. package/dist/components/Button/index.cjs +9 -7
  269. package/dist/components/Button/index.js +8 -6
  270. package/dist/components/Calendar/index.cjs +10 -8
  271. package/dist/components/Calendar/index.js +9 -7
  272. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +83 -0
  273. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  274. package/dist/components/CheckboxGroup/CheckboxGroup.recipe.d.ts +17 -0
  275. package/dist/components/CheckboxGroup/CheckboxGroup.recipe.d.ts.map +1 -0
  276. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  277. package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -0
  278. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts +58 -0
  279. package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -0
  280. package/dist/components/CheckboxGroup/index.cjs +35 -0
  281. package/dist/components/CheckboxGroup/index.cjs.map +1 -0
  282. package/dist/components/CheckboxGroup/index.d.ts +4 -0
  283. package/dist/components/CheckboxGroup/index.d.ts.map +1 -0
  284. package/dist/components/CheckboxGroup/index.js +22 -0
  285. package/dist/components/CheckboxGroup/index.js.map +1 -0
  286. package/dist/components/CheckboxInput/CheckboxInput.d.ts +11 -2
  287. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  288. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +6 -0
  289. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -1
  290. package/dist/components/CheckboxInput/index.cjs +9 -8
  291. package/dist/components/CheckboxInput/index.js +8 -7
  292. package/dist/components/CodeBlock/index.cjs +10 -8
  293. package/dist/components/CodeBlock/index.js +9 -7
  294. package/dist/components/ContextMenu/index.cjs +14 -12
  295. package/dist/components/ContextMenu/index.js +12 -10
  296. package/dist/components/DateInput/index.cjs +13 -11
  297. package/dist/components/DateInput/index.js +12 -10
  298. package/dist/components/DateRangeInput/index.cjs +13 -11
  299. package/dist/components/DateRangeInput/index.js +12 -10
  300. package/dist/components/DateTimeInput/index.cjs +15 -13
  301. package/dist/components/DateTimeInput/index.js +14 -12
  302. package/dist/components/DropdownMenu/index.cjs +15 -13
  303. package/dist/components/DropdownMenu/index.js +11 -9
  304. package/dist/components/EmptyState/index.cjs +5 -5
  305. package/dist/components/EmptyState/index.js +4 -4
  306. package/dist/components/Field/index.cjs +6 -6
  307. package/dist/components/Field/index.js +4 -4
  308. package/dist/components/FileInput/index.cjs +11 -9
  309. package/dist/components/FileInput/index.js +10 -8
  310. package/dist/components/HoverCard/HoverCard.d.ts +6 -6
  311. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
  312. package/dist/components/HoverCard/index.cjs +4 -4
  313. package/dist/components/HoverCard/index.js +2 -2
  314. package/dist/components/InputGroup/index.cjs +9 -9
  315. package/dist/components/InputGroup/index.js +5 -5
  316. package/dist/components/Item/Item.d.ts.map +1 -1
  317. package/dist/components/Item/index.cjs +7 -8
  318. package/dist/components/Item/index.js +6 -7
  319. package/dist/components/Layout/Layout.recipe.d.ts +17 -0
  320. package/dist/components/Layout/Layout.recipe.d.ts.map +1 -1
  321. package/dist/components/Layout/LayoutHeader.d.ts +12 -1
  322. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  323. package/dist/components/Layout/index.cjs +14 -12
  324. package/dist/components/Layout/index.js +9 -7
  325. package/dist/components/Lightbox/index.cjs +11 -9
  326. package/dist/components/Lightbox/index.js +9 -7
  327. package/dist/components/Link/Link.d.ts +4 -5
  328. package/dist/components/Link/Link.d.ts.map +1 -1
  329. package/dist/components/Link/Link.recipe.d.ts.map +1 -1
  330. package/dist/components/Link/index.cjs +9 -6
  331. package/dist/components/Link/index.js +6 -3
  332. package/dist/components/List/index.cjs +9 -10
  333. package/dist/components/List/index.js +7 -8
  334. package/dist/components/MetadataList/MetadataList.recipe.d.ts +9 -1
  335. package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -1
  336. package/dist/components/MetadataList/MetadataListItem.d.ts +6 -1
  337. package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
  338. package/dist/components/MetadataList/index.cjs +9 -6
  339. package/dist/components/MetadataList/index.js +7 -4
  340. package/dist/components/MultiSelect/index.cjs +14 -12
  341. package/dist/components/MultiSelect/index.js +13 -11
  342. package/dist/components/NumberInput/index.cjs +12 -10
  343. package/dist/components/NumberInput/index.js +11 -9
  344. package/dist/components/Pagination/index.cjs +10 -8
  345. package/dist/components/Pagination/index.js +9 -7
  346. package/dist/components/PasswordInput/index.cjs +13 -11
  347. package/dist/components/PasswordInput/index.js +12 -10
  348. package/dist/components/Popover/Popover.d.ts +13 -1
  349. package/dist/components/Popover/Popover.d.ts.map +1 -1
  350. package/dist/components/Popover/index.cjs +11 -9
  351. package/dist/components/Popover/index.js +9 -7
  352. package/dist/components/RadioGroup/index.cjs +10 -9
  353. package/dist/components/RadioGroup/index.js +8 -7
  354. package/dist/components/Schedule/CalendarEvent.d.ts +18 -4
  355. package/dist/components/Schedule/CalendarEvent.d.ts.map +1 -1
  356. package/dist/components/Schedule/DayView.d.ts +7 -1
  357. package/dist/components/Schedule/DayView.d.ts.map +1 -1
  358. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  359. package/dist/components/Schedule/ListView.recipe.d.ts +56 -0
  360. package/dist/components/Schedule/ListView.recipe.d.ts.map +1 -0
  361. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  362. package/dist/components/Schedule/MonthlyView.recipe.d.ts +47 -0
  363. package/dist/components/Schedule/MonthlyView.recipe.d.ts.map +1 -0
  364. package/dist/components/Schedule/ScheduleEvent.recipe.d.ts +17 -0
  365. package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -1
  366. package/dist/components/Schedule/TimeGridView.d.ts +7 -1
  367. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  368. package/dist/components/Schedule/TimeGridView.recipe.d.ts +43 -0
  369. package/dist/components/Schedule/TimeGridView.recipe.d.ts.map +1 -0
  370. package/dist/components/Schedule/WeeklyView.d.ts +7 -1
  371. package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
  372. package/dist/components/Schedule/index.cjs +44 -21
  373. package/dist/components/Schedule/index.d.ts +6 -2
  374. package/dist/components/Schedule/index.d.ts.map +1 -1
  375. package/dist/components/Schedule/index.js +17 -10
  376. package/dist/components/Schedule/plugins/EventMovePlugin.d.ts +23 -0
  377. package/dist/components/Schedule/plugins/EventMovePlugin.d.ts.map +1 -0
  378. package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts +31 -0
  379. package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts.map +1 -0
  380. package/dist/components/Schedule/plugins/EventResizePlugin.d.ts +24 -0
  381. package/dist/components/Schedule/plugins/EventResizePlugin.d.ts.map +1 -0
  382. package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts +39 -0
  383. package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -0
  384. package/dist/components/Schedule/plugins/index.d.ts +4 -0
  385. package/dist/components/Schedule/plugins/index.d.ts.map +1 -1
  386. package/dist/components/Schedule/shared.d.ts +58 -3
  387. package/dist/components/Schedule/shared.d.ts.map +1 -1
  388. package/dist/components/Schedule/types.d.ts +47 -1
  389. package/dist/components/Schedule/types.d.ts.map +1 -1
  390. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
  391. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.recipe.d.ts +4 -0
  392. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.recipe.d.ts.map +1 -0
  393. package/dist/components/SearchFilterInput/index.cjs +32 -29
  394. package/dist/components/SearchFilterInput/index.js +24 -21
  395. package/dist/components/Select/index.cjs +15 -13
  396. package/dist/components/Select/index.js +13 -11
  397. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  398. package/dist/components/SideNav/SideNav.recipe.d.ts +26 -7
  399. package/dist/components/SideNav/SideNav.recipe.d.ts.map +1 -1
  400. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  401. package/dist/components/SideNav/index.cjs +18 -15
  402. package/dist/components/SideNav/index.js +12 -9
  403. package/dist/components/Slider/index.cjs +6 -6
  404. package/dist/components/Slider/index.js +5 -5
  405. package/dist/components/Spinner/index.cjs +5 -5
  406. package/dist/components/Spinner/index.js +4 -4
  407. package/dist/components/SplitButton/index.cjs +13 -11
  408. package/dist/components/SplitButton/index.js +12 -10
  409. package/dist/components/Stepper/index.cjs +5 -5
  410. package/dist/components/Stepper/index.js +4 -4
  411. package/dist/components/Switch/index.cjs +6 -6
  412. package/dist/components/Switch/index.js +5 -5
  413. package/dist/components/Table/index.cjs +55 -52
  414. package/dist/components/Table/index.js +29 -26
  415. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  416. package/dist/components/Tabs/index.cjs +15 -13
  417. package/dist/components/Tabs/index.js +10 -8
  418. package/dist/components/Tag/Tag.d.ts.map +1 -1
  419. package/dist/components/Tag/index.cjs +8 -5
  420. package/dist/components/Tag/index.js +7 -4
  421. package/dist/components/TagsInput/index.cjs +15 -12
  422. package/dist/components/TagsInput/index.js +14 -11
  423. package/dist/components/Text/Heading.d.ts +5 -5
  424. package/dist/components/Text/Heading.d.ts.map +1 -1
  425. package/dist/components/Text/Text.d.ts +5 -5
  426. package/dist/components/Text/Text.d.ts.map +1 -1
  427. package/dist/components/Text/index.cjs +5 -5
  428. package/dist/components/Text/index.js +3 -3
  429. package/dist/components/TextArea/index.cjs +7 -7
  430. package/dist/components/TextArea/index.js +6 -6
  431. package/dist/components/TextInput/index.cjs +12 -10
  432. package/dist/components/TextInput/index.js +11 -9
  433. package/dist/components/Thumbnail/index.cjs +10 -8
  434. package/dist/components/Thumbnail/index.js +9 -7
  435. package/dist/components/TimeInput/index.cjs +11 -9
  436. package/dist/components/TimeInput/index.js +10 -8
  437. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  438. package/dist/components/Toast/index.cjs +12 -10
  439. package/dist/components/Toast/index.js +9 -7
  440. package/dist/components/ToggleButton/ToggleButton.recipe.d.ts.map +1 -1
  441. package/dist/components/ToggleButton/index.cjs +7 -7
  442. package/dist/components/ToggleButton/index.js +5 -5
  443. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  444. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  445. package/dist/components/Tooltip/index.cjs +4 -4
  446. package/dist/components/Tooltip/index.js +2 -2
  447. package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
  448. package/dist/components/TopNav/index.cjs +16 -13
  449. package/dist/components/TopNav/index.js +11 -8
  450. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  451. package/dist/components/TreeView/index.cjs +3 -2
  452. package/dist/components/TreeView/index.js +2 -1
  453. package/dist/index.cjs +260 -232
  454. package/dist/index.cjs.map +1 -1
  455. package/dist/index.d.ts +2 -1
  456. package/dist/index.d.ts.map +1 -1
  457. package/dist/index.js +62 -58
  458. package/dist/index.js.map +1 -1
  459. package/dist/internal/ActionElement.d.ts +45 -0
  460. package/dist/internal/ActionElement.d.ts.map +1 -0
  461. package/dist/internal/HoverLayerTrigger.d.ts +3 -4
  462. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  463. package/dist/internal/useLayer.d.ts +12 -0
  464. package/dist/internal/useLayer.d.ts.map +1 -1
  465. package/dist/internal/useSelectListbox.d.ts +5 -5
  466. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  467. package/dist/styles.css +1 -1
  468. package/package.json +1 -1
  469. package/dist/chunk-2AWSJF22.js.map +0 -1
  470. package/dist/chunk-2RZNX26F.cjs.map +0 -1
  471. package/dist/chunk-3VJIUZAY.cjs.map +0 -1
  472. package/dist/chunk-3Z5PF75J.cjs.map +0 -1
  473. package/dist/chunk-4RDA4W4N.js.map +0 -1
  474. package/dist/chunk-5XMWGK3O.cjs.map +0 -1
  475. package/dist/chunk-65MJZYO6.js.map +0 -1
  476. package/dist/chunk-6EYLEVC6.js.map +0 -1
  477. package/dist/chunk-6PIVWNUR.js.map +0 -1
  478. package/dist/chunk-AEYJ6PWC.js.map +0 -1
  479. package/dist/chunk-BIJ6YDWJ.cjs.map +0 -1
  480. package/dist/chunk-BSPWX2OZ.cjs.map +0 -1
  481. package/dist/chunk-D5OX6II7.cjs.map +0 -1
  482. package/dist/chunk-DZZEJY3J.js.map +0 -1
  483. package/dist/chunk-EBJPUXFQ.js.map +0 -1
  484. package/dist/chunk-EFBSEJBD.js.map +0 -1
  485. package/dist/chunk-F7BFO3SD.cjs.map +0 -1
  486. package/dist/chunk-FCUUGJTM.cjs.map +0 -1
  487. package/dist/chunk-GSTINE4X.js.map +0 -1
  488. package/dist/chunk-GW6P4FJ4.cjs.map +0 -1
  489. package/dist/chunk-H2EMKCWT.js +0 -78
  490. package/dist/chunk-H2EMKCWT.js.map +0 -1
  491. package/dist/chunk-H4L456EW.js.map +0 -1
  492. package/dist/chunk-HIH6MS5D.js.map +0 -1
  493. package/dist/chunk-HWP2UGOC.cjs.map +0 -1
  494. package/dist/chunk-J2YKUHQM.js.map +0 -1
  495. package/dist/chunk-JM4Q7ZQH.cjs.map +0 -1
  496. package/dist/chunk-JSAYTQTJ.cjs.map +0 -1
  497. package/dist/chunk-KC4EKXGF.js.map +0 -1
  498. package/dist/chunk-KUXFEAT4.cjs +0 -80
  499. package/dist/chunk-KUXFEAT4.cjs.map +0 -1
  500. package/dist/chunk-L5JS6P62.cjs.map +0 -1
  501. package/dist/chunk-L5PJCLV6.js.map +0 -1
  502. package/dist/chunk-LBGC6EC5.js.map +0 -1
  503. package/dist/chunk-LKGHYNLH.js.map +0 -1
  504. package/dist/chunk-OUZX7STE.cjs.map +0 -1
  505. package/dist/chunk-Q3HMGFGI.js.map +0 -1
  506. package/dist/chunk-Q4HAXT5C.cjs.map +0 -1
  507. package/dist/chunk-RJEZBOSH.js.map +0 -1
  508. package/dist/chunk-S5CMLG2E.js.map +0 -1
  509. package/dist/chunk-SUWRSJAN.cjs.map +0 -1
  510. package/dist/chunk-THTVYP5V.js.map +0 -1
  511. package/dist/chunk-TSKFGLGQ.cjs.map +0 -1
  512. package/dist/chunk-TTDNCN5G.cjs.map +0 -1
  513. package/dist/chunk-U5M4JZBX.js.map +0 -1
  514. package/dist/chunk-UXQSSRBQ.cjs.map +0 -1
  515. package/dist/chunk-VH3G4IUX.js.map +0 -1
  516. package/dist/chunk-VV72PGKH.cjs.map +0 -1
  517. package/dist/chunk-W5F7PYT2.js.map +0 -1
  518. package/dist/chunk-XPGIWOJO.cjs.map +0 -1
  519. package/dist/chunk-XZZI3JYK.cjs.map +0 -1
  520. package/dist/chunk-ZPJW3PP7.cjs.map +0 -1
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var chunkVPWNRWNO_cjs = require('./chunk-VPWNRWNO.cjs');
3
4
  var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
4
5
  var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
5
6
  var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
@@ -350,15 +351,16 @@ function TreeViewItem({
350
351
  const handlePointerDown = react.useCallback(() => {
351
352
  onFocusItem(id, false);
352
353
  }, [id, onFocusItem]);
353
- const handleDisabledLinkClick = react.useCallback(
354
+ const handleActionClick = react.useCallback(
354
355
  (event) => {
355
- if (!isDisabled) {
356
+ if (isDisabled) {
357
+ event.preventDefault();
358
+ event.stopPropagation();
356
359
  return;
357
360
  }
358
- event.preventDefault();
359
- event.stopPropagation();
361
+ onClick?.(event);
360
362
  },
361
- [isDisabled]
363
+ [isDisabled, onClick]
362
364
  );
363
365
  const labelAndDescription = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
364
366
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles3.label, id: labelId, children: label }),
@@ -379,31 +381,20 @@ function TreeViewItem({
379
381
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
380
382
  toggle,
381
383
  !chunkQAO6QMNQ_cjs.isReactNode(startContent) ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles3.startContent, children: startContent }),
382
- href != null ? /* @__PURE__ */ jsxRuntime.jsx(
383
- "a",
384
+ href != null || onClick != null ? /* @__PURE__ */ jsxRuntime.jsx(
385
+ chunkVPWNRWNO_cjs.ActionElement,
384
386
  {
385
387
  "aria-describedby": description == null ? void 0 : descriptionId,
386
- "aria-disabled": isDisabled || void 0,
388
+ "aria-disabled": href != null && isDisabled ? true : void 0,
387
389
  "aria-labelledby": labelId,
388
390
  className: styles3.invisibleAction,
389
391
  href,
390
- onClick: handleDisabledLinkClick,
391
- ref: actionRef,
392
- tabIndex: -1,
393
- target,
394
- children: labelAndDescription
395
- }
396
- ) : onClick != null ? /* @__PURE__ */ jsxRuntime.jsx(
397
- "button",
398
- {
399
- "aria-describedby": description == null ? void 0 : descriptionId,
400
- "aria-labelledby": labelId,
401
- className: styles3.invisibleAction,
402
- disabled: isDisabled,
403
- onClick,
392
+ isDisabled: href == null ? isDisabled : void 0,
393
+ isLink: href != null,
394
+ onClick: handleActionClick,
404
395
  ref: actionRef,
405
396
  tabIndex: -1,
406
- type: "button",
397
+ target: href != null ? target : void 0,
407
398
  children: labelAndDescription
408
399
  }
409
400
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles3.content, children: labelAndDescription }),
@@ -746,5 +737,5 @@ function TreeView({
746
737
  TreeView.displayName = "TreeView";
747
738
 
748
739
  exports.TreeView = TreeView;
749
- //# sourceMappingURL=chunk-3VJIUZAY.cjs.map
750
- //# sourceMappingURL=chunk-3VJIUZAY.cjs.map
740
+ //# sourceMappingURL=chunk-CVT7JW6C.cjs.map
741
+ //# sourceMappingURL=chunk-CVT7JW6C.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TreeView/TreeView.recipe.ts","../src/components/TreeView/TreeViewBranches.recipe.ts","../src/components/TreeView/TreeViewBranches.tsx","../src/components/TreeView/TreeViewItem.recipe.ts","../src/components/TreeView/TreeViewItem.tsx","../src/components/TreeView/TreeView.tsx"],"names":["sva","jsxs","Fragment","jsx","useId","useRef","styles","useCallback","Icon","ChevronRight","isReactNode","ActionElement","cx","useMemo","useState"],"mappings":"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","file":"chunk-CVT7JW6C.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const treeViewRecipe = sva({\n slots: ['root', 'header', 'list'],\n base: {\n root: {\n position: 'relative',\n },\n header: {\n mb: '2',\n },\n list: {\n m: 0,\n p: 0,\n listStyleType: 'none',\n },\n },\n});\n\nexport type TreeViewVariants = RecipeVariantProps<typeof treeViewRecipe>;\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const treeViewBranchesRecipe = sva({\n slots: ['container', 'line'],\n base: {\n container: {\n position: 'absolute',\n h: 'full',\n w: '5',\n },\n line: {\n position: 'absolute',\n insetInline: 0,\n m: 'auto',\n w: '1px',\n h: 'calc(100% + 1px)',\n borderRadius: 'xs',\n bg: 'border.emphasized',\n },\n },\n});\n\nexport type TreeViewBranchesVariants = RecipeVariantProps<\n typeof treeViewBranchesRecipe\n>;\n","/* eslint-disable silver-ui/require-component-props -- internal presentational connector */\n\nimport {treeViewBranchesRecipe} from 'components/TreeView/TreeViewBranches.recipe';\n\nconst styles = treeViewBranchesRecipe();\n\nconst branchOffset = '6px';\n\ninterface TreeViewBranchesProps {\n /**\n * Whether each ancestor at the corresponding level is the last sibling.\n */\n ancestorsIsLast: ReadonlyArray<boolean>;\n /**\n * Zero-based nesting depth used to draw vertical connector lines.\n */\n nestedLevel: number;\n}\n\n/**\n * Renders vertical connector lines for tree item indentation levels.\n */\nexport function TreeViewBranches({\n ancestorsIsLast,\n nestedLevel,\n}: TreeViewBranchesProps): React.JSX.Element {\n return (\n <>\n {ancestorsIsLast.map((ancestorIsLast, level) => {\n if (ancestorIsLast || level === nestedLevel - 1) {\n return null;\n }\n\n return (\n <div\n className={styles.container}\n // eslint-disable-next-line @eslint-react/no-array-index-key -- level is the stable connector coordinate\n key={level}\n style={{left: `calc(${branchOffset} + ${level} * 16px)`}}>\n <div className={styles.line} />\n </div>\n );\n })}\n {nestedLevel > 0 ? (\n <div\n className={styles.container}\n style={{left: `calc(${branchOffset} + ${nestedLevel - 1} * 16px)`}}>\n <div className={styles.line} />\n </div>\n ) : null}\n </>\n );\n}\n\nTreeViewBranches.displayName = 'TreeViewBranches';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const treeViewItemRecipe = sva({\n slots: [\n 'wrapper',\n 'treeBranches',\n 'rowWrapper',\n 'contentWrapper',\n 'toggleButton',\n 'toggleSpacer',\n 'toggleIcon',\n 'startContent',\n 'content',\n 'invisibleAction',\n 'label',\n 'description',\n 'endContent',\n 'childGroup',\n ],\n base: {\n wrapper: {\n position: 'relative',\n m: 0,\n p: 0,\n w: 'full',\n listStyleType: 'none',\n outline: 'none',\n },\n treeBranches: {\n ps: '2',\n },\n rowWrapper: {\n position: 'relative',\n },\n contentWrapper: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n overflow: 'hidden',\n px: '2',\n borderRadius: 'md',\n outline: 'none',\n textAlign: 'start',\n },\n toggleButton: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n h: '4',\n borderRadius: 'sm',\n color: 'fg.muted',\n cursor: 'pointer',\n },\n toggleSpacer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n h: '4',\n color: 'fg.muted',\n },\n toggleIcon: {\n display: 'flex',\n transitionDuration: 'fast',\n transitionProperty: 'transform',\n transitionTimingFunction: 'default',\n },\n startContent: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n content: {\n display: 'flex',\n flex: 1,\n minW: 0,\n flexDirection: 'column',\n textAlign: 'start',\n },\n invisibleAction: {\n display: 'flex',\n flex: 1,\n minW: 0,\n flexDirection: 'column',\n color: 'inherit',\n cursor: 'inherit',\n font: 'inherit',\n textAlign: 'start',\n textDecoration: 'none',\n outline: 'none',\n },\n label: {\n color: 'fg',\n },\n description: {\n color: 'fg.muted',\n fontSize: 'xs',\n lineHeight: 'normal',\n },\n endContent: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n ml: 'auto',\n },\n childGroup: {\n m: 0,\n p: 0,\n listStyleType: 'none',\n },\n },\n variants: {\n density: {\n balanced: {\n contentWrapper: {py: '2', fontSize: 'sm', lineHeight: 'normal'},\n },\n compact: {\n contentWrapper: {py: '1', fontSize: 'sm', lineHeight: 'normal'},\n },\n spacious: {\n contentWrapper: {py: '3', fontSize: 'sm', lineHeight: 'normal'},\n },\n },\n isInteractive: {\n true: {\n contentWrapper: {\n cursor: 'pointer',\n transitionDuration: 'fast',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'default',\n _active: {\n bg: 'bg.hover',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.subtle',\n },\n },\n },\n },\n false: {},\n },\n isDisabled: {\n true: {\n contentWrapper: {\n cursor: 'not-allowed',\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n false: {},\n },\n isSelected: {\n true: {\n contentWrapper: {bg: 'bg.selected'},\n },\n false: {},\n },\n isFocused: {\n true: {\n contentWrapper: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n false: {},\n },\n isExpanded: {\n true: {\n toggleIcon: {transform: 'rotate(90deg)'},\n },\n false: {},\n },\n },\n defaultVariants: {\n density: 'balanced',\n isInteractive: false,\n isDisabled: false,\n isSelected: false,\n isFocused: false,\n isExpanded: false,\n },\n});\n\nexport type TreeViewItemVariants = RecipeVariantProps<\n typeof treeViewItemRecipe\n>;\n","/* eslint-disable jsx-a11y-x/no-noninteractive-element-to-interactive-role, jsx-a11y-x/no-static-element-interactions, silver-ui/require-component-props -- internal recursive tree item */\n\nimport {ChevronRight} from 'lucide-react';\nimport {useCallback, useId, useRef, type ReactNode, type Ref} from 'react';\nimport {Icon} from 'components/Icon';\nimport {TreeViewBranches} from 'components/TreeView/TreeViewBranches';\nimport {treeViewItemRecipe} from 'components/TreeView/TreeViewItem.recipe';\nimport type {TreeViewDensity} from 'components/TreeView/types';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\ninterface TreeViewItemProps {\n /**\n * Whether each ancestor at the corresponding level is the last sibling.\n */\n ancestorsIsLast: ReadonlyArray<boolean>;\n /**\n * Plain-text label used for generated control labels.\n */\n ariaLabel?: string;\n /**\n * Spacing density for the item.\n */\n density: TreeViewDensity;\n /**\n * Secondary description text shown below the label.\n */\n description?: string;\n /**\n * Content rendered at the end of the item row.\n */\n endContent?: React.ReactNode;\n /**\n * Whether this item has child items.\n */\n hasChildren: boolean;\n /**\n * Link destination. When provided, the item renders as a link.\n */\n href?: string;\n /**\n * Unique identifier for the item.\n */\n id: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item's children are visible.\n */\n isExpanded: boolean;\n /**\n * Whether this item currently owns roving focus.\n */\n isFocused: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary label content.\n */\n label: React.ReactNode;\n /**\n * Zero-based nesting depth of this item.\n */\n nestedLevel: number;\n /**\n * Click handler for the item action.\n */\n onClick?: (event: React.MouseEvent) => void;\n /**\n * Called when the item receives focus.\n */\n onFocusItem: (id: string, isFocusVisible?: boolean) => void;\n /**\n * Called for tree keyboard navigation.\n */\n onItemKeyDown: (\n event: React.KeyboardEvent<HTMLLIElement>,\n id: string,\n ) => void;\n /**\n * Called when the expand/collapse toggle is activated.\n */\n onToggle?: (id: string) => void;\n /**\n * Ref forwarded to the treeitem element.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Pre-rendered child items.\n */\n renderedChildren?: ReactNode;\n /**\n * Content rendered before the label.\n */\n startContent?: React.ReactNode;\n /**\n * Roving tab index for this treeitem.\n */\n tabIndex: 0 | -1;\n /**\n * Link target attribute (e.g. '_blank').\n */\n target?: string;\n}\n\n/**\n * Renders a single tree item with toggle, branch lines, and optional link or button action.\n */\nexport function TreeViewItem({\n ariaLabel,\n ancestorsIsLast,\n density,\n description,\n endContent,\n hasChildren,\n href,\n id,\n isDisabled = false,\n isExpanded,\n isFocused,\n isSelected = false,\n label,\n nestedLevel,\n onClick,\n onFocusItem,\n onItemKeyDown,\n onToggle,\n ref,\n renderedChildren,\n startContent,\n tabIndex,\n target,\n}: TreeViewItemProps): React.JSX.Element {\n const labelId = useId();\n const descriptionId = useId();\n const actionRef = useRef<HTMLElement>(null);\n const isInteractive = onClick != null || href != null;\n const togglesOnRow = hasChildren && onClick == null && onToggle != null;\n const styles = treeViewItemRecipe({\n density,\n isInteractive: isInteractive || togglesOnRow,\n isDisabled,\n isSelected,\n isFocused,\n isExpanded,\n });\n const textLabel =\n ariaLabel ??\n (typeof label === 'string' || typeof label === 'number'\n ? String(label)\n : id);\n\n const handleToggle = useCallback(\n (event: React.MouseEvent) => {\n event.stopPropagation();\n onToggle?.(id);\n },\n [id, onToggle],\n );\n\n const handleRowClick = useCallback(() => {\n if (!togglesOnRow) {\n return;\n }\n\n if (isDisabled) {\n return;\n }\n onToggle(id);\n }, [id, isDisabled, onToggle, togglesOnRow]);\n\n const handleRowKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (togglesOnRow) {\n handleRowClick();\n return;\n }\n actionRef.current?.click();\n return;\n }\n onItemKeyDown(event, id);\n },\n [handleRowClick, id, onItemKeyDown, togglesOnRow],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLLIElement>) => {\n if (event.currentTarget !== event.target) {\n return;\n }\n onFocusItem(id, event.currentTarget.matches(':focus-visible'));\n },\n [id, onFocusItem],\n );\n\n const handlePointerDown = useCallback(() => {\n onFocusItem(id, false);\n }, [id, onFocusItem]);\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n onClick?.(event);\n },\n [isDisabled, onClick],\n );\n\n const labelAndDescription = (\n <>\n <span className={styles.label} id={labelId}>\n {label}\n </span>\n {description == null ? null : (\n <span className={styles.description} id={descriptionId}>\n {description}\n </span>\n )}\n </>\n );\n\n const toggleIcon = (\n <span className={styles.toggleIcon}>\n <Icon icon={ChevronRight} size=\"sm\" />\n </span>\n );\n\n const toggle = hasChildren ? (\n onClick != null ? (\n <button\n aria-label={`Toggle ${textLabel} children`}\n className={styles.toggleButton}\n onClick={handleToggle}\n tabIndex={-1}\n type=\"button\">\n {toggleIcon}\n </button>\n ) : (\n <span className={styles.toggleSpacer}>{toggleIcon}</span>\n )\n ) : null;\n\n const content = (\n <>\n {toggle}\n {!isReactNode(startContent) ? null : (\n <span className={styles.startContent}>{startContent}</span>\n )}\n {href != null || onClick != null ? (\n <ActionElement\n aria-describedby={description == null ? undefined : descriptionId}\n aria-disabled={href != null && isDisabled ? true : undefined}\n aria-labelledby={labelId}\n className={styles.invisibleAction}\n href={href}\n isDisabled={href == null ? isDisabled : undefined}\n isLink={href != null}\n onClick={handleActionClick}\n ref={actionRef}\n tabIndex={-1}\n target={href != null ? target : undefined}>\n {labelAndDescription}\n </ActionElement>\n ) : (\n <span className={styles.content}>{labelAndDescription}</span>\n )}\n {!isReactNode(endContent) ? null : (\n <span className={styles.endContent}>{endContent}</span>\n )}\n </>\n );\n\n const marginLeft = hasChildren\n ? `calc(${nestedLevel} * 16px)`\n : `calc(${nestedLevel} * 16px + 24px)`;\n\n return (\n <li\n aria-describedby={description == null ? undefined : descriptionId}\n aria-disabled={isDisabled || undefined}\n aria-expanded={hasChildren ? isExpanded : undefined}\n aria-labelledby={labelId}\n aria-selected={isSelected || undefined}\n className={styles.wrapper}\n onFocus={handleFocus}\n onKeyDown={handleRowKeyDown}\n ref={ref}\n role=\"treeitem\"\n tabIndex={isDisabled ? -1 : tabIndex}>\n <div className={styles.treeBranches}>\n <TreeViewBranches\n ancestorsIsLast={ancestorsIsLast}\n nestedLevel={nestedLevel}\n />\n </div>\n <div className={styles.rowWrapper}>\n {/* eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard interaction is handled by the parent treeitem for roving focus. */}\n <div\n className={cx('silver-tree-view-item', styles.contentWrapper)}\n onClick={handleRowClick}\n onPointerDown={handlePointerDown}\n style={{marginLeft}}>\n {content}\n </div>\n </div>\n {isExpanded && isReactNode(renderedChildren) ? (\n <ul className={styles.childGroup} role=\"group\">\n {renderedChildren}\n </ul>\n ) : null}\n </li>\n );\n}\n\nTreeViewItem.displayName = 'TreeViewItem';\n","/* eslint-disable jsx-a11y-x/no-noninteractive-element-to-interactive-role -- tree semantics are applied to list markup */\n\nimport {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {treeViewRecipe} from 'components/TreeView/TreeView.recipe';\nimport {TreeViewItem} from 'components/TreeView/TreeViewItem';\nimport type {\n TreeViewDensity,\n TreeViewItemData,\n} from 'components/TreeView/types';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface TreeViewProps {\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Spacing density for tree items.\n * @default 'balanced'\n */\n density?: TreeViewDensity;\n /**\n * Header content rendered above the tree and associated with `aria-labelledby`.\n */\n header?: ReactNode;\n /**\n * Recursive tree item data. Pass a stable reference, or memoize large inline\n * arrays, to avoid repeating recursive expansion scans on every render.\n */\n items: TreeViewItemData[];\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\nconst styles = treeViewRecipe();\n\ninterface VisibleTreeItem {\n hasChildren: boolean;\n id: string;\n isDisabled: boolean;\n isExpanded: boolean;\n label: string;\n parentId: string | null;\n}\n\nfunction collectExpandedKeys(items: TreeViewItemData[]): string[] {\n const keys: string[] = [];\n for (const item of items) {\n if (item.isExpanded && item.children != null && item.children.length > 0) {\n keys.push(item.id);\n }\n if (item.children != null) {\n keys.push(...collectExpandedKeys(item.children));\n }\n }\n return keys;\n}\n\nfunction getTextLabel(item: TreeViewItemData): string {\n if (item.ariaLabel != null) {\n return item.ariaLabel;\n }\n if (typeof item.label === 'string' || typeof item.label === 'number') {\n return String(item.label);\n }\n return item.id;\n}\n\nfunction getItemExpansion(\n id: string,\n expandedKeyOverrides: ReadonlyMap<string, boolean>,\n expandedKeysFromProps: ReadonlySet<string>,\n): boolean {\n return expandedKeyOverrides.has(id)\n ? (expandedKeyOverrides.get(id) ?? false)\n : expandedKeysFromProps.has(id);\n}\n\nfunction collectVisibleItems(\n items: TreeViewItemData[],\n expandedKeyOverrides: ReadonlyMap<string, boolean>,\n expandedKeysFromProps: ReadonlySet<string>,\n parentId: string | null = null,\n): VisibleTreeItem[] {\n const visibleItems: VisibleTreeItem[] = [];\n for (const item of items) {\n const hasChildren = item.children != null && item.children.length > 0;\n const isExpanded = getItemExpansion(\n item.id,\n expandedKeyOverrides,\n expandedKeysFromProps,\n );\n visibleItems.push({\n hasChildren,\n id: item.id,\n isDisabled: item.isDisabled === true,\n isExpanded,\n label: getTextLabel(item),\n parentId,\n });\n\n if (hasChildren && isExpanded) {\n visibleItems.push(\n ...collectVisibleItems(\n item.children ?? [],\n expandedKeyOverrides,\n expandedKeysFromProps,\n item.id,\n ),\n );\n }\n }\n return visibleItems;\n}\n\n/**\n * Renders a hierarchical tree of expandable and selectable items.\n */\nexport function TreeView({\n className,\n 'data-testid': dataTestId,\n density = 'balanced',\n header,\n items,\n ref,\n style,\n}: TreeViewProps): React.JSX.Element {\n const headerId = useId();\n const itemElementsRef = useRef(new Map<string, HTMLLIElement>());\n const inputModalityRef = useRef<'keyboard' | 'pointer'>('keyboard');\n const expandedKeysFromProps = useMemo(\n () => new Set(collectExpandedKeys(items)),\n [items],\n );\n const [expandedKeyOverrides, setExpandedKeyOverrides] = useState<\n Map<string, boolean>\n >(() => new Map());\n const [focusedId, setFocusedId] = useState<string | null>(null);\n const [hasFocusWithin, setHasFocusWithin] = useState(false);\n const [focusVisibleId, setFocusVisibleId] = useState<string | null>(null);\n\n const visibleItems = useMemo(\n () =>\n collectVisibleItems(items, expandedKeyOverrides, expandedKeysFromProps),\n [expandedKeyOverrides, expandedKeysFromProps, items],\n );\n const focusableItems = useMemo(\n () => visibleItems.filter(item => !item.isDisabled),\n [visibleItems],\n );\n const activeFocusedId =\n focusedId != null && focusableItems.some(item => item.id === focusedId)\n ? focusedId\n : (focusableItems[0]?.id ?? null);\n\n const handleToggle = useCallback(\n (id: string) => {\n setExpandedKeyOverrides(previous => {\n const next = new Map(previous);\n const defaultIsExpanded = expandedKeysFromProps.has(id);\n const isExpanded = previous.has(id)\n ? (previous.get(id) ?? false)\n : defaultIsExpanded;\n const nextIsExpanded = !isExpanded;\n if (nextIsExpanded === defaultIsExpanded) {\n next.delete(id);\n } else {\n next.set(id, nextIsExpanded);\n }\n return next;\n });\n },\n [expandedKeysFromProps],\n );\n\n const focusItem = useCallback((id: string) => {\n setFocusedId(id);\n itemElementsRef.current.get(id)?.focus();\n }, []);\n\n const handleItemFocus = useCallback((id: string, isFocusVisible = false) => {\n setFocusedId(id);\n setFocusVisibleId(\n isFocusVisible || inputModalityRef.current === 'keyboard' ? id : null,\n );\n }, []);\n\n const handleFocusCapture = useCallback(() => {\n setHasFocusWithin(true);\n }, []);\n\n const handleBlurCapture = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const nextFocusedElement = event.relatedTarget;\n if (\n nextFocusedElement instanceof Node &&\n event.currentTarget.contains(nextFocusedElement)\n ) {\n return;\n }\n\n setHasFocusWithin(false);\n setFocusVisibleId(null);\n }, []);\n\n const handleKeyDownCapture = useCallback(() => {\n inputModalityRef.current = 'keyboard';\n }, []);\n\n const handlePointerDownCapture = useCallback(() => {\n inputModalityRef.current = 'pointer';\n }, []);\n\n const handleItemKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>, id: string) => {\n const currentIndex = focusableItems.findIndex(item => item.id === id);\n if (currentIndex === -1) {\n return;\n }\n\n const currentItem = focusableItems[currentIndex];\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n const nextIndex = currentIndex + 1;\n if (nextIndex < focusableItems.length) {\n focusItem(focusableItems[nextIndex].id);\n }\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n const previousIndex = currentIndex - 1;\n if (previousIndex >= 0) {\n focusItem(focusableItems[previousIndex].id);\n }\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n if (focusableItems.length > 0) {\n focusItem(focusableItems[0].id);\n }\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n if (focusableItems.length > 0) {\n focusItem(focusableItems[focusableItems.length - 1].id);\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n if (!currentItem.hasChildren) {\n return;\n }\n event.preventDefault();\n if (!currentItem.isExpanded) {\n handleToggle(currentItem.id);\n return;\n }\n\n const firstChild = focusableItems.find(\n item => item.parentId === currentItem.id,\n );\n if (firstChild != null) {\n focusItem(firstChild.id);\n }\n return;\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n if (currentItem.hasChildren && currentItem.isExpanded) {\n handleToggle(currentItem.id);\n return;\n }\n if (currentItem.parentId != null) {\n focusItem(currentItem.parentId);\n }\n return;\n }\n\n if (\n event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey\n ) {\n const query = event.key.toLocaleLowerCase();\n const orderedItems = [\n ...focusableItems.slice(currentIndex + 1),\n ...focusableItems.slice(0, currentIndex + 1),\n ];\n const matchingItem = orderedItems.find(item =>\n item.label.toLocaleLowerCase().startsWith(query),\n );\n if (matchingItem != null) {\n event.preventDefault();\n focusItem(matchingItem.id);\n }\n }\n },\n [focusItem, focusableItems, handleToggle],\n );\n\n const renderItems = useCallback(\n (\n treeItems: TreeViewItemData[],\n nestedLevel: number,\n ancestorsIsLast: ReadonlyArray<boolean>,\n ): ReactNode =>\n treeItems.map((item, index) => {\n const isLast = index === treeItems.length - 1;\n const hasChildren = item.children != null && item.children.length > 0;\n const isExpanded = expandedKeyOverrides.has(item.id)\n ? (expandedKeyOverrides.get(item.id) ?? false)\n : expandedKeysFromProps.has(item.id);\n const childAncestorsIsLast = hasChildren\n ? [...ancestorsIsLast, isLast]\n : ancestorsIsLast;\n const renderedChildren =\n isExpanded && hasChildren\n ? renderItems(\n item.children ?? [],\n nestedLevel + 1,\n childAncestorsIsLast,\n )\n : undefined;\n\n return (\n <TreeViewItem\n ancestorsIsLast={ancestorsIsLast}\n ariaLabel={item.ariaLabel}\n density={density}\n description={item.description}\n endContent={item.endContent}\n hasChildren={hasChildren}\n href={item.href}\n id={item.id}\n isDisabled={item.isDisabled}\n isExpanded={isExpanded}\n isFocused={hasFocusWithin && focusVisibleId === item.id}\n isSelected={item.isSelected}\n key={item.id}\n label={item.label}\n nestedLevel={nestedLevel}\n onClick={item.onClick}\n onFocusItem={handleItemFocus}\n onItemKeyDown={handleItemKeyDown}\n onToggle={handleToggle}\n ref={(element: HTMLLIElement | null) => {\n if (element == null) {\n itemElementsRef.current.delete(item.id);\n } else {\n itemElementsRef.current.set(item.id, element);\n }\n }}\n renderedChildren={renderedChildren}\n startContent={item.startContent}\n tabIndex={activeFocusedId === item.id ? 0 : -1}\n target={item.target}\n />\n );\n }),\n [\n activeFocusedId,\n density,\n expandedKeyOverrides,\n expandedKeysFromProps,\n focusVisibleId,\n hasFocusWithin,\n handleItemFocus,\n handleItemKeyDown,\n handleToggle,\n ],\n );\n\n return (\n <div\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n onBlurCapture={handleBlurCapture}\n onFocusCapture={handleFocusCapture}\n onKeyDownCapture={handleKeyDownCapture}\n onPointerDownCapture={handlePointerDownCapture}\n ref={ref}\n style={style}>\n {!isReactNode(header) ? null : (\n <div className={styles.header} id={headerId}>\n {header}\n </div>\n )}\n <ul\n aria-labelledby={!isReactNode(header) ? undefined : headerId}\n className={styles.list}\n role=\"tree\">\n {renderItems(items, 0, [])}\n </ul>\n </div>\n );\n}\n\nTreeView.displayName = 'TreeView';\n"]}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkEZFQCREN_cjs = require('./chunk-EZFQCREN.cjs');
4
- var chunkZPJW3PP7_cjs = require('./chunk-ZPJW3PP7.cjs');
5
- var chunk5XMWGK3O_cjs = require('./chunk-5XMWGK3O.cjs');
6
- var chunk3Z5PF75J_cjs = require('./chunk-3Z5PF75J.cjs');
4
+ var chunkLTHPJRFK_cjs = require('./chunk-LTHPJRFK.cjs');
5
+ var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
6
+ var chunkCKDB7QNT_cjs = require('./chunk-CKDB7QNT.cjs');
7
7
  var react = require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
@@ -54,14 +54,14 @@ function AlertDialog({
54
54
  style,
55
55
  width,
56
56
  children: /* @__PURE__ */ jsxRuntime.jsx(
57
- chunkZPJW3PP7_cjs.Layout,
57
+ chunkLTHPJRFK_cjs.Layout,
58
58
  {
59
- content: /* @__PURE__ */ jsxRuntime.jsx(chunkZPJW3PP7_cjs.LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk3Z5PF75J_cjs.Text, { as: "p", color: "secondary", children: description }) }),
59
+ content: /* @__PURE__ */ jsxRuntime.jsx(chunkLTHPJRFK_cjs.LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkCKDB7QNT_cjs.Text, { as: "p", color: "secondary", children: description }) }),
60
60
  footer: /* @__PURE__ */ jsxRuntime.jsx(
61
- chunkZPJW3PP7_cjs.LayoutFooter,
61
+ chunkLTHPJRFK_cjs.LayoutFooter,
62
62
  {
63
63
  primaryButton: /* @__PURE__ */ jsxRuntime.jsx(
64
- chunk5XMWGK3O_cjs.Button,
64
+ chunkWOVSJHY6_cjs.Button,
65
65
  {
66
66
  isLoading: isActionLoading,
67
67
  label: actionLabel,
@@ -70,7 +70,7 @@ function AlertDialog({
70
70
  }
71
71
  ),
72
72
  secondaryButton: /* @__PURE__ */ jsxRuntime.jsx(
73
- chunk5XMWGK3O_cjs.Button,
73
+ chunkWOVSJHY6_cjs.Button,
74
74
  {
75
75
  label: cancelLabel,
76
76
  onClick: () => onOpenChange(false),
@@ -80,7 +80,7 @@ function AlertDialog({
80
80
  }
81
81
  ),
82
82
  hasDividers: true,
83
- header: /* @__PURE__ */ jsxRuntime.jsx(chunkZPJW3PP7_cjs.LayoutHeader, { title })
83
+ header: /* @__PURE__ */ jsxRuntime.jsx(chunkLTHPJRFK_cjs.LayoutHeader, { title })
84
84
  }
85
85
  )
86
86
  }
@@ -104,5 +104,5 @@ function useAlertDialog() {
104
104
 
105
105
  exports.AlertDialog = AlertDialog;
106
106
  exports.useAlertDialog = useAlertDialog;
107
- //# sourceMappingURL=chunk-6DAZ2ZOW.cjs.map
108
- //# sourceMappingURL=chunk-6DAZ2ZOW.cjs.map
107
+ //# sourceMappingURL=chunk-CWZCBYVZ.cjs.map
108
+ //# sourceMappingURL=chunk-CWZCBYVZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useRef","useEffect","useCallback","jsx","Dialog","Layout","LayoutContent","Text","LayoutFooter","Button","LayoutHeader","useState"],"mappings":";;;;;;;;;AAqFO,SAAS,WAAA,CAAY;AAAA,EAC1B,WAAA;AAAA,EACA,aAAA,GAAgB,aAAA;AAAA,EAChB,WAAA,GAAc,QAAA;AAAA,EACd,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,eAAA,GAAkB,KAAA;AAAA,EAClB,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA,GAAQ;AACV,CAAA,EAA+C;AAO7C,EAAA,MAAM,cAAA,GAAiBA,aAAO,KAAK,CAAA;AAEnC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,eAAA,EAAiB;AACpB,MAAA,cAAA,CAAe,OAAA,GAAU,KAAA;AAAA,IAC3B;AAAA,EACF,CAAA,EAAG,CAAC,eAAe,CAAC,CAAA;AAEpB,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,cAAA,CAAe,OAAA,GAAU,KAAA;AAAA,IAC3B;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,MAAM,YAAA,GAAeC,kBAAY,MAAM;AACrC,IAAA,IAAI,eAAe,OAAA,EAAS;AAC1B,MAAA;AAAA,IACF;AACA,IAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AACzB,IAAA,QAAA,EAAS;AAAA,EACX,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,uBACEC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,eAAA,EAAiB,KAAA;AAAA,MACjB,MAAA;AAAA,MACA,YAAA;AAAA,MACA,GAAA;AAAA,MACA,IAAA,EAAK,aAAA;AAAA,MACL,KAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,kBAAAD,cAAA;AAAA,QAACE,wBAAA;AAAA,QAAA;AAAA,UACC,OAAA,kBACEF,cAAA,CAACG,+BAAA,EAAA,EACC,QAAA,kBAAAH,cAAA,CAACI,sBAAA,EAAA,EAAK,IAAG,GAAA,EAAI,KAAA,EAAM,WAAA,EAChB,QAAA,EAAA,WAAA,EACH,CAAA,EACF,CAAA;AAAA,UAEF,MAAA,kBACEJ,cAAA;AAAA,YAACK,8BAAA;AAAA,YAAA;AAAA,cACC,aAAA,kBACEL,cAAA;AAAA,gBAACM,wBAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,eAAA;AAAA,kBACX,KAAA,EAAO,WAAA;AAAA,kBACP,OAAA,EAAS,YAAA;AAAA,kBACT,OAAA,EAAS;AAAA;AAAA,eACX;AAAA,cAEF,eAAA,kBACEN,cAAA;AAAA,gBAACM,wBAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,WAAA;AAAA,kBACP,OAAA,EAAS,MAAM,YAAA,CAAa,KAAK,CAAA;AAAA,kBACjC,OAAA,EAAQ;AAAA;AAAA;AACV;AAAA,WAEJ;AAAA,UAEF,WAAA,EAAW,IAAA;AAAA,UACX,MAAA,kBAAQN,cAAA,CAACO,8BAAA,EAAA,EAAa,KAAA,EAAc;AAAA;AAAA;AACtC;AAAA,GACF;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AChJnB,SAAS,cAAA,GAAuC;AACrD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,eAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAoC,IAAI,CAAA;AAEtE,EAAA,MAAM,IAAA,GAAOT,iBAAAA,CAAY,CAAC,WAAA,KAAoC;AAC5D,IAAA,UAAA,CAAW,WAAW,CAAA;AACtB,IAAA,SAAA,CAAU,IAAI,CAAA;AAAA,EAChB,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,IAAA,GAAOA,kBAAY,MAAM;AAC7B,IAAA,SAAA,CAAU,KAAK,CAAA;AACf,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,OAAA,GACJ,OAAA,IAAW,IAAA,GAAO,IAAA,mBAChBC,cAAAA,CAAC,WAAA,EAAA,EAAa,GAAG,OAAA,EAAS,MAAA,EAAgB,YAAA,EAAc,SAAA,EAAW,CAAA;AAGvE,EAAA,OAAO,EAAC,OAAA,EAAS,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAI;AACrC","file":"chunk-6DAZ2ZOW.cjs","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Dialog} from 'components/Dialog';\nimport {\n Layout,\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n} from 'components/Layout';\nimport {Text} from 'components/Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {\n AlertDialog,\n type AlertDialogProps,\n} from 'components/AlertDialog/AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
1
+ {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useRef","useEffect","useCallback","jsx","Dialog","Layout","LayoutContent","Text","LayoutFooter","Button","LayoutHeader","useState"],"mappings":"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","file":"chunk-CWZCBYVZ.cjs","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Dialog} from 'components/Dialog';\nimport {\n Layout,\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n} from 'components/Layout';\nimport {Text} from 'components/Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {\n AlertDialog,\n type AlertDialogProps,\n} from 'components/AlertDialog/AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkFFF57VHO_cjs = require('./chunk-FFF57VHO.cjs');
4
- var chunkJSAYTQTJ_cjs = require('./chunk-JSAYTQTJ.cjs');
3
+ var chunkRX2FXCIH_cjs = require('./chunk-RX2FXCIH.cjs');
4
+ var chunkGJZAGTPV_cjs = require('./chunk-GJZAGTPV.cjs');
5
5
  var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
6
6
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
7
7
  var react = require('react');
@@ -436,9 +436,9 @@ function Slider({
436
436
  isDisabled: isDisabled || void 0
437
437
  });
438
438
  const textDisplay = valueDisplay === "text" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.textValue, children: isRange ? `${displayValue(values[0])} - ${displayValue(values[1])}` : displayValue(values[0]) }) : null;
439
- const necessity = chunkFFF57VHO_cjs.getNecessity(isOptional, isRequired);
439
+ const necessity = chunkRX2FXCIH_cjs.getNecessity(isOptional, isRequired);
440
440
  return /* @__PURE__ */ jsxRuntime.jsx(
441
- chunkFFF57VHO_cjs.Field,
441
+ chunkRX2FXCIH_cjs.Field,
442
442
  {
443
443
  className: chunkSPDVNY2Z_cjs.cx(className, classes.field),
444
444
  "data-testid": dataTestId,
@@ -533,7 +533,7 @@ function Slider({
533
533
  return thumb;
534
534
  }
535
535
  return /* @__PURE__ */ jsxRuntime.jsx(
536
- chunkJSAYTQTJ_cjs.Tooltip,
536
+ chunkGJZAGTPV_cjs.Tooltip,
537
537
  {
538
538
  content: displayValue(currentValue),
539
539
  delay: 0,
@@ -555,5 +555,5 @@ function Slider({
555
555
  Slider.displayName = "Slider";
556
556
 
557
557
  exports.Slider = Slider;
558
- //# sourceMappingURL=chunk-N77K3NQY.cjs.map
559
- //# sourceMappingURL=chunk-N77K3NQY.cjs.map
558
+ //# sourceMappingURL=chunk-DTNIUZ3C.cjs.map
559
+ //# sourceMappingURL=chunk-DTNIUZ3C.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":["sva","useId","useRef","useMemo","useEffect","useCallback","jsx","getNecessity","Field","cx","jsxs","Tooltip"],"mappings":"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","file":"chunk-N77K3NQY.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst THUMB_SIZE = 20;\nconst TRACK_SIZE = 4;\n\nexport const sliderRecipe = sva({\n slots: [\n 'field',\n 'filledTrack',\n 'mark',\n 'markLabel',\n 'marksContainer',\n 'row',\n 'textValue',\n 'thumb',\n 'track',\n 'trackContainer',\n ],\n base: {\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trackContainer: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n isolation: 'isolate',\n touchAction: 'none',\n userSelect: 'none',\n },\n track: {\n position: 'absolute',\n bg: 'track',\n borderRadius: 'full',\n },\n filledTrack: {\n position: 'absolute',\n bg: 'primary',\n borderRadius: 'full',\n },\n thumb: {\n position: 'absolute',\n zIndex: 1,\n w: `${THUMB_SIZE}px`,\n h: `${THUMB_SIZE}px`,\n borderRadius: 'full',\n bg: 'primary',\n cursor: 'grab',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, box-shadow',\n transitionTimingFunction: 'default',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'primary.emphasized',\n },\n },\n },\n marksContainer: {\n position: 'absolute',\n },\n mark: {\n position: 'absolute',\n bg: 'border.emphasized',\n borderRadius: 'full',\n },\n markLabel: {\n position: 'absolute',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'xs',\n whiteSpace: 'nowrap',\n },\n textValue: {\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n trackContainer: {\n w: 'full',\n h: `${THUMB_SIZE}px`,\n flexGrow: 1,\n cursor: 'pointer',\n },\n track: {\n insetInline: 0,\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n filledTrack: {\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n thumb: {\n top: '50%',\n },\n marksContainer: {\n insetInline: 0,\n top: '50%',\n },\n mark: {\n w: '0.5',\n h: '2',\n transform: 'translate(-50%, -50%)',\n },\n markLabel: {\n top: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateX(-50%)',\n },\n },\n vertical: {\n field: {\n alignItems: 'center',\n w: 'fit-content',\n },\n row: {\n flexDirection: 'column',\n alignItems: 'center',\n },\n trackContainer: {\n w: `${THUMB_SIZE}px`,\n h: '40',\n flexDirection: 'column',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n track: {\n insetBlock: 0,\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n filledTrack: {\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n thumb: {\n left: '50%',\n transform: 'translate(-50%, 50%)',\n },\n marksContainer: {\n insetBlock: 0,\n left: '50%',\n },\n mark: {\n w: '2',\n h: '0.5',\n transform: 'translate(-50%, 50%)',\n },\n markLabel: {\n left: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateY(50%)',\n },\n },\n },\n isDisabled: {\n true: {\n trackContainer: {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n thumb: {\n bg: 'track.disabled',\n cursor: 'not-allowed',\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type SliderVariants = RecipeVariantProps<typeof sliderRecipe>;\n","import {\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {sliderRecipe} from 'components/Slider/Slider.recipe';\nimport {Tooltip} from 'components/Tooltip';\nimport {cx} from 'internal/cx';\n\nexport type SliderOrientation = 'horizontal' | 'vertical';\nexport type SliderValueDisplay = 'tooltip' | 'text' | 'none';\n\nexport interface SliderMark {\n /**\n * Text label rendered beside the mark.\n */\n label?: string;\n /**\n * Numeric position of the mark along the track.\n */\n value: number;\n}\n\nexport type SliderBaseProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: string;\n /**\n * Custom value formatter used for visible value text, tooltip content, and\n * `aria-valuetext`.\n */\n formatValue?: (value: number) => string;\n /**\n * Whether the slider 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 * Field label.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: string;\n /**\n * Tick marks rendered along the track.\n */\n marks?: SliderMark[];\n /**\n * Maximum value.\n * @default 100\n */\n max?: number;\n /**\n * Minimum value.\n * @default 0\n */\n min?: number;\n /**\n * Slider orientation.\n * @default 'horizontal'\n */\n orientation?: SliderOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the slider.\n */\n status?: InputStatus;\n /**\n * Step increment.\n * @default 1\n */\n step?: number;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * How to display the current value.\n * @default 'tooltip'\n */\n valueDisplay?: SliderValueDisplay;\n} & FieldNecessity;\n\nexport type SliderSingleProps = SliderBaseProps & {\n /**\n * Called when the value changes during pointer or keyboard interaction.\n */\n onChange: (value: number) => void;\n /**\n * Called when pointer or keyboard interaction commits a value.\n */\n onChangeEnd?: (value: number) => void;\n /**\n * Current value.\n */\n value: number;\n};\n\nexport type SliderRangeProps = SliderBaseProps & {\n /**\n * Minimum number of steps between range thumbs.\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Called when the range changes during pointer or keyboard interaction.\n */\n onChange: (value: [number, number]) => void;\n /**\n * Called when pointer or keyboard interaction commits a range.\n */\n onChangeEnd?: (value: [number, number]) => void;\n /**\n * Current range.\n */\n value: [number, number];\n};\n\nexport type SliderProps = SliderRangeProps | SliderSingleProps;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction snapToStep(value: number, min: number, step: number): number {\n if (step <= 0) {\n return value;\n }\n return min + Math.round((value - min) / step) * step;\n}\n\nfunction getPercent(value: number, min: number, max: number): number {\n if (max === min) {\n return 0;\n }\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Slider control for selecting a single value or a range.\n */\nexport function Slider({\n className,\n 'data-testid': dataTestId,\n description,\n formatValue,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n marks,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n ref,\n status,\n step = 1,\n style,\n value,\n valueDisplay = 'tooltip',\n ...props\n}: SliderProps): React.JSX.Element {\n const inputId = useId();\n const trackRef = useRef<HTMLDivElement>(null);\n const pendingValuesRef = useRef<number[] | null>(null);\n const draggingThumbRef = useRef<number | null>(null);\n const isRange = Array.isArray(value);\n const isHorizontal = orientation === 'horizontal';\n const values = useMemo(() => (isRange ? value : [value]), [isRange, value]);\n const onChange = props.onChange;\n const onChangeEnd = 'onChangeEnd' in props ? props.onChangeEnd : undefined;\n const minStepsBetweenThumbs =\n isRange && 'minStepsBetweenThumbs' in props\n ? (props.minStepsBetweenThumbs ?? 0)\n : 0;\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID =\n status?.message != null ? `${inputId}-status` : undefined;\n const ariaDescribedBy =\n [descriptionID, statusMessageID].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n pendingValuesRef.current = values;\n }, [values]);\n\n const displayValue = useCallback(\n (displayedValue: number): string =>\n formatValue == null\n ? String(displayedValue)\n : formatValue(displayedValue),\n [formatValue],\n );\n\n const getValueFromPosition = useCallback(\n (clientX: number, clientY: number): number => {\n const track = trackRef.current;\n if (track == null) {\n return min;\n }\n const rect = track.getBoundingClientRect();\n const rawPercent = isHorizontal\n ? (clientX - rect.left) / rect.width\n : 1 - (clientY - rect.top) / rect.height;\n const percent = clamp(rawPercent, 0, 1);\n const rawValue = min + percent * (max - min);\n return clamp(snapToStep(rawValue, min, step), min, max);\n },\n [isHorizontal, max, min, step],\n );\n\n const getClosestThumb = useCallback(\n (newValue: number): number => {\n if (!isRange) {\n return 0;\n }\n const [lower, upper] = values;\n return Math.abs(newValue - lower) <= Math.abs(newValue - upper) ? 0 : 1;\n },\n [isRange, values],\n );\n\n const getNextValues = useCallback(\n (thumbIndex: number, newValue: number): number[] => {\n const snapped = clamp(snapToStep(newValue, min, step), min, max);\n if (!isRange) {\n return [snapped];\n }\n\n const nextValues = [...values] as [number, number];\n nextValues[thumbIndex] = snapped;\n const minGap = minStepsBetweenThumbs * step;\n if (thumbIndex === 0) {\n nextValues[0] = Math.min(nextValues[0], nextValues[1] - minGap);\n } else {\n nextValues[1] = Math.max(nextValues[1], nextValues[0] + minGap);\n }\n nextValues[0] = clamp(nextValues[0], min, max);\n nextValues[1] = clamp(nextValues[1], min, max);\n return nextValues;\n },\n [isRange, max, min, minStepsBetweenThumbs, step, values],\n );\n\n const emitChange = useCallback(\n (nextValues: number[]) => {\n pendingValuesRef.current = nextValues;\n if (isRange) {\n (onChange as SliderRangeProps['onChange'])(\n nextValues as [number, number],\n );\n } else {\n (onChange as SliderSingleProps['onChange'])(nextValues[0]);\n }\n },\n [isRange, onChange],\n );\n\n const emitChangeEnd = useCallback(\n (nextValues: number[]) => {\n if (isRange) {\n (onChangeEnd as SliderRangeProps['onChangeEnd'])?.(\n nextValues as [number, number],\n );\n } else {\n (onChangeEnd as SliderSingleProps['onChangeEnd'])?.(nextValues[0]);\n }\n },\n [isRange, onChangeEnd],\n );\n\n const updateValue = useCallback(\n (thumbIndex: number, newValue: number): number[] | null => {\n if (isDisabled) {\n return null;\n }\n const nextValues = getNextValues(thumbIndex, newValue);\n emitChange(nextValues);\n return nextValues;\n },\n [emitChange, getNextValues, isDisabled],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n const markElement = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-mark-value]',\n );\n const newValue =\n markElement == null\n ? getValueFromPosition(event.clientX, event.clientY)\n : Number(markElement.dataset.markValue);\n const thumbIndex = getClosestThumb(newValue);\n draggingThumbRef.current = thumbIndex;\n updateValue(thumbIndex, newValue);\n\n if (typeof event.currentTarget.setPointerCapture === 'function') {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n },\n [getClosestThumb, getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (draggingThumbRef.current == null || isDisabled) {\n return;\n }\n updateValue(\n draggingThumbRef.current,\n getValueFromPosition(event.clientX, event.clientY),\n );\n },\n [getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerUp = useCallback(() => {\n if (draggingThumbRef.current == null) {\n return;\n }\n draggingThumbRef.current = null;\n emitChangeEnd(pendingValuesRef.current ?? values);\n }, [emitChangeEnd, values]);\n\n const handleKeyDown = useCallback(\n (thumbIndex: number, event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const currentValue = values[thumbIndex];\n let nextValue: number;\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowLeft':\n nextValue = currentValue - step;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n nextValue = currentValue + step;\n break;\n case 'End':\n nextValue = max;\n break;\n case 'Home':\n nextValue = min;\n break;\n case 'PageDown':\n nextValue = currentValue - step * 10;\n break;\n case 'PageUp':\n nextValue = currentValue + step * 10;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextValues = getNextValues(thumbIndex, nextValue);\n emitChange(nextValues);\n emitChangeEnd(nextValues);\n },\n [\n emitChange,\n emitChangeEnd,\n getNextValues,\n isDisabled,\n max,\n min,\n step,\n values,\n ],\n );\n\n const filledStyle: CSSProperties = (() => {\n if (isRange) {\n const [lower, upper] = values;\n const lowerPercent = getPercent(lower, min, max);\n const upperPercent = getPercent(upper, min, max);\n return isHorizontal\n ? {left: `${lowerPercent}%`, width: `${upperPercent - lowerPercent}%`}\n : {\n bottom: `${lowerPercent}%`,\n height: `${upperPercent - lowerPercent}%`,\n };\n }\n const percent = getPercent(values[0], min, max);\n return isHorizontal\n ? {left: '0%', width: `${percent}%`}\n : {bottom: '0%', height: `${percent}%`};\n })();\n\n const classes = sliderRecipe({\n orientation,\n isDisabled: isDisabled || undefined,\n });\n\n const textDisplay =\n valueDisplay === 'text' ? (\n <span className={classes.textValue}>\n {isRange\n ? `${displayValue(values[0])} - ${displayValue(values[1])}`\n : displayValue(values[0])}\n </span>\n ) : null;\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={cx(className, classes.field)}\n data-testid={dataTestId}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div className={classes.row}>\n <div\n aria-label={isRange ? label : undefined}\n className={classes.trackContainer}\n data-testid=\"slider-track-container\"\n onPointerCancel={handlePointerUp}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n ref={trackRef}\n role={isRange ? 'group' : undefined}>\n <div aria-hidden=\"true\" className={classes.track} />\n <div\n aria-hidden=\"true\"\n className={classes.filledTrack}\n style={filledStyle}\n />\n {marks == null ? null : (\n <div aria-hidden=\"true\" className={classes.marksContainer}>\n {marks.map(mark => {\n const percent = getPercent(mark.value, min, max);\n const markStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`};\n return (\n <div key={mark.value}>\n <div\n className={classes.mark}\n data-mark-value={mark.value}\n data-testid=\"slider-mark\"\n style={markStyle}\n />\n {mark.label == null ? null : (\n <span\n className={classes.markLabel}\n data-mark-value={mark.value}\n data-testid=\"slider-mark-label\"\n style={markStyle}>\n {mark.label}\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n {values.map((currentValue, thumbIndex) => {\n const percent = getPercent(currentValue, min, max);\n const thumbStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`, left: '50%'};\n const thumbLabel = isRange\n ? thumbIndex === 0\n ? `${label}, minimum value`\n : `${label}, maximum value`\n : label;\n const thumbKey = isRange\n ? thumbIndex === 0\n ? 'minimum'\n : 'maximum'\n : 'value';\n const thumb = (\n <div\n aria-describedby={ariaDescribedBy}\n aria-disabled={isDisabled || undefined}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={thumbLabel}\n aria-orientation={orientation}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n aria-valuetext={\n formatValue == null ? undefined : formatValue(currentValue)\n }\n className={classes.thumb}\n id={!isRange || thumbIndex === 0 ? inputId : undefined}\n key={thumbKey}\n onKeyDown={event => handleKeyDown(thumbIndex, event)}\n role=\"slider\"\n style={thumbStyle}\n tabIndex={isDisabled ? -1 : 0}\n />\n );\n\n if (valueDisplay !== 'tooltip') {\n return thumb;\n }\n\n return (\n <Tooltip\n content={displayValue(currentValue)}\n delay={0}\n focusTrigger=\"always\"\n key={thumbKey}\n placement={isHorizontal ? 'above' : 'start'}>\n {thumb}\n </Tooltip>\n );\n })}\n </div>\n {textDisplay}\n </div>\n </Field>\n );\n}\n\nSlider.displayName = 'Slider';\n"]}
1
+ {"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":["sva","useId","useRef","useMemo","useEffect","useCallback","jsx","getNecessity","Field","cx","jsxs","Tooltip"],"mappings":"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","file":"chunk-DTNIUZ3C.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst THUMB_SIZE = 20;\nconst TRACK_SIZE = 4;\n\nexport const sliderRecipe = sva({\n slots: [\n 'field',\n 'filledTrack',\n 'mark',\n 'markLabel',\n 'marksContainer',\n 'row',\n 'textValue',\n 'thumb',\n 'track',\n 'trackContainer',\n ],\n base: {\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trackContainer: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n isolation: 'isolate',\n touchAction: 'none',\n userSelect: 'none',\n },\n track: {\n position: 'absolute',\n bg: 'track',\n borderRadius: 'full',\n },\n filledTrack: {\n position: 'absolute',\n bg: 'primary',\n borderRadius: 'full',\n },\n thumb: {\n position: 'absolute',\n zIndex: 1,\n w: `${THUMB_SIZE}px`,\n h: `${THUMB_SIZE}px`,\n borderRadius: 'full',\n bg: 'primary',\n cursor: 'grab',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, box-shadow',\n transitionTimingFunction: 'default',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'primary.emphasized',\n },\n },\n },\n marksContainer: {\n position: 'absolute',\n },\n mark: {\n position: 'absolute',\n bg: 'border.emphasized',\n borderRadius: 'full',\n },\n markLabel: {\n position: 'absolute',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'xs',\n whiteSpace: 'nowrap',\n },\n textValue: {\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n trackContainer: {\n w: 'full',\n h: `${THUMB_SIZE}px`,\n flexGrow: 1,\n cursor: 'pointer',\n },\n track: {\n insetInline: 0,\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n filledTrack: {\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n thumb: {\n top: '50%',\n },\n marksContainer: {\n insetInline: 0,\n top: '50%',\n },\n mark: {\n w: '0.5',\n h: '2',\n transform: 'translate(-50%, -50%)',\n },\n markLabel: {\n top: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateX(-50%)',\n },\n },\n vertical: {\n field: {\n alignItems: 'center',\n w: 'fit-content',\n },\n row: {\n flexDirection: 'column',\n alignItems: 'center',\n },\n trackContainer: {\n w: `${THUMB_SIZE}px`,\n h: '40',\n flexDirection: 'column',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n track: {\n insetBlock: 0,\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n filledTrack: {\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n thumb: {\n left: '50%',\n transform: 'translate(-50%, 50%)',\n },\n marksContainer: {\n insetBlock: 0,\n left: '50%',\n },\n mark: {\n w: '2',\n h: '0.5',\n transform: 'translate(-50%, 50%)',\n },\n markLabel: {\n left: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateY(50%)',\n },\n },\n },\n isDisabled: {\n true: {\n trackContainer: {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n thumb: {\n bg: 'track.disabled',\n cursor: 'not-allowed',\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type SliderVariants = RecipeVariantProps<typeof sliderRecipe>;\n","import {\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {sliderRecipe} from 'components/Slider/Slider.recipe';\nimport {Tooltip} from 'components/Tooltip';\nimport {cx} from 'internal/cx';\n\nexport type SliderOrientation = 'horizontal' | 'vertical';\nexport type SliderValueDisplay = 'tooltip' | 'text' | 'none';\n\nexport interface SliderMark {\n /**\n * Text label rendered beside the mark.\n */\n label?: string;\n /**\n * Numeric position of the mark along the track.\n */\n value: number;\n}\n\nexport type SliderBaseProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: string;\n /**\n * Custom value formatter used for visible value text, tooltip content, and\n * `aria-valuetext`.\n */\n formatValue?: (value: number) => string;\n /**\n * Whether the slider 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 * Field label.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: string;\n /**\n * Tick marks rendered along the track.\n */\n marks?: SliderMark[];\n /**\n * Maximum value.\n * @default 100\n */\n max?: number;\n /**\n * Minimum value.\n * @default 0\n */\n min?: number;\n /**\n * Slider orientation.\n * @default 'horizontal'\n */\n orientation?: SliderOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the slider.\n */\n status?: InputStatus;\n /**\n * Step increment.\n * @default 1\n */\n step?: number;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * How to display the current value.\n * @default 'tooltip'\n */\n valueDisplay?: SliderValueDisplay;\n} & FieldNecessity;\n\nexport type SliderSingleProps = SliderBaseProps & {\n /**\n * Called when the value changes during pointer or keyboard interaction.\n */\n onChange: (value: number) => void;\n /**\n * Called when pointer or keyboard interaction commits a value.\n */\n onChangeEnd?: (value: number) => void;\n /**\n * Current value.\n */\n value: number;\n};\n\nexport type SliderRangeProps = SliderBaseProps & {\n /**\n * Minimum number of steps between range thumbs.\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Called when the range changes during pointer or keyboard interaction.\n */\n onChange: (value: [number, number]) => void;\n /**\n * Called when pointer or keyboard interaction commits a range.\n */\n onChangeEnd?: (value: [number, number]) => void;\n /**\n * Current range.\n */\n value: [number, number];\n};\n\nexport type SliderProps = SliderRangeProps | SliderSingleProps;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction snapToStep(value: number, min: number, step: number): number {\n if (step <= 0) {\n return value;\n }\n return min + Math.round((value - min) / step) * step;\n}\n\nfunction getPercent(value: number, min: number, max: number): number {\n if (max === min) {\n return 0;\n }\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Slider control for selecting a single value or a range.\n */\nexport function Slider({\n className,\n 'data-testid': dataTestId,\n description,\n formatValue,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n marks,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n ref,\n status,\n step = 1,\n style,\n value,\n valueDisplay = 'tooltip',\n ...props\n}: SliderProps): React.JSX.Element {\n const inputId = useId();\n const trackRef = useRef<HTMLDivElement>(null);\n const pendingValuesRef = useRef<number[] | null>(null);\n const draggingThumbRef = useRef<number | null>(null);\n const isRange = Array.isArray(value);\n const isHorizontal = orientation === 'horizontal';\n const values = useMemo(() => (isRange ? value : [value]), [isRange, value]);\n const onChange = props.onChange;\n const onChangeEnd = 'onChangeEnd' in props ? props.onChangeEnd : undefined;\n const minStepsBetweenThumbs =\n isRange && 'minStepsBetweenThumbs' in props\n ? (props.minStepsBetweenThumbs ?? 0)\n : 0;\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID =\n status?.message != null ? `${inputId}-status` : undefined;\n const ariaDescribedBy =\n [descriptionID, statusMessageID].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n pendingValuesRef.current = values;\n }, [values]);\n\n const displayValue = useCallback(\n (displayedValue: number): string =>\n formatValue == null\n ? String(displayedValue)\n : formatValue(displayedValue),\n [formatValue],\n );\n\n const getValueFromPosition = useCallback(\n (clientX: number, clientY: number): number => {\n const track = trackRef.current;\n if (track == null) {\n return min;\n }\n const rect = track.getBoundingClientRect();\n const rawPercent = isHorizontal\n ? (clientX - rect.left) / rect.width\n : 1 - (clientY - rect.top) / rect.height;\n const percent = clamp(rawPercent, 0, 1);\n const rawValue = min + percent * (max - min);\n return clamp(snapToStep(rawValue, min, step), min, max);\n },\n [isHorizontal, max, min, step],\n );\n\n const getClosestThumb = useCallback(\n (newValue: number): number => {\n if (!isRange) {\n return 0;\n }\n const [lower, upper] = values;\n return Math.abs(newValue - lower) <= Math.abs(newValue - upper) ? 0 : 1;\n },\n [isRange, values],\n );\n\n const getNextValues = useCallback(\n (thumbIndex: number, newValue: number): number[] => {\n const snapped = clamp(snapToStep(newValue, min, step), min, max);\n if (!isRange) {\n return [snapped];\n }\n\n const nextValues = [...values] as [number, number];\n nextValues[thumbIndex] = snapped;\n const minGap = minStepsBetweenThumbs * step;\n if (thumbIndex === 0) {\n nextValues[0] = Math.min(nextValues[0], nextValues[1] - minGap);\n } else {\n nextValues[1] = Math.max(nextValues[1], nextValues[0] + minGap);\n }\n nextValues[0] = clamp(nextValues[0], min, max);\n nextValues[1] = clamp(nextValues[1], min, max);\n return nextValues;\n },\n [isRange, max, min, minStepsBetweenThumbs, step, values],\n );\n\n const emitChange = useCallback(\n (nextValues: number[]) => {\n pendingValuesRef.current = nextValues;\n if (isRange) {\n (onChange as SliderRangeProps['onChange'])(\n nextValues as [number, number],\n );\n } else {\n (onChange as SliderSingleProps['onChange'])(nextValues[0]);\n }\n },\n [isRange, onChange],\n );\n\n const emitChangeEnd = useCallback(\n (nextValues: number[]) => {\n if (isRange) {\n (onChangeEnd as SliderRangeProps['onChangeEnd'])?.(\n nextValues as [number, number],\n );\n } else {\n (onChangeEnd as SliderSingleProps['onChangeEnd'])?.(nextValues[0]);\n }\n },\n [isRange, onChangeEnd],\n );\n\n const updateValue = useCallback(\n (thumbIndex: number, newValue: number): number[] | null => {\n if (isDisabled) {\n return null;\n }\n const nextValues = getNextValues(thumbIndex, newValue);\n emitChange(nextValues);\n return nextValues;\n },\n [emitChange, getNextValues, isDisabled],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n const markElement = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-mark-value]',\n );\n const newValue =\n markElement == null\n ? getValueFromPosition(event.clientX, event.clientY)\n : Number(markElement.dataset.markValue);\n const thumbIndex = getClosestThumb(newValue);\n draggingThumbRef.current = thumbIndex;\n updateValue(thumbIndex, newValue);\n\n if (typeof event.currentTarget.setPointerCapture === 'function') {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n },\n [getClosestThumb, getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (draggingThumbRef.current == null || isDisabled) {\n return;\n }\n updateValue(\n draggingThumbRef.current,\n getValueFromPosition(event.clientX, event.clientY),\n );\n },\n [getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerUp = useCallback(() => {\n if (draggingThumbRef.current == null) {\n return;\n }\n draggingThumbRef.current = null;\n emitChangeEnd(pendingValuesRef.current ?? values);\n }, [emitChangeEnd, values]);\n\n const handleKeyDown = useCallback(\n (thumbIndex: number, event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const currentValue = values[thumbIndex];\n let nextValue: number;\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowLeft':\n nextValue = currentValue - step;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n nextValue = currentValue + step;\n break;\n case 'End':\n nextValue = max;\n break;\n case 'Home':\n nextValue = min;\n break;\n case 'PageDown':\n nextValue = currentValue - step * 10;\n break;\n case 'PageUp':\n nextValue = currentValue + step * 10;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextValues = getNextValues(thumbIndex, nextValue);\n emitChange(nextValues);\n emitChangeEnd(nextValues);\n },\n [\n emitChange,\n emitChangeEnd,\n getNextValues,\n isDisabled,\n max,\n min,\n step,\n values,\n ],\n );\n\n const filledStyle: CSSProperties = (() => {\n if (isRange) {\n const [lower, upper] = values;\n const lowerPercent = getPercent(lower, min, max);\n const upperPercent = getPercent(upper, min, max);\n return isHorizontal\n ? {left: `${lowerPercent}%`, width: `${upperPercent - lowerPercent}%`}\n : {\n bottom: `${lowerPercent}%`,\n height: `${upperPercent - lowerPercent}%`,\n };\n }\n const percent = getPercent(values[0], min, max);\n return isHorizontal\n ? {left: '0%', width: `${percent}%`}\n : {bottom: '0%', height: `${percent}%`};\n })();\n\n const classes = sliderRecipe({\n orientation,\n isDisabled: isDisabled || undefined,\n });\n\n const textDisplay =\n valueDisplay === 'text' ? (\n <span className={classes.textValue}>\n {isRange\n ? `${displayValue(values[0])} - ${displayValue(values[1])}`\n : displayValue(values[0])}\n </span>\n ) : null;\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={cx(className, classes.field)}\n data-testid={dataTestId}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div className={classes.row}>\n <div\n aria-label={isRange ? label : undefined}\n className={classes.trackContainer}\n data-testid=\"slider-track-container\"\n onPointerCancel={handlePointerUp}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n ref={trackRef}\n role={isRange ? 'group' : undefined}>\n <div aria-hidden=\"true\" className={classes.track} />\n <div\n aria-hidden=\"true\"\n className={classes.filledTrack}\n style={filledStyle}\n />\n {marks == null ? null : (\n <div aria-hidden=\"true\" className={classes.marksContainer}>\n {marks.map(mark => {\n const percent = getPercent(mark.value, min, max);\n const markStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`};\n return (\n <div key={mark.value}>\n <div\n className={classes.mark}\n data-mark-value={mark.value}\n data-testid=\"slider-mark\"\n style={markStyle}\n />\n {mark.label == null ? null : (\n <span\n className={classes.markLabel}\n data-mark-value={mark.value}\n data-testid=\"slider-mark-label\"\n style={markStyle}>\n {mark.label}\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n {values.map((currentValue, thumbIndex) => {\n const percent = getPercent(currentValue, min, max);\n const thumbStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`, left: '50%'};\n const thumbLabel = isRange\n ? thumbIndex === 0\n ? `${label}, minimum value`\n : `${label}, maximum value`\n : label;\n const thumbKey = isRange\n ? thumbIndex === 0\n ? 'minimum'\n : 'maximum'\n : 'value';\n const thumb = (\n <div\n aria-describedby={ariaDescribedBy}\n aria-disabled={isDisabled || undefined}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={thumbLabel}\n aria-orientation={orientation}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n aria-valuetext={\n formatValue == null ? undefined : formatValue(currentValue)\n }\n className={classes.thumb}\n id={!isRange || thumbIndex === 0 ? inputId : undefined}\n key={thumbKey}\n onKeyDown={event => handleKeyDown(thumbIndex, event)}\n role=\"slider\"\n style={thumbStyle}\n tabIndex={isDisabled ? -1 : 0}\n />\n );\n\n if (valueDisplay !== 'tooltip') {\n return thumb;\n }\n\n return (\n <Tooltip\n content={displayValue(currentValue)}\n delay={0}\n focusTrigger=\"always\"\n key={thumbKey}\n placement={isHorizontal ? 'above' : 'start'}>\n {thumb}\n </Tooltip>\n );\n })}\n </div>\n {textDisplay}\n </div>\n </Field>\n );\n}\n\nSlider.displayName = 'Slider';\n"]}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk2GMDMZKI_cjs = require('./chunk-2GMDMZKI.cjs');
3
+ var chunkYQIDUJW2_cjs = require('./chunk-YQIDUJW2.cjs');
4
4
  var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
5
- var chunkFFF57VHO_cjs = require('./chunk-FFF57VHO.cjs');
5
+ var chunkRX2FXCIH_cjs = require('./chunk-RX2FXCIH.cjs');
6
6
  var chunkXPHXAZCE_cjs = require('./chunk-XPHXAZCE.cjs');
7
- var chunk5XMWGK3O_cjs = require('./chunk-5XMWGK3O.cjs');
8
- var chunkBSI4BQEX_cjs = require('./chunk-BSI4BQEX.cjs');
7
+ var chunkWOVSJHY6_cjs = require('./chunk-WOVSJHY6.cjs');
8
+ var chunkOCYZKZ24_cjs = require('./chunk-OCYZKZ24.cjs');
9
9
  var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
10
10
  var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
11
11
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
@@ -48,7 +48,7 @@ function TextInput({
48
48
  const descriptionID = chunkQAO6QMNQ_cjs.isReactNode(description) ? `${inputId}-description` : void 0;
49
49
  const statusMessageID = chunkXPHXAZCE_cjs.getStatusMessageID(inputId, status);
50
50
  const describedBy = chunkXPHXAZCE_cjs.getDescribedBy(descriptionID, statusMessageID);
51
- const inputGroup = chunk2GMDMZKI_cjs.useInputGroup();
51
+ const inputGroup = chunkYQIDUJW2_cjs.useInputGroup();
52
52
  const effectiveDisabled = isDisabled || inputGroup?.isDisabled === true;
53
53
  const size = inputGroup?.size ?? sizeProp;
54
54
  const effectiveStatusType = status?.type ?? inputGroup?.statusType;
@@ -99,7 +99,7 @@ function TextInput({
99
99
  }
100
100
  ),
101
101
  hasClear && value !== "" && !effectiveDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
102
- chunk5XMWGK3O_cjs.Button,
102
+ chunkWOVSJHY6_cjs.Button,
103
103
  {
104
104
  icon: lucideReact.X,
105
105
  isIconOnly: true,
@@ -110,7 +110,7 @@ function TextInput({
110
110
  }
111
111
  ) : null,
112
112
  endContent,
113
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkBSI4BQEX_cjs.Spinner, { size: "sm" }) : null,
113
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkOCYZKZ24_cjs.Spinner, { size: "sm" }) : null,
114
114
  status != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: chunkXPHXAZCE_cjs.getStatusIcon(status.type) }) : null
115
115
  ]
116
116
  }
@@ -119,7 +119,7 @@ function TextInput({
119
119
  return inputWrapper;
120
120
  }
121
121
  return /* @__PURE__ */ jsxRuntime.jsx(
122
- chunkFFF57VHO_cjs.Field,
122
+ chunkRX2FXCIH_cjs.Field,
123
123
  {
124
124
  className,
125
125
  description,
@@ -127,7 +127,7 @@ function TextInput({
127
127
  inputId,
128
128
  isDisabled,
129
129
  isLabelHidden,
130
- ...chunkFFF57VHO_cjs.getNecessity(isOptional, isRequired),
130
+ ...chunkRX2FXCIH_cjs.getNecessity(isOptional, isRequired),
131
131
  label,
132
132
  labelIcon,
133
133
  labelTooltip,
@@ -140,5 +140,5 @@ function TextInput({
140
140
  TextInput.displayName = "TextInput";
141
141
 
142
142
  exports.TextInput = TextInput;
143
- //# sourceMappingURL=chunk-X4I5YARV.cjs.map
144
- //# sourceMappingURL=chunk-X4I5YARV.cjs.map
143
+ //# sourceMappingURL=chunk-DUGGZUJP.cjs.map
144
+ //# sourceMappingURL=chunk-DUGGZUJP.cjs.map