silver-ui 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/README.md +38 -6
  2. package/dist/chunk-24J3BUKL.js +40 -0
  3. package/dist/chunk-24J3BUKL.js.map +1 -0
  4. package/dist/{chunk-WA4DRAQ7.js → chunk-2IKWX66Q.js} +8 -8
  5. package/dist/chunk-2IKWX66Q.js.map +1 -0
  6. package/dist/{chunk-FVIEYPDB.js → chunk-2K44WLBJ.js} +19 -17
  7. package/dist/chunk-2K44WLBJ.js.map +1 -0
  8. package/dist/{chunk-5G3BY75L.cjs → chunk-2P6D43V2.cjs} +6 -6
  9. package/dist/{chunk-5G3BY75L.cjs.map → chunk-2P6D43V2.cjs.map} +1 -1
  10. package/dist/{chunk-O5RVLBKN.cjs → chunk-2RIDPITG.cjs} +14 -15
  11. package/dist/chunk-2RIDPITG.cjs.map +1 -0
  12. package/dist/{chunk-PDXZDPOY.cjs → chunk-2VIJC4NW.cjs} +48 -47
  13. package/dist/chunk-2VIJC4NW.cjs.map +1 -0
  14. package/dist/{chunk-6BSEY2DF.js → chunk-2VOB6LEI.js} +5 -5
  15. package/dist/{chunk-6BSEY2DF.js.map → chunk-2VOB6LEI.js.map} +1 -1
  16. package/dist/{chunk-GUF4ZNPQ.js → chunk-35MFOORC.js} +6 -6
  17. package/dist/chunk-35MFOORC.js.map +1 -0
  18. package/dist/{chunk-RJXHAQCR.cjs → chunk-36QGPGT2.cjs} +25 -23
  19. package/dist/chunk-36QGPGT2.cjs.map +1 -0
  20. package/dist/chunk-3DFRJSNE.cjs +52 -0
  21. package/dist/chunk-3DFRJSNE.cjs.map +1 -0
  22. package/dist/chunk-3DZPRXMC.cjs +559 -0
  23. package/dist/chunk-3DZPRXMC.cjs.map +1 -0
  24. package/dist/{chunk-GI3NLBCW.cjs → chunk-3IDEWEDY.cjs} +22 -22
  25. package/dist/{chunk-GI3NLBCW.cjs.map → chunk-3IDEWEDY.cjs.map} +1 -1
  26. package/dist/{chunk-WIO3XITR.js → chunk-3JVD4AXC.js} +5 -5
  27. package/dist/{chunk-WIO3XITR.js.map → chunk-3JVD4AXC.js.map} +1 -1
  28. package/dist/chunk-3M23WX6K.js +106 -0
  29. package/dist/chunk-3M23WX6K.js.map +1 -0
  30. package/dist/{chunk-BSBEPQLM.cjs → chunk-3SLWOIT4.cjs} +4 -5
  31. package/dist/chunk-3SLWOIT4.cjs.map +1 -0
  32. package/dist/{chunk-Z2UFJIZU.cjs → chunk-3WMLV4VP.cjs} +20 -20
  33. package/dist/{chunk-Z2UFJIZU.cjs.map → chunk-3WMLV4VP.cjs.map} +1 -1
  34. package/dist/chunk-463O56TB.js +224 -0
  35. package/dist/chunk-463O56TB.js.map +1 -0
  36. package/dist/{chunk-SMF3YBH5.cjs → chunk-47FUQCAT.cjs} +70 -70
  37. package/dist/{chunk-SMF3YBH5.cjs.map → chunk-47FUQCAT.cjs.map} +1 -1
  38. package/dist/{chunk-YMC56K6R.cjs → chunk-4I6VIR44.cjs} +26 -29
  39. package/dist/chunk-4I6VIR44.cjs.map +1 -0
  40. package/dist/{chunk-YHR44PWO.js → chunk-4M2KCZMO.js} +5 -5
  41. package/dist/chunk-4M2KCZMO.js.map +1 -0
  42. package/dist/{chunk-PHFEQG4E.cjs → chunk-4TIAKZ4Q.cjs} +4 -5
  43. package/dist/chunk-4TIAKZ4Q.cjs.map +1 -0
  44. package/dist/{chunk-F7AUYO3H.cjs → chunk-4YESF35X.cjs} +18 -18
  45. package/dist/{chunk-F7AUYO3H.cjs.map → chunk-4YESF35X.cjs.map} +1 -1
  46. package/dist/{chunk-2ZGGJWJY.cjs → chunk-4YQSKCVF.cjs} +16 -16
  47. package/dist/{chunk-2ZGGJWJY.cjs.map → chunk-4YQSKCVF.cjs.map} +1 -1
  48. package/dist/{chunk-4A4EI26N.cjs → chunk-4YQTSHIB.cjs} +35 -35
  49. package/dist/{chunk-4A4EI26N.cjs.map → chunk-4YQTSHIB.cjs.map} +1 -1
  50. package/dist/{chunk-Z2STCD6I.js → chunk-5MDH6QZE.js} +4 -4
  51. package/dist/chunk-5MDH6QZE.js.map +1 -0
  52. package/dist/chunk-5QPM5LUS.cjs +46 -0
  53. package/dist/chunk-5QPM5LUS.cjs.map +1 -0
  54. package/dist/{chunk-YRXGCYT2.js → chunk-63RKQ237.js} +11 -13
  55. package/dist/chunk-63RKQ237.js.map +1 -0
  56. package/dist/chunk-6BK4LUK4.cjs +17 -0
  57. package/dist/chunk-6BK4LUK4.cjs.map +1 -0
  58. package/dist/chunk-6D3FA247.js +126 -0
  59. package/dist/chunk-6D3FA247.js.map +1 -0
  60. package/dist/{chunk-H6OY6FLC.js → chunk-6NY5DOFM.js} +16 -14
  61. package/dist/chunk-6NY5DOFM.js.map +1 -0
  62. package/dist/{chunk-RJQQ2UIQ.js → chunk-74ONIT6C.js} +5 -5
  63. package/dist/{chunk-RJQQ2UIQ.js.map → chunk-74ONIT6C.js.map} +1 -1
  64. package/dist/{chunk-CZJUKLFD.cjs → chunk-76FHSISK.cjs} +4 -5
  65. package/dist/chunk-76FHSISK.cjs.map +1 -0
  66. package/dist/chunk-77RGTGRM.cjs +128 -0
  67. package/dist/chunk-77RGTGRM.cjs.map +1 -0
  68. package/dist/{chunk-W6B55MNU.js → chunk-7DWASA3K.js} +4 -4
  69. package/dist/{chunk-W6B55MNU.js.map → chunk-7DWASA3K.js.map} +1 -1
  70. package/dist/{chunk-MKAOIB2O.cjs → chunk-7GN6YTSS.cjs} +14 -13
  71. package/dist/chunk-7GN6YTSS.cjs.map +1 -0
  72. package/dist/chunk-7MB2KK6X.js +50 -0
  73. package/dist/chunk-7MB2KK6X.js.map +1 -0
  74. package/dist/{chunk-KVREBGWA.js → chunk-7P3VY5JZ.js} +4 -7
  75. package/dist/chunk-7P3VY5JZ.js.map +1 -0
  76. package/dist/{chunk-4W7L63LH.js → chunk-7T3SWOY7.js} +4 -4
  77. package/dist/chunk-7T3SWOY7.js.map +1 -0
  78. package/dist/{chunk-BTBOTNOE.cjs → chunk-A66NIFJE.cjs} +18 -18
  79. package/dist/{chunk-BTBOTNOE.cjs.map → chunk-A66NIFJE.cjs.map} +1 -1
  80. package/dist/chunk-ABEOBHAM.cjs +416 -0
  81. package/dist/chunk-ABEOBHAM.cjs.map +1 -0
  82. package/dist/chunk-AJYVGSBW.cjs +56 -0
  83. package/dist/chunk-AJYVGSBW.cjs.map +1 -0
  84. package/dist/{chunk-EM2F6BZ2.js → chunk-AKTUU5ML.js} +9 -9
  85. package/dist/chunk-AKTUU5ML.js.map +1 -0
  86. package/dist/{chunk-CA6645TQ.js → chunk-AMG3S252.js} +5 -8
  87. package/dist/chunk-AMG3S252.js.map +1 -0
  88. package/dist/{chunk-HXT6A6GH.cjs → chunk-AX6HC2YY.cjs} +6 -7
  89. package/dist/chunk-AX6HC2YY.cjs.map +1 -0
  90. package/dist/{chunk-NOZ6U6ZJ.js → chunk-AXCE2HKG.js} +16 -13
  91. package/dist/chunk-AXCE2HKG.js.map +1 -0
  92. package/dist/{chunk-BCJ25X7C.js → chunk-BA2VUDQS.js} +114 -74
  93. package/dist/chunk-BA2VUDQS.js.map +1 -0
  94. package/dist/{chunk-WSAZHUB3.cjs → chunk-BDBHHJGN.cjs} +21 -20
  95. package/dist/chunk-BDBHHJGN.cjs.map +1 -0
  96. package/dist/{chunk-2UTRYTT3.cjs → chunk-BDPE6ZKX.cjs} +114 -74
  97. package/dist/chunk-BDPE6ZKX.cjs.map +1 -0
  98. package/dist/{chunk-CXBB2LN7.js → chunk-BKKLUIIU.js} +2 -2
  99. package/dist/chunk-BKKLUIIU.js.map +1 -0
  100. package/dist/{chunk-VL6IDFI2.js → chunk-BTL6GUMN.js} +4 -4
  101. package/dist/{chunk-VL6IDFI2.js.map → chunk-BTL6GUMN.js.map} +1 -1
  102. package/dist/{chunk-S5NFDKPL.js → chunk-BZ4XKKNH.js} +18 -17
  103. package/dist/chunk-BZ4XKKNH.js.map +1 -0
  104. package/dist/chunk-CBJ4APCT.js +556 -0
  105. package/dist/chunk-CBJ4APCT.js.map +1 -0
  106. package/dist/{chunk-E4TIWN4Z.cjs → chunk-CPOYENSZ.cjs} +41 -35
  107. package/dist/chunk-CPOYENSZ.cjs.map +1 -0
  108. package/dist/{chunk-NJDV3LDH.js → chunk-CPZWTWYQ.js} +12 -17
  109. package/dist/chunk-CPZWTWYQ.js.map +1 -0
  110. package/dist/{chunk-6NIFOTUZ.cjs → chunk-DH2ZFYKE.cjs} +47 -45
  111. package/dist/chunk-DH2ZFYKE.cjs.map +1 -0
  112. package/dist/{chunk-QRXMW7MQ.cjs → chunk-DP4KK2N4.cjs} +63 -69
  113. package/dist/chunk-DP4KK2N4.cjs.map +1 -0
  114. package/dist/{chunk-I25KF3UF.js → chunk-DZ3NHSJ4.js} +6 -6
  115. package/dist/{chunk-I25KF3UF.js.map → chunk-DZ3NHSJ4.js.map} +1 -1
  116. package/dist/{chunk-K574UTWP.cjs → chunk-E2JZGYKU.cjs} +14 -15
  117. package/dist/chunk-E2JZGYKU.cjs.map +1 -0
  118. package/dist/{chunk-C2CNRYZI.cjs → chunk-E7UOFIBW.cjs} +30 -30
  119. package/dist/{chunk-C2CNRYZI.cjs.map → chunk-E7UOFIBW.cjs.map} +1 -1
  120. package/dist/{chunk-HPZ7LLXK.js → chunk-EBCHOGKT.js} +11 -12
  121. package/dist/chunk-EBCHOGKT.js.map +1 -0
  122. package/dist/{chunk-DFF72N57.js → chunk-EFO5NDBJ.js} +4 -5
  123. package/dist/chunk-EFO5NDBJ.js.map +1 -0
  124. package/dist/chunk-EHCAF6D3.js +44 -0
  125. package/dist/chunk-EHCAF6D3.js.map +1 -0
  126. package/dist/{chunk-EB5EHX6I.js → chunk-EMHLPPQZ.js} +5 -4
  127. package/dist/chunk-EMHLPPQZ.js.map +1 -0
  128. package/dist/{chunk-IWSS5745.js → chunk-ESJND7B6.js} +18 -17
  129. package/dist/chunk-ESJND7B6.js.map +1 -0
  130. package/dist/{chunk-V5W7NZN5.js → chunk-EXYBQVZT.js} +3 -3
  131. package/dist/{chunk-V5W7NZN5.js.map → chunk-EXYBQVZT.js.map} +1 -1
  132. package/dist/chunk-FDSUILCM.cjs +202 -0
  133. package/dist/chunk-FDSUILCM.cjs.map +1 -0
  134. package/dist/{chunk-ELCRG7WZ.js → chunk-FHKB6MBQ.js} +15 -15
  135. package/dist/{chunk-ELCRG7WZ.js.map → chunk-FHKB6MBQ.js.map} +1 -1
  136. package/dist/{chunk-NAELQLZN.js → chunk-FMEIPGUP.js} +3 -3
  137. package/dist/{chunk-NAELQLZN.js.map → chunk-FMEIPGUP.js.map} +1 -1
  138. package/dist/{chunk-PLFKU46A.js → chunk-GEGYC7CE.js} +7 -7
  139. package/dist/{chunk-PLFKU46A.js.map → chunk-GEGYC7CE.js.map} +1 -1
  140. package/dist/{chunk-TPSOUQG7.cjs → chunk-GGZGVAEF.cjs} +29 -28
  141. package/dist/chunk-GGZGVAEF.cjs.map +1 -0
  142. package/dist/{chunk-PBZWX2RJ.js → chunk-GTPRZCNZ.js} +5 -5
  143. package/dist/{chunk-PBZWX2RJ.js.map → chunk-GTPRZCNZ.js.map} +1 -1
  144. package/dist/chunk-GUKZNXTB.js +15 -0
  145. package/dist/chunk-GUKZNXTB.js.map +1 -0
  146. package/dist/chunk-GYUWDJXS.cjs +282 -0
  147. package/dist/chunk-GYUWDJXS.cjs.map +1 -0
  148. package/dist/{chunk-OAUKYH6C.cjs → chunk-H7LOOHWU.cjs} +2 -2
  149. package/dist/chunk-H7LOOHWU.cjs.map +1 -0
  150. package/dist/{chunk-NSHWBZL4.cjs → chunk-HM7IEGQ2.cjs} +14 -13
  151. package/dist/chunk-HM7IEGQ2.cjs.map +1 -0
  152. package/dist/{chunk-UZNSGQT3.cjs → chunk-HMWV6KCW.cjs} +34 -40
  153. package/dist/chunk-HMWV6KCW.cjs.map +1 -0
  154. package/dist/{chunk-KXXTWWJZ.cjs → chunk-I45346RZ.cjs} +8 -10
  155. package/dist/chunk-I45346RZ.cjs.map +1 -0
  156. package/dist/{chunk-LBRKUZSQ.cjs → chunk-IKF6VHA4.cjs} +73 -114
  157. package/dist/chunk-IKF6VHA4.cjs.map +1 -0
  158. package/dist/{chunk-YLXM3CGV.js → chunk-IR4COTIR.js} +5 -5
  159. package/dist/{chunk-YLXM3CGV.js.map → chunk-IR4COTIR.js.map} +1 -1
  160. package/dist/{chunk-QFO5ZTZZ.js → chunk-IUUQXCDE.js} +8 -9
  161. package/dist/chunk-IUUQXCDE.js.map +1 -0
  162. package/dist/{chunk-WEEYUS7M.cjs → chunk-IXJOPMJX.cjs} +7 -7
  163. package/dist/chunk-IXJOPMJX.cjs.map +1 -0
  164. package/dist/{chunk-PZO5MZ46.js → chunk-J2FCNWYM.js} +7 -6
  165. package/dist/chunk-J2FCNWYM.js.map +1 -0
  166. package/dist/chunk-JEK5SVB5.cjs +226 -0
  167. package/dist/chunk-JEK5SVB5.cjs.map +1 -0
  168. package/dist/{chunk-ZVBVKZ4P.cjs → chunk-JKERY7QF.cjs} +27 -18
  169. package/dist/chunk-JKERY7QF.cjs.map +1 -0
  170. package/dist/{chunk-32XQJNKY.cjs → chunk-JMLJLDHO.cjs} +15 -15
  171. package/dist/{chunk-32XQJNKY.cjs.map → chunk-JMLJLDHO.cjs.map} +1 -1
  172. package/dist/{chunk-47BELFYO.cjs → chunk-JMNH45Q3.cjs} +17 -18
  173. package/dist/chunk-JMNH45Q3.cjs.map +1 -0
  174. package/dist/{chunk-JAX62FUE.cjs → chunk-JRBQKFVO.cjs} +14 -14
  175. package/dist/{chunk-JAX62FUE.cjs.map → chunk-JRBQKFVO.cjs.map} +1 -1
  176. package/dist/{chunk-6UVJUY7Z.cjs → chunk-JVLE7PCJ.cjs} +11 -12
  177. package/dist/chunk-JVLE7PCJ.cjs.map +1 -0
  178. package/dist/chunk-K6CQ45C2.js +115 -0
  179. package/dist/chunk-K6CQ45C2.js.map +1 -0
  180. package/dist/chunk-K77D7H4V.cjs +125 -0
  181. package/dist/chunk-K77D7H4V.cjs.map +1 -0
  182. package/dist/chunk-KFEXS6OK.cjs +118 -0
  183. package/dist/chunk-KFEXS6OK.cjs.map +1 -0
  184. package/dist/{chunk-KYDRDJRM.cjs → chunk-L6JT244G.cjs} +5 -5
  185. package/dist/{chunk-KYDRDJRM.cjs.map → chunk-L6JT244G.cjs.map} +1 -1
  186. package/dist/{chunk-3UUZY42Z.js → chunk-L6WUK7O4.js} +5 -5
  187. package/dist/{chunk-3UUZY42Z.js.map → chunk-L6WUK7O4.js.map} +1 -1
  188. package/dist/{chunk-OA4KIVLO.cjs → chunk-LFRTNC7M.cjs} +12 -13
  189. package/dist/chunk-LFRTNC7M.cjs.map +1 -0
  190. package/dist/{chunk-Y73472IA.js → chunk-LJLCGQRV.js} +6 -6
  191. package/dist/chunk-LJLCGQRV.js.map +1 -0
  192. package/dist/{chunk-JCYPM27J.js → chunk-MEBIRX2P.js} +7 -7
  193. package/dist/chunk-MEBIRX2P.js.map +1 -0
  194. package/dist/{chunk-YX7DI3O3.cjs → chunk-MMQIQILP.cjs} +30 -31
  195. package/dist/chunk-MMQIQILP.cjs.map +1 -0
  196. package/dist/{chunk-QRDRZNCS.cjs → chunk-MMST4VXH.cjs} +25 -26
  197. package/dist/chunk-MMST4VXH.cjs.map +1 -0
  198. package/dist/{chunk-LFZXGIR6.cjs → chunk-MNVBSOAQ.cjs} +48 -46
  199. package/dist/chunk-MNVBSOAQ.cjs.map +1 -0
  200. package/dist/{chunk-CR4NB42L.cjs → chunk-MX2F3HUI.cjs} +37 -39
  201. package/dist/chunk-MX2F3HUI.cjs.map +1 -0
  202. package/dist/{chunk-L3G7SHEP.cjs → chunk-NF63IRZR.cjs} +42 -42
  203. package/dist/{chunk-L3G7SHEP.cjs.map → chunk-NF63IRZR.cjs.map} +1 -1
  204. package/dist/chunk-NUTB2K4G.js +87 -0
  205. package/dist/chunk-NUTB2K4G.js.map +1 -0
  206. package/dist/{chunk-NPJXGQOF.cjs → chunk-O2ZMOBMA.cjs} +116 -117
  207. package/dist/chunk-O2ZMOBMA.cjs.map +1 -0
  208. package/dist/{chunk-NILB6Y4Z.cjs → chunk-O3T7Z6RH.cjs} +31 -145
  209. package/dist/chunk-O3T7Z6RH.cjs.map +1 -0
  210. package/dist/{chunk-2XCNB2O6.js → chunk-OBBPRWYD.js} +18 -15
  211. package/dist/chunk-OBBPRWYD.js.map +1 -0
  212. package/dist/{chunk-UHQRL4OA.js → chunk-OD4DHHZH.js} +25 -3
  213. package/dist/chunk-OD4DHHZH.js.map +1 -0
  214. package/dist/{chunk-PGKOWMP4.js → chunk-OHKL4DOV.js} +78 -69
  215. package/dist/chunk-OHKL4DOV.js.map +1 -0
  216. package/dist/{chunk-VVYUCQHP.js → chunk-OJ3KVNW2.js} +17 -23
  217. package/dist/chunk-OJ3KVNW2.js.map +1 -0
  218. package/dist/{chunk-CWUC4TOQ.js → chunk-OJCJPYXE.js} +122 -121
  219. package/dist/chunk-OJCJPYXE.js.map +1 -0
  220. package/dist/{chunk-MCOVG6W6.js → chunk-P3SMNZCT.js} +75 -115
  221. package/dist/chunk-P3SMNZCT.js.map +1 -0
  222. package/dist/{chunk-KXXRALHT.cjs → chunk-P4A7GWQY.cjs} +83 -75
  223. package/dist/chunk-P4A7GWQY.cjs.map +1 -0
  224. package/dist/{chunk-2PHHFBJ3.cjs → chunk-P4TOIB2A.cjs} +11 -12
  225. package/dist/chunk-P4TOIB2A.cjs.map +1 -0
  226. package/dist/{chunk-RCAA2CZJ.js → chunk-PJXJOI73.js} +13 -13
  227. package/dist/chunk-PJXJOI73.js.map +1 -0
  228. package/dist/{chunk-2FPZULX3.cjs → chunk-PNYF6NS4.cjs} +32 -35
  229. package/dist/chunk-PNYF6NS4.cjs.map +1 -0
  230. package/dist/chunk-POW2Z7TP.js +414 -0
  231. package/dist/chunk-POW2Z7TP.js.map +1 -0
  232. package/dist/{chunk-D6KXW75E.js → chunk-PTZAJW3J.js} +10 -15
  233. package/dist/chunk-PTZAJW3J.js.map +1 -0
  234. package/dist/{chunk-YT3UWEVY.js → chunk-PUVBNGCF.js} +27 -17
  235. package/dist/chunk-PUVBNGCF.js.map +1 -0
  236. package/dist/{chunk-DONU5ALC.cjs → chunk-PWL6TWVC.cjs} +31 -37
  237. package/dist/chunk-PWL6TWVC.cjs.map +1 -0
  238. package/dist/chunk-PXVVTPRJ.js +278 -0
  239. package/dist/chunk-PXVVTPRJ.js.map +1 -0
  240. package/dist/{chunk-ZC7H4S4T.cjs → chunk-PYPXJC35.cjs} +6 -7
  241. package/dist/chunk-PYPXJC35.cjs.map +1 -0
  242. package/dist/{chunk-GZ5SRSD4.js → chunk-PYW5UO2Z.js} +5 -4
  243. package/dist/chunk-PYW5UO2Z.js.map +1 -0
  244. package/dist/{chunk-2QK2NZN5.js → chunk-QADMIAYK.js} +8 -7
  245. package/dist/chunk-QADMIAYK.js.map +1 -0
  246. package/dist/chunk-QPYPPJEZ.js +53 -0
  247. package/dist/chunk-QPYPPJEZ.js.map +1 -0
  248. package/dist/{chunk-7EXVJWG5.js → chunk-RNB4BDEG.js} +41 -35
  249. package/dist/chunk-RNB4BDEG.js.map +1 -0
  250. package/dist/{chunk-VIJHDURK.js → chunk-RQ5BMSGU.js} +5 -5
  251. package/dist/chunk-RQ5BMSGU.js.map +1 -0
  252. package/dist/{chunk-VLIQPSPM.js → chunk-RRNT32KY.js} +18 -131
  253. package/dist/chunk-RRNT32KY.js.map +1 -0
  254. package/dist/{chunk-VT7VKCHL.cjs → chunk-RSG7N5QQ.cjs} +25 -27
  255. package/dist/chunk-RSG7N5QQ.cjs.map +1 -0
  256. package/dist/{chunk-AZDWQGAX.cjs → chunk-RU6JG3FS.cjs} +25 -2
  257. package/dist/chunk-RU6JG3FS.cjs.map +1 -0
  258. package/dist/{chunk-YQJJCYJP.js → chunk-S4GLMGFI.js} +6 -6
  259. package/dist/{chunk-YQJJCYJP.js.map → chunk-S4GLMGFI.js.map} +1 -1
  260. package/dist/chunk-S54CKWKV.js +107 -0
  261. package/dist/chunk-S54CKWKV.js.map +1 -0
  262. package/dist/{chunk-WIW2YR46.js → chunk-SA3LUT6E.js} +31 -14
  263. package/dist/chunk-SA3LUT6E.js.map +1 -0
  264. package/dist/{chunk-2FUG6NKO.js → chunk-SSOHJEHS.js} +9 -9
  265. package/dist/chunk-SSOHJEHS.js.map +1 -0
  266. package/dist/{chunk-3PSQDJQH.js → chunk-STSR3FAC.js} +17 -14
  267. package/dist/chunk-STSR3FAC.js.map +1 -0
  268. package/dist/chunk-SXIBQQ55.js +280 -0
  269. package/dist/chunk-SXIBQQ55.js.map +1 -0
  270. package/dist/{chunk-ZW4XKNDR.cjs → chunk-TH3H5UGK.cjs} +38 -21
  271. package/dist/chunk-TH3H5UGK.cjs.map +1 -0
  272. package/dist/{chunk-5EQN3YMQ.cjs → chunk-TO3ZPSYO.cjs} +35 -35
  273. package/dist/chunk-TO3ZPSYO.cjs.map +1 -0
  274. package/dist/{chunk-I7PJTLP2.cjs → chunk-TZQWZ7IL.cjs} +26 -26
  275. package/dist/{chunk-I7PJTLP2.cjs.map → chunk-TZQWZ7IL.cjs.map} +1 -1
  276. package/dist/{chunk-6SPQDYHC.cjs → chunk-U2WVHZ24.cjs} +11 -22
  277. package/dist/chunk-U2WVHZ24.cjs.map +1 -0
  278. package/dist/{chunk-U35V3GVC.js → chunk-U4GWNENK.js} +27 -21
  279. package/dist/chunk-U4GWNENK.js.map +1 -0
  280. package/dist/{chunk-GKG47NK6.cjs → chunk-U5ZCQI5O.cjs} +86 -88
  281. package/dist/chunk-U5ZCQI5O.cjs.map +1 -0
  282. package/dist/{chunk-UWG5UQFV.cjs → chunk-UC36KIEP.cjs} +27 -20
  283. package/dist/chunk-UC36KIEP.cjs.map +1 -0
  284. package/dist/chunk-UJODHP7E.cjs +280 -0
  285. package/dist/chunk-UJODHP7E.cjs.map +1 -0
  286. package/dist/{chunk-ZHFAFEI2.js → chunk-UQV5MOGR.js} +5 -6
  287. package/dist/chunk-UQV5MOGR.js.map +1 -0
  288. package/dist/{chunk-WIIDQ44X.cjs → chunk-UUIAGGFW.cjs} +27 -24
  289. package/dist/chunk-UUIAGGFW.cjs.map +1 -0
  290. package/dist/{chunk-YZUBJ2L2.cjs → chunk-UX2Z7LRM.cjs} +17 -18
  291. package/dist/chunk-UX2Z7LRM.cjs.map +1 -0
  292. package/dist/chunk-UY3MYNI6.js +123 -0
  293. package/dist/chunk-UY3MYNI6.js.map +1 -0
  294. package/dist/{chunk-T55MB2CA.js → chunk-UYKFE7KF.js} +4 -4
  295. package/dist/chunk-UYKFE7KF.js.map +1 -0
  296. package/dist/{chunk-DNVOWNQG.cjs → chunk-V7Q64Z3S.cjs} +11 -11
  297. package/dist/{chunk-DNVOWNQG.cjs.map → chunk-V7Q64Z3S.cjs.map} +1 -1
  298. package/dist/{chunk-XQMLA75S.js → chunk-VBL5SI5N.js} +18 -16
  299. package/dist/chunk-VBL5SI5N.js.map +1 -0
  300. package/dist/{chunk-NMHCRHRI.cjs → chunk-VQ7IRFRR.cjs} +29 -28
  301. package/dist/chunk-VQ7IRFRR.cjs.map +1 -0
  302. package/dist/chunk-VXBVSYPA.cjs +109 -0
  303. package/dist/chunk-VXBVSYPA.cjs.map +1 -0
  304. package/dist/{chunk-25OAUQRF.cjs → chunk-W3QVSVL7.cjs} +23 -22
  305. package/dist/chunk-W3QVSVL7.cjs.map +1 -0
  306. package/dist/chunk-W5G7ZDQ6.cjs +89 -0
  307. package/dist/chunk-W5G7ZDQ6.cjs.map +1 -0
  308. package/dist/chunk-WA4VZ363.cjs +259 -0
  309. package/dist/chunk-WA4VZ363.cjs.map +1 -0
  310. package/dist/{chunk-IT72TF72.js → chunk-WE2AXMPB.js} +13 -12
  311. package/dist/chunk-WE2AXMPB.js.map +1 -0
  312. package/dist/{chunk-2QM5XBX4.cjs → chunk-WMXIUOOU.cjs} +4 -4
  313. package/dist/{chunk-2QM5XBX4.cjs.map → chunk-WMXIUOOU.cjs.map} +1 -1
  314. package/dist/{chunk-3L3M7SJ3.js → chunk-WOIWI2UO.js} +3 -3
  315. package/dist/{chunk-3L3M7SJ3.js.map → chunk-WOIWI2UO.js.map} +1 -1
  316. package/dist/chunk-WVQDFCFQ.js +199 -0
  317. package/dist/chunk-WVQDFCFQ.js.map +1 -0
  318. package/dist/{chunk-WE3ECIRS.cjs → chunk-XHTKGOQV.cjs} +50 -47
  319. package/dist/chunk-XHTKGOQV.cjs.map +1 -0
  320. package/dist/chunk-XIFLSMGW.js +200 -0
  321. package/dist/chunk-XIFLSMGW.js.map +1 -0
  322. package/dist/{chunk-WBPIJ4D5.js → chunk-XSQOHNIF.js} +5 -5
  323. package/dist/chunk-XSQOHNIF.js.map +1 -0
  324. package/dist/{chunk-E7EO3YVJ.js → chunk-XVRQSTUF.js} +3 -3
  325. package/dist/{chunk-E7EO3YVJ.js.map → chunk-XVRQSTUF.js.map} +1 -1
  326. package/dist/chunk-YAIEA2YE.cjs +203 -0
  327. package/dist/chunk-YAIEA2YE.cjs.map +1 -0
  328. package/dist/chunk-YAYINZT2.cjs +42 -0
  329. package/dist/chunk-YAYINZT2.cjs.map +1 -0
  330. package/dist/{chunk-DJW7T3WJ.js → chunk-YUONTRNC.js} +11 -12
  331. package/dist/chunk-YUONTRNC.js.map +1 -0
  332. package/dist/chunk-YXYD5HKL.cjs +109 -0
  333. package/dist/chunk-YXYD5HKL.cjs.map +1 -0
  334. package/dist/{chunk-EETTQWW5.cjs → chunk-Z7ID5TC7.cjs} +25 -22
  335. package/dist/chunk-Z7ID5TC7.cjs.map +1 -0
  336. package/dist/{chunk-5OS5A27C.js → chunk-ZC6GLBEL.js} +6 -6
  337. package/dist/chunk-ZC6GLBEL.js.map +1 -0
  338. package/dist/{chunk-R2NQNVEV.js → chunk-ZJ2NV4SQ.js} +19 -21
  339. package/dist/chunk-ZJ2NV4SQ.js.map +1 -0
  340. package/dist/{chunk-OKKL652L.js → chunk-ZNUOFLCQ.js} +5 -15
  341. package/dist/chunk-ZNUOFLCQ.js.map +1 -0
  342. package/dist/{chunk-P5AZUUM2.cjs → chunk-ZP3UZDSV.cjs} +11 -11
  343. package/dist/chunk-ZP3UZDSV.cjs.map +1 -0
  344. package/dist/{chunk-HWCL6JFB.js → chunk-ZW2ATXTL.js} +10 -9
  345. package/dist/chunk-ZW2ATXTL.js.map +1 -0
  346. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  347. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  348. package/dist/components/Accordion/AccordionItem.recipe.d.ts +17 -0
  349. package/dist/components/Accordion/AccordionItem.recipe.d.ts.map +1 -0
  350. package/dist/components/Accordion/index.cjs +9 -7
  351. package/dist/components/Accordion/index.js +6 -4
  352. package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
  353. package/dist/components/Alert/Alert.d.ts +13 -4
  354. package/dist/components/Alert/Alert.d.ts.map +1 -1
  355. package/dist/components/Alert/Alert.recipe.d.ts +119 -25
  356. package/dist/components/Alert/Alert.recipe.d.ts.map +1 -1
  357. package/dist/components/Alert/index.cjs +15 -16
  358. package/dist/components/Alert/index.d.ts +0 -1
  359. package/dist/components/Alert/index.d.ts.map +1 -1
  360. package/dist/components/Alert/index.js +14 -11
  361. package/dist/components/AlertDialog/AlertDialog.d.ts +1 -1
  362. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  363. package/dist/components/AlertDialog/index.cjs +19 -16
  364. package/dist/components/AlertDialog/index.js +17 -14
  365. package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
  366. package/dist/components/AppShell/AppShell.d.ts +2 -2
  367. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  368. package/dist/components/AppShell/index.cjs +24 -25
  369. package/dist/components/AppShell/index.d.ts +0 -1
  370. package/dist/components/AppShell/index.d.ts.map +1 -1
  371. package/dist/components/AppShell/index.js +21 -18
  372. package/dist/components/AspectRatio/index.cjs +4 -8
  373. package/dist/components/AspectRatio/index.d.ts +0 -1
  374. package/dist/components/AspectRatio/index.d.ts.map +1 -1
  375. package/dist/components/AspectRatio/index.js +3 -3
  376. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  377. package/dist/components/AutocompleteInput/index.cjs +24 -20
  378. package/dist/components/AutocompleteInput/index.js +20 -16
  379. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  380. package/dist/components/Avatar/Avatar.recipe.d.ts +11 -9
  381. package/dist/components/Avatar/Avatar.recipe.d.ts.map +1 -1
  382. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  383. package/dist/components/Avatar/index.cjs +9 -11
  384. package/dist/components/Avatar/index.d.ts +0 -1
  385. package/dist/components/Avatar/index.d.ts.map +1 -1
  386. package/dist/components/Avatar/index.js +6 -4
  387. package/dist/components/AvatarGroup/index.cjs +9 -11
  388. package/dist/components/AvatarGroup/index.d.ts +0 -1
  389. package/dist/components/AvatarGroup/index.d.ts.map +1 -1
  390. package/dist/components/AvatarGroup/index.js +7 -5
  391. package/dist/components/Badge/Badge.d.ts +8 -2
  392. package/dist/components/Badge/Badge.d.ts.map +1 -1
  393. package/dist/components/Badge/index.cjs +5 -9
  394. package/dist/components/Badge/index.d.ts +0 -1
  395. package/dist/components/Badge/index.d.ts.map +1 -1
  396. package/dist/components/Badge/index.js +4 -4
  397. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  398. package/dist/components/Blockquote/Blockquote.recipe.d.ts +4 -0
  399. package/dist/components/Blockquote/Blockquote.recipe.d.ts.map +1 -0
  400. package/dist/components/Blockquote/index.cjs +15 -44
  401. package/dist/components/Blockquote/index.cjs.map +1 -1
  402. package/dist/components/Blockquote/index.d.ts +1 -0
  403. package/dist/components/Blockquote/index.d.ts.map +1 -1
  404. package/dist/components/Blockquote/index.js +6 -46
  405. package/dist/components/Blockquote/index.js.map +1 -1
  406. package/dist/components/Breadcrumbs/index.cjs +12 -11
  407. package/dist/components/Breadcrumbs/index.js +9 -8
  408. package/dist/components/Button/Button.d.ts.map +1 -1
  409. package/dist/components/Button/Button.recipe.d.ts +2 -2
  410. package/dist/components/Button/index.cjs +14 -15
  411. package/dist/components/Button/index.d.ts +0 -1
  412. package/dist/components/Button/index.d.ts.map +1 -1
  413. package/dist/components/Button/index.js +13 -10
  414. package/dist/components/ButtonGroup/index.cjs +4 -8
  415. package/dist/components/ButtonGroup/index.d.ts +0 -1
  416. package/dist/components/ButtonGroup/index.d.ts.map +1 -1
  417. package/dist/components/ButtonGroup/index.js +3 -3
  418. package/dist/components/Calendar/index.cjs +15 -12
  419. package/dist/components/Calendar/index.js +14 -11
  420. package/dist/components/Card/Card.d.ts +16 -4
  421. package/dist/components/Card/Card.d.ts.map +1 -1
  422. package/dist/components/Card/Card.recipe.d.ts +18 -0
  423. package/dist/components/Card/Card.recipe.d.ts.map +1 -1
  424. package/dist/components/Card/index.cjs +4 -8
  425. package/dist/components/Card/index.d.ts +1 -2
  426. package/dist/components/Card/index.d.ts.map +1 -1
  427. package/dist/components/Card/index.js +3 -3
  428. package/dist/components/Center/Center.recipe.d.ts +0 -1
  429. package/dist/components/Center/Center.recipe.d.ts.map +1 -1
  430. package/dist/components/Center/index.cjs +4 -8
  431. package/dist/components/Center/index.d.ts +0 -1
  432. package/dist/components/Center/index.d.ts.map +1 -1
  433. package/dist/components/Center/index.js +3 -3
  434. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  435. package/dist/components/CheckboxInput/index.cjs +16 -14
  436. package/dist/components/CheckboxInput/index.js +15 -13
  437. package/dist/components/CodeBlock/CodeBlock.d.ts +6 -4
  438. package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
  439. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +87 -0
  440. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts.map +1 -0
  441. package/dist/components/CodeBlock/index.cjs +17 -12
  442. package/dist/components/CodeBlock/index.d.ts +1 -0
  443. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  444. package/dist/components/CodeBlock/index.js +16 -11
  445. package/dist/components/ContextMenu/index.cjs +20 -17
  446. package/dist/components/ContextMenu/index.js +18 -15
  447. package/dist/components/DateInput/DateInput.d.ts +1 -1
  448. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  449. package/dist/components/DateInput/index.cjs +21 -17
  450. package/dist/components/DateInput/index.js +20 -16
  451. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  452. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  453. package/dist/components/DateRangeInput/index.cjs +21 -17
  454. package/dist/components/DateRangeInput/index.js +20 -16
  455. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  456. package/dist/components/DateTimeInput/index.cjs +23 -19
  457. package/dist/components/DateTimeInput/index.js +22 -18
  458. package/dist/components/Dialog/Dialog.d.ts +7 -2
  459. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  460. package/dist/components/Dialog/Dialog.recipe.d.ts +13 -10
  461. package/dist/components/Dialog/Dialog.recipe.d.ts.map +1 -1
  462. package/dist/components/Dialog/DialogContext.d.ts +6 -0
  463. package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
  464. package/dist/components/Dialog/index.cjs +10 -12
  465. package/dist/components/Dialog/index.d.ts +0 -1
  466. package/dist/components/Dialog/index.d.ts.map +1 -1
  467. package/dist/components/Dialog/index.js +6 -4
  468. package/dist/components/Divider/Divider.d.ts +11 -1
  469. package/dist/components/Divider/Divider.d.ts.map +1 -1
  470. package/dist/components/Divider/Divider.recipe.d.ts +35 -10
  471. package/dist/components/Divider/Divider.recipe.d.ts.map +1 -1
  472. package/dist/components/Divider/index.cjs +6 -8
  473. package/dist/components/Divider/index.d.ts +0 -1
  474. package/dist/components/Divider/index.d.ts.map +1 -1
  475. package/dist/components/Divider/index.js +5 -3
  476. package/dist/components/Drawer/index.cjs +13 -197
  477. package/dist/components/Drawer/index.cjs.map +1 -1
  478. package/dist/components/Drawer/index.js +4 -198
  479. package/dist/components/Drawer/index.js.map +1 -1
  480. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  481. package/dist/components/DropdownMenu/index.cjs +21 -18
  482. package/dist/components/DropdownMenu/index.js +17 -14
  483. package/dist/components/EmptyState/index.cjs +8 -11
  484. package/dist/components/EmptyState/index.d.ts +0 -1
  485. package/dist/components/EmptyState/index.d.ts.map +1 -1
  486. package/dist/components/EmptyState/index.js +7 -6
  487. package/dist/components/Field/Field.d.ts +22 -10
  488. package/dist/components/Field/Field.d.ts.map +1 -1
  489. package/dist/components/Field/Field.recipe.d.ts +33 -24
  490. package/dist/components/Field/Field.recipe.d.ts.map +1 -1
  491. package/dist/components/Field/index.cjs +14 -24
  492. package/dist/components/Field/index.d.ts +1 -3
  493. package/dist/components/Field/index.d.ts.map +1 -1
  494. package/dist/components/Field/index.js +11 -9
  495. package/dist/components/Field/inputStyles.d.ts +0 -1
  496. package/dist/components/Field/inputStyles.d.ts.map +1 -1
  497. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  498. package/dist/components/FileInput/index.cjs +20 -13
  499. package/dist/components/FileInput/index.js +19 -12
  500. package/dist/components/HoverCard/index.cjs +6 -5
  501. package/dist/components/HoverCard/index.js +4 -3
  502. package/dist/components/Icon/index.cjs +4 -8
  503. package/dist/components/Icon/index.d.ts +0 -1
  504. package/dist/components/Icon/index.d.ts.map +1 -1
  505. package/dist/components/Icon/index.js +3 -3
  506. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  507. package/dist/components/InputGroup/index.cjs +16 -14
  508. package/dist/components/InputGroup/index.js +12 -10
  509. package/dist/components/Item/Item.d.ts.map +1 -1
  510. package/dist/components/Item/index.cjs +11 -10
  511. package/dist/components/Item/index.js +10 -9
  512. package/dist/components/Kbd/Kbd.d.ts.map +1 -1
  513. package/dist/components/Kbd/Kbd.recipe.d.ts +28 -13
  514. package/dist/components/Kbd/Kbd.recipe.d.ts.map +1 -1
  515. package/dist/components/Kbd/index.cjs +6 -4
  516. package/dist/components/Kbd/index.d.ts +1 -0
  517. package/dist/components/Kbd/index.d.ts.map +1 -1
  518. package/dist/components/Kbd/index.js +5 -3
  519. package/dist/components/Layout/Layout.d.ts +3 -2
  520. package/dist/components/Layout/Layout.d.ts.map +1 -1
  521. package/dist/components/Layout/LayoutContent.d.ts +2 -2
  522. package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
  523. package/dist/components/Layout/LayoutFooter.d.ts +2 -2
  524. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  525. package/dist/components/Layout/LayoutHeader.d.ts +2 -2
  526. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  527. package/dist/components/Layout/LayoutPanel.d.ts +2 -2
  528. package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
  529. package/dist/components/Layout/index.cjs +20 -21
  530. package/dist/components/Layout/index.d.ts +1 -2
  531. package/dist/components/Layout/index.d.ts.map +1 -1
  532. package/dist/components/Layout/index.js +15 -12
  533. package/dist/components/Layout/types.d.ts +1 -1
  534. package/dist/components/Layout/types.d.ts.map +1 -1
  535. package/dist/components/Lightbox/index.cjs +16 -13
  536. package/dist/components/Lightbox/index.js +14 -11
  537. package/dist/components/Link/index.cjs +11 -14
  538. package/dist/components/Link/index.d.ts +0 -1
  539. package/dist/components/Link/index.d.ts.map +1 -1
  540. package/dist/components/Link/index.js +8 -7
  541. package/dist/components/List/ListItem.d.ts.map +1 -1
  542. package/dist/components/List/index.cjs +13 -12
  543. package/dist/components/List/index.js +11 -10
  544. package/dist/components/MetadataList/index.cjs +10 -9
  545. package/dist/components/MetadataList/index.js +8 -7
  546. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  547. package/dist/components/MultiSelect/index.cjs +22 -18
  548. package/dist/components/MultiSelect/index.js +21 -17
  549. package/dist/components/NavIcon/index.cjs +8 -36
  550. package/dist/components/NavIcon/index.cjs.map +1 -1
  551. package/dist/components/NavIcon/index.js +3 -38
  552. package/dist/components/NavIcon/index.js.map +1 -1
  553. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  554. package/dist/components/NumberInput/index.cjs +21 -14
  555. package/dist/components/NumberInput/index.js +20 -13
  556. package/dist/components/Pagination/index.cjs +15 -12
  557. package/dist/components/Pagination/index.js +14 -11
  558. package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
  559. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  560. package/dist/components/PasswordInput/index.cjs +25 -54
  561. package/dist/components/PasswordInput/index.cjs.map +1 -1
  562. package/dist/components/PasswordInput/index.js +20 -56
  563. package/dist/components/PasswordInput/index.js.map +1 -1
  564. package/dist/components/Popover/Popover.d.ts +1 -1
  565. package/dist/components/Popover/Popover.d.ts.map +1 -1
  566. package/dist/components/Popover/index.cjs +16 -13
  567. package/dist/components/Popover/index.js +14 -11
  568. package/dist/components/Progress/index.cjs +5 -9
  569. package/dist/components/Progress/index.d.ts +0 -1
  570. package/dist/components/Progress/index.d.ts.map +1 -1
  571. package/dist/components/Progress/index.js +4 -4
  572. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  573. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +90 -0
  574. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts.map +1 -0
  575. package/dist/components/RadioGroup/RadioGroupContext.d.ts +1 -1
  576. package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
  577. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  578. package/dist/components/RadioGroup/index.cjs +17 -15
  579. package/dist/components/RadioGroup/index.d.ts +1 -0
  580. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  581. package/dist/components/RadioGroup/index.js +15 -13
  582. package/dist/components/Rating/Rating.d.ts.map +1 -1
  583. package/dist/components/Rating/Rating.recipe.d.ts +23 -0
  584. package/dist/components/Rating/Rating.recipe.d.ts.map +1 -0
  585. package/dist/components/Rating/index.cjs +17 -179
  586. package/dist/components/Rating/index.cjs.map +1 -1
  587. package/dist/components/Rating/index.d.ts +1 -0
  588. package/dist/components/Rating/index.d.ts.map +1 -1
  589. package/dist/components/Rating/index.js +8 -181
  590. package/dist/components/Rating/index.js.map +1 -1
  591. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  592. package/dist/components/Schedule/index.cjs +30 -27
  593. package/dist/components/Schedule/index.js +19 -16
  594. package/dist/components/SearchFilterInput/index.cjs +40 -36
  595. package/dist/components/SearchFilterInput/index.js +32 -28
  596. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -1
  597. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  598. package/dist/components/SegmentedControl/index.cjs +7 -7
  599. package/dist/components/SegmentedControl/index.js +5 -5
  600. package/dist/components/Select/Select.d.ts.map +1 -1
  601. package/dist/components/Select/index.cjs +23 -19
  602. package/dist/components/Select/index.js +21 -17
  603. package/dist/components/SideNav/SideNav.recipe.d.ts.map +1 -1
  604. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  605. package/dist/components/SideNav/index.cjs +22 -23
  606. package/dist/components/SideNav/index.d.ts +0 -1
  607. package/dist/components/SideNav/index.d.ts.map +1 -1
  608. package/dist/components/SideNav/index.js +16 -13
  609. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  610. package/dist/components/Skeleton/Skeleton.recipe.d.ts +28 -0
  611. package/dist/components/Skeleton/Skeleton.recipe.d.ts.map +1 -0
  612. package/dist/components/Skeleton/index.cjs +8 -3
  613. package/dist/components/Skeleton/index.d.ts +1 -0
  614. package/dist/components/Skeleton/index.d.ts.map +1 -1
  615. package/dist/components/Skeleton/index.js +3 -2
  616. package/dist/components/Slider/Slider.d.ts.map +1 -1
  617. package/dist/components/Slider/Slider.recipe.d.ts +99 -0
  618. package/dist/components/Slider/Slider.recipe.d.ts.map +1 -0
  619. package/dist/components/Slider/index.cjs +17 -11
  620. package/dist/components/Slider/index.d.ts +1 -0
  621. package/dist/components/Slider/index.d.ts.map +1 -1
  622. package/dist/components/Slider/index.js +12 -10
  623. package/dist/components/Spinner/Spinner.d.ts +6 -6
  624. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  625. package/dist/components/Spinner/Spinner.recipe.d.ts +25 -12
  626. package/dist/components/Spinner/Spinner.recipe.d.ts.map +1 -1
  627. package/dist/components/Spinner/index.cjs +9 -11
  628. package/dist/components/Spinner/index.d.ts +0 -1
  629. package/dist/components/Spinner/index.d.ts.map +1 -1
  630. package/dist/components/Spinner/index.js +8 -6
  631. package/dist/components/Stack/Stack.d.ts +2 -2
  632. package/dist/components/Stack/Stack.d.ts.map +1 -1
  633. package/dist/components/Stack/index.cjs +5 -9
  634. package/dist/components/Stack/index.d.ts +0 -1
  635. package/dist/components/Stack/index.d.ts.map +1 -1
  636. package/dist/components/Stack/index.js +3 -3
  637. package/dist/components/Stepper/index.cjs +11 -10
  638. package/dist/components/Stepper/index.js +8 -7
  639. package/dist/components/Switch/Switch.d.ts.map +1 -1
  640. package/dist/components/Switch/Switch.recipe.d.ts +60 -0
  641. package/dist/components/Switch/Switch.recipe.d.ts.map +1 -0
  642. package/dist/components/Switch/index.cjs +13 -11
  643. package/dist/components/Switch/index.js +12 -10
  644. package/dist/components/Table/TableCell.d.ts.map +1 -1
  645. package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
  646. package/dist/components/Table/index.cjs +64 -60
  647. package/dist/components/Table/index.js +36 -32
  648. package/dist/components/Tabs/Tabs.d.ts +5 -0
  649. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  650. package/dist/components/Tabs/index.cjs +20 -17
  651. package/dist/components/Tabs/index.js +15 -12
  652. package/dist/components/Tag/index.cjs +10 -13
  653. package/dist/components/Tag/index.d.ts +0 -1
  654. package/dist/components/Tag/index.d.ts.map +1 -1
  655. package/dist/components/Tag/index.js +9 -8
  656. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  657. package/dist/components/TagsInput/index.cjs +22 -18
  658. package/dist/components/TagsInput/index.js +21 -17
  659. package/dist/components/Text/index.cjs +8 -15
  660. package/dist/components/Text/index.d.ts +0 -1
  661. package/dist/components/Text/index.d.ts.map +1 -1
  662. package/dist/components/Text/index.js +6 -5
  663. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  664. package/dist/components/TextArea/index.cjs +16 -13
  665. package/dist/components/TextArea/index.js +15 -12
  666. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  667. package/dist/components/TextInput/index.cjs +21 -14
  668. package/dist/components/TextInput/index.js +20 -13
  669. package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
  670. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +36 -0
  671. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts.map +1 -0
  672. package/dist/components/Thumbnail/index.cjs +16 -13
  673. package/dist/components/Thumbnail/index.d.ts +1 -0
  674. package/dist/components/Thumbnail/index.d.ts.map +1 -1
  675. package/dist/components/Thumbnail/index.js +15 -12
  676. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  677. package/dist/components/TimeInput/index.cjs +20 -13
  678. package/dist/components/TimeInput/index.js +19 -12
  679. package/dist/components/Toast/index.cjs +17 -14
  680. package/dist/components/Toast/index.js +14 -11
  681. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
  682. package/dist/components/ToggleButton/index.cjs +13 -14
  683. package/dist/components/ToggleButton/index.js +11 -12
  684. package/dist/components/Tooltip/index.cjs +6 -5
  685. package/dist/components/Tooltip/index.js +4 -3
  686. package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
  687. package/dist/components/TopNav/index.cjs +22 -23
  688. package/dist/components/TopNav/index.d.ts +0 -1
  689. package/dist/components/TopNav/index.d.ts.map +1 -1
  690. package/dist/components/TopNav/index.js +16 -13
  691. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  692. package/dist/components/TreeView/index.cjs +5 -5
  693. package/dist/components/TreeView/index.js +4 -4
  694. package/dist/index.cjs +584 -332
  695. package/dist/index.cjs.map +1 -1
  696. package/dist/index.d.ts +27 -22
  697. package/dist/index.d.ts.map +1 -1
  698. package/dist/index.js +384 -77
  699. package/dist/index.js.map +1 -1
  700. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  701. package/dist/internal/spacingTokens.d.ts +8 -0
  702. package/dist/internal/spacingTokens.d.ts.map +1 -0
  703. package/dist/styles.css +1 -1
  704. package/dist/themes/presets.d.ts +48 -0
  705. package/dist/themes/presets.d.ts.map +1 -0
  706. package/package.json +12 -2
  707. package/dist/chunk-25OAUQRF.cjs.map +0 -1
  708. package/dist/chunk-2FPZULX3.cjs.map +0 -1
  709. package/dist/chunk-2FUG6NKO.js.map +0 -1
  710. package/dist/chunk-2PHHFBJ3.cjs.map +0 -1
  711. package/dist/chunk-2QK2NZN5.js.map +0 -1
  712. package/dist/chunk-2UTRYTT3.cjs.map +0 -1
  713. package/dist/chunk-2WP6NYYY.cjs +0 -113
  714. package/dist/chunk-2WP6NYYY.cjs.map +0 -1
  715. package/dist/chunk-2XCNB2O6.js.map +0 -1
  716. package/dist/chunk-3DE4GOZU.js +0 -207
  717. package/dist/chunk-3DE4GOZU.js.map +0 -1
  718. package/dist/chunk-3PSQDJQH.js.map +0 -1
  719. package/dist/chunk-47BELFYO.cjs.map +0 -1
  720. package/dist/chunk-4W7L63LH.js.map +0 -1
  721. package/dist/chunk-4XRVXUJQ.cjs +0 -242
  722. package/dist/chunk-4XRVXUJQ.cjs.map +0 -1
  723. package/dist/chunk-5EQN3YMQ.cjs.map +0 -1
  724. package/dist/chunk-5OS5A27C.js.map +0 -1
  725. package/dist/chunk-6NIFOTUZ.cjs.map +0 -1
  726. package/dist/chunk-6SPQDYHC.cjs.map +0 -1
  727. package/dist/chunk-6UVJUY7Z.cjs.map +0 -1
  728. package/dist/chunk-7EXVJWG5.js.map +0 -1
  729. package/dist/chunk-AFT635BR.cjs +0 -308
  730. package/dist/chunk-AFT635BR.cjs.map +0 -1
  731. package/dist/chunk-AZDWQGAX.cjs.map +0 -1
  732. package/dist/chunk-BCJ25X7C.js.map +0 -1
  733. package/dist/chunk-BSBEPQLM.cjs.map +0 -1
  734. package/dist/chunk-CA6645TQ.js.map +0 -1
  735. package/dist/chunk-CR4NB42L.cjs.map +0 -1
  736. package/dist/chunk-CVH6X6ND.js +0 -125
  737. package/dist/chunk-CVH6X6ND.js.map +0 -1
  738. package/dist/chunk-CWUC4TOQ.js.map +0 -1
  739. package/dist/chunk-CXBB2LN7.js.map +0 -1
  740. package/dist/chunk-CZJUKLFD.cjs.map +0 -1
  741. package/dist/chunk-D6KXW75E.js.map +0 -1
  742. package/dist/chunk-DFF72N57.js.map +0 -1
  743. package/dist/chunk-DHUK3GNK.cjs +0 -258
  744. package/dist/chunk-DHUK3GNK.cjs.map +0 -1
  745. package/dist/chunk-DJW7T3WJ.js.map +0 -1
  746. package/dist/chunk-DONU5ALC.cjs.map +0 -1
  747. package/dist/chunk-E4TIWN4Z.cjs.map +0 -1
  748. package/dist/chunk-EB5EHX6I.js.map +0 -1
  749. package/dist/chunk-EBUSMPS6.js +0 -306
  750. package/dist/chunk-EBUSMPS6.js.map +0 -1
  751. package/dist/chunk-EETTQWW5.cjs.map +0 -1
  752. package/dist/chunk-EHBV6ZMM.js +0 -239
  753. package/dist/chunk-EHBV6ZMM.js.map +0 -1
  754. package/dist/chunk-EM2F6BZ2.js.map +0 -1
  755. package/dist/chunk-FVIEYPDB.js.map +0 -1
  756. package/dist/chunk-G44NDBPN.cjs +0 -62
  757. package/dist/chunk-G44NDBPN.cjs.map +0 -1
  758. package/dist/chunk-GKG47NK6.cjs.map +0 -1
  759. package/dist/chunk-GUF4ZNPQ.js.map +0 -1
  760. package/dist/chunk-GZ5SRSD4.js.map +0 -1
  761. package/dist/chunk-H6OY6FLC.js.map +0 -1
  762. package/dist/chunk-HPZ7LLXK.js.map +0 -1
  763. package/dist/chunk-HWCL6JFB.js.map +0 -1
  764. package/dist/chunk-HXT6A6GH.cjs.map +0 -1
  765. package/dist/chunk-I6IGTQLG.cjs +0 -251
  766. package/dist/chunk-I6IGTQLG.cjs.map +0 -1
  767. package/dist/chunk-IT72TF72.js.map +0 -1
  768. package/dist/chunk-IWSS5745.js.map +0 -1
  769. package/dist/chunk-JCYPM27J.js.map +0 -1
  770. package/dist/chunk-K574UTWP.cjs.map +0 -1
  771. package/dist/chunk-KVREBGWA.js.map +0 -1
  772. package/dist/chunk-KXXRALHT.cjs.map +0 -1
  773. package/dist/chunk-KXXTWWJZ.cjs.map +0 -1
  774. package/dist/chunk-LBRKUZSQ.cjs.map +0 -1
  775. package/dist/chunk-LFZXGIR6.cjs.map +0 -1
  776. package/dist/chunk-MCOVG6W6.js.map +0 -1
  777. package/dist/chunk-MKAOIB2O.cjs.map +0 -1
  778. package/dist/chunk-NGWNIMMX.js +0 -247
  779. package/dist/chunk-NGWNIMMX.js.map +0 -1
  780. package/dist/chunk-NILB6Y4Z.cjs.map +0 -1
  781. package/dist/chunk-NJDV3LDH.js.map +0 -1
  782. package/dist/chunk-NMHCRHRI.cjs.map +0 -1
  783. package/dist/chunk-NOZ6U6ZJ.js.map +0 -1
  784. package/dist/chunk-NPJXGQOF.cjs.map +0 -1
  785. package/dist/chunk-NSHWBZL4.cjs.map +0 -1
  786. package/dist/chunk-O5RVLBKN.cjs.map +0 -1
  787. package/dist/chunk-OA4KIVLO.cjs.map +0 -1
  788. package/dist/chunk-OAUKYH6C.cjs.map +0 -1
  789. package/dist/chunk-OKKL652L.js.map +0 -1
  790. package/dist/chunk-OZNNBPMP.cjs +0 -288
  791. package/dist/chunk-OZNNBPMP.cjs.map +0 -1
  792. package/dist/chunk-P5AZUUM2.cjs.map +0 -1
  793. package/dist/chunk-PDXZDPOY.cjs.map +0 -1
  794. package/dist/chunk-PGKOWMP4.js.map +0 -1
  795. package/dist/chunk-PHFEQG4E.cjs.map +0 -1
  796. package/dist/chunk-PZO5MZ46.js.map +0 -1
  797. package/dist/chunk-QFO5ZTZZ.js.map +0 -1
  798. package/dist/chunk-QRDRZNCS.cjs.map +0 -1
  799. package/dist/chunk-QRXMW7MQ.cjs.map +0 -1
  800. package/dist/chunk-QXI446BK.cjs +0 -209
  801. package/dist/chunk-QXI446BK.cjs.map +0 -1
  802. package/dist/chunk-R2NQNVEV.js.map +0 -1
  803. package/dist/chunk-RCAA2CZJ.js.map +0 -1
  804. package/dist/chunk-RGPL6EDK.js +0 -110
  805. package/dist/chunk-RGPL6EDK.js.map +0 -1
  806. package/dist/chunk-RJXHAQCR.cjs.map +0 -1
  807. package/dist/chunk-RLQYXUDO.js +0 -59
  808. package/dist/chunk-RLQYXUDO.js.map +0 -1
  809. package/dist/chunk-S5NFDKPL.js.map +0 -1
  810. package/dist/chunk-T55MB2CA.js.map +0 -1
  811. package/dist/chunk-TPSOUQG7.cjs.map +0 -1
  812. package/dist/chunk-U35V3GVC.js.map +0 -1
  813. package/dist/chunk-UHQRL4OA.js.map +0 -1
  814. package/dist/chunk-UWG5UQFV.cjs.map +0 -1
  815. package/dist/chunk-UZNSGQT3.cjs.map +0 -1
  816. package/dist/chunk-VIJHDURK.js.map +0 -1
  817. package/dist/chunk-VLIQPSPM.js.map +0 -1
  818. package/dist/chunk-VT7VKCHL.cjs.map +0 -1
  819. package/dist/chunk-VTQRXV32.js +0 -565
  820. package/dist/chunk-VTQRXV32.js.map +0 -1
  821. package/dist/chunk-VVYUCQHP.js.map +0 -1
  822. package/dist/chunk-WA4DRAQ7.js.map +0 -1
  823. package/dist/chunk-WBPIJ4D5.js.map +0 -1
  824. package/dist/chunk-WE3ECIRS.cjs.map +0 -1
  825. package/dist/chunk-WEEYUS7M.cjs.map +0 -1
  826. package/dist/chunk-WIIDQ44X.cjs.map +0 -1
  827. package/dist/chunk-WIW2YR46.js.map +0 -1
  828. package/dist/chunk-WM66IPV4.cjs +0 -567
  829. package/dist/chunk-WM66IPV4.cjs.map +0 -1
  830. package/dist/chunk-WSAZHUB3.cjs.map +0 -1
  831. package/dist/chunk-XQMLA75S.js.map +0 -1
  832. package/dist/chunk-Y73472IA.js.map +0 -1
  833. package/dist/chunk-YHR44PWO.js.map +0 -1
  834. package/dist/chunk-YMC56K6R.cjs.map +0 -1
  835. package/dist/chunk-YOFCBZAX.js +0 -286
  836. package/dist/chunk-YOFCBZAX.js.map +0 -1
  837. package/dist/chunk-YOWRLFMF.cjs +0 -128
  838. package/dist/chunk-YOWRLFMF.cjs.map +0 -1
  839. package/dist/chunk-YRXGCYT2.js.map +0 -1
  840. package/dist/chunk-YT3UWEVY.js.map +0 -1
  841. package/dist/chunk-YX7DI3O3.cjs.map +0 -1
  842. package/dist/chunk-YZUBJ2L2.cjs.map +0 -1
  843. package/dist/chunk-Z2STCD6I.js.map +0 -1
  844. package/dist/chunk-ZC7H4S4T.cjs.map +0 -1
  845. package/dist/chunk-ZHFAFEI2.js.map +0 -1
  846. package/dist/chunk-ZVBVKZ4P.cjs.map +0 -1
  847. package/dist/chunk-ZW4XKNDR.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/List/ListContext.tsx","../src/components/List/List.tsx","../src/components/List/ListItem.tsx"],"names":["createContext","css","useId","useMemo","jsx","cx","jsxs","styles","use","Item"],"mappings":"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","file":"chunk-UX2Z7LRM.cjs","sourcesContent":["import {createContext} from 'react';\n\nexport type ListStyle = 'none' | 'disc' | 'decimal' | 'circle';\n\nexport interface ListContextValue {\n hasDividers: boolean;\n listStyle: ListStyle;\n}\n\nexport const ListContext = createContext<ListContextValue | null>(null);\nListContext.displayName = 'ListContext';\n","import {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {ListContext, type ListStyle} from './ListContext';\n\nexport type {ListStyle};\n\nexport interface ListProps {\n /**\n * List items.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the list element.\n */\n className?: string;\n /**\n * Test ID applied to the list element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show dividers between list items.\n * @default false\n */\n hasDividers?: boolean;\n /**\n * Header content rendered above and associated with the list.\n */\n header?: ReactNode;\n /**\n * List marker style. `decimal` renders an ordered list.\n * @default 'none'\n */\n listStyle?: ListStyle;\n /**\n * Ref forwarded to the list element.\n */\n ref?: Ref<HTMLUListElement | HTMLOListElement>;\n /**\n * Starting number for ordered lists.\n * @default 1\n */\n start?: number;\n /**\n * Inline styles applied to the list element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n }),\n list: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n withDividers: css({\n gap: 0,\n }),\n withCounter: css({\n counterReset: 'silver-list',\n }),\n header: css({\n mb: '2',\n }),\n} as const;\n\n/**\n * Semantic vertical list container with optional dividers, markers, and header.\n */\nexport function List({\n children,\n className,\n 'data-testid': dataTestId,\n hasDividers = false,\n header,\n listStyle = 'none',\n ref,\n start,\n style,\n}: ListProps): React.JSX.Element {\n const headerId = useId();\n const isOrdered = listStyle === 'decimal';\n const Component = isOrdered ? 'ol' : 'ul';\n const counterReset =\n listStyle !== 'none' && start != null && start !== 1\n ? `silver-list ${start - 1}`\n : undefined;\n const contextValue = useMemo(\n () => ({hasDividers, listStyle}),\n [hasDividers, listStyle],\n );\n\n const listElement = (\n <Component\n aria-labelledby={header != null ? headerId : undefined}\n className={cx(\n styles.list,\n hasDividers ? styles.withDividers : undefined,\n listStyle !== 'none' ? styles.withCounter : undefined,\n className,\n )}\n data-testid={dataTestId}\n ref={ref as Ref<HTMLUListElement & HTMLOListElement>}\n role={listStyle === 'none' && !isOrdered ? 'list' : undefined}\n start={isOrdered ? start : undefined}\n style={{counterReset, ...style}}>\n {children}\n </Component>\n );\n\n return (\n <ListContext value={contextValue}>\n {header == null ? (\n listElement\n ) : (\n <div className={styles.root}>\n <div className={styles.header} id={headerId}>\n {header}\n </div>\n {listElement}\n </div>\n )}\n </ListContext>\n );\n}\n\nList.displayName = 'List';\n","import {\n use,\n type CSSProperties,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Item} from '../Item';\nimport {ListContext, type ListStyle} from './ListContext';\n\nexport interface ListItemProps {\n /**\n * Additional CSS class names applied to the list item.\n */\n className?: string;\n /**\n * Test ID applied to the list item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content rendered after the label area.\n */\n endContent?: ReactNode;\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Click handler for interactive items.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Link relationship.\n */\n rel?: string;\n /**\n * Content rendered before the label area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the list item.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n}\n\nconst markerSize = '6px';\n\nconst styles = {\n withCounter: css({\n counterIncrement: 'silver-list',\n }),\n withDivider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n _last: {\n borderBlockEndWidth: 0,\n },\n }),\n noRadius: css({\n borderRadius: 0,\n }),\n markerContainer: css({\n alignSelf: 'baseline',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n mt: `calc((1em * 1.5 - ${markerSize}) / 2)`,\n }),\n dot: css({\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n bg: 'fg',\n }),\n circle: css({\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'fg',\n bg: 'transparent',\n }),\n number: css({\n alignSelf: 'baseline',\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: '1.5',\n w: '4',\n _before: {\n content: 'counter(silver-list) \".\"',\n },\n }),\n} as const;\n\nfunction Marker({listStyle}: {listStyle: ListStyle}): React.JSX.Element | null {\n if (listStyle === 'disc') {\n return (\n <span className={styles.markerContainer}>\n <span className={styles.dot} />\n </span>\n );\n }\n\n if (listStyle === 'circle') {\n return (\n <span className={styles.markerContainer}>\n <span className={styles.circle} />\n </span>\n );\n }\n\n if (listStyle === 'decimal') {\n return <span className={styles.number} />;\n }\n\n return null;\n}\n\n/**\n * Structured list item built on the shared `Item` primitive.\n */\nexport function ListItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n rel,\n startContent,\n style,\n target,\n}: ListItemProps): React.JSX.Element {\n const context = use(ListContext);\n const hasDividers = context?.hasDividers ?? false;\n const listStyle = context?.listStyle ?? 'none';\n const hasMarkers = listStyle !== 'none';\n\n return (\n <Item\n as=\"li\"\n className={cx(\n hasMarkers ? styles.withCounter : undefined,\n hasDividers ? styles.withDivider : undefined,\n hasDividers ? styles.noRadius : undefined,\n className,\n )}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n href={href}\n isDisabled={isDisabled}\n isSelected={isSelected}\n label={label}\n leadingContent={<Marker listStyle={listStyle} />}\n onClick={onClick}\n ref={ref}\n rel={rel}\n startContent={startContent}\n style={style}\n target={target}\n />\n );\n}\n\nListItem.displayName = 'ListItem';\n"]}
@@ -0,0 +1,123 @@
1
+ import { sva } from './chunk-EHCAF6D3.js';
2
+ import { cx } from './chunk-PPNETWIP.js';
3
+ import { useId } from 'react';
4
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
5
+
6
+ // src/components/Divider/Divider.recipe.ts
7
+ var dividerRecipe = sva({
8
+ slots: ["root", "line", "label"],
9
+ base: {
10
+ root: {
11
+ color: "fg.muted",
12
+ alignItems: "center"
13
+ },
14
+ line: {
15
+ flex: 1
16
+ },
17
+ label: {
18
+ flexShrink: 0,
19
+ fontFamily: "body",
20
+ fontSize: "sm",
21
+ color: "fg.muted"
22
+ }
23
+ },
24
+ variants: {
25
+ orientation: {
26
+ horizontal: {
27
+ root: { display: "flex", w: "100%" },
28
+ line: { h: "1px" },
29
+ label: { px: "3" }
30
+ },
31
+ vertical: {
32
+ root: { display: "inline-flex", flexDirection: "column", h: "100%" },
33
+ line: { w: "1px" },
34
+ label: { py: "3" }
35
+ }
36
+ },
37
+ variant: {
38
+ subtle: { line: { bg: "border" } },
39
+ strong: { line: { bg: "border.emphasized" } }
40
+ },
41
+ // Marker variant; the real full-bleed styling is orientation-dependent, so
42
+ // it lives in compoundVariants below.
43
+ isFullBleed: {
44
+ true: {}
45
+ }
46
+ },
47
+ compoundVariants: [
48
+ {
49
+ orientation: "horizontal",
50
+ isFullBleed: true,
51
+ css: {
52
+ root: {
53
+ mx: "calc(-1 * var(--card-padding, 0px))",
54
+ w: "calc(100% + var(--card-padding, 0px) * 2)"
55
+ }
56
+ }
57
+ },
58
+ {
59
+ orientation: "vertical",
60
+ isFullBleed: true,
61
+ css: {
62
+ root: {
63
+ my: "calc(-1 * var(--card-padding, 0px))",
64
+ h: "calc(100% + var(--card-padding, 0px) * 2)"
65
+ }
66
+ }
67
+ }
68
+ ],
69
+ defaultVariants: {
70
+ orientation: "horizontal",
71
+ variant: "subtle",
72
+ isFullBleed: false
73
+ }
74
+ });
75
+ function formatSize(value) {
76
+ return typeof value === "number" ? `${value}px` : value;
77
+ }
78
+ function Divider({
79
+ "aria-label": ariaLabel,
80
+ className,
81
+ "data-testid": dataTestId,
82
+ height,
83
+ isFullBleed = false,
84
+ label,
85
+ orientation = "horizontal",
86
+ ref,
87
+ style,
88
+ variant = "subtle",
89
+ width
90
+ }) {
91
+ const labelId = useId();
92
+ const isHorizontal = orientation === "horizontal";
93
+ const classes = dividerRecipe({ orientation, variant, isFullBleed });
94
+ const dimensionStyle = {
95
+ width: isHorizontal && width != null ? formatSize(width) : void 0,
96
+ height: !isHorizontal && height != null ? formatSize(height) : void 0
97
+ };
98
+ return /* @__PURE__ */ jsxs(
99
+ "div",
100
+ {
101
+ "aria-label": ariaLabel,
102
+ "aria-labelledby": label != null && ariaLabel == null ? labelId : void 0,
103
+ "aria-orientation": orientation,
104
+ className: cx(classes.root, className),
105
+ "data-testid": dataTestId,
106
+ ref,
107
+ role: "separator",
108
+ style: { ...dimensionStyle, ...style },
109
+ children: [
110
+ /* @__PURE__ */ jsx("div", { className: classes.line }),
111
+ label != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
112
+ /* @__PURE__ */ jsx("div", { className: classes.label, id: labelId, children: label }),
113
+ /* @__PURE__ */ jsx("div", { className: classes.line })
114
+ ] }) : null
115
+ ]
116
+ }
117
+ );
118
+ }
119
+ Divider.displayName = "Divider";
120
+
121
+ export { Divider };
122
+ //# sourceMappingURL=chunk-UY3MYNI6.js.map
123
+ //# sourceMappingURL=chunk-UY3MYNI6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Divider/Divider.recipe.ts","../src/components/Divider/Divider.tsx"],"names":[],"mappings":"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","file":"chunk-UY3MYNI6.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const dividerRecipe = sva({\n slots: ['root', 'line', 'label'],\n base: {\n root: {\n color: 'fg.muted',\n alignItems: 'center',\n },\n line: {\n flex: 1,\n },\n label: {\n flexShrink: 0,\n fontFamily: 'body',\n fontSize: 'sm',\n color: 'fg.muted',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n root: {display: 'flex', w: '100%'},\n line: {h: '1px'},\n label: {px: '3'},\n },\n vertical: {\n root: {display: 'inline-flex', flexDirection: 'column', h: '100%'},\n line: {w: '1px'},\n label: {py: '3'},\n },\n },\n variant: {\n subtle: {line: {bg: 'border'}},\n strong: {line: {bg: 'border.emphasized'}},\n },\n // Marker variant; the real full-bleed styling is orientation-dependent, so\n // it lives in compoundVariants below.\n isFullBleed: {\n true: {},\n },\n },\n compoundVariants: [\n {\n orientation: 'horizontal',\n isFullBleed: true,\n css: {\n root: {\n mx: 'calc(-1 * var(--card-padding, 0px))',\n w: 'calc(100% + var(--card-padding, 0px) * 2)',\n },\n },\n },\n {\n orientation: 'vertical',\n isFullBleed: true,\n css: {\n root: {\n my: 'calc(-1 * var(--card-padding, 0px))',\n h: 'calc(100% + var(--card-padding, 0px) * 2)',\n },\n },\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n variant: 'subtle',\n isFullBleed: false,\n },\n});\n\nexport type DividerVariants = RecipeVariantProps<typeof dividerRecipe>;\n","import {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {dividerRecipe} from './Divider.recipe';\n\nexport type DividerOrientation = 'horizontal' | 'vertical';\nexport type DividerVariant = 'subtle' | 'strong';\n\n/**\n * Visual separator for grouping content.\n */\nexport interface DividerProps {\n /**\n * Accessible label for the separator. Use when the divider conveys\n * meaning beyond a visual break (e.g., separating named sections).\n */\n 'aria-label'?: string;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Length of a vertical divider. Numbers are treated as pixels. Ignored for\n * horizontal dividers, which size to their container width.\n */\n height?: number | string;\n /**\n * Whether the divider should escape container padding.\n */\n isFullBleed?: boolean;\n /**\n * Optional label rendered in the divider.\n */\n label?: ReactNode;\n /**\n * Divider orientation. Default is `horizontal`.\n */\n orientation?: DividerOrientation;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Visual weight of the divider. Default is `subtle`.\n */\n variant?: DividerVariant;\n /**\n * Length of a horizontal divider. Numbers are treated as pixels. Ignored for\n * vertical dividers, which size to their container height.\n */\n width?: number | string;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function Divider({\n 'aria-label': ariaLabel,\n className,\n 'data-testid': dataTestId,\n height,\n isFullBleed = false,\n label,\n orientation = 'horizontal',\n ref,\n style,\n variant = 'subtle',\n width,\n}: DividerProps): React.JSX.Element {\n const labelId = useId();\n const isHorizontal = orientation === 'horizontal';\n const classes = dividerRecipe({orientation, variant, isFullBleed});\n // Only the along-axis length applies: width for horizontal, height for\n // vertical. Consumer `style` still wins via the spread below.\n const dimensionStyle: CSSProperties = {\n width: isHorizontal && width != null ? formatSize(width) : undefined,\n height: !isHorizontal && height != null ? formatSize(height) : undefined,\n };\n\n return (\n <div\n aria-label={ariaLabel}\n aria-labelledby={label != null && ariaLabel == null ? labelId : undefined}\n aria-orientation={orientation}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"separator\"\n style={{...dimensionStyle, ...style}}>\n <div className={classes.line} />\n {label != null ? (\n <>\n <div className={classes.label} id={labelId}>\n {label}\n </div>\n <div className={classes.line} />\n </>\n ) : null}\n </div>\n );\n}\n\nDivider.displayName = 'Divider';\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ButtonGroupContext } from './chunk-Z4TZAJS3.js';
2
- import { cva } from './chunk-NAELQLZN.js';
2
+ import { cva } from './chunk-FMEIPGUP.js';
3
3
  import { cx } from './chunk-PPNETWIP.js';
4
4
  import { useMemo } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -85,6 +85,6 @@ function ButtonGroup({
85
85
  }
86
86
  ButtonGroup.displayName = "ButtonGroup";
87
87
 
88
- export { ButtonGroup, buttonGroupRecipe };
89
- //# sourceMappingURL=chunk-T55MB2CA.js.map
90
- //# sourceMappingURL=chunk-T55MB2CA.js.map
88
+ export { ButtonGroup };
89
+ //# sourceMappingURL=chunk-UYKFE7KF.js.map
90
+ //# sourceMappingURL=chunk-UYKFE7KF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ButtonGroup/ButtonGroup.recipe.ts","../src/components/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":";;;;;;;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,SAAA;AAAA,IACZ,SAAA,EAAW,SAAA;AAAA,IACX,qBAAA,EAAuB;AAAA,MACrB,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,mCAAA,EAAqC;AAAA,MACnC,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY;AAAA,QACV,aAAA,EAAe,KAAA;AAAA,QACf,gFAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,sBAAA,EAAwB,CAAA;AAAA,UACxB,sBAAA,EAAwB,SAAA;AAAA,UACxB,sBAAA,EAAwB,OAAA;AAAA,UACxB,sBAAA,EAAwB;AAAA,SAC1B;AAAA,QACF,8EAAA,EACE;AAAA,UACE,oBAAA,EAAsB,CAAA;AAAA,UACtB,uBAAA,EAAyB;AAAA;AAC3B,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,aAAA,EAAe,QAAA;AAAA,QACf,gFAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,oBAAA,EAAsB,CAAA;AAAA,UACtB,qBAAA,EAAuB,SAAA;AAAA,UACvB,qBAAA,EAAuB,OAAA;AAAA,UACvB,qBAAA,EAAuB;AAAA,SACzB;AAAA,QACF,8EAAA,EACE;AAAA,UACE,sBAAA,EAAwB,CAAA;AAAA,UACxB,uBAAA,EAAyB;AAAA;AAC3B;AACJ;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC,CAAA;ACIM,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,GAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,OAAO,EAAC,UAAA,EAAY,WAAA,EAAa,IAAA,EAAI,CAAA;AAAA,IACrC,CAAC,UAAA,EAAY,WAAA,EAAa,IAAI;AAAA,GAChC;AAEA,EAAA,uBACE,GAAA,CAAC,kBAAA,EAAA,EAAmB,KAAA,EAAO,YAAA,EACzB,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,YAAA,EAAY,KAAA;AAAA,MACZ,WAAW,EAAA,CAAG,iBAAA,CAAkB,EAAC,WAAA,EAAY,GAAG,SAAS,CAAA;AAAA,MACzD,kBAAA,EAAkB,WAAA;AAAA,MAClB,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA;AAAA,MACC;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-UYKFE7KF.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const buttonGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'stretch',\n isolation: 'isolate',\n '& :where(button, a)': {\n position: 'relative',\n },\n '& :where(button, a):focus-visible': {\n zIndex: 1,\n },\n },\n variants: {\n orientation: {\n horizontal: {\n flexDirection: 'row',\n '& > :not(:first-child):is(button, a), & > :not(:first-child) :where(button, a)':\n {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n },\n '& > :not(:last-child):is(button, a), & > :not(:last-child) :where(button, a)':\n {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n vertical: {\n flexDirection: 'column',\n '& > :not(:first-child):is(button, a), & > :not(:first-child) :where(button, a)':\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n },\n '& > :not(:last-child):is(button, a), & > :not(:last-child) :where(button, a)':\n {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type ButtonGroupVariants = RecipeVariantProps<typeof buttonGroupRecipe>;\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button/Button';\nimport {buttonGroupRecipe} from './ButtonGroup.recipe';\nimport {\n ButtonGroupContext,\n type ButtonGroupOrientation,\n} from './ButtonGroupContext';\n\n/**\n * Groups related Buttons and propagates shared size, disabled state, and\n * orientation to child Buttons.\n */\nexport interface ButtonGroupProps {\n /**\n * Direct children should be `<Button>` elements.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether all buttons in the group are disabled.\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the group.\n */\n label: string;\n /**\n * Orientation for layout. Default is `horizontal`.\n */\n orientation?: ButtonGroupOrientation;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Default size for Buttons in the group. Individual Buttons can override it.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Groups related Buttons and propagates shared size, disabled state, and\n * orientation to child Buttons.\n */\nexport function ButtonGroup({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n orientation = 'horizontal',\n ref,\n size = 'md',\n style,\n}: ButtonGroupProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({isDisabled, orientation, size}),\n [isDisabled, orientation, size],\n );\n\n return (\n <ButtonGroupContext value={contextValue}>\n <div\n aria-disabled={isDisabled || undefined}\n aria-label={label}\n className={cx(buttonGroupRecipe({orientation}), className)}\n data-orientation={orientation}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </ButtonGroupContext>\n );\n}\n\nButtonGroup.displayName = 'ButtonGroup';\n"]}
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var chunkVT7VKCHL_cjs = require('./chunk-VT7VKCHL.cjs');
3
+ var chunkRSG7N5QQ_cjs = require('./chunk-RSG7N5QQ.cjs');
4
4
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
5
- var chunkAZDWQGAX_cjs = require('./chunk-AZDWQGAX.cjs');
5
+ var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
- var ContextMenuItem = chunkVT7VKCHL_cjs.DropdownMenuItem;
9
+ var ContextMenuItem = chunkRSG7N5QQ_cjs.DropdownMenuItem;
10
10
  var styles = {
11
- trigger: chunkAZDWQGAX_cjs.css({
11
+ trigger: chunkRU6JG3FS_cjs.css({
12
12
  display: "contents"
13
13
  }),
14
- menu: chunkAZDWQGAX_cjs.css({
14
+ menu: chunkRU6JG3FS_cjs.css({
15
15
  display: "none",
16
16
  flexDirection: "column",
17
17
  gap: "0.5",
@@ -156,9 +156,9 @@ function ContextMenu({
156
156
  },
157
157
  [isDisabled, show]
158
158
  );
159
- const handleMenuKeyDown = chunkVT7VKCHL_cjs.useMenuKeyboard(menuRef, hide);
159
+ const handleMenuKeyDown = chunkRSG7N5QQ_cjs.useMenuKeyboard(menuRef, hide);
160
160
  const menuNode = react.useMemo(
161
- () => items == null ? menuContent : chunkVT7VKCHL_cjs.renderMenuItems(items),
161
+ () => items == null ? menuContent : chunkRSG7N5QQ_cjs.renderMenuItems(items),
162
162
  [items, menuContent]
163
163
  );
164
164
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -192,11 +192,11 @@ function ContextMenu({
192
192
  left: position.x,
193
193
  position: "fixed",
194
194
  top: position.y,
195
- width: chunkVT7VKCHL_cjs.formatMenuWidth(menuWidth),
195
+ width: chunkRSG7N5QQ_cjs.formatMenuWidth(menuWidth),
196
196
  ...style
197
197
  },
198
198
  tabIndex: -1,
199
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkVT7VKCHL_cjs.DropdownMenuContext, { value: contextValue, children: menuNode })
199
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkRSG7N5QQ_cjs.DropdownMenuContext, { value: contextValue, children: menuNode })
200
200
  }
201
201
  )
202
202
  ] });
@@ -205,5 +205,5 @@ ContextMenu.displayName = "ContextMenu";
205
205
 
206
206
  exports.ContextMenu = ContextMenu;
207
207
  exports.ContextMenuItem = ContextMenuItem;
208
- //# sourceMappingURL=chunk-DNVOWNQG.cjs.map
209
- //# sourceMappingURL=chunk-DNVOWNQG.cjs.map
208
+ //# sourceMappingURL=chunk-V7Q64Z3S.cjs.map
209
+ //# sourceMappingURL=chunk-V7Q64Z3S.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ContextMenu/ContextMenu.tsx"],"names":["DropdownMenuItem","css","useId","useRef","useState","useCallback","useEffect","useImperativeHandle","useMemo","useMenuKeyboard","renderMenuItems","jsxs","Fragment","jsx","cx","formatMenuWidth","DropdownMenuContext"],"mappings":"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","file":"chunk-DNVOWNQG.cjs","sourcesContent":["import {\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\nimport {\n DropdownMenuContext,\n DropdownMenuItem,\n type DropdownMenuDivider,\n type DropdownMenuItemData,\n type DropdownMenuItemProps,\n type DropdownMenuOption,\n type DropdownMenuSection,\n} from '../DropdownMenu';\nimport {\n formatMenuWidth,\n renderMenuItems,\n useMenuKeyboard,\n} from '../DropdownMenu/menuUtils';\n\nexport type ContextMenuSize = ButtonSize;\nexport type ContextMenuItemData = DropdownMenuItemData;\nexport type ContextMenuItemProps = DropdownMenuItemProps;\nexport type ContextMenuDivider = DropdownMenuDivider;\nexport type ContextMenuSection = DropdownMenuSection;\nexport type ContextMenuOption = DropdownMenuOption;\nexport const ContextMenuItem = DropdownMenuItem;\n\ninterface ContextMenuBaseProps {\n /**\n * The region that triggers the context menu on right-click.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the menu surface.\n */\n className?: string;\n /**\n * Test ID applied to the trigger wrapper.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether the context menu is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Width of the menu surface.\n * @default 160\n */\n menuWidth?: number | string;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the trigger wrapper.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Menu item size.\n * @default 'md'\n */\n size?: ContextMenuSize;\n /**\n * Inline styles applied to the menu surface.\n */\n style?: CSSProperties;\n}\n\ninterface ContextMenuDataProps extends ContextMenuBaseProps {\n items: ReadonlyArray<ContextMenuOption>;\n menuContent?: never;\n}\n\ninterface ContextMenuCompoundProps extends ContextMenuBaseProps {\n items?: never;\n menuContent: ReactNode;\n}\n\nexport type ContextMenuProps = ContextMenuDataProps | ContextMenuCompoundProps;\n\nconst styles = {\n trigger: css({\n display: 'contents',\n }),\n menu: css({\n display: 'none',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n minW: '40',\n m: 0,\n overflowY: 'auto',\n p: '1',\n borderWidth: 0,\n borderRadius: 'md',\n _open: {\n display: 'flex',\n },\n bg: 'bg',\n boxShadow: 'lg',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n} as const;\n\nfunction isPopoverOpen(element: HTMLElement | null): boolean {\n if (element == null) {\n return false;\n }\n if (element.hasAttribute('popover-open')) {\n return true;\n }\n try {\n return element.matches(':popover-open');\n } catch {\n return false;\n }\n}\n\n/**\n * Right-click context menu for contextual actions on a region.\n */\nexport function ContextMenu({\n children,\n className,\n 'data-testid': dataTestId,\n hasAutoFocus = true,\n isDisabled = false,\n menuWidth = 160,\n onOpenChange,\n ref,\n size = 'md',\n style,\n ...props\n}: ContextMenuProps): React.JSX.Element {\n const menuId = useId();\n const menuRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [position, setPosition] = useState({x: 0, y: 0});\n const items = 'items' in props ? props.items : undefined;\n const menuContent = 'menuContent' in props ? props.menuContent : undefined;\n\n const hide = useCallback(() => {\n if (!isOpen) {\n return;\n }\n menuRef.current?.hidePopover();\n setIsOpen(false);\n onOpenChange?.(false);\n }, [isOpen, onOpenChange]);\n\n const focusFirstItem = useCallback(() => {\n const firstItem = menuRef.current?.querySelector<HTMLElement>(\n '[role=\"menuitem\"]:not(:disabled):not([aria-disabled=\"true\"])',\n );\n firstItem?.focus();\n }, []);\n\n const show = useCallback(\n (x: number, y: number) => {\n setPosition({x, y});\n if (isPopoverOpen(menuRef.current)) {\n menuRef.current?.hidePopover();\n }\n menuRef.current?.showPopover();\n setIsOpen(true);\n onOpenChange?.(true);\n requestAnimationFrame(() => {\n if (menuRef.current != null) {\n const rect = menuRef.current.getBoundingClientRect();\n const margin = 4;\n const clampedX = Math.min(x, window.innerWidth - rect.width - margin);\n const clampedY = Math.min(\n y,\n window.innerHeight - rect.height - margin,\n );\n setPosition({\n x: Math.max(0, clampedX),\n y: Math.max(0, clampedY),\n });\n }\n if (hasAutoFocus) {\n focusFirstItem();\n }\n });\n },\n [focusFirstItem, hasAutoFocus, onOpenChange],\n );\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handleMouseDown = (event: globalThis.MouseEvent) => {\n const target = event.target;\n if (\n target instanceof Node &&\n (menuRef.current?.contains(target) === true ||\n triggerRef.current?.contains(target) === true)\n ) {\n return;\n }\n hide();\n };\n\n document.addEventListener('mousedown', handleMouseDown);\n return () => {\n document.removeEventListener('mousedown', handleMouseDown);\n };\n }, [hide, isOpen]);\n\n useImperativeHandle(ref, () => triggerRef.current as HTMLDivElement);\n\n const contextValue = useMemo(\n () => ({\n closeMenu: hide,\n menuSize: size,\n }),\n [hide, size],\n );\n\n const handleContextMenu = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n show(event.clientX, event.clientY);\n },\n [isDisabled, show],\n );\n\n const handleTriggerKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n if (\n event.key !== 'ContextMenu' &&\n !(event.shiftKey && event.key === 'F10')\n ) {\n return;\n }\n event.preventDefault();\n const rect = event.currentTarget.getBoundingClientRect();\n show(rect.left, rect.bottom);\n },\n [isDisabled, show],\n );\n\n const handleMenuKeyDown = useMenuKeyboard(menuRef, hide);\n\n const menuNode = useMemo(\n (): ReactNode => (items == null ? menuContent : renderMenuItems(items)),\n [items, menuContent],\n );\n\n return (\n <>\n <div\n aria-controls={isOpen ? menuId : undefined}\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n className={styles.trigger}\n data-testid={dataTestId}\n onContextMenu={handleContextMenu}\n onKeyDown={handleTriggerKeyDown}\n ref={triggerRef}\n role=\"button\"\n tabIndex={0}>\n {children}\n </div>\n <div\n aria-label=\"Context menu\"\n className={cx(styles.menu, className)}\n id={menuId}\n onKeyDown={handleMenuKeyDown}\n popover=\"manual\"\n ref={menuRef}\n role=\"menu\"\n style={{\n left: position.x,\n position: 'fixed',\n top: position.y,\n width: formatMenuWidth(menuWidth),\n ...style,\n }}\n tabIndex={-1}>\n <DropdownMenuContext value={contextValue}>\n {menuNode}\n </DropdownMenuContext>\n </div>\n </>\n );\n}\n\nContextMenu.displayName = 'ContextMenu';\n"]}
1
+ {"version":3,"sources":["../src/components/ContextMenu/ContextMenu.tsx"],"names":["DropdownMenuItem","css","useId","useRef","useState","useCallback","useEffect","useImperativeHandle","useMemo","useMenuKeyboard","renderMenuItems","jsxs","Fragment","jsx","cx","formatMenuWidth","DropdownMenuContext"],"mappings":";;;;;;;;AAsCO,IAAM,eAAA,GAAkBA;AA6D/B,IAAM,MAAA,GAAS;AAAA,EACb,SAASC,qBAAA,CAAI;AAAA,IACX,OAAA,EAAS;AAAA,GACV,CAAA;AAAA,EACD,MAAMA,qBAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,GAAA,EAAK,KAAA;AAAA,IACL,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,CAAA,EAAG,CAAA;AAAA,IACH,SAAA,EAAW,MAAA;AAAA,IACX,CAAA,EAAG,GAAA;AAAA,IACH,WAAA,EAAa,CAAA;AAAA,IACb,YAAA,EAAc,IAAA;AAAA,IACd,KAAA,EAAO;AAAA,MACL,OAAA,EAAS;AAAA,KACX;AAAA,IACA,EAAA,EAAI,IAAA;AAAA,IACJ,SAAA,EAAW,IAAA;AAAA,IACX,WAAA,EAAa,OAAA;AAAA,IACb,WAAA,EAAa;AAAA,GACd;AACH,CAAA;AAEA,SAAS,cAAc,OAAA,EAAsC;AAC3D,EAAA,IAAI,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,OAAA,CAAQ,YAAA,CAAa,cAAc,CAAA,EAAG;AACxC,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI;AACF,IAAA,OAAO,OAAA,CAAQ,QAAQ,eAAe,CAAA;AAAA,EACxC,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAKO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,YAAA,GAAe,IAAA;AAAA,EACf,UAAA,GAAa,KAAA;AAAA,EACb,SAAA,GAAY,GAAA;AAAA,EACZ,YAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,SAASC,WAAA,EAAM;AACrB,EAAA,MAAM,OAAA,GAAUC,aAA8B,IAAI,CAAA;AAClD,EAAA,MAAM,UAAA,GAAaA,aAA8B,IAAI,CAAA;AACrD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,eAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,cAAA,CAAS,EAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAE,CAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,OAAA,IAAW,KAAA,GAAQ,KAAA,CAAM,KAAA,GAAQ,MAAA;AAC/C,EAAA,MAAM,WAAA,GAAc,aAAA,IAAiB,KAAA,GAAQ,KAAA,CAAM,WAAA,GAAc,MAAA;AAEjE,EAAA,MAAM,IAAA,GAAOC,kBAAY,MAAM;AAC7B,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA;AAAA,IACF;AACA,IAAA,OAAA,CAAQ,SAAS,WAAA,EAAY;AAC7B,IAAA,SAAA,CAAU,KAAK,CAAA;AACf,IAAA,YAAA,GAAe,KAAK,CAAA;AAAA,EACtB,CAAA,EAAG,CAAC,MAAA,EAAQ,YAAY,CAAC,CAAA;AAEzB,EAAA,MAAM,cAAA,GAAiBA,kBAAY,MAAM;AACvC,IAAA,MAAM,SAAA,GAAY,QAAQ,OAAA,EAAS,aAAA;AAAA,MACjC;AAAA,KACF;AACA,IAAA,SAAA,EAAW,KAAA,EAAM;AAAA,EACnB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,IAAA,GAAOA,iBAAA;AAAA,IACX,CAAC,GAAW,CAAA,KAAc;AACxB,MAAA,WAAA,CAAY,EAAC,CAAA,EAAG,CAAA,EAAE,CAAA;AAClB,MAAA,IAAI,aAAA,CAAc,OAAA,CAAQ,OAAO,CAAA,EAAG;AAClC,QAAA,OAAA,CAAQ,SAAS,WAAA,EAAY;AAAA,MAC/B;AACA,MAAA,OAAA,CAAQ,SAAS,WAAA,EAAY;AAC7B,MAAA,SAAA,CAAU,IAAI,CAAA;AACd,MAAA,YAAA,GAAe,IAAI,CAAA;AACnB,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,IAAI,OAAA,CAAQ,WAAW,IAAA,EAAM;AAC3B,UAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,qBAAA,EAAsB;AACnD,UAAA,MAAM,MAAA,GAAS,CAAA;AACf,UAAA,MAAM,QAAA,GAAW,KAAK,GAAA,CAAI,CAAA,EAAG,OAAO,UAAA,GAAa,IAAA,CAAK,QAAQ,MAAM,CAAA;AACpE,UAAA,MAAM,WAAW,IAAA,CAAK,GAAA;AAAA,YACpB,CAAA;AAAA,YACA,MAAA,CAAO,WAAA,GAAc,IAAA,CAAK,MAAA,GAAS;AAAA,WACrC;AACA,UAAA,WAAA,CAAY;AAAA,YACV,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,QAAQ,CAAA;AAAA,YACvB,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,QAAQ;AAAA,WACxB,CAAA;AAAA,QACH;AACA,QAAA,IAAI,YAAA,EAAc;AAChB,UAAA,cAAA,EAAe;AAAA,QACjB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AAAA,IACA,CAAC,cAAA,EAAgB,YAAA,EAAc,YAAY;AAAA,GAC7C;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,eAAA,GAAkB,CAAC,KAAA,KAAiC;AACxD,MAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,MAAA,IACE,MAAA,YAAkB,IAAA,KACjB,OAAA,CAAQ,OAAA,EAAS,QAAA,CAAS,MAAM,CAAA,KAAM,IAAA,IACrC,UAAA,CAAW,OAAA,EAAS,QAAA,CAAS,MAAM,MAAM,IAAA,CAAA,EAC3C;AACA,QAAA;AAAA,MACF;AACA,MAAA,IAAA,EAAK;AAAA,IACP,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,aAAa,eAAe,CAAA;AACtD,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,mBAAA,CAAoB,aAAa,eAAe,CAAA;AAAA,IAC3D,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,MAAM,CAAC,CAAA;AAEjB,EAAAC,yBAAA,CAAoB,GAAA,EAAK,MAAM,UAAA,CAAW,OAAyB,CAAA;AAEnE,EAAA,MAAM,YAAA,GAAeC,aAAA;AAAA,IACnB,OAAO;AAAA,MACL,SAAA,EAAW,IAAA;AAAA,MACX,QAAA,EAAU;AAAA,KACZ,CAAA;AAAA,IACA,CAAC,MAAM,IAAI;AAAA,GACb;AAEA,EAAA,MAAM,iBAAA,GAAoBH,iBAAA;AAAA,IACxB,CAAC,KAAA,KAAsC;AACrC,MAAA,IAAI,UAAA,EAAY;AACd,QAAA;AAAA,MACF;AACA,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,IAAA,CAAK,KAAA,CAAM,OAAA,EAAS,KAAA,CAAM,OAAO,CAAA;AAAA,IACnC,CAAA;AAAA,IACA,CAAC,YAAY,IAAI;AAAA,GACnB;AAEA,EAAA,MAAM,oBAAA,GAAuBA,iBAAA;AAAA,IAC3B,CAAC,KAAA,KAAyC;AACxC,MAAA,IAAI,UAAA,EAAY;AACd,QAAA;AAAA,MACF;AACA,MAAA,IACE,KAAA,CAAM,QAAQ,aAAA,IACd,EAAE,MAAM,QAAA,IAAY,KAAA,CAAM,QAAQ,KAAA,CAAA,EAClC;AACA,QAAA;AAAA,MACF;AACA,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,aAAA,CAAc,qBAAA,EAAsB;AACvD,MAAA,IAAA,CAAK,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,MAAM,CAAA;AAAA,IAC7B,CAAA;AAAA,IACA,CAAC,YAAY,IAAI;AAAA,GACnB;AAEA,EAAA,MAAM,iBAAA,GAAoBI,iCAAA,CAAgB,OAAA,EAAS,IAAI,CAAA;AAEvD,EAAA,MAAM,QAAA,GAAWD,aAAA;AAAA,IACf,MAAkB,KAAA,IAAS,IAAA,GAAO,WAAA,GAAcE,kCAAgB,KAAK,CAAA;AAAA,IACrE,CAAC,OAAO,WAAW;AAAA,GACrB;AAEA,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,eAAA,EAAe,SAAS,MAAA,GAAS,MAAA;AAAA,QACjC,eAAA,EAAe,MAAA;AAAA,QACf,eAAA,EAAc,MAAA;AAAA,QACd,WAAW,MAAA,CAAO,OAAA;AAAA,QAClB,aAAA,EAAa,UAAA;AAAA,QACb,aAAA,EAAe,iBAAA;AAAA,QACf,SAAA,EAAW,oBAAA;AAAA,QACX,GAAA,EAAK,UAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,QAAA,EAAU,CAAA;AAAA,QACT;AAAA;AAAA,KACH;AAAA,oBACAA,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAW,cAAA;AAAA,QACX,SAAA,EAAWC,oBAAA,CAAG,MAAA,CAAO,IAAA,EAAM,SAAS,CAAA;AAAA,QACpC,EAAA,EAAI,MAAA;AAAA,QACJ,SAAA,EAAW,iBAAA;AAAA,QACX,OAAA,EAAQ,QAAA;AAAA,QACR,GAAA,EAAK,OAAA;AAAA,QACL,IAAA,EAAK,MAAA;AAAA,QACL,KAAA,EAAO;AAAA,UACL,MAAM,QAAA,CAAS,CAAA;AAAA,UACf,QAAA,EAAU,OAAA;AAAA,UACV,KAAK,QAAA,CAAS,CAAA;AAAA,UACd,KAAA,EAAOC,kCAAgB,SAAS,CAAA;AAAA,UAChC,GAAG;AAAA,SACL;AAAA,QACA,QAAA,EAAU,EAAA;AAAA,QACV,QAAA,kBAAAF,cAAA,CAACG,qCAAA,EAAA,EAAoB,KAAA,EAAO,YAAA,EACzB,QAAA,EAAA,QAAA,EACH;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-V7Q64Z3S.cjs","sourcesContent":["import {\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\nimport {\n DropdownMenuContext,\n DropdownMenuItem,\n type DropdownMenuDivider,\n type DropdownMenuItemData,\n type DropdownMenuItemProps,\n type DropdownMenuOption,\n type DropdownMenuSection,\n} from '../DropdownMenu';\nimport {\n formatMenuWidth,\n renderMenuItems,\n useMenuKeyboard,\n} from '../DropdownMenu/menuUtils';\n\nexport type ContextMenuSize = ButtonSize;\nexport type ContextMenuItemData = DropdownMenuItemData;\nexport type ContextMenuItemProps = DropdownMenuItemProps;\nexport type ContextMenuDivider = DropdownMenuDivider;\nexport type ContextMenuSection = DropdownMenuSection;\nexport type ContextMenuOption = DropdownMenuOption;\nexport const ContextMenuItem = DropdownMenuItem;\n\ninterface ContextMenuBaseProps {\n /**\n * The region that triggers the context menu on right-click.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the menu surface.\n */\n className?: string;\n /**\n * Test ID applied to the trigger wrapper.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether the context menu is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Width of the menu surface.\n * @default 160\n */\n menuWidth?: number | string;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the trigger wrapper.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Menu item size.\n * @default 'md'\n */\n size?: ContextMenuSize;\n /**\n * Inline styles applied to the menu surface.\n */\n style?: CSSProperties;\n}\n\ninterface ContextMenuDataProps extends ContextMenuBaseProps {\n items: ReadonlyArray<ContextMenuOption>;\n menuContent?: never;\n}\n\ninterface ContextMenuCompoundProps extends ContextMenuBaseProps {\n items?: never;\n menuContent: ReactNode;\n}\n\nexport type ContextMenuProps = ContextMenuDataProps | ContextMenuCompoundProps;\n\nconst styles = {\n trigger: css({\n display: 'contents',\n }),\n menu: css({\n display: 'none',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n minW: '40',\n m: 0,\n overflowY: 'auto',\n p: '1',\n borderWidth: 0,\n borderRadius: 'md',\n _open: {\n display: 'flex',\n },\n bg: 'bg',\n boxShadow: 'lg',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n} as const;\n\nfunction isPopoverOpen(element: HTMLElement | null): boolean {\n if (element == null) {\n return false;\n }\n if (element.hasAttribute('popover-open')) {\n return true;\n }\n try {\n return element.matches(':popover-open');\n } catch {\n return false;\n }\n}\n\n/**\n * Right-click context menu for contextual actions on a region.\n */\nexport function ContextMenu({\n children,\n className,\n 'data-testid': dataTestId,\n hasAutoFocus = true,\n isDisabled = false,\n menuWidth = 160,\n onOpenChange,\n ref,\n size = 'md',\n style,\n ...props\n}: ContextMenuProps): React.JSX.Element {\n const menuId = useId();\n const menuRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [position, setPosition] = useState({x: 0, y: 0});\n const items = 'items' in props ? props.items : undefined;\n const menuContent = 'menuContent' in props ? props.menuContent : undefined;\n\n const hide = useCallback(() => {\n if (!isOpen) {\n return;\n }\n menuRef.current?.hidePopover();\n setIsOpen(false);\n onOpenChange?.(false);\n }, [isOpen, onOpenChange]);\n\n const focusFirstItem = useCallback(() => {\n const firstItem = menuRef.current?.querySelector<HTMLElement>(\n '[role=\"menuitem\"]:not(:disabled):not([aria-disabled=\"true\"])',\n );\n firstItem?.focus();\n }, []);\n\n const show = useCallback(\n (x: number, y: number) => {\n setPosition({x, y});\n if (isPopoverOpen(menuRef.current)) {\n menuRef.current?.hidePopover();\n }\n menuRef.current?.showPopover();\n setIsOpen(true);\n onOpenChange?.(true);\n requestAnimationFrame(() => {\n if (menuRef.current != null) {\n const rect = menuRef.current.getBoundingClientRect();\n const margin = 4;\n const clampedX = Math.min(x, window.innerWidth - rect.width - margin);\n const clampedY = Math.min(\n y,\n window.innerHeight - rect.height - margin,\n );\n setPosition({\n x: Math.max(0, clampedX),\n y: Math.max(0, clampedY),\n });\n }\n if (hasAutoFocus) {\n focusFirstItem();\n }\n });\n },\n [focusFirstItem, hasAutoFocus, onOpenChange],\n );\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handleMouseDown = (event: globalThis.MouseEvent) => {\n const target = event.target;\n if (\n target instanceof Node &&\n (menuRef.current?.contains(target) === true ||\n triggerRef.current?.contains(target) === true)\n ) {\n return;\n }\n hide();\n };\n\n document.addEventListener('mousedown', handleMouseDown);\n return () => {\n document.removeEventListener('mousedown', handleMouseDown);\n };\n }, [hide, isOpen]);\n\n useImperativeHandle(ref, () => triggerRef.current as HTMLDivElement);\n\n const contextValue = useMemo(\n () => ({\n closeMenu: hide,\n menuSize: size,\n }),\n [hide, size],\n );\n\n const handleContextMenu = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n show(event.clientX, event.clientY);\n },\n [isDisabled, show],\n );\n\n const handleTriggerKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n if (\n event.key !== 'ContextMenu' &&\n !(event.shiftKey && event.key === 'F10')\n ) {\n return;\n }\n event.preventDefault();\n const rect = event.currentTarget.getBoundingClientRect();\n show(rect.left, rect.bottom);\n },\n [isDisabled, show],\n );\n\n const handleMenuKeyDown = useMenuKeyboard(menuRef, hide);\n\n const menuNode = useMemo(\n (): ReactNode => (items == null ? menuContent : renderMenuItems(items)),\n [items, menuContent],\n );\n\n return (\n <>\n <div\n aria-controls={isOpen ? menuId : undefined}\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n className={styles.trigger}\n data-testid={dataTestId}\n onContextMenu={handleContextMenu}\n onKeyDown={handleTriggerKeyDown}\n ref={triggerRef}\n role=\"button\"\n tabIndex={0}>\n {children}\n </div>\n <div\n aria-label=\"Context menu\"\n className={cx(styles.menu, className)}\n id={menuId}\n onKeyDown={handleMenuKeyDown}\n popover=\"manual\"\n ref={menuRef}\n role=\"menu\"\n style={{\n left: position.x,\n position: 'fixed',\n top: position.y,\n width: formatMenuWidth(menuWidth),\n ...style,\n }}\n tabIndex={-1}>\n <DropdownMenuContext value={contextValue}>\n {menuNode}\n </DropdownMenuContext>\n </div>\n </>\n );\n}\n\nContextMenu.displayName = 'ContextMenu';\n"]}
@@ -1,11 +1,13 @@
1
- import { useSelectListbox, renderSelectListboxOptions } from './chunk-E7EO3YVJ.js';
2
- import { Item } from './chunk-CA6645TQ.js';
3
- import { inputStyles, inputRecipe, Field } from './chunk-NGWNIMMX.js';
4
- import { Popover } from './chunk-2QK2NZN5.js';
5
- import { Spinner } from './chunk-RGPL6EDK.js';
6
- import { Icon } from './chunk-4W7L63LH.js';
1
+ import { useSelectListbox, renderSelectListboxOptions } from './chunk-XVRQSTUF.js';
2
+ import { Item } from './chunk-AMG3S252.js';
3
+ import { inputRecipe } from './chunk-3M23WX6K.js';
4
+ import { getNecessity, Field } from './chunk-K6CQ45C2.js';
5
+ import { Popover } from './chunk-QADMIAYK.js';
6
+ import { Button } from './chunk-RRNT32KY.js';
7
+ import { Spinner } from './chunk-S54CKWKV.js';
8
+ import { Icon } from './chunk-7T3SWOY7.js';
7
9
  import { cx } from './chunk-PPNETWIP.js';
8
- import { css } from './chunk-UHQRL4OA.js';
10
+ import { css } from './chunk-OD4DHHZH.js';
9
11
  import { Check, X, ChevronDown } from 'lucide-react';
10
12
  import { useMemo, useCallback } from 'react';
11
13
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -61,7 +63,6 @@ var styles = {
61
63
  p: "1"
62
64
  }),
63
65
  search: css({
64
- boxSizing: "border-box",
65
66
  w: "full",
66
67
  px: "2",
67
68
  py: "1",
@@ -286,7 +287,7 @@ function Select({
286
287
  }
287
288
  )
288
289
  ] });
289
- const necessity = { isOptional, isRequired };
290
+ const necessity = getNecessity(isOptional, isRequired);
290
291
  const trigger = (
291
292
  // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- mouse clicks anywhere on the visual input delegate to the inner combobox button; keyboard handling stays on that button.
292
293
  /* @__PURE__ */ jsxs(
@@ -341,16 +342,17 @@ function Select({
341
342
  ),
342
343
  isLoading ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : null,
343
344
  hasClear && selectedOption != null && !isDisabled ? /* @__PURE__ */ jsx(
344
- "button",
345
+ Button,
345
346
  {
346
- "aria-label": `Clear ${label}`,
347
- className: inputStyles.clearButton,
347
+ icon: X,
348
+ isIconOnly: true,
349
+ label: `Clear ${label}`,
348
350
  onClick: (event) => {
349
351
  event.stopPropagation();
350
352
  onChange(null);
351
353
  },
352
- type: "button",
353
- children: /* @__PURE__ */ jsx(Icon, { icon: X, size: "sm" })
354
+ size: "sm",
355
+ variant: "ghost"
354
356
  }
355
357
  ) : null,
356
358
  /* @__PURE__ */ jsx("span", { className: styles.iconSlot, children: /* @__PURE__ */ jsx(Icon, { icon: ChevronDown, size: "sm" }) })
@@ -432,5 +434,5 @@ function SelectOption({
432
434
  SelectOption.displayName = "SelectOption";
433
435
 
434
436
  export { Select, SelectOption };
435
- //# sourceMappingURL=chunk-XQMLA75S.js.map
436
- //# sourceMappingURL=chunk-XQMLA75S.js.map
437
+ //# sourceMappingURL=chunk-VBL5SI5N.js.map
438
+ //# sourceMappingURL=chunk-VBL5SI5N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Select/Select.tsx","../src/components/Select/SelectOption.tsx"],"names":["styles","jsx"],"mappings":"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","file":"chunk-VBL5SI5N.js","sourcesContent":["import {Check, ChevronDown, X} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {\n renderSelectListboxOptions,\n useSelectListbox,\n type SelectListboxOptionData,\n} from '../../internal/useSelectListbox';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe} from '../Field/inputStyles';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport interface SelectOptionData extends SelectListboxOptionData {\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the option is disabled.\n */\n isDisabled?: boolean;\n /**\n * Option label. Defaults to `value`.\n */\n label?: string;\n /**\n * Option value.\n */\n value: string;\n}\n\nexport interface SelectDivider {\n /**\n * Discriminator identifying a divider entry.\n */\n type: 'divider';\n}\n\nexport interface SelectSection {\n /**\n * Options within this section.\n */\n options: ReadonlyArray<SelectOptionData>;\n /**\n * Optional heading text for the section.\n */\n title?: string;\n /**\n * Discriminator identifying a section entry.\n */\n type: 'section';\n}\n\nexport type SelectOptionDefinition =\n | SelectDivider\n | SelectOptionData\n | SelectSection\n | string;\n\nexport type SelectProps = {\n /**\n * Additional CSS class names applied to the trigger wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the combobox button.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether to show search input in the dropdown.\n * @default false\n */\n hasSearch?: boolean;\n /**\n * Whether the selector is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the selector is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Called when selection changes.\n */\n onChange: (value: string | null) => void;\n /**\n * Options to display.\n */\n options: ReadonlyArray<SelectOptionDefinition>;\n /**\n * Placeholder shown when no option is selected.\n * @default 'Select...'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the combobox button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Custom render function for selectable options.\n */\n renderOption?: (option: SelectOptionData) => ReactNode;\n /**\n * Search input placeholder.\n * @default 'Search...'\n */\n searchPlaceholder?: string;\n /**\n * Select size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Start icon rendered in the trigger.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the trigger wrapper.\n */\n style?: CSSProperties;\n /**\n * Selected option value.\n */\n value: string | null;\n} & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n cursor: 'pointer',\n }),\n wrapperDisabled: css({\n cursor: 'not-allowed',\n }),\n trigger: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n flex: 1,\n minW: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n fontFamily: 'body',\n outline: 'none',\n textAlign: 'start',\n _disabled: {\n cursor: 'not-allowed',\n },\n }),\n label: css({\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n placeholder: css({\n color: 'fg.muted',\n }),\n iconSlot: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n search: css({\n w: 'full',\n px: '2',\n py: '1',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n fontFamily: 'body',\n outline: 'none',\n _focus: {\n borderColor: 'primary',\n },\n }),\n option: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n }),\n optionSelected: css({fontWeight: 'medium'}),\n optionHighlighted: css({bg: 'bg.subtle'}),\n optionContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n }),\n check: css({\n display: 'inline-flex',\n color: 'primary',\n }),\n sectionHeading: css({\n px: '2',\n py: '1',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'semibold',\n }),\n divider: css({\n h: '1px',\n bg: 'border',\n my: '1',\n }),\n} as const;\n\n/**\n * Single-select dropdown field.\n */\nexport function Select({\n className,\n 'data-testid': dataTestId,\n description,\n hasClear = false,\n hasSearch = false,\n isDisabled = false,\n isLabelHidden = false,\n isLoading = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n onChange,\n options,\n placeholder = 'Select...',\n ref,\n renderOption: renderOptionProp,\n searchPlaceholder = 'Search...',\n size = 'md',\n startIcon,\n status,\n style,\n value,\n}: SelectProps): React.JSX.Element {\n const selectedValues = useMemo(\n () => (value == null ? new Set<string>() : new Set([value])),\n [value],\n );\n\n const commitOption = useCallback(\n (option: SelectOptionData): boolean => {\n if (option.isDisabled) {\n return false;\n }\n\n onChange(option.value);\n return true;\n },\n [onChange],\n );\n\n const {\n activeDescendantId,\n describedBy,\n descriptionID,\n filteredValues,\n getOptionId,\n handleKeyboardNavigation,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n inputId,\n isInteractionDisabled,\n isOpen,\n listboxId,\n query,\n selectableOptions,\n setHighlightedValue,\n setIsOpen,\n setQuery,\n statusMessageID,\n triggerRef,\n } = useSelectListbox({\n clearQueryOnCommit: true,\n closeOnCommit: true,\n description,\n isDisabled,\n isLoading,\n onCommitOption: commitOption,\n options,\n selectedValues,\n status,\n });\n\n const selectedOption = useMemo(\n () => selectableOptions.find(option => option.value === value),\n [selectableOptions, value],\n );\n\n const renderOption = useCallback(\n (option: SelectOptionData): ReactNode => {\n if (!filteredValues.has(option.value)) {\n return null;\n }\n const isSelected = option.value === value;\n const isHighlighted = option.value === highlightedValue;\n return (\n <button\n aria-selected={isSelected}\n className={cx(\n styles.option,\n isSelected ? styles.optionSelected : undefined,\n isHighlighted ? styles.optionHighlighted : undefined,\n )}\n data-value={option.value}\n disabled={option.isDisabled}\n id={getOptionId(option.value)}\n key={option.value}\n onClick={handleOptionClick}\n onMouseEnter={handleOptionMouseEnter}\n role=\"option\"\n tabIndex={isHighlighted ? 0 : -1}\n type=\"button\">\n <span className={styles.optionContent}>\n {renderOptionProp == null ? (\n <>\n {option.icon != null ? (\n <span className={styles.iconSlot}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </>\n ) : (\n renderOptionProp(option)\n )}\n </span>\n {isSelected ? (\n <span className={styles.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </button>\n );\n },\n [\n filteredValues,\n getOptionId,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n renderOptionProp,\n value,\n ],\n );\n\n const optionNodes = renderSelectListboxOptions({\n dividerClassName: styles.divider,\n inputId,\n options,\n renderOption,\n sectionHeadingClassName: styles.sectionHeading,\n });\n\n const menu = (\n <>\n {hasSearch ? (\n <input\n aria-activedescendant={activeDescendantId}\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-label={`Search ${label}`}\n className={styles.search}\n onChange={event => {\n setQuery(event.target.value);\n setHighlightedValue(null);\n }}\n onKeyDown={handleKeyboardNavigation}\n placeholder={searchPlaceholder}\n type=\"search\"\n value={query}\n />\n ) : null}\n <div\n aria-label={`${label} options`}\n className={styles.menu}\n id={listboxId}\n role=\"listbox\">\n {optionNodes}\n </div>\n </>\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const trigger = (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- mouse clicks anywhere on the visual input delegate to the inner combobox button; keyboard handling stays on that button.\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n isInteractionDisabled ? styles.wrapperDisabled : undefined,\n )}\n onClick={() => {\n if (!isInteractionDisabled) {\n setIsOpen(currentIsOpen => !currentIsOpen);\n }\n }}\n ref={triggerRef}>\n {startIcon != null ? (\n <span className={styles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <button\n aria-activedescendant={activeDescendantId}\n aria-busy={isLoading || undefined}\n aria-controls={listboxId}\n aria-describedby={describedBy}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-invalid={status?.type === 'error' || undefined}\n className={styles.trigger}\n data-testid={dataTestId}\n disabled={isInteractionDisabled}\n id={inputId}\n onKeyDown={handleKeyboardNavigation}\n ref={ref}\n role=\"combobox\"\n type=\"button\">\n <span\n className={cx(\n styles.label,\n selectedOption == null ? styles.placeholder : undefined,\n )}>\n {selectedOption?.label ?? placeholder}\n </span>\n </button>\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {hasClear && selectedOption != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChange(null);\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span className={styles.iconSlot}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </div>\n );\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {trigger}\n <Popover\n anchorRef={triggerRef}\n content={menu}\n hasAutoFocus={hasSearch}\n hasCloseButton={false}\n isEnabled={false}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n />\n </Field>\n );\n}\n\nSelect.displayName = 'Select';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\n\nexport interface SelectOptionProps {\n /**\n * Additional CSS class names applied to the option layout.\n */\n className?: string;\n /**\n * Test ID applied to the option layout.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Primary label.\n */\n label: ReactNode;\n /**\n * Ref forwarded to the layout root.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Inline styles applied to the layout root.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n minW: 0,\n p: 0,\n }),\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * Helper layout for custom Select option rendering.\n */\nexport function SelectOption({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n label,\n ref,\n style,\n}: SelectOptionProps): React.JSX.Element {\n return (\n <Item\n as=\"span\"\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n label={label}\n ref={ref}\n startContent={\n icon != null ? (\n <span className={styles.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n style={style}\n />\n );\n}\n\nSelectOption.displayName = 'SelectOption';\n"]}
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var chunk4A4EI26N_cjs = require('./chunk-4A4EI26N.cjs');
3
+ var chunk4YQTSHIB_cjs = require('./chunk-4YQTSHIB.cjs');
4
4
  var chunkCK3UJQRI_cjs = require('./chunk-CK3UJQRI.cjs');
5
- var chunkI6IGTQLG_cjs = require('./chunk-I6IGTQLG.cjs');
6
- var chunk5G3BY75L_cjs = require('./chunk-5G3BY75L.cjs');
7
- var chunkWSAZHUB3_cjs = require('./chunk-WSAZHUB3.cjs');
8
- var chunkNILB6Y4Z_cjs = require('./chunk-NILB6Y4Z.cjs');
9
- var chunk2WP6NYYY_cjs = require('./chunk-2WP6NYYY.cjs');
10
- var chunkPHFEQG4E_cjs = require('./chunk-PHFEQG4E.cjs');
5
+ var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
6
+ var chunkKFEXS6OK_cjs = require('./chunk-KFEXS6OK.cjs');
7
+ var chunk2P6D43V2_cjs = require('./chunk-2P6D43V2.cjs');
8
+ var chunkBDBHHJGN_cjs = require('./chunk-BDBHHJGN.cjs');
9
+ var chunkO3T7Z6RH_cjs = require('./chunk-O3T7Z6RH.cjs');
10
+ var chunkYXYD5HKL_cjs = require('./chunk-YXYD5HKL.cjs');
11
11
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
12
- var chunkAZDWQGAX_cjs = require('./chunk-AZDWQGAX.cjs');
12
+ var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
13
13
  var lucideReact = require('lucide-react');
14
14
  var react = require('react');
15
15
  var jsxRuntime = require('react/jsx-runtime');
16
16
 
17
17
  var styles = {
18
- wrapper: chunkAZDWQGAX_cjs.css({ ps: "1", gap: "1" })
18
+ wrapper: chunkRU6JG3FS_cjs.css({ ps: "1", gap: "1" })
19
19
  };
20
20
  function formatRange(value) {
21
21
  if (value == null) {
@@ -50,13 +50,13 @@ function DateRangeInput({
50
50
  }) {
51
51
  const inputId = react.useId();
52
52
  const descriptionID = description != null ? `${inputId}-description` : void 0;
53
- const statusMessageID = chunk5G3BY75L_cjs.getStatusMessageID(inputId, status);
54
- const describedBy = chunk5G3BY75L_cjs.getDescribedBy(descriptionID, statusMessageID);
53
+ const statusMessageID = chunk2P6D43V2_cjs.getStatusMessageID(inputId, status);
54
+ const describedBy = chunk2P6D43V2_cjs.getDescribedBy(descriptionID, statusMessageID);
55
55
  const [isOpen, setIsOpen] = react.useState(false);
56
56
  const displayValue = react.useMemo(() => formatRange(value), [value]);
57
- const necessity = { isOptional, isRequired };
57
+ const necessity = chunkKFEXS6OK_cjs.getNecessity(isOptional, isRequired);
58
58
  return /* @__PURE__ */ jsxRuntime.jsx(
59
- chunkI6IGTQLG_cjs.Field,
59
+ chunkKFEXS6OK_cjs.Field,
60
60
  {
61
61
  className,
62
62
  description,
@@ -74,7 +74,7 @@ function DateRangeInput({
74
74
  "div",
75
75
  {
76
76
  className: chunkSPDVNY2Z_cjs.cx(
77
- chunkI6IGTQLG_cjs.inputRecipe({
77
+ chunkVXBVSYPA_cjs.inputRecipe({
78
78
  size,
79
79
  status: status?.type,
80
80
  isDisabled
@@ -83,10 +83,10 @@ function DateRangeInput({
83
83
  ),
84
84
  children: [
85
85
  /* @__PURE__ */ jsxRuntime.jsx(
86
- chunkWSAZHUB3_cjs.Popover,
86
+ chunkBDBHHJGN_cjs.Popover,
87
87
  {
88
88
  content: /* @__PURE__ */ jsxRuntime.jsx(
89
- chunk4A4EI26N_cjs.Calendar,
89
+ chunk4YQTSHIB_cjs.Calendar,
90
90
  {
91
91
  getIsDateDisabled,
92
92
  max,
@@ -106,9 +106,9 @@ function DateRangeInput({
106
106
  isOpen,
107
107
  label: `Choose ${label}`,
108
108
  onOpenChange: setIsOpen,
109
- padding: "3",
109
+ padding: 3,
110
110
  children: /* @__PURE__ */ jsxRuntime.jsx(
111
- chunkNILB6Y4Z_cjs.Button,
111
+ chunkO3T7Z6RH_cjs.Button,
112
112
  {
113
113
  icon: lucideReact.CalendarIcon,
114
114
  isDisabled,
@@ -127,7 +127,7 @@ function DateRangeInput({
127
127
  "aria-describedby": describedBy,
128
128
  "aria-invalid": status?.type === "error" || void 0,
129
129
  "aria-required": isRequired ?? void 0,
130
- className: chunkI6IGTQLG_cjs.inputStyles.control,
130
+ className: chunkVXBVSYPA_cjs.inputStyles.control,
131
131
  "data-testid": dataTestId,
132
132
  disabled: isDisabled,
133
133
  id: inputId,
@@ -139,17 +139,18 @@ function DateRangeInput({
139
139
  }
140
140
  ),
141
141
  hasClear && value != null && !isDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
142
- "button",
142
+ chunkO3T7Z6RH_cjs.Button,
143
143
  {
144
- "aria-label": `Clear ${label}`,
145
- className: chunkI6IGTQLG_cjs.inputStyles.clearButton,
144
+ icon: lucideReact.X,
145
+ isIconOnly: true,
146
+ label: `Clear ${label}`,
146
147
  onClick: () => onChange(void 0),
147
- type: "button",
148
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkPHFEQG4E_cjs.Icon, { icon: lucideReact.X, size: "sm" })
148
+ size: "sm",
149
+ variant: "ghost"
149
150
  }
150
151
  ) : null,
151
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk2WP6NYYY_cjs.Spinner, { size: "sm" }) : null,
152
- status != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkI6IGTQLG_cjs.inputStyles.iconSlot, children: chunk5G3BY75L_cjs.getStatusIcon(status.type) }) : null
152
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYXYD5HKL_cjs.Spinner, { size: "sm" }) : null,
153
+ status != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: chunk2P6D43V2_cjs.getStatusIcon(status.type) }) : null
153
154
  ]
154
155
  }
155
156
  )
@@ -159,5 +160,5 @@ function DateRangeInput({
159
160
  DateRangeInput.displayName = "DateRangeInput";
160
161
 
161
162
  exports.DateRangeInput = DateRangeInput;
162
- //# sourceMappingURL=chunk-NMHCRHRI.cjs.map
163
- //# sourceMappingURL=chunk-NMHCRHRI.cjs.map
163
+ //# sourceMappingURL=chunk-VQ7IRFRR.cjs.map
164
+ //# sourceMappingURL=chunk-VQ7IRFRR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["css","plainDateFormat","DATE_FORMAT_SHORT_WITH_YEAR","useId","getStatusMessageID","getDescribedBy","useState","useMemo","getNecessity","jsx","Field","jsxs","cx","inputRecipe","Popover","Calendar","Button","CalendarIcon","inputStyles","X","Spinner","getStatusIcon"],"mappings":"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","file":"chunk-VQ7IRFRR.cjs","sourcesContent":["import {CalendarIcon, X} from 'lucide-react';\nimport {\n useId,\n useMemo,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {DateRange} from '../../internal/dateTypes';\nimport {\n DATE_FORMAT_SHORT_WITH_YEAR,\n plainDateFormat,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {Button} from '../Button';\nimport {Calendar} from '../Calendar';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport type {IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport type {DateRange} from '../../internal/dateTypes';\n\nconst styles = {\n wrapper: css({ps: '1', gap: '1'}),\n} as const;\n\nexport type DateRangeInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Number of calendar months shown in the popover.\n * @default 2\n */\n numberOfMonths?: 1 | 2;\n /**\n * Called when the selected date range changes.\n */\n onChange: (value: DateRange | undefined) => void;\n /**\n * Placeholder text shown when no range is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Currently selected date range.\n */\n value: DateRange | undefined;\n} & FieldNecessity;\n\nfunction formatRange(value: DateRange | undefined): string {\n if (value == null) {\n return '';\n }\n return `${plainDateFormat(value.start, DATE_FORMAT_SHORT_WITH_YEAR)} - ${plainDateFormat(value.end, DATE_FORMAT_SHORT_WITH_YEAR)}`;\n}\n\n/**\n * A date range picker input that opens a calendar popover for selecting a start and end date.\n */\nexport function DateRangeInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n numberOfMonths = 2,\n placeholder = 'Select a date range',\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateRangeInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const [isOpen, setIsOpen] = useState(false);\n const displayValue = useMemo(() => formatRange(value), [value]);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n )}>\n <Popover\n content={\n <Calendar\n getIsDateDisabled={getIsDateDisabled}\n max={max}\n min={min}\n mode=\"range\"\n numberOfMonths={numberOfMonths}\n onChange={nextValue => {\n onChange(nextValue);\n setIsOpen(false);\n }}\n value={value}\n viewDate={value?.start}\n />\n }\n hasAutoFocus\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={`Choose ${label}`}\n onOpenChange={setIsOpen}\n padding={3}>\n <Button\n icon={CalendarIcon}\n isDisabled={isDisabled}\n isIconOnly\n label={`Choose ${label}`}\n size=\"sm\"\n variant=\"ghost\"\n />\n </Popover>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n className={inputStyles.control}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n placeholder={placeholder}\n readOnly\n ref={ref}\n type=\"text\"\n value={displayValue}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={() => onChange(undefined)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nDateRangeInput.displayName = 'DateRangeInput';\n"]}