silver-ui 0.3.1 → 0.5.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 (1085) hide show
  1. package/dist/{chunk-YAYINZT2.cjs → chunk-27EAV2GT.cjs} +3 -3
  2. package/dist/chunk-27EAV2GT.cjs.map +1 -0
  3. package/dist/{chunk-AMFFE5UJ.js → chunk-2AWSJF22.js} +5 -5
  4. package/dist/{chunk-AMFFE5UJ.js.map → chunk-2AWSJF22.js.map} +1 -1
  5. package/dist/{chunk-66LRFIYK.cjs → chunk-2F5TDBRT.cjs} +171 -153
  6. package/dist/chunk-2F5TDBRT.cjs.map +1 -0
  7. package/dist/{chunk-MUUPZEZ5.cjs → chunk-2GMDMZKI.cjs} +6 -6
  8. package/dist/chunk-2GMDMZKI.cjs.map +1 -0
  9. package/dist/{chunk-BS55BG2U.cjs → chunk-2K4I2MB3.cjs} +7 -7
  10. package/dist/{chunk-BS55BG2U.cjs.map → chunk-2K4I2MB3.cjs.map} +1 -1
  11. package/dist/{chunk-WMXIUOOU.cjs → chunk-2MXK2SDR.cjs} +3 -3
  12. package/dist/chunk-2MXK2SDR.cjs.map +1 -0
  13. package/dist/{chunk-U5GTHA44.cjs → chunk-2RZNX26F.cjs} +14 -14
  14. package/dist/{chunk-U5GTHA44.cjs.map → chunk-2RZNX26F.cjs.map} +1 -1
  15. package/dist/{chunk-DSB4Q3AS.js → chunk-2VAUVJVG.js} +4 -4
  16. package/dist/{chunk-DSB4Q3AS.js.map → chunk-2VAUVJVG.js.map} +1 -1
  17. package/dist/{chunk-D2DOHX4W.js → chunk-2VL66QBX.js} +123 -108
  18. package/dist/chunk-2VL66QBX.js.map +1 -0
  19. package/dist/{chunk-QL3YSC3H.cjs → chunk-2WTHSGDP.cjs} +30 -24
  20. package/dist/chunk-2WTHSGDP.cjs.map +1 -0
  21. package/dist/{chunk-UYBGXFYX.js → chunk-2Y7ULSEU.js} +495 -433
  22. package/dist/chunk-2Y7ULSEU.js.map +1 -0
  23. package/dist/{chunk-UPQHFW47.js → chunk-3IYM5MAC.js} +5 -5
  24. package/dist/chunk-3IYM5MAC.js.map +1 -0
  25. package/dist/chunk-3NIDAKCF.cjs +38 -0
  26. package/dist/chunk-3NIDAKCF.cjs.map +1 -0
  27. package/dist/{chunk-L7BOLGF2.cjs → chunk-3VJIUZAY.cjs} +263 -224
  28. package/dist/chunk-3VJIUZAY.cjs.map +1 -0
  29. package/dist/{chunk-VJBBMBRT.cjs → chunk-3W3ST5Y3.cjs} +7 -7
  30. package/dist/chunk-3W3ST5Y3.cjs.map +1 -0
  31. package/dist/{chunk-QEFE4QBL.cjs → chunk-3Z5PF75J.cjs} +14 -14
  32. package/dist/{chunk-QEFE4QBL.cjs.map → chunk-3Z5PF75J.cjs.map} +1 -1
  33. package/dist/{chunk-XSQOHNIF.js → chunk-4426KMA7.js} +3 -3
  34. package/dist/{chunk-XSQOHNIF.js.map → chunk-4426KMA7.js.map} +1 -1
  35. package/dist/{chunk-4MRORQNN.js → chunk-4HXNBLCJ.js} +4 -4
  36. package/dist/{chunk-4MRORQNN.js.map → chunk-4HXNBLCJ.js.map} +1 -1
  37. package/dist/chunk-4RDA4W4N.js +150 -0
  38. package/dist/chunk-4RDA4W4N.js.map +1 -0
  39. package/dist/{chunk-Y4FH67QZ.js → chunk-4SUQFPWH.js} +176 -102
  40. package/dist/chunk-4SUQFPWH.js.map +1 -0
  41. package/dist/{chunk-P3SMNZCT.js → chunk-56PY2CD7.js} +18 -45
  42. package/dist/chunk-56PY2CD7.js.map +1 -0
  43. package/dist/{chunk-M4JUQCKP.js → chunk-5FTIATD6.js} +2 -2
  44. package/dist/{chunk-M4JUQCKP.js.map → chunk-5FTIATD6.js.map} +1 -1
  45. package/dist/{chunk-QSEDH7T2.js → chunk-5HPXUDX6.js} +3 -6
  46. package/dist/chunk-5HPXUDX6.js.map +1 -0
  47. package/dist/{chunk-Z4TZAJS3.js → chunk-5UGHDUMO.js} +2 -2
  48. package/dist/chunk-5UGHDUMO.js.map +1 -0
  49. package/dist/{chunk-BRB52QFV.cjs → chunk-5XMWGK3O.cjs} +18 -18
  50. package/dist/chunk-5XMWGK3O.cjs.map +1 -0
  51. package/dist/{chunk-2XAA3CM5.js → chunk-5ZU7FY4O.js} +2 -2
  52. package/dist/chunk-5ZU7FY4O.js.map +1 -0
  53. package/dist/{chunk-NHXJVSZZ.cjs → chunk-62SQBQA4.cjs} +2 -2
  54. package/dist/chunk-62SQBQA4.cjs.map +1 -0
  55. package/dist/{chunk-LUBVZVY3.js → chunk-65MJZYO6.js} +185 -134
  56. package/dist/chunk-65MJZYO6.js.map +1 -0
  57. package/dist/{chunk-U2U4FMFM.cjs → chunk-67UUGI3M.cjs} +9 -9
  58. package/dist/chunk-67UUGI3M.cjs.map +1 -0
  59. package/dist/{chunk-CEU7BIL6.cjs → chunk-6DAZ2ZOW.cjs} +13 -13
  60. package/dist/chunk-6DAZ2ZOW.cjs.map +1 -0
  61. package/dist/{chunk-DIIE44GO.js → chunk-6EYLEVC6.js} +203 -172
  62. package/dist/chunk-6EYLEVC6.js.map +1 -0
  63. package/dist/{chunk-ASJ5CBCR.js → chunk-6J326CN6.js} +7 -7
  64. package/dist/chunk-6J326CN6.js.map +1 -0
  65. package/dist/{chunk-EMHLPPQZ.js → chunk-6PIVWNUR.js} +4 -4
  66. package/dist/chunk-6PIVWNUR.js.map +1 -0
  67. package/dist/{chunk-BA4A7C7U.js → chunk-75KSHZTV.js} +23 -16
  68. package/dist/chunk-75KSHZTV.js.map +1 -0
  69. package/dist/{chunk-ZLATP3P5.cjs → chunk-7CTHD4G6.cjs} +8 -16
  70. package/dist/chunk-7CTHD4G6.cjs.map +1 -0
  71. package/dist/{chunk-ZWULWVN3.js → chunk-ADSG24VE.js} +9 -9
  72. package/dist/chunk-ADSG24VE.js.map +1 -0
  73. package/dist/{chunk-N2TNBDQI.js → chunk-AEYJ6PWC.js} +3 -3
  74. package/dist/{chunk-N2TNBDQI.js.map → chunk-AEYJ6PWC.js.map} +1 -1
  75. package/dist/{chunk-D3SSMY73.cjs → chunk-ANACERIO.cjs} +8 -8
  76. package/dist/chunk-ANACERIO.cjs.map +1 -0
  77. package/dist/{chunk-6MOJEGDU.cjs → chunk-ARUOMLOJ.cjs} +27 -23
  78. package/dist/chunk-ARUOMLOJ.cjs.map +1 -0
  79. package/dist/{chunk-OWBNRALR.js → chunk-AV7D3SXF.js} +7 -7
  80. package/dist/{chunk-OWBNRALR.js.map → chunk-AV7D3SXF.js.map} +1 -1
  81. package/dist/{chunk-PL6J55JB.cjs → chunk-BIJ6YDWJ.cjs} +87 -60
  82. package/dist/chunk-BIJ6YDWJ.cjs.map +1 -0
  83. package/dist/{chunk-RNB4BDEG.js → chunk-BIKVMVWF.js} +3 -3
  84. package/dist/{chunk-RNB4BDEG.js.map → chunk-BIKVMVWF.js.map} +1 -1
  85. package/dist/{chunk-IHM2M74J.js → chunk-BQWUTDTN.js} +3 -3
  86. package/dist/{chunk-IHM2M74J.js.map → chunk-BQWUTDTN.js.map} +1 -1
  87. package/dist/{chunk-KFDHP4WP.cjs → chunk-BSI4BQEX.cjs} +6 -6
  88. package/dist/{chunk-KFDHP4WP.cjs.map → chunk-BSI4BQEX.cjs.map} +1 -1
  89. package/dist/{chunk-WYE3VOFK.cjs → chunk-BSPWX2OZ.cjs} +22 -22
  90. package/dist/{chunk-WYE3VOFK.cjs.map → chunk-BSPWX2OZ.cjs.map} +1 -1
  91. package/dist/{chunk-3XDUR3IG.cjs → chunk-BSXUNRET.cjs} +14 -15
  92. package/dist/chunk-BSXUNRET.cjs.map +1 -0
  93. package/dist/chunk-BUYZZOOU.js +56 -0
  94. package/dist/chunk-BUYZZOOU.js.map +1 -0
  95. package/dist/chunk-CPDWUT2H.cjs +59 -0
  96. package/dist/chunk-CPDWUT2H.cjs.map +1 -0
  97. package/dist/{chunk-ZVH3BLYO.js → chunk-CUHJDV6K.js} +8 -8
  98. package/dist/chunk-CUHJDV6K.js.map +1 -0
  99. package/dist/{chunk-4CVDLMD6.js → chunk-D3CHBU46.js} +3 -3
  100. package/dist/{chunk-4CVDLMD6.js.map → chunk-D3CHBU46.js.map} +1 -1
  101. package/dist/{chunk-HM7IEGQ2.cjs → chunk-D5OX6II7.cjs} +7 -7
  102. package/dist/chunk-D5OX6II7.cjs.map +1 -0
  103. package/dist/{chunk-RDNMAV5B.js → chunk-DE7JLNSO.js} +2 -2
  104. package/dist/chunk-DE7JLNSO.js.map +1 -0
  105. package/dist/{chunk-JKERY7QF.cjs → chunk-DLIYUFTS.cjs} +2 -2
  106. package/dist/{chunk-JKERY7QF.cjs.map → chunk-DLIYUFTS.cjs.map} +1 -1
  107. package/dist/{chunk-MSNRGNVY.cjs → chunk-DV4K35UC.cjs} +7 -7
  108. package/dist/{chunk-MSNRGNVY.cjs.map → chunk-DV4K35UC.cjs.map} +1 -1
  109. package/dist/{chunk-54J6FRPG.js → chunk-DZZEJY3J.js} +198 -180
  110. package/dist/chunk-DZZEJY3J.js.map +1 -0
  111. package/dist/{chunk-IRSJHEYI.js → chunk-E42WOTIC.js} +4 -4
  112. package/dist/chunk-E42WOTIC.js.map +1 -0
  113. package/dist/{chunk-ZNUOFLCQ.js → chunk-EBJPUXFQ.js} +149 -147
  114. package/dist/chunk-EBJPUXFQ.js.map +1 -0
  115. package/dist/{chunk-AJTJD5C6.js → chunk-ECDYAZ2R.js} +8 -8
  116. package/dist/{chunk-AJTJD5C6.js.map → chunk-ECDYAZ2R.js.map} +1 -1
  117. package/dist/{chunk-2IKWX66Q.js → chunk-EFBSEJBD.js} +28 -29
  118. package/dist/chunk-EFBSEJBD.js.map +1 -0
  119. package/dist/{chunk-PUVBNGCF.js → chunk-EIT2QSCA.js} +2 -2
  120. package/dist/{chunk-PUVBNGCF.js.map → chunk-EIT2QSCA.js.map} +1 -1
  121. package/dist/{chunk-3IBY374V.cjs → chunk-ESRDHDYN.cjs} +10 -10
  122. package/dist/chunk-ESRDHDYN.cjs.map +1 -0
  123. package/dist/{chunk-IKF6VHA4.cjs → chunk-EZFQCREN.cjs} +19 -46
  124. package/dist/chunk-EZFQCREN.cjs.map +1 -0
  125. package/dist/chunk-F7BFO3SD.cjs +153 -0
  126. package/dist/chunk-F7BFO3SD.cjs.map +1 -0
  127. package/dist/{chunk-EVKFA5FA.cjs → chunk-FCUUGJTM.cjs} +210 -192
  128. package/dist/chunk-FCUUGJTM.cjs.map +1 -0
  129. package/dist/{chunk-BAPCHFNX.cjs → chunk-FFF57VHO.cjs} +14 -14
  130. package/dist/chunk-FFF57VHO.cjs.map +1 -0
  131. package/dist/{chunk-UKDGDMWN.js → chunk-FNRYGCO3.js} +5 -5
  132. package/dist/chunk-FNRYGCO3.js.map +1 -0
  133. package/dist/{chunk-6USJ4LJJ.js → chunk-FQSVY4QB.js} +4 -4
  134. package/dist/chunk-FQSVY4QB.js.map +1 -0
  135. package/dist/{chunk-WOIWI2UO.js → chunk-G6HS52US.js} +3 -3
  136. package/dist/chunk-G6HS52US.js.map +1 -0
  137. package/dist/chunk-GA77PPVL.cjs +217 -0
  138. package/dist/chunk-GA77PPVL.cjs.map +1 -0
  139. package/dist/{chunk-MGVEX3RS.js → chunk-GSTINE4X.js} +814 -503
  140. package/dist/chunk-GSTINE4X.js.map +1 -0
  141. package/dist/chunk-GW6P4FJ4.cjs +424 -0
  142. package/dist/chunk-GW6P4FJ4.cjs.map +1 -0
  143. package/dist/{chunk-QRKRVCA3.cjs → chunk-GY2ZZR4Z.cjs} +34 -34
  144. package/dist/chunk-GY2ZZR4Z.cjs.map +1 -0
  145. package/dist/{chunk-RQ5BMSGU.js → chunk-H2EMKCWT.js} +3 -3
  146. package/dist/{chunk-RQ5BMSGU.js.map → chunk-H2EMKCWT.js.map} +1 -1
  147. package/dist/{chunk-P6RAOXJA.js → chunk-H4L456EW.js} +85 -58
  148. package/dist/chunk-H4L456EW.js.map +1 -0
  149. package/dist/{chunk-GXRH5XQY.js → chunk-HIH6MS5D.js} +10 -12
  150. package/dist/chunk-HIH6MS5D.js.map +1 -0
  151. package/dist/{chunk-YLGAJD6Q.js → chunk-HNDDNW52.js} +6 -14
  152. package/dist/chunk-HNDDNW52.js.map +1 -0
  153. package/dist/{chunk-3TXVDCF2.js → chunk-HPNY32G6.js} +5 -5
  154. package/dist/{chunk-3TXVDCF2.js.map → chunk-HPNY32G6.js.map} +1 -1
  155. package/dist/{chunk-M3RNFDA2.cjs → chunk-HWD4HDQ5.cjs} +61 -52
  156. package/dist/chunk-HWD4HDQ5.cjs.map +1 -0
  157. package/dist/{chunk-LX64ENLC.cjs → chunk-HWP2UGOC.cjs} +84 -97
  158. package/dist/chunk-HWP2UGOC.cjs.map +1 -0
  159. package/dist/chunk-HXIU3SIQ.cjs +391 -0
  160. package/dist/chunk-HXIU3SIQ.cjs.map +1 -0
  161. package/dist/{chunk-5GNYP3PH.cjs → chunk-I2NG2P5K.cjs} +152 -137
  162. package/dist/chunk-I2NG2P5K.cjs.map +1 -0
  163. package/dist/chunk-I47WOF6E.js +389 -0
  164. package/dist/chunk-I47WOF6E.js.map +1 -0
  165. package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
  166. package/dist/chunk-IAVZKGZS.js.map +1 -0
  167. package/dist/{chunk-F3NATTQG.cjs → chunk-IGJEZLHP.cjs} +223 -205
  168. package/dist/chunk-IGJEZLHP.cjs.map +1 -0
  169. package/dist/{chunk-A66NIFJE.cjs → chunk-IU2YRN35.cjs} +112 -112
  170. package/dist/chunk-IU2YRN35.cjs.map +1 -0
  171. package/dist/{chunk-7T3SWOY7.js → chunk-IUW777WZ.js} +2 -2
  172. package/dist/{chunk-7T3SWOY7.js.map → chunk-IUW777WZ.js.map} +1 -1
  173. package/dist/{chunk-QGHFUOUB.cjs → chunk-IX26TMZD.cjs} +7 -7
  174. package/dist/{chunk-QGHFUOUB.cjs.map → chunk-IX26TMZD.cjs.map} +1 -1
  175. package/dist/chunk-J2YKUHQM.js +330 -0
  176. package/dist/chunk-J2YKUHQM.js.map +1 -0
  177. package/dist/{chunk-QEX7V7TI.cjs → chunk-J3X465QT.cjs} +16 -16
  178. package/dist/chunk-J3X465QT.cjs.map +1 -0
  179. package/dist/{chunk-4TIAKZ4Q.cjs → chunk-J4PIYOWT.cjs} +2 -2
  180. package/dist/{chunk-4TIAKZ4Q.cjs.map → chunk-J4PIYOWT.cjs.map} +1 -1
  181. package/dist/{chunk-O32BKXTR.cjs → chunk-JIF5TZHC.cjs} +2 -2
  182. package/dist/chunk-JIF5TZHC.cjs.map +1 -0
  183. package/dist/{chunk-UN35QV25.js → chunk-JJNXQ7EL.js} +4 -4
  184. package/dist/{chunk-UN35QV25.js.map → chunk-JJNXQ7EL.js.map} +1 -1
  185. package/dist/{chunk-CK3UJQRI.cjs → chunk-JK4YAQ2N.cjs} +2 -6
  186. package/dist/chunk-JK4YAQ2N.cjs.map +1 -0
  187. package/dist/{chunk-VVO7GIHG.cjs → chunk-JM4Q7ZQH.cjs} +9 -9
  188. package/dist/{chunk-VVO7GIHG.cjs.map → chunk-JM4Q7ZQH.cjs.map} +1 -1
  189. package/dist/{chunk-NH7KH7QP.js → chunk-JS6MRT6M.js} +5 -5
  190. package/dist/{chunk-NH7KH7QP.js.map → chunk-JS6MRT6M.js.map} +1 -1
  191. package/dist/{chunk-7GN6YTSS.cjs → chunk-JSAYTQTJ.cjs} +7 -7
  192. package/dist/chunk-JSAYTQTJ.cjs.map +1 -0
  193. package/dist/{chunk-WGCGHFXE.cjs → chunk-JV4Y6HNP.cjs} +2 -2
  194. package/dist/{chunk-WGCGHFXE.cjs.map → chunk-JV4Y6HNP.cjs.map} +1 -1
  195. package/dist/{chunk-I7KILUVL.cjs → chunk-K4K4FU3D.cjs} +182 -108
  196. package/dist/chunk-K4K4FU3D.cjs.map +1 -0
  197. package/dist/{chunk-M3IKL2VG.js → chunk-KC4EKXGF.js} +7 -7
  198. package/dist/{chunk-M3IKL2VG.js.map → chunk-KC4EKXGF.js.map} +1 -1
  199. package/dist/{chunk-PYPXJC35.cjs → chunk-KUXFEAT4.cjs} +4 -4
  200. package/dist/{chunk-PYPXJC35.cjs.map → chunk-KUXFEAT4.cjs.map} +1 -1
  201. package/dist/chunk-KVEXSDEM.js +214 -0
  202. package/dist/chunk-KVEXSDEM.js.map +1 -0
  203. package/dist/{chunk-276LEL3G.cjs → chunk-KVJ27734.cjs} +4 -4
  204. package/dist/{chunk-276LEL3G.cjs.map → chunk-KVJ27734.cjs.map} +1 -1
  205. package/dist/{chunk-W3KMDQKP.cjs → chunk-L5JS6P62.cjs} +38 -33
  206. package/dist/chunk-L5JS6P62.cjs.map +1 -0
  207. package/dist/{chunk-75CPTIET.js → chunk-L5PJCLV6.js} +263 -224
  208. package/dist/chunk-L5PJCLV6.js.map +1 -0
  209. package/dist/{chunk-3L6KAW7G.js → chunk-L7XJZJCM.js} +5 -5
  210. package/dist/chunk-L7XJZJCM.js.map +1 -0
  211. package/dist/{chunk-YSTESYUB.js → chunk-LBGC6EC5.js} +249 -203
  212. package/dist/chunk-LBGC6EC5.js.map +1 -0
  213. package/dist/{chunk-CN2HJ7CP.js → chunk-LKGHYNLH.js} +10 -10
  214. package/dist/{chunk-CN2HJ7CP.js.map → chunk-LKGHYNLH.js.map} +1 -1
  215. package/dist/{chunk-7U7RP6N2.cjs → chunk-LW3DJOF4.cjs} +13 -13
  216. package/dist/{chunk-7U7RP6N2.cjs.map → chunk-LW3DJOF4.cjs.map} +1 -1
  217. package/dist/{chunk-HVUYVPQL.cjs → chunk-MAYQGKKW.cjs} +4 -4
  218. package/dist/{chunk-HVUYVPQL.cjs.map → chunk-MAYQGKKW.cjs.map} +1 -1
  219. package/dist/{chunk-6NTDPZWP.js → chunk-MDQSVB2Y.js} +26 -22
  220. package/dist/chunk-MDQSVB2Y.js.map +1 -0
  221. package/dist/{chunk-EE2O457Z.cjs → chunk-MEUELWGO.cjs} +14 -14
  222. package/dist/{chunk-EE2O457Z.cjs.map → chunk-MEUELWGO.cjs.map} +1 -1
  223. package/dist/{chunk-CRQXHA7N.js → chunk-MEXR5ONE.js} +9 -9
  224. package/dist/{chunk-CRQXHA7N.js.map → chunk-MEXR5ONE.js.map} +1 -1
  225. package/dist/{chunk-WO6FS4DV.js → chunk-MGJLBHPJ.js} +166 -148
  226. package/dist/chunk-MGJLBHPJ.js.map +1 -0
  227. package/dist/{chunk-5AYGQJOW.js → chunk-MN2NCSQQ.js} +4 -4
  228. package/dist/{chunk-5AYGQJOW.js.map → chunk-MN2NCSQQ.js.map} +1 -1
  229. package/dist/{chunk-5TT4PGZO.cjs → chunk-N77K3NQY.cjs} +9 -9
  230. package/dist/{chunk-5TT4PGZO.cjs.map → chunk-N77K3NQY.cjs.map} +1 -1
  231. package/dist/{chunk-KRZ57O2J.cjs → chunk-NYTSAO5I.cjs} +8 -8
  232. package/dist/{chunk-KRZ57O2J.cjs.map → chunk-NYTSAO5I.cjs.map} +1 -1
  233. package/dist/{chunk-CPOYENSZ.cjs → chunk-O4PO6AMS.cjs} +4 -4
  234. package/dist/{chunk-CPOYENSZ.cjs.map → chunk-O4PO6AMS.cjs.map} +1 -1
  235. package/dist/{chunk-HNROO7CR.js → chunk-OERNLR2P.js} +16 -16
  236. package/dist/chunk-OERNLR2P.js.map +1 -0
  237. package/dist/{chunk-TF7IWMV2.js → chunk-OF5NULAO.js} +19 -13
  238. package/dist/chunk-OF5NULAO.js.map +1 -0
  239. package/dist/{chunk-F3ZNRO6W.js → chunk-OTQAREYU.js} +6 -6
  240. package/dist/{chunk-F3ZNRO6W.js.map → chunk-OTQAREYU.js.map} +1 -1
  241. package/dist/{chunk-LFRTNC7M.cjs → chunk-OUZX7STE.cjs} +30 -31
  242. package/dist/chunk-OUZX7STE.cjs.map +1 -0
  243. package/dist/{chunk-O4RTJESR.js → chunk-PBQMHXVO.js} +4 -4
  244. package/dist/chunk-PBQMHXVO.js.map +1 -0
  245. package/dist/{chunk-HPVXP3DG.cjs → chunk-PGTOVMP7.cjs} +21 -21
  246. package/dist/{chunk-HPVXP3DG.cjs.map → chunk-PGTOVMP7.cjs.map} +1 -1
  247. package/dist/{chunk-2OXKEUKG.cjs → chunk-PKZSJX53.cjs} +2 -2
  248. package/dist/chunk-PKZSJX53.cjs.map +1 -0
  249. package/dist/chunk-PZHRFASW.js +36 -0
  250. package/dist/chunk-PZHRFASW.js.map +1 -0
  251. package/dist/{chunk-7MN4JDP7.js → chunk-Q3HMGFGI.js} +46 -59
  252. package/dist/chunk-Q3HMGFGI.js.map +1 -0
  253. package/dist/{chunk-U2WVHZ24.cjs → chunk-Q4HAXT5C.cjs} +149 -146
  254. package/dist/chunk-Q4HAXT5C.cjs.map +1 -0
  255. package/dist/{chunk-ZD3NPHZ7.cjs → chunk-QB2BSOM4.cjs} +4 -4
  256. package/dist/{chunk-ZD3NPHZ7.cjs.map → chunk-QB2BSOM4.cjs.map} +1 -1
  257. package/dist/{chunk-VAK4JQYL.js → chunk-QO5C7TIV.js} +9 -8
  258. package/dist/chunk-QO5C7TIV.js.map +1 -0
  259. package/dist/{chunk-CZM5FAWL.cjs → chunk-R4DGCQTA.cjs} +12 -12
  260. package/dist/{chunk-CZM5FAWL.cjs.map → chunk-R4DGCQTA.cjs.map} +1 -1
  261. package/dist/{chunk-76B2VLID.js → chunk-RJEZBOSH.js} +5 -5
  262. package/dist/{chunk-76B2VLID.js.map → chunk-RJEZBOSH.js.map} +1 -1
  263. package/dist/{chunk-4H35H54I.cjs → chunk-RRXOSNCX.cjs} +18 -18
  264. package/dist/chunk-RRXOSNCX.cjs.map +1 -0
  265. package/dist/{chunk-2VOB6LEI.js → chunk-S4IHNNA2.js} +111 -111
  266. package/dist/chunk-S4IHNNA2.js.map +1 -0
  267. package/dist/{chunk-VEUZ5DZR.js → chunk-S5CMLG2E.js} +34 -29
  268. package/dist/chunk-S5CMLG2E.js.map +1 -0
  269. package/dist/{chunk-24J3BUKL.js → chunk-SHARVIUI.js} +3 -3
  270. package/dist/chunk-SHARVIUI.js.map +1 -0
  271. package/dist/{chunk-7PNLMDAR.cjs → chunk-SUT35RHA.cjs} +8 -8
  272. package/dist/chunk-SUT35RHA.cjs.map +1 -0
  273. package/dist/{chunk-SSOAZZNR.cjs → chunk-SUWRSJAN.cjs} +5 -5
  274. package/dist/{chunk-SSOAZZNR.cjs.map → chunk-SUWRSJAN.cjs.map} +1 -1
  275. package/dist/{chunk-LHP47U6H.js → chunk-SZ27SCE2.js} +3 -3
  276. package/dist/{chunk-LHP47U6H.js.map → chunk-SZ27SCE2.js.map} +1 -1
  277. package/dist/{chunk-YNTPHZFJ.js → chunk-TCTPR7YQ.js} +3 -3
  278. package/dist/{chunk-YNTPHZFJ.js.map → chunk-TCTPR7YQ.js.map} +1 -1
  279. package/dist/{chunk-XUJZTD4E.js → chunk-TH537HOM.js} +55 -46
  280. package/dist/chunk-TH537HOM.js.map +1 -0
  281. package/dist/{chunk-RVENUWRD.js → chunk-THTVYP5V.js} +9 -9
  282. package/dist/chunk-THTVYP5V.js.map +1 -0
  283. package/dist/{chunk-GLJWAY4A.cjs → chunk-TKTCN4JE.cjs} +19 -19
  284. package/dist/chunk-TKTCN4JE.cjs.map +1 -0
  285. package/dist/{chunk-Q3OA23V5.js → chunk-TOQ4MGM5.js} +51 -51
  286. package/dist/chunk-TOQ4MGM5.js.map +1 -0
  287. package/dist/chunk-TSKFGLGQ.cjs +332 -0
  288. package/dist/chunk-TSKFGLGQ.cjs.map +1 -0
  289. package/dist/{chunk-OULO3YDQ.cjs → chunk-TTDNCN5G.cjs} +233 -242
  290. package/dist/chunk-TTDNCN5G.cjs.map +1 -0
  291. package/dist/{chunk-PYW5UO2Z.js → chunk-U5M4JZBX.js} +4 -4
  292. package/dist/chunk-U5M4JZBX.js.map +1 -0
  293. package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
  294. package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
  295. package/dist/{chunk-5D4LRSIV.js → chunk-UARQIMPS.js} +10 -10
  296. package/dist/chunk-UARQIMPS.js.map +1 -0
  297. package/dist/{chunk-CZC2K5GJ.js → chunk-UXGHFKLA.js} +6 -6
  298. package/dist/{chunk-CZC2K5GJ.js.map → chunk-UXGHFKLA.js.map} +1 -1
  299. package/dist/{chunk-QCT4BPB6.cjs → chunk-UXQSSRBQ.cjs} +867 -556
  300. package/dist/chunk-UXQSSRBQ.cjs.map +1 -0
  301. package/dist/{chunk-EXYBQVZT.js → chunk-V2V5TTTL.js} +3 -3
  302. package/dist/chunk-V2V5TTTL.js.map +1 -0
  303. package/dist/{chunk-5BCLEOFF.cjs → chunk-V4ZH2H2P.cjs} +37 -30
  304. package/dist/chunk-V4ZH2H2P.cjs.map +1 -0
  305. package/dist/{chunk-EC2ALHNJ.js → chunk-VD52FLHL.js} +214 -196
  306. package/dist/chunk-VD52FLHL.js.map +1 -0
  307. package/dist/{chunk-O5A47TA2.js → chunk-VH3G4IUX.js} +231 -240
  308. package/dist/chunk-VH3G4IUX.js.map +1 -0
  309. package/dist/{chunk-IUUQXCDE.js → chunk-VJXSJXEX.js} +2 -2
  310. package/dist/{chunk-IUUQXCDE.js.map → chunk-VJXSJXEX.js.map} +1 -1
  311. package/dist/{chunk-PJMV2HTO.cjs → chunk-VO4FG3L2.cjs} +62 -62
  312. package/dist/chunk-VO4FG3L2.cjs.map +1 -0
  313. package/dist/{chunk-I45346RZ.cjs → chunk-VOOD6CXJ.cjs} +2 -2
  314. package/dist/{chunk-I45346RZ.cjs.map → chunk-VOOD6CXJ.cjs.map} +1 -1
  315. package/dist/{chunk-3ZFEBOXD.cjs → chunk-VV72PGKH.cjs} +257 -211
  316. package/dist/chunk-VV72PGKH.cjs.map +1 -0
  317. package/dist/{chunk-PQRIV5XU.js → chunk-W5F7PYT2.js} +11 -11
  318. package/dist/{chunk-PQRIV5XU.js.map → chunk-W5F7PYT2.js.map} +1 -1
  319. package/dist/{chunk-3DJ46WN4.js → chunk-WPMWHKJX.js} +6 -6
  320. package/dist/chunk-WPMWHKJX.js.map +1 -0
  321. package/dist/{chunk-FZCBTFHY.js → chunk-WTCH3QCQ.js} +12 -13
  322. package/dist/chunk-WTCH3QCQ.js.map +1 -0
  323. package/dist/{chunk-65QAZWOG.cjs → chunk-X34F4ZV6.cjs} +4 -4
  324. package/dist/{chunk-65QAZWOG.cjs.map → chunk-X34F4ZV6.cjs.map} +1 -1
  325. package/dist/{chunk-6W3L6IJB.cjs → chunk-X4I5YARV.cjs} +17 -17
  326. package/dist/chunk-X4I5YARV.cjs.map +1 -0
  327. package/dist/{chunk-S4LVSSJI.js → chunk-XHJRAEGW.js} +11 -11
  328. package/dist/chunk-XHJRAEGW.js.map +1 -0
  329. package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
  330. package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
  331. package/dist/{chunk-PZ63ZCEO.cjs → chunk-XPGIWOJO.cjs} +26 -26
  332. package/dist/{chunk-PZ63ZCEO.cjs.map → chunk-XPGIWOJO.cjs.map} +1 -1
  333. package/dist/{chunk-2P6D43V2.cjs → chunk-XPHXAZCE.cjs} +6 -6
  334. package/dist/chunk-XPHXAZCE.cjs.map +1 -0
  335. package/dist/{chunk-X2GRBPCJ.cjs → chunk-XZZI3JYK.cjs} +11 -13
  336. package/dist/chunk-XZZI3JYK.cjs.map +1 -0
  337. package/dist/{chunk-UXDXE7Z6.cjs → chunk-YDNEAHVK.cjs} +512 -452
  338. package/dist/chunk-YDNEAHVK.cjs.map +1 -0
  339. package/dist/{chunk-M3BF3BBJ.cjs → chunk-YJEX32HZ.cjs} +15 -15
  340. package/dist/{chunk-M3BF3BBJ.cjs.map → chunk-YJEX32HZ.cjs.map} +1 -1
  341. package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
  342. package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
  343. package/dist/{chunk-L5YTMHDI.cjs → chunk-Z7OUMVR5.cjs} +17 -16
  344. package/dist/chunk-Z7OUMVR5.cjs.map +1 -0
  345. package/dist/{chunk-OSBVDRVD.cjs → chunk-ZPJW3PP7.cjs} +206 -175
  346. package/dist/chunk-ZPJW3PP7.cjs.map +1 -0
  347. package/dist/{chunk-AX6HC2YY.cjs → chunk-ZPOXH42B.cjs} +3 -3
  348. package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZPOXH42B.cjs.map} +1 -1
  349. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  350. package/dist/components/Accordion/index.cjs +7 -8
  351. package/dist/components/Accordion/index.d.ts +2 -2
  352. package/dist/components/Accordion/index.d.ts.map +1 -1
  353. package/dist/components/Accordion/index.js +4 -5
  354. package/dist/components/Accordion/useAccordionDevWarning.d.ts +8 -0
  355. package/dist/components/Accordion/useAccordionDevWarning.d.ts.map +1 -0
  356. package/dist/components/Alert/Alert.d.ts +2 -11
  357. package/dist/components/Alert/Alert.d.ts.map +1 -1
  358. package/dist/components/Alert/Alert.recipe.d.ts +1 -1
  359. package/dist/components/Alert/Alert.types.d.ts +3 -0
  360. package/dist/components/Alert/Alert.types.d.ts.map +1 -0
  361. package/dist/components/Alert/index.cjs +14 -15
  362. package/dist/components/Alert/index.d.ts.map +1 -1
  363. package/dist/components/Alert/index.js +13 -14
  364. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  365. package/dist/components/AlertDialog/index.cjs +19 -18
  366. package/dist/components/AlertDialog/index.d.ts.map +1 -1
  367. package/dist/components/AlertDialog/index.js +17 -16
  368. package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
  369. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  370. package/dist/components/AppShell/index.cjs +23 -23
  371. package/dist/components/AppShell/index.d.ts.map +1 -1
  372. package/dist/components/AppShell/index.js +20 -20
  373. package/dist/components/AspectRatio/index.cjs +3 -3
  374. package/dist/components/AspectRatio/index.d.ts +1 -1
  375. package/dist/components/AspectRatio/index.d.ts.map +1 -1
  376. package/dist/components/AspectRatio/index.js +2 -2
  377. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +4 -2
  378. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  379. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +1 -1
  380. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +1 -1
  381. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
  382. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +3 -1
  383. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  384. package/dist/components/AutocompleteInput/index.cjs +23 -25
  385. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  386. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  387. package/dist/components/AutocompleteInput/index.js +18 -20
  388. package/dist/components/AutocompleteInput/types.d.ts +3 -3
  389. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  390. package/dist/components/Avatar/Avatar.recipe.d.ts +1 -1
  391. package/dist/components/Avatar/index.cjs +7 -8
  392. package/dist/components/Avatar/index.d.ts.map +1 -1
  393. package/dist/components/Avatar/index.js +4 -5
  394. package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  395. package/dist/components/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
  396. package/dist/components/AvatarGroup/index.cjs +7 -8
  397. package/dist/components/AvatarGroup/index.d.ts +1 -1
  398. package/dist/components/AvatarGroup/index.d.ts.map +1 -1
  399. package/dist/components/AvatarGroup/index.js +5 -6
  400. package/dist/components/Badge/Badge.d.ts.map +1 -1
  401. package/dist/components/Badge/index.cjs +4 -4
  402. package/dist/components/Badge/index.d.ts +1 -1
  403. package/dist/components/Badge/index.d.ts.map +1 -1
  404. package/dist/components/Badge/index.js +3 -3
  405. package/dist/components/Blockquote/Blockquote.recipe.d.ts +1 -1
  406. package/dist/components/Blockquote/index.cjs +4 -5
  407. package/dist/components/Blockquote/index.d.ts +1 -1
  408. package/dist/components/Blockquote/index.d.ts.map +1 -1
  409. package/dist/components/Blockquote/index.js +3 -4
  410. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  411. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +1 -1
  412. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  413. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +1 -1
  414. package/dist/components/Breadcrumbs/index.cjs +11 -12
  415. package/dist/components/Breadcrumbs/index.d.ts +2 -2
  416. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  417. package/dist/components/Breadcrumbs/index.js +8 -9
  418. package/dist/components/Button/Button.d.ts +2 -4
  419. package/dist/components/Button/Button.d.ts.map +1 -1
  420. package/dist/components/Button/Button.recipe.d.ts +1 -1
  421. package/dist/components/Button/Button.types.d.ts +3 -0
  422. package/dist/components/Button/Button.types.d.ts.map +1 -0
  423. package/dist/components/Button/index.cjs +13 -14
  424. package/dist/components/Button/index.d.ts +1 -1
  425. package/dist/components/Button/index.d.ts.map +1 -1
  426. package/dist/components/Button/index.js +12 -13
  427. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  428. package/dist/components/ButtonGroup/ButtonGroupContext.d.ts.map +1 -1
  429. package/dist/components/ButtonGroup/index.cjs +4 -4
  430. package/dist/components/ButtonGroup/index.d.ts +1 -1
  431. package/dist/components/ButtonGroup/index.d.ts.map +1 -1
  432. package/dist/components/ButtonGroup/index.js +3 -3
  433. package/dist/components/Calendar/Calendar.d.ts +16 -3
  434. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  435. package/dist/components/Calendar/Calendar.recipe.d.ts +1 -1
  436. package/dist/components/Calendar/index.cjs +15 -16
  437. package/dist/components/Calendar/index.d.ts.map +1 -1
  438. package/dist/components/Calendar/index.js +14 -15
  439. package/dist/components/Card/Card.d.ts.map +1 -1
  440. package/dist/components/Card/index.cjs +3 -3
  441. package/dist/components/Card/index.d.ts +1 -1
  442. package/dist/components/Card/index.d.ts.map +1 -1
  443. package/dist/components/Card/index.js +2 -2
  444. package/dist/components/Center/Center.d.ts.map +1 -1
  445. package/dist/components/Center/index.cjs +3 -3
  446. package/dist/components/Center/index.d.ts +1 -1
  447. package/dist/components/Center/index.d.ts.map +1 -1
  448. package/dist/components/Center/index.js +2 -2
  449. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  450. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +1 -1
  451. package/dist/components/CheckboxInput/index.cjs +14 -15
  452. package/dist/components/CheckboxInput/index.d.ts.map +1 -1
  453. package/dist/components/CheckboxInput/index.js +13 -14
  454. package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
  455. package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +1 -1
  456. package/dist/components/CodeBlock/index.cjs +16 -17
  457. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  458. package/dist/components/CodeBlock/index.js +15 -16
  459. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
  460. package/dist/components/ContextMenu/index.cjs +19 -21
  461. package/dist/components/ContextMenu/index.d.ts.map +1 -1
  462. package/dist/components/ContextMenu/index.js +17 -19
  463. package/dist/components/DateInput/DateInput.d.ts +7 -5
  464. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  465. package/dist/components/DateInput/index.cjs +21 -22
  466. package/dist/components/DateInput/index.d.ts +1 -1
  467. package/dist/components/DateInput/index.d.ts.map +1 -1
  468. package/dist/components/DateInput/index.js +20 -21
  469. package/dist/components/DateRangeInput/DateRangeInput.d.ts +5 -5
  470. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  471. package/dist/components/DateRangeInput/index.cjs +21 -22
  472. package/dist/components/DateRangeInput/index.d.ts.map +1 -1
  473. package/dist/components/DateRangeInput/index.js +20 -21
  474. package/dist/components/DateTimeInput/DateTimeInput.d.ts +4 -4
  475. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  476. package/dist/components/DateTimeInput/index.cjs +23 -24
  477. package/dist/components/DateTimeInput/index.d.ts.map +1 -1
  478. package/dist/components/DateTimeInput/index.js +22 -23
  479. package/dist/components/Dialog/Dialog.d.ts +2 -4
  480. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  481. package/dist/components/Dialog/index.cjs +7 -6
  482. package/dist/components/Dialog/index.d.ts +1 -1
  483. package/dist/components/Dialog/index.d.ts.map +1 -1
  484. package/dist/components/Dialog/index.js +5 -4
  485. package/dist/components/Dialog/useDialog.d.ts.map +1 -1
  486. package/dist/components/Divider/Divider.recipe.d.ts +1 -1
  487. package/dist/components/Divider/index.cjs +4 -5
  488. package/dist/components/Divider/index.d.ts.map +1 -1
  489. package/dist/components/Divider/index.js +3 -4
  490. package/dist/components/Drawer/Drawer.d.ts +10 -2
  491. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  492. package/dist/components/Drawer/Drawer.recipe.d.ts +63 -0
  493. package/dist/components/Drawer/Drawer.recipe.d.ts.map +1 -0
  494. package/dist/components/Drawer/index.cjs +8 -4
  495. package/dist/components/Drawer/index.d.ts +2 -2
  496. package/dist/components/Drawer/index.d.ts.map +1 -1
  497. package/dist/components/Drawer/index.js +6 -2
  498. package/dist/components/Drawer/useDrawer.d.ts.map +1 -1
  499. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  500. package/dist/components/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
  501. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  502. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
  503. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
  504. package/dist/components/DropdownMenu/index.cjs +20 -22
  505. package/dist/components/DropdownMenu/index.d.ts +1 -1
  506. package/dist/components/DropdownMenu/index.d.ts.map +1 -1
  507. package/dist/components/DropdownMenu/index.js +16 -18
  508. package/dist/components/DropdownMenu/menuUtils.d.ts.map +1 -1
  509. package/dist/components/DropdownMenu/types.d.ts.map +1 -1
  510. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  511. package/dist/components/EmptyState/EmptyState.recipe.d.ts +1 -1
  512. package/dist/components/EmptyState/index.cjs +7 -8
  513. package/dist/components/EmptyState/index.d.ts +1 -1
  514. package/dist/components/EmptyState/index.d.ts.map +1 -1
  515. package/dist/components/EmptyState/index.js +6 -7
  516. package/dist/components/Field/Field.d.ts +1 -1
  517. package/dist/components/Field/Field.d.ts.map +1 -1
  518. package/dist/components/Field/Field.recipe.d.ts +1 -1
  519. package/dist/components/Field/index.cjs +11 -12
  520. package/dist/components/Field/index.d.ts +1 -1
  521. package/dist/components/Field/index.d.ts.map +1 -1
  522. package/dist/components/Field/index.js +9 -10
  523. package/dist/components/Field/inputUtils.d.ts.map +1 -1
  524. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  525. package/dist/components/FileInput/FileInput.recipe.d.ts +66 -0
  526. package/dist/components/FileInput/FileInput.recipe.d.ts.map +1 -0
  527. package/dist/components/FileInput/index.cjs +17 -19
  528. package/dist/components/FileInput/index.d.ts +1 -1
  529. package/dist/components/FileInput/index.d.ts.map +1 -1
  530. package/dist/components/FileInput/index.js +16 -18
  531. package/dist/components/HoverCard/HoverCard.d.ts +1 -1
  532. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
  533. package/dist/components/HoverCard/index.cjs +5 -5
  534. package/dist/components/HoverCard/index.d.ts.map +1 -1
  535. package/dist/components/HoverCard/index.js +3 -3
  536. package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
  537. package/dist/components/Icon/index.cjs +3 -3
  538. package/dist/components/Icon/index.d.ts.map +1 -1
  539. package/dist/components/Icon/index.js +2 -2
  540. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  541. package/dist/components/InputGroup/InputGroup.recipe.d.ts +1 -1
  542. package/dist/components/InputGroup/InputGroup.recipe.d.ts.map +1 -1
  543. package/dist/components/InputGroup/InputGroupContext.d.ts.map +1 -1
  544. package/dist/components/InputGroup/InputGroupText.d.ts.map +1 -1
  545. package/dist/components/InputGroup/index.cjs +14 -15
  546. package/dist/components/InputGroup/index.d.ts +2 -2
  547. package/dist/components/InputGroup/index.d.ts.map +1 -1
  548. package/dist/components/InputGroup/index.js +10 -11
  549. package/dist/components/Item/Item.d.ts +1 -1
  550. package/dist/components/Item/Item.d.ts.map +1 -1
  551. package/dist/components/Item/Item.recipe.d.ts +75 -0
  552. package/dist/components/Item/Item.recipe.d.ts.map +1 -0
  553. package/dist/components/Item/index.cjs +10 -10
  554. package/dist/components/Item/index.d.ts +1 -1
  555. package/dist/components/Item/index.d.ts.map +1 -1
  556. package/dist/components/Item/index.js +9 -9
  557. package/dist/components/Kbd/Kbd.recipe.d.ts +1 -1
  558. package/dist/components/Kbd/index.cjs +4 -5
  559. package/dist/components/Kbd/index.d.ts.map +1 -1
  560. package/dist/components/Kbd/index.js +3 -4
  561. package/dist/components/Layout/Layout.d.ts +1 -1
  562. package/dist/components/Layout/Layout.d.ts.map +1 -1
  563. package/dist/components/Layout/Layout.recipe.d.ts +101 -16
  564. package/dist/components/Layout/Layout.recipe.d.ts.map +1 -1
  565. package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
  566. package/dist/components/Layout/LayoutContext.d.ts +0 -7
  567. package/dist/components/Layout/LayoutContext.d.ts.map +1 -1
  568. package/dist/components/Layout/LayoutFooter.d.ts +1 -1
  569. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  570. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  571. package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
  572. package/dist/components/Layout/index.cjs +18 -19
  573. package/dist/components/Layout/index.d.ts +4 -4
  574. package/dist/components/Layout/index.d.ts.map +1 -1
  575. package/dist/components/Layout/index.js +13 -14
  576. package/dist/components/Layout/types.d.ts +4 -2
  577. package/dist/components/Layout/types.d.ts.map +1 -1
  578. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  579. package/dist/components/Lightbox/Lightbox.recipe.d.ts +43 -0
  580. package/dist/components/Lightbox/Lightbox.recipe.d.ts.map +1 -0
  581. package/dist/components/Lightbox/index.cjs +16 -16
  582. package/dist/components/Lightbox/index.d.ts.map +1 -1
  583. package/dist/components/Lightbox/index.js +14 -14
  584. package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
  585. package/dist/components/Link/Link.d.ts +1 -1
  586. package/dist/components/Link/Link.d.ts.map +1 -1
  587. package/dist/components/Link/LinkContext.d.ts.map +1 -1
  588. package/dist/components/Link/LinkProvider.d.ts.map +1 -1
  589. package/dist/components/Link/index.cjs +9 -10
  590. package/dist/components/Link/index.d.ts +1 -1
  591. package/dist/components/Link/index.d.ts.map +1 -1
  592. package/dist/components/Link/index.js +6 -7
  593. package/dist/components/Link/useLinkComponent.d.ts.map +1 -1
  594. package/dist/components/List/List.d.ts.map +1 -1
  595. package/dist/components/List/List.recipe.d.ts +1 -1
  596. package/dist/components/List/index.cjs +12 -13
  597. package/dist/components/List/index.d.ts.map +1 -1
  598. package/dist/components/List/index.js +10 -11
  599. package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
  600. package/dist/components/MetadataList/MetadataList.recipe.d.ts +29 -0
  601. package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -0
  602. package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
  603. package/dist/components/MetadataList/index.cjs +9 -9
  604. package/dist/components/MetadataList/index.d.ts +1 -1
  605. package/dist/components/MetadataList/index.d.ts.map +1 -1
  606. package/dist/components/MetadataList/index.js +7 -7
  607. package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
  608. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  609. package/dist/components/MultiSelect/MultiSelect.recipe.d.ts +41 -0
  610. package/dist/components/MultiSelect/MultiSelect.recipe.d.ts.map +1 -0
  611. package/dist/components/MultiSelect/index.cjs +20 -22
  612. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  613. package/dist/components/MultiSelect/index.js +19 -21
  614. package/dist/components/NavIcon/index.cjs +3 -3
  615. package/dist/components/NavIcon/index.d.ts.map +1 -1
  616. package/dist/components/NavIcon/index.js +2 -2
  617. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  618. package/dist/components/NumberInput/index.cjs +18 -19
  619. package/dist/components/NumberInput/index.d.ts +1 -1
  620. package/dist/components/NumberInput/index.d.ts.map +1 -1
  621. package/dist/components/NumberInput/index.js +17 -18
  622. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  623. package/dist/components/Pagination/index.cjs +14 -15
  624. package/dist/components/Pagination/index.d.ts.map +1 -1
  625. package/dist/components/Pagination/index.js +13 -14
  626. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  627. package/dist/components/PasswordInput/index.cjs +19 -20
  628. package/dist/components/PasswordInput/index.d.ts +1 -1
  629. package/dist/components/PasswordInput/index.d.ts.map +1 -1
  630. package/dist/components/PasswordInput/index.js +18 -19
  631. package/dist/components/Popover/Popover.d.ts +9 -3
  632. package/dist/components/Popover/Popover.d.ts.map +1 -1
  633. package/dist/components/Popover/index.cjs +15 -17
  634. package/dist/components/Popover/index.d.ts.map +1 -1
  635. package/dist/components/Popover/index.js +13 -15
  636. package/dist/components/Popover/usePopover.d.ts +72 -2
  637. package/dist/components/Popover/usePopover.d.ts.map +1 -1
  638. package/dist/components/Progress/Progress.recipe.d.ts +1 -1
  639. package/dist/components/Progress/index.cjs +5 -6
  640. package/dist/components/Progress/index.d.ts +1 -1
  641. package/dist/components/Progress/index.d.ts.map +1 -1
  642. package/dist/components/Progress/index.js +4 -5
  643. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  644. package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +1 -1
  645. package/dist/components/RadioGroup/index.cjs +15 -16
  646. package/dist/components/RadioGroup/index.d.ts +1 -1
  647. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  648. package/dist/components/RadioGroup/index.js +13 -14
  649. package/dist/components/Rating/Rating.d.ts.map +1 -1
  650. package/dist/components/Rating/Rating.recipe.d.ts +1 -1
  651. package/dist/components/Rating/index.cjs +6 -7
  652. package/dist/components/Rating/index.d.ts.map +1 -1
  653. package/dist/components/Rating/index.js +5 -6
  654. package/dist/components/Schedule/CalendarEvent.d.ts +2 -2
  655. package/dist/components/Schedule/CalendarEvent.d.ts.map +1 -1
  656. package/dist/components/Schedule/DayView.d.ts.map +1 -1
  657. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  658. package/dist/components/Schedule/MonthlyView.d.ts +12 -1
  659. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  660. package/dist/components/Schedule/Schedule.d.ts +2 -6
  661. package/dist/components/Schedule/Schedule.d.ts.map +1 -1
  662. package/dist/components/Schedule/Schedule.recipe.d.ts +8 -0
  663. package/dist/components/Schedule/Schedule.recipe.d.ts.map +1 -0
  664. package/dist/components/Schedule/ScheduleEvent.recipe.d.ts +191 -0
  665. package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -0
  666. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  667. package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
  668. package/dist/components/Schedule/context.d.ts +4 -8
  669. package/dist/components/Schedule/context.d.ts.map +1 -1
  670. package/dist/components/Schedule/dateMath.d.ts +1 -1
  671. package/dist/components/Schedule/dateMath.d.ts.map +1 -1
  672. package/dist/components/Schedule/index.cjs +30 -31
  673. package/dist/components/Schedule/index.d.ts +3 -3
  674. package/dist/components/Schedule/index.d.ts.map +1 -1
  675. package/dist/components/Schedule/index.js +19 -20
  676. package/dist/components/Schedule/plugins/PaginationPlugin.d.ts +3 -3
  677. package/dist/components/Schedule/plugins/PaginationPlugin.d.ts.map +1 -1
  678. package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
  679. package/dist/components/Schedule/plugins/index.d.ts.map +1 -1
  680. package/dist/components/Schedule/scheduleZonedInstant.d.ts +17 -0
  681. package/dist/components/Schedule/scheduleZonedInstant.d.ts.map +1 -0
  682. package/dist/components/Schedule/shared.d.ts +11 -20
  683. package/dist/components/Schedule/shared.d.ts.map +1 -1
  684. package/dist/components/Schedule/types.d.ts +8 -7
  685. package/dist/components/Schedule/types.d.ts.map +1 -1
  686. package/dist/components/Schedule/useCurrentTime.d.ts.map +1 -1
  687. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts +1 -1
  688. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  689. package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
  690. package/dist/components/SearchFilterInput/SearchFilterInputFilterEditor.d.ts.map +1 -1
  691. package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts +1 -1
  692. package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts.map +1 -1
  693. package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts +1 -2
  694. package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts.map +1 -1
  695. package/dist/components/SearchFilterInput/formatFilterValue.d.ts +1 -2
  696. package/dist/components/SearchFilterInput/formatFilterValue.d.ts.map +1 -1
  697. package/dist/components/SearchFilterInput/index.cjs +40 -41
  698. package/dist/components/SearchFilterInput/index.d.ts.map +1 -1
  699. package/dist/components/SearchFilterInput/index.js +32 -33
  700. package/dist/components/SearchFilterInput/internalConfig.d.ts.map +1 -1
  701. package/dist/components/SearchFilterInput/types.d.ts.map +1 -1
  702. package/dist/components/SearchFilterInput/useSearchFilterInputConfig.d.ts.map +1 -1
  703. package/dist/components/SearchFilterInput/useSearchFilterInputSource.d.ts.map +1 -1
  704. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  705. package/dist/components/SegmentedControl/SegmentedControl.recipe.d.ts +73 -0
  706. package/dist/components/SegmentedControl/SegmentedControl.recipe.d.ts.map +1 -0
  707. package/dist/components/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  708. package/dist/components/SegmentedControl/index.cjs +7 -6
  709. package/dist/components/SegmentedControl/index.d.ts +1 -1
  710. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  711. package/dist/components/SegmentedControl/index.js +5 -4
  712. package/dist/components/Select/Select.d.ts +1 -1
  713. package/dist/components/Select/Select.d.ts.map +1 -1
  714. package/dist/components/Select/Select.recipe.d.ts +1 -1
  715. package/dist/components/Select/SelectOption.d.ts.map +1 -1
  716. package/dist/components/Select/index.cjs +21 -23
  717. package/dist/components/Select/index.d.ts +1 -1
  718. package/dist/components/Select/index.d.ts.map +1 -1
  719. package/dist/components/Select/index.js +19 -21
  720. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  721. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  722. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  723. package/dist/components/SideNav/SideNavItem.recipe.d.ts +51 -0
  724. package/dist/components/SideNav/SideNavItem.recipe.d.ts.map +1 -0
  725. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  726. package/dist/components/SideNav/index.cjs +22 -22
  727. package/dist/components/SideNav/index.d.ts +3 -3
  728. package/dist/components/SideNav/index.d.ts.map +1 -1
  729. package/dist/components/SideNav/index.js +16 -16
  730. package/dist/components/Skeleton/index.cjs +3 -3
  731. package/dist/components/Skeleton/index.d.ts +1 -1
  732. package/dist/components/Skeleton/index.d.ts.map +1 -1
  733. package/dist/components/Skeleton/index.js +2 -2
  734. package/dist/components/Slider/Slider.d.ts.map +1 -1
  735. package/dist/components/Slider/Slider.recipe.d.ts +1 -1
  736. package/dist/components/Slider/index.cjs +11 -12
  737. package/dist/components/Slider/index.d.ts.map +1 -1
  738. package/dist/components/Slider/index.js +10 -11
  739. package/dist/components/Spinner/Spinner.d.ts +1 -4
  740. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  741. package/dist/components/Spinner/Spinner.types.d.ts +3 -0
  742. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -0
  743. package/dist/components/Spinner/index.cjs +7 -8
  744. package/dist/components/Spinner/index.d.ts.map +1 -1
  745. package/dist/components/Spinner/index.js +6 -7
  746. package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
  747. package/dist/components/SplitButton/index.cjs +19 -21
  748. package/dist/components/SplitButton/index.d.ts +1 -1
  749. package/dist/components/SplitButton/index.d.ts.map +1 -1
  750. package/dist/components/SplitButton/index.js +18 -20
  751. package/dist/components/Stack/HStack.d.ts.map +1 -1
  752. package/dist/components/Stack/VStack.d.ts.map +1 -1
  753. package/dist/components/Stack/index.cjs +4 -4
  754. package/dist/components/Stack/index.d.ts.map +1 -1
  755. package/dist/components/Stack/index.js +2 -2
  756. package/dist/components/Stack/internal/Stack.d.ts.map +1 -1
  757. package/dist/components/Stepper/Stepper.d.ts +55 -11
  758. package/dist/components/Stepper/Stepper.d.ts.map +1 -1
  759. package/dist/components/Stepper/index.cjs +8 -16
  760. package/dist/components/Stepper/index.d.ts +2 -3
  761. package/dist/components/Stepper/index.d.ts.map +1 -1
  762. package/dist/components/Stepper/index.js +7 -7
  763. package/dist/components/Stepper/internal/Step.d.ts +36 -0
  764. package/dist/components/Stepper/internal/Step.d.ts.map +1 -0
  765. package/dist/components/Stepper/internal/Step.recipe.d.ts +164 -0
  766. package/dist/components/Stepper/internal/Step.recipe.d.ts.map +1 -0
  767. package/dist/components/Switch/Switch.d.ts.map +1 -1
  768. package/dist/components/Switch/Switch.recipe.d.ts +1 -1
  769. package/dist/components/Switch/index.cjs +11 -12
  770. package/dist/components/Switch/index.d.ts.map +1 -1
  771. package/dist/components/Switch/index.js +10 -11
  772. package/dist/components/Table/Table.d.ts +45 -3
  773. package/dist/components/Table/Table.d.ts.map +1 -1
  774. package/dist/components/Table/Table.recipe.d.ts +156 -0
  775. package/dist/components/Table/Table.recipe.d.ts.map +1 -0
  776. package/dist/components/Table/TableCell.d.ts.map +1 -1
  777. package/dist/components/Table/TableContext.d.ts.map +1 -1
  778. package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
  779. package/dist/components/Table/TableRow.d.ts.map +1 -1
  780. package/dist/components/Table/columnUtils.d.ts.map +1 -1
  781. package/dist/components/Table/index.cjs +62 -71
  782. package/dist/components/Table/index.d.ts +2 -4
  783. package/dist/components/Table/index.d.ts.map +1 -1
  784. package/dist/components/Table/index.js +36 -37
  785. package/dist/components/Table/plugins/columnResize/index.d.ts.map +1 -1
  786. package/dist/components/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  787. package/dist/components/Table/plugins/columnSettings/index.d.ts.map +1 -1
  788. package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts +1 -1
  789. package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts.map +1 -1
  790. package/dist/components/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts.map +1 -1
  791. package/dist/components/Table/plugins/filtering/index.d.ts.map +1 -1
  792. package/dist/components/Table/plugins/filtering/useTableFilterState.d.ts.map +1 -1
  793. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts +1 -1
  794. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  795. package/dist/components/Table/plugins/pagination/index.d.ts +1 -1
  796. package/dist/components/Table/plugins/pagination/index.d.ts.map +1 -1
  797. package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  798. package/dist/components/Table/plugins/selection/index.d.ts.map +1 -1
  799. package/dist/components/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  800. package/dist/components/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
  801. package/dist/components/Table/plugins/sortable/index.d.ts.map +1 -1
  802. package/dist/components/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  803. package/dist/components/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
  804. package/dist/components/Table/types.d.ts +1 -18
  805. package/dist/components/Table/types.d.ts.map +1 -1
  806. package/dist/components/Table/useBaseTablePlugins.d.ts +1 -1
  807. package/dist/components/Table/useBaseTablePlugins.d.ts.map +1 -1
  808. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  809. package/dist/components/Tabs/TabMenu.d.ts.map +1 -1
  810. package/dist/components/Tabs/TabMenu.recipe.d.ts +21 -0
  811. package/dist/components/Tabs/TabMenu.recipe.d.ts.map +1 -0
  812. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  813. package/dist/components/Tabs/Tabs.recipe.d.ts +65 -0
  814. package/dist/components/Tabs/Tabs.recipe.d.ts.map +1 -0
  815. package/dist/components/Tabs/index.cjs +19 -21
  816. package/dist/components/Tabs/index.d.ts +1 -1
  817. package/dist/components/Tabs/index.d.ts.map +1 -1
  818. package/dist/components/Tabs/index.js +14 -16
  819. package/dist/components/Tag/Tag.d.ts.map +1 -1
  820. package/dist/components/Tag/Tag.recipe.d.ts +1 -1
  821. package/dist/components/Tag/index.cjs +9 -10
  822. package/dist/components/Tag/index.d.ts +1 -1
  823. package/dist/components/Tag/index.d.ts.map +1 -1
  824. package/dist/components/Tag/index.js +8 -9
  825. package/dist/components/TagsInput/TagsInput.d.ts +52 -8
  826. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  827. package/dist/components/TagsInput/TagsInput.recipe.d.ts +45 -0
  828. package/dist/components/TagsInput/TagsInput.recipe.d.ts.map +1 -0
  829. package/dist/components/TagsInput/index.cjs +20 -22
  830. package/dist/components/TagsInput/index.d.ts.map +1 -1
  831. package/dist/components/TagsInput/index.js +19 -21
  832. package/dist/components/Text/Heading.d.ts +1 -1
  833. package/dist/components/Text/Heading.d.ts.map +1 -1
  834. package/dist/components/Text/Text.d.ts.map +1 -1
  835. package/dist/components/Text/index.cjs +6 -6
  836. package/dist/components/Text/index.d.ts.map +1 -1
  837. package/dist/components/Text/index.js +4 -4
  838. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  839. package/dist/components/TextArea/index.cjs +13 -14
  840. package/dist/components/TextArea/index.d.ts.map +1 -1
  841. package/dist/components/TextArea/index.js +12 -13
  842. package/dist/components/TextInput/TextInput.d.ts +5 -0
  843. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  844. package/dist/components/TextInput/index.cjs +18 -19
  845. package/dist/components/TextInput/index.d.ts +1 -1
  846. package/dist/components/TextInput/index.d.ts.map +1 -1
  847. package/dist/components/TextInput/index.js +17 -18
  848. package/dist/components/Theme/index.cjs +2 -2
  849. package/dist/components/Theme/index.d.ts.map +1 -1
  850. package/dist/components/Theme/index.js +1 -1
  851. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
  852. package/dist/components/Thumbnail/index.cjs +15 -16
  853. package/dist/components/Thumbnail/index.d.ts.map +1 -1
  854. package/dist/components/Thumbnail/index.js +14 -15
  855. package/dist/components/TimeInput/TimeInput.d.ts +3 -3
  856. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  857. package/dist/components/TimeInput/index.cjs +17 -18
  858. package/dist/components/TimeInput/index.d.ts +1 -1
  859. package/dist/components/TimeInput/index.d.ts.map +1 -1
  860. package/dist/components/TimeInput/index.js +16 -17
  861. package/dist/components/Toast/Toast.d.ts +1 -1
  862. package/dist/components/Toast/Toast.d.ts.map +1 -1
  863. package/dist/components/Toast/Toast.recipe.d.ts +1 -1
  864. package/dist/components/Toast/ToastContext.d.ts.map +1 -1
  865. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  866. package/dist/components/Toast/index.cjs +16 -17
  867. package/dist/components/Toast/index.d.ts.map +1 -1
  868. package/dist/components/Toast/index.js +13 -14
  869. package/dist/components/Toast/useToast.d.ts.map +1 -1
  870. package/dist/components/ToggleButton/ToggleButton.d.ts +2 -6
  871. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
  872. package/dist/components/ToggleButton/ToggleButton.recipe.d.ts +20 -0
  873. package/dist/components/ToggleButton/ToggleButton.recipe.d.ts.map +1 -0
  874. package/dist/components/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  875. package/dist/components/ToggleButton/index.cjs +11 -12
  876. package/dist/components/ToggleButton/index.d.ts +1 -1
  877. package/dist/components/ToggleButton/index.d.ts.map +1 -1
  878. package/dist/components/ToggleButton/index.js +9 -10
  879. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  880. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  881. package/dist/components/Tooltip/index.cjs +5 -5
  882. package/dist/components/Tooltip/index.d.ts +1 -1
  883. package/dist/components/Tooltip/index.d.ts.map +1 -1
  884. package/dist/components/Tooltip/index.js +3 -3
  885. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  886. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  887. package/dist/components/TopNav/TopNav.recipe.d.ts +11 -5
  888. package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
  889. package/dist/components/TopNav/TopNavContext.d.ts +0 -2
  890. package/dist/components/TopNav/TopNavContext.d.ts.map +1 -1
  891. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  892. package/dist/components/TopNav/TopNavHeading.recipe.d.ts +4 -0
  893. package/dist/components/TopNav/TopNavHeading.recipe.d.ts.map +1 -0
  894. package/dist/components/TopNav/TopNavItem.d.ts +13 -8
  895. package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
  896. package/dist/components/TopNav/index.cjs +21 -25
  897. package/dist/components/TopNav/index.d.ts +2 -2
  898. package/dist/components/TopNav/index.d.ts.map +1 -1
  899. package/dist/components/TopNav/index.js +16 -16
  900. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  901. package/dist/components/TreeView/TreeView.recipe.d.ts +4 -0
  902. package/dist/components/TreeView/TreeView.recipe.d.ts.map +1 -0
  903. package/dist/components/TreeView/TreeViewBranches.d.ts.map +1 -1
  904. package/dist/components/TreeView/TreeViewBranches.recipe.d.ts +4 -0
  905. package/dist/components/TreeView/TreeViewBranches.recipe.d.ts.map +1 -0
  906. package/dist/components/TreeView/TreeViewItem.d.ts +1 -5
  907. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  908. package/dist/components/TreeView/TreeViewItem.recipe.d.ts +84 -0
  909. package/dist/components/TreeView/TreeViewItem.recipe.d.ts.map +1 -0
  910. package/dist/components/TreeView/index.cjs +5 -4
  911. package/dist/components/TreeView/index.d.ts +1 -1
  912. package/dist/components/TreeView/index.d.ts.map +1 -1
  913. package/dist/components/TreeView/index.js +4 -3
  914. package/dist/index.cjs +262 -281
  915. package/dist/index.cjs.map +1 -1
  916. package/dist/index.d.ts +8 -8
  917. package/dist/index.d.ts.map +1 -1
  918. package/dist/index.js +89 -88
  919. package/dist/index.js.map +1 -1
  920. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  921. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  922. package/dist/internal/MobileNav/index.d.ts +2 -2
  923. package/dist/internal/MobileNav/index.d.ts.map +1 -1
  924. package/dist/internal/dismissBehavior.d.ts +18 -0
  925. package/dist/internal/dismissBehavior.d.ts.map +1 -0
  926. package/dist/internal/index.d.ts +1 -1
  927. package/dist/internal/index.d.ts.map +1 -1
  928. package/dist/internal/parseDateInput.d.ts.map +1 -1
  929. package/dist/internal/plainDate.d.ts.map +1 -1
  930. package/dist/internal/shallowEqual.d.ts +7 -0
  931. package/dist/internal/shallowEqual.d.ts.map +1 -0
  932. package/dist/internal/useBackdropDismiss.d.ts +16 -0
  933. package/dist/internal/useBackdropDismiss.d.ts.map +1 -0
  934. package/dist/internal/useConstant.d.ts +8 -0
  935. package/dist/internal/useConstant.d.ts.map +1 -0
  936. package/dist/internal/useHoverLayer.d.ts.map +1 -1
  937. package/dist/internal/useLatest.d.ts +5 -0
  938. package/dist/internal/useLatest.d.ts.map +1 -0
  939. package/dist/internal/useLayer.d.ts +55 -2
  940. package/dist/internal/useLayer.d.ts.map +1 -1
  941. package/dist/internal/useScrollLock.d.ts +8 -0
  942. package/dist/internal/useScrollLock.d.ts.map +1 -0
  943. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  944. package/dist/internal/useShallowEqualMemo.d.ts +13 -0
  945. package/dist/internal/useShallowEqualMemo.d.ts.map +1 -0
  946. package/dist/styles.css +1 -1
  947. package/dist/themes/presets.d.ts.map +1 -1
  948. package/package.json +3 -2
  949. package/dist/chunk-23NN5WRP.cjs +0 -454
  950. package/dist/chunk-23NN5WRP.cjs.map +0 -1
  951. package/dist/chunk-24J3BUKL.js.map +0 -1
  952. package/dist/chunk-2IKWX66Q.js.map +0 -1
  953. package/dist/chunk-2OXKEUKG.cjs.map +0 -1
  954. package/dist/chunk-2P6D43V2.cjs.map +0 -1
  955. package/dist/chunk-2VOB6LEI.js.map +0 -1
  956. package/dist/chunk-2XAA3CM5.js.map +0 -1
  957. package/dist/chunk-3DJ46WN4.js.map +0 -1
  958. package/dist/chunk-3IBY374V.cjs.map +0 -1
  959. package/dist/chunk-3L6KAW7G.js.map +0 -1
  960. package/dist/chunk-3XDUR3IG.cjs.map +0 -1
  961. package/dist/chunk-3ZFEBOXD.cjs.map +0 -1
  962. package/dist/chunk-4H35H54I.cjs.map +0 -1
  963. package/dist/chunk-54J6FRPG.js.map +0 -1
  964. package/dist/chunk-5BCLEOFF.cjs.map +0 -1
  965. package/dist/chunk-5D4LRSIV.js.map +0 -1
  966. package/dist/chunk-5GNYP3PH.cjs.map +0 -1
  967. package/dist/chunk-5QPM5LUS.cjs.map +0 -1
  968. package/dist/chunk-66LRFIYK.cjs.map +0 -1
  969. package/dist/chunk-6BK4LUK4.cjs +0 -17
  970. package/dist/chunk-6BK4LUK4.cjs.map +0 -1
  971. package/dist/chunk-6MOJEGDU.cjs.map +0 -1
  972. package/dist/chunk-6NTDPZWP.js.map +0 -1
  973. package/dist/chunk-6USJ4LJJ.js.map +0 -1
  974. package/dist/chunk-6W3L6IJB.cjs.map +0 -1
  975. package/dist/chunk-75CPTIET.js.map +0 -1
  976. package/dist/chunk-7GN6YTSS.cjs.map +0 -1
  977. package/dist/chunk-7MN4JDP7.js.map +0 -1
  978. package/dist/chunk-7PNLMDAR.cjs.map +0 -1
  979. package/dist/chunk-A66NIFJE.cjs.map +0 -1
  980. package/dist/chunk-ASJ5CBCR.js.map +0 -1
  981. package/dist/chunk-BA4A7C7U.js.map +0 -1
  982. package/dist/chunk-BAPCHFNX.cjs.map +0 -1
  983. package/dist/chunk-BRB52QFV.cjs.map +0 -1
  984. package/dist/chunk-CEU7BIL6.cjs.map +0 -1
  985. package/dist/chunk-CK3UJQRI.cjs.map +0 -1
  986. package/dist/chunk-D2DOHX4W.js.map +0 -1
  987. package/dist/chunk-D3SSMY73.cjs.map +0 -1
  988. package/dist/chunk-DIIE44GO.js.map +0 -1
  989. package/dist/chunk-EBQ3A4XO.js +0 -285
  990. package/dist/chunk-EBQ3A4XO.js.map +0 -1
  991. package/dist/chunk-EC2ALHNJ.js.map +0 -1
  992. package/dist/chunk-EHCAF6D3.js.map +0 -1
  993. package/dist/chunk-EMHLPPQZ.js.map +0 -1
  994. package/dist/chunk-EVKFA5FA.cjs.map +0 -1
  995. package/dist/chunk-EXYBQVZT.js.map +0 -1
  996. package/dist/chunk-F3NATTQG.cjs.map +0 -1
  997. package/dist/chunk-FZCBTFHY.js.map +0 -1
  998. package/dist/chunk-GLJWAY4A.cjs.map +0 -1
  999. package/dist/chunk-GUKZNXTB.js +0 -15
  1000. package/dist/chunk-GUKZNXTB.js.map +0 -1
  1001. package/dist/chunk-GXRH5XQY.js.map +0 -1
  1002. package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
  1003. package/dist/chunk-HNROO7CR.js.map +0 -1
  1004. package/dist/chunk-I7KILUVL.cjs.map +0 -1
  1005. package/dist/chunk-IKF6VHA4.cjs.map +0 -1
  1006. package/dist/chunk-IRSJHEYI.js.map +0 -1
  1007. package/dist/chunk-JEIQ5GDK.cjs +0 -374
  1008. package/dist/chunk-JEIQ5GDK.cjs.map +0 -1
  1009. package/dist/chunk-L5YTMHDI.cjs.map +0 -1
  1010. package/dist/chunk-L7BOLGF2.cjs.map +0 -1
  1011. package/dist/chunk-LFRTNC7M.cjs.map +0 -1
  1012. package/dist/chunk-LUBVZVY3.js.map +0 -1
  1013. package/dist/chunk-LX64ENLC.cjs.map +0 -1
  1014. package/dist/chunk-M3RNFDA2.cjs.map +0 -1
  1015. package/dist/chunk-MGVEX3RS.js.map +0 -1
  1016. package/dist/chunk-MUUPZEZ5.cjs.map +0 -1
  1017. package/dist/chunk-NHXJVSZZ.cjs.map +0 -1
  1018. package/dist/chunk-NYQPIBOD.cjs +0 -287
  1019. package/dist/chunk-NYQPIBOD.cjs.map +0 -1
  1020. package/dist/chunk-O32BKXTR.cjs.map +0 -1
  1021. package/dist/chunk-O4RTJESR.js.map +0 -1
  1022. package/dist/chunk-O5A47TA2.js.map +0 -1
  1023. package/dist/chunk-OSBVDRVD.cjs.map +0 -1
  1024. package/dist/chunk-OULO3YDQ.cjs.map +0 -1
  1025. package/dist/chunk-P3SMNZCT.js.map +0 -1
  1026. package/dist/chunk-P6RAOXJA.js.map +0 -1
  1027. package/dist/chunk-PJMV2HTO.cjs.map +0 -1
  1028. package/dist/chunk-PL6J55JB.cjs.map +0 -1
  1029. package/dist/chunk-PYW5UO2Z.js.map +0 -1
  1030. package/dist/chunk-Q3OA23V5.js.map +0 -1
  1031. package/dist/chunk-QCT4BPB6.cjs.map +0 -1
  1032. package/dist/chunk-QEX7V7TI.cjs.map +0 -1
  1033. package/dist/chunk-QL3YSC3H.cjs.map +0 -1
  1034. package/dist/chunk-QRKRVCA3.cjs.map +0 -1
  1035. package/dist/chunk-QSEDH7T2.js.map +0 -1
  1036. package/dist/chunk-RDNMAV5B.js.map +0 -1
  1037. package/dist/chunk-RINP34ZG.js +0 -450
  1038. package/dist/chunk-RINP34ZG.js.map +0 -1
  1039. package/dist/chunk-RVENUWRD.js.map +0 -1
  1040. package/dist/chunk-S4B2D427.js +0 -142
  1041. package/dist/chunk-S4B2D427.js.map +0 -1
  1042. package/dist/chunk-S4LVSSJI.js.map +0 -1
  1043. package/dist/chunk-TF7IWMV2.js.map +0 -1
  1044. package/dist/chunk-U2U4FMFM.cjs.map +0 -1
  1045. package/dist/chunk-U2WVHZ24.cjs.map +0 -1
  1046. package/dist/chunk-UKDGDMWN.js.map +0 -1
  1047. package/dist/chunk-UPQHFW47.js.map +0 -1
  1048. package/dist/chunk-UXDXE7Z6.cjs.map +0 -1
  1049. package/dist/chunk-UYBGXFYX.js.map +0 -1
  1050. package/dist/chunk-VAK4JQYL.js.map +0 -1
  1051. package/dist/chunk-VEUZ5DZR.js.map +0 -1
  1052. package/dist/chunk-VJBBMBRT.cjs.map +0 -1
  1053. package/dist/chunk-W3KMDQKP.cjs.map +0 -1
  1054. package/dist/chunk-WMXIUOOU.cjs.map +0 -1
  1055. package/dist/chunk-WO6FS4DV.js.map +0 -1
  1056. package/dist/chunk-WOIWI2UO.js.map +0 -1
  1057. package/dist/chunk-X2GRBPCJ.cjs.map +0 -1
  1058. package/dist/chunk-XADTIY7J.cjs +0 -145
  1059. package/dist/chunk-XADTIY7J.cjs.map +0 -1
  1060. package/dist/chunk-XIFLSMGW.js +0 -200
  1061. package/dist/chunk-XIFLSMGW.js.map +0 -1
  1062. package/dist/chunk-XUJZTD4E.js.map +0 -1
  1063. package/dist/chunk-Y4FH67QZ.js.map +0 -1
  1064. package/dist/chunk-YAIEA2YE.cjs +0 -203
  1065. package/dist/chunk-YAIEA2YE.cjs.map +0 -1
  1066. package/dist/chunk-YAYINZT2.cjs.map +0 -1
  1067. package/dist/chunk-YLGAJD6Q.js.map +0 -1
  1068. package/dist/chunk-YSTESYUB.js.map +0 -1
  1069. package/dist/chunk-Z4TZAJS3.js.map +0 -1
  1070. package/dist/chunk-ZLATP3P5.cjs.map +0 -1
  1071. package/dist/chunk-ZNUOFLCQ.js.map +0 -1
  1072. package/dist/chunk-ZVH3BLYO.js.map +0 -1
  1073. package/dist/chunk-ZWULWVN3.js.map +0 -1
  1074. package/dist/components/Schedule/zonedDateTime.d.ts +0 -14
  1075. package/dist/components/Schedule/zonedDateTime.d.ts.map +0 -1
  1076. package/dist/components/Stepper/Step.d.ts +0 -62
  1077. package/dist/components/Stepper/Step.d.ts.map +0 -1
  1078. package/dist/components/Stepper/Step.recipe.d.ts +0 -95
  1079. package/dist/components/Stepper/Step.recipe.d.ts.map +0 -1
  1080. package/dist/components/Stepper/StepperContext.d.ts +0 -10
  1081. package/dist/components/Stepper/StepperContext.d.ts.map +0 -1
  1082. package/dist/components/Table/BaseTable.d.ts +0 -6
  1083. package/dist/components/Table/BaseTable.d.ts.map +0 -1
  1084. package/dist/theme/generate-color-scale.d.ts +0 -6
  1085. package/dist/theme/generate-color-scale.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Table/TableBody.tsx","../src/components/Table/TableContext.ts","../src/components/Table/TableCell.tsx","../src/components/Table/TableHeader.tsx","../src/components/Table/TableHeaderCell.tsx","../src/components/Table/TableRow.tsx","../src/components/Table/columnUtils.ts","../src/components/Table/BaseTable.tsx","../src/components/Table/useBaseTablePlugins.ts","../src/components/Table/Table.tsx","../src/components/Table/TableFooter.tsx","../src/components/Table/plugins/columnResize/useTableColumnResize.tsx","../src/components/Table/plugins/columnSettings/useTableColumnSettings.tsx","../src/components/Table/plugins/columnSettings/useTableColumnSettingsState.tsx","../src/components/Table/plugins/filtering/useTableFiltering.tsx","../src/components/Table/plugins/filtering/useTableFilterState.tsx","../src/components/Table/plugins/pagination/paginateData.ts","../src/components/Table/plugins/pagination/useTablePagination.tsx","../src/components/Table/plugins/selection/useTableSelection.tsx","../src/components/Table/plugins/selection/useTableSelectionState.tsx","../src/components/Table/plugins/sortable/useTableSortable.tsx","../src/components/Table/plugins/sortable/useTableSortableState.tsx"],"names":["jsx","styles","useMemo","useRef","jsxs","Fragment","useCallback","createContext","use","Temporal","useState","useEffect","entry","nextDirection"],"mappings":"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","file":"chunk-UYBGXFYX.js","sourcesContent":["import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface TableBodyProps {\n /**\n * Table row elements rendered inside the body.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tbody.\n */\n className?: string;\n /**\n * Test ID applied to the tbody.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the tbody element.\n */\n ref?: Ref<HTMLTableSectionElement>;\n /**\n * Inline styles applied to the tbody.\n */\n style?: CSSProperties;\n}\n\n/**\n * Wraps table body rows in a `<tbody>` element.\n */\nexport function TableBody({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableBodyProps): React.JSX.Element {\n return (\n <tbody\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = 'TableBody';\n","import {createContext, use} from 'react';\nimport type {TableContextValue} from './types';\n\nexport const TableContext = createContext<TableContextValue | null>(null);\nTableContext.displayName = 'TableContext';\n\nexport function useTableContext(): TableContextValue | null {\n return use(TableContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {useTableContext} from './TableContext';\n\nexport interface TableCellProps {\n /**\n * Cell content.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the td.\n */\n className?: string;\n /**\n * Number of columns the cell spans.\n */\n colSpan?: number;\n /**\n * Test ID applied to the td.\n */\n 'data-testid'?: string;\n /**\n * Space-separated list of header cell IDs this cell relates to.\n */\n headers?: string;\n /**\n * Ref forwarded to the td element.\n */\n ref?: Ref<HTMLTableCellElement>;\n /**\n * Number of rows the cell spans.\n */\n rowSpan?: number;\n /**\n * Scope of the cell when used as a header-like td.\n */\n scope?: 'col' | 'colgroup' | 'row' | 'rowgroup';\n /**\n * Inline styles applied to the td.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n base: css({\n maxWidth: 0,\n }),\n density: {\n balanced: css({fontSize: 'md', px: '3', py: '2'}),\n compact: css({fontSize: 'md', px: '2', py: '1'}),\n spacious: css({fontSize: 'md', px: '4', py: '3'}),\n },\n dividerColumns: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n _last: {\n borderInlineEndWidth: 0,\n },\n }),\n dividerRows: css({\n borderBottomWidth: 'default',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n 'tbody > tr:last-child > &': {\n borderBottomWidth: 0,\n },\n }),\n truncate: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n verticalAlign: {\n bottom: css({verticalAlign: 'bottom'}),\n middle: css({verticalAlign: 'middle'}),\n top: css({verticalAlign: 'top'}),\n },\n wrap: css({\n overflow: 'hidden',\n overflowWrap: 'break-word',\n whiteSpace: 'normal',\n wordBreak: 'break-word',\n }),\n} as const;\n\n/**\n * Table data cell with density, alignment, and divider styling from context.\n */\nexport function TableCell({\n children,\n className,\n colSpan,\n 'data-testid': dataTestId,\n headers,\n ref,\n rowSpan,\n style,\n}: TableCellProps): React.JSX.Element {\n const context = useTableContext();\n return (\n <td\n className={cx(\n 'silver-table-cell',\n styles.base,\n context == null ? undefined : styles.density[context.density],\n context == null\n ? undefined\n : styles.verticalAlign[context.verticalAlign],\n context?.textOverflow === 'truncate' ? styles.truncate : styles.wrap,\n context?.dividers === 'rows' || context?.dividers === 'grid'\n ? styles.dividerRows\n : undefined,\n context?.dividers === 'columns' || context?.dividers === 'grid'\n ? styles.dividerColumns\n : undefined,\n className,\n )}\n colSpan={colSpan}\n data-testid={dataTestId}\n headers={headers}\n ref={ref}\n rowSpan={rowSpan}\n style={style}>\n {children}\n </td>\n );\n}\n\nTableCell.displayName = 'TableCell';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface TableHeaderProps {\n /**\n * Header row elements rendered inside the thead.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the thead.\n */\n className?: string;\n /**\n * Test ID applied to the thead.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the thead element.\n */\n ref?: Ref<HTMLTableSectionElement>;\n /**\n * Inline styles applied to the thead.\n */\n style?: CSSProperties;\n}\n\n/**\n * Wraps table header rows in a `<thead>` element.\n */\nexport function TableHeader({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableHeaderProps): React.JSX.Element {\n return (\n <thead\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </thead>\n );\n}\n\nTableHeader.displayName = 'TableHeader';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {useTableContext} from './TableContext';\n\nexport interface TableHeaderCellProps {\n /**\n * Header cell content.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the th.\n */\n className?: string;\n /**\n * Test ID applied to the th.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the th element.\n */\n ref?: Ref<HTMLTableCellElement>;\n /**\n * Scope of the header cell.\n * @default 'col'\n */\n scope?: 'col' | 'colgroup' | 'row' | 'rowgroup';\n /**\n * Inline styles applied to the th.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n base: css({\n color: 'fg.muted',\n fontWeight: 'semibold',\n maxWidth: 0,\n overflow: 'hidden',\n textAlign: 'start',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n density: {\n balanced: css({fontSize: 'md', px: '3', py: '2'}),\n compact: css({fontSize: 'md', px: '2', py: '1'}),\n spacious: css({fontSize: 'md', px: '4', py: '3'}),\n },\n dividerBottom: css({\n borderBottomWidth: 'default',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n }),\n dividerColumns: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n _last: {\n borderInlineEndWidth: 0,\n },\n }),\n} as const;\n\n/**\n * Table header cell with density and divider styling from context.\n */\nexport function TableHeaderCell({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n scope = 'col',\n style,\n}: TableHeaderCellProps): React.JSX.Element {\n const context = useTableContext();\n return (\n <th\n className={cx(\n 'silver-table-header-cell',\n styles.base,\n styles.dividerBottom,\n context == null ? undefined : styles.density[context.density],\n context?.dividers === 'columns' || context?.dividers === 'grid'\n ? styles.dividerColumns\n : undefined,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n scope={scope}\n style={style}>\n {children}\n </th>\n );\n}\n\nTableHeaderCell.displayName = 'TableHeaderCell';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {useTableContext} from './TableContext';\n\nexport interface TableRowProps {\n /**\n * Cell elements rendered inside the row.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tr.\n */\n className?: string;\n /**\n * Test ID applied to the tr.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the tr element.\n */\n ref?: Ref<HTMLTableRowElement>;\n /**\n * Inline styles applied to the tr.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n base: css({\n transitionDuration: 'fast',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'default',\n }),\n hover: css({\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.subtle',\n },\n },\n }),\n striped: css({\n _even: {\n bg: 'bg.subtle',\n },\n }),\n stripedHover: css({\n _even: {\n bg: 'bg.subtle',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.hover',\n },\n },\n }),\n} as const;\n\n/**\n * Table row with hover and striped styling from context.\n */\nexport function TableRow({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableRowProps): React.JSX.Element {\n const context = useTableContext();\n const rowClassName =\n context == null\n ? undefined\n : context.isStriped && context.hasHover\n ? styles.stripedHover\n : context.isStriped\n ? styles.striped\n : context.hasHover\n ? styles.hover\n : undefined;\n\n return (\n <tr\n className={cx('silver-table-row', styles.base, rowClassName, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </tr>\n );\n}\n\nTableRow.displayName = 'TableRow';\n","import {Temporal} from '@js-temporal/polyfill';\nimport type {CSSProperties, ReactNode} from 'react';\nimport type {PixelWidth, ProportionalWidth, TableColumn} from './types';\n\nexport const DEFAULT_MIN_COLUMN_WIDTH = 120;\n\nexport interface ResolvedColumnWidth {\n style: CSSProperties;\n}\n\nexport interface ResolvedColumnWidths {\n columns: Map<string, ResolvedColumnWidth>;\n tableMinWidth: number;\n}\n\nexport function proportional(\n value: number = 1,\n options?: {minWidth?: number},\n): ProportionalWidth {\n return {\n minWidth: options?.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH,\n type: 'proportional',\n value,\n };\n}\n\nexport function pixel(value: number): PixelWidth {\n return {type: 'pixel', value};\n}\n\nexport function resolveColumnWidths<T extends Record<string, unknown>>(\n columns: TableColumn<T>[],\n): ResolvedColumnWidths {\n let totalProportion = 0;\n let pixelTotal = 0;\n const proportionalColumns: {\n key: string;\n minWidth: number;\n proportion: number;\n }[] = [];\n\n for (const column of columns) {\n const width = column.width;\n if (width?.type === 'pixel') {\n pixelTotal += width.value;\n } else {\n const proportion = width?.value ?? 1;\n const minWidth =\n width == null ? 0 : (width.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH);\n totalProportion += proportion;\n proportionalColumns.push({key: column.key, minWidth, proportion});\n }\n }\n\n let proportionalMinSpace = 0;\n if (totalProportion > 0) {\n for (const column of proportionalColumns) {\n proportionalMinSpace = Math.max(\n proportionalMinSpace,\n (column.minWidth * totalProportion) / column.proportion,\n );\n }\n }\n\n const resolved = new Map<string, ResolvedColumnWidth>();\n for (const column of columns) {\n const width = column.width;\n const style: CSSProperties = {};\n\n if (width?.type === 'pixel') {\n style.minWidth = `${width.value}px`;\n style.width = `${width.value}px`;\n } else {\n const proportion = width?.value ?? 1;\n if (totalProportion > 0) {\n style.width = `${(proportion / totalProportion) * 100}%`;\n }\n if (width != null) {\n style.minWidth = `${width.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH}px`;\n }\n }\n\n resolved.set(column.key, {style});\n }\n\n return {\n columns: resolved,\n tableMinWidth: pixelTotal + proportionalMinSpace,\n };\n}\n\nexport function capitalize(value: string): string {\n return value.length === 0\n ? value\n : value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nexport function defaultCellRenderer<T extends Record<string, unknown>>(\n item: T,\n key: string,\n): ReactNode {\n const value = item[key];\n if (value == null) {\n return '';\n }\n // Default rendering intentionally supports Temporal date/time values only.\n // Use renderCell for native Date instances or other object values.\n if (\n value instanceof Temporal.Instant ||\n value instanceof Temporal.PlainDate ||\n value instanceof Temporal.PlainDateTime ||\n value instanceof Temporal.PlainTime ||\n value instanceof Temporal.ZonedDateTime\n ) {\n return value.toString();\n }\n if (\n typeof value === 'bigint' ||\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string'\n ) {\n return String(value);\n }\n return '';\n}\n\nfunction estimateContentLength(value: unknown): number {\n if (value == null) {\n return 0;\n }\n if (\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string'\n ) {\n return String(value).length;\n }\n return 0;\n}\n\nfunction longestWord(value: unknown): number {\n if (\n value == null ||\n (typeof value !== 'boolean' &&\n typeof value !== 'number' &&\n typeof value !== 'string')\n ) {\n return 0;\n }\n return String(value)\n .split(/\\s+/)\n .reduce((max, word) => Math.max(max, word.length), 0);\n}\n\nexport function generateColumns<T extends Record<string, unknown>>(\n data: T[],\n): TableColumn<T>[] {\n if (data.length === 0) {\n return [];\n }\n\n const sampleRows = data.slice(0, Math.min(5, data.length));\n return Object.keys(data[0]).map(key => {\n const header = capitalize(key);\n let maxContentLength = header.length;\n let maxWordLength = header.length;\n\n for (const row of sampleRows) {\n maxContentLength = Math.max(\n maxContentLength,\n estimateContentLength(row[key]),\n );\n maxWordLength = Math.max(maxWordLength, longestWord(row[key]));\n }\n\n const proportion =\n maxContentLength <= 6 ? 1 : maxContentLength <= 15 ? 2 : 3;\n const minWidth = Math.max(Math.max(header.length, maxWordLength) * 8, 60);\n\n return {\n header,\n key,\n width: proportional(proportion, {minWidth}),\n };\n });\n}\n","import {memo, useRef, type ReactElement, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {EmptyState} from '../EmptyState';\nimport {Text} from '../Text';\nimport {TableBody} from './TableBody';\nimport {TableCell} from './TableCell';\nimport {TableHeader} from './TableHeader';\nimport {TableHeaderCell} from './TableHeaderCell';\nimport {TableRow} from './TableRow';\nimport {\n defaultCellRenderer,\n generateColumns,\n resolveColumnWidths,\n} from './columnUtils';\nimport type {\n BaseTableProps,\n BodyCellRenderProps,\n BodyRowRenderProps,\n HeaderCellRenderProps,\n HeaderRowRenderProps,\n TableCellComponentProps,\n TableColumn,\n TableHeaderCellComponentProps,\n TablePlugin,\n TableRenderProps,\n TableRowComponentProps,\n} from './types';\n\nconst styles = {\n headerLabelRow: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n }),\n table: css({\n w: 'full',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n tableLayout: 'fixed',\n }),\n tableAutoLayout: css({\n tableLayout: 'auto',\n }),\n} as const;\n\nconst EMPTY_PLUGINS: TablePlugin<Record<string, unknown>>[] = [];\n\nfunction areArraysShallowEqual<T>(previous: T[], next: T[]): boolean {\n if (previous === next) {\n return true;\n }\n if (previous.length !== next.length) {\n return false;\n }\n for (let index = 0; index < previous.length; index++) {\n if (previous[index] !== next[index]) {\n return false;\n }\n }\n return true;\n}\n\nfunction applyPlugins<TPlugin, TProps, TArgs extends unknown[]>(\n plugins: TPlugin[],\n getter: (\n plugin: TPlugin,\n ) => ((props: TProps, ...args: TArgs) => TProps) | undefined,\n initial: TProps,\n ...args: TArgs\n): TProps {\n return plugins.reduce<TProps>((accumulator, plugin, index) => {\n const transform = getter(plugin);\n if (transform == null) {\n return accumulator;\n }\n try {\n return transform(accumulator, ...args);\n } catch (error) {\n console.error(`[Table] Plugin at index ${index} threw:`, error);\n return accumulator;\n }\n }, initial);\n}\n\ninterface DataRowProps<T extends Record<string, unknown>> {\n CellComponent: React.ComponentType<TableCellComponentProps>;\n columns: TableColumn<T>[];\n item: T;\n plugins: TablePlugin<T>[];\n RowComponent: React.ComponentType<TableRowComponentProps>;\n rowIndex: number;\n rowKey: number | string;\n textOverflow: 'truncate' | 'wrap';\n}\n\nfunction DataRowInner<T extends Record<string, unknown>>({\n CellComponent,\n RowComponent,\n columns,\n item,\n plugins,\n rowIndex,\n rowKey,\n textOverflow,\n}: DataRowProps<T>): ReactElement {\n const cells = columns.map(column => {\n const initialHtmlProps: BodyCellRenderProps['htmlProps'] = {};\n if (column.align) {\n initialHtmlProps.style = {textAlign: column.align};\n }\n\n const cellProps = applyPlugins(\n plugins,\n plugin => plugin.transformBodyCell,\n {htmlProps: initialHtmlProps} satisfies BodyCellRenderProps,\n column,\n item,\n );\n\n const isDefaultRenderer = column.renderCell == null;\n const rawContent = isDefaultRenderer\n ? defaultCellRenderer(item, column.key)\n : (column.renderCell?.(item) ?? null);\n const content =\n isDefaultRenderer &&\n textOverflow === 'truncate' &&\n typeof rawContent === 'string' &&\n rawContent.length > 0 ? (\n <Text maxLines={1} type=\"body\">\n {rawContent}\n </Text>\n ) : (\n rawContent\n );\n\n return (\n <CellComponent\n key={column.key}\n {...cellProps.htmlProps}\n className={cx(cellProps.htmlProps.className, cellProps.className)}>\n {content}\n </CellComponent>\n );\n });\n\n const rowProps = applyPlugins(\n plugins,\n plugin => plugin.transformBodyRow,\n {\n children: <>{cells}</>,\n htmlProps: {},\n } satisfies BodyRowRenderProps,\n item,\n rowIndex,\n );\n\n return (\n <RowComponent\n key={rowKey}\n {...rowProps.htmlProps}\n className={cx(rowProps.htmlProps.className, rowProps.className)}\n ref={rowProps.ref}>\n {rowProps.children}\n </RowComponent>\n );\n}\n\nfunction areRowPropsEqual<T extends Record<string, unknown>>(\n previous: DataRowProps<T>,\n next: DataRowProps<T>,\n): boolean {\n if (\n previous.CellComponent !== next.CellComponent ||\n previous.RowComponent !== next.RowComponent ||\n previous.columns !== next.columns ||\n previous.plugins !== next.plugins ||\n previous.rowIndex !== next.rowIndex ||\n previous.rowKey !== next.rowKey ||\n previous.textOverflow !== next.textOverflow\n ) {\n return false;\n }\n\n if (previous.item === next.item) {\n return true;\n }\n\n return Object.keys(next.item).every(\n key => previous.item[key] === next.item[key],\n );\n}\n\nconst MemoizedDataRow = memo(DataRowInner, areRowPropsEqual) as <\n T extends Record<string, unknown>,\n>(\n props: DataRowProps<T>,\n) => ReactElement;\n\n/**\n * Low-level table renderer that applies column definitions, plugins, and data mapping.\n */\nfunction BaseTableInner<T extends Record<string, unknown>>({\n children,\n className,\n columns: columnsProp,\n data,\n 'data-testid': dataTestId,\n emptyState,\n idKey,\n plugins: pluginsProp,\n ref,\n scrollWrapper: ScrollWrapper,\n style,\n tableProps,\n textOverflow = 'wrap',\n}: BaseTableProps<T> & {ref?: Ref<HTMLTableElement>}): ReactElement {\n const plugins = pluginsProp ?? (EMPTY_PLUGINS as TablePlugin<T>[]);\n const RowComponent = TableRow as React.ComponentType<TableRowComponentProps>;\n const CellComponent =\n TableCell as React.ComponentType<TableCellComponentProps>;\n const HeaderCellComponent =\n TableHeaderCell as React.ComponentType<TableHeaderCellComponentProps>;\n\n const baseColumns =\n columnsProp ?? (data == null ? [] : generateColumns(data));\n const transformedColumns = applyPlugins(\n plugins,\n plugin => plugin.transformColumns,\n baseColumns,\n );\n /* eslint-disable @eslint-react/refs -- render-time memoization keeps row props stable before children render */\n const columnsRef = useRef(transformedColumns);\n const areColumnsStable = areArraysShallowEqual(\n columnsRef.current,\n transformedColumns,\n );\n if (!areColumnsStable) {\n columnsRef.current = transformedColumns;\n }\n const columns = columnsRef.current;\n const widths = resolveColumnWidths(columns);\n /* eslint-enable @eslint-react/refs */\n\n const tableRenderProps = applyPlugins(\n plugins,\n plugin => plugin.transformTable,\n {\n htmlProps: tableProps ?? {},\n } satisfies TableRenderProps,\n );\n\n const headerCells = columns.map(column => {\n const headerContent = column.header ?? column.key;\n const initialHtmlProps: HeaderCellRenderProps['htmlProps'] & {\n 'data-column-key'?: string;\n } = {\n 'data-column-key': column.key,\n };\n if (column.align) {\n initialHtmlProps.style = {textAlign: column.align};\n }\n\n const headerCellProps = applyPlugins(\n plugins,\n plugin => plugin.transformHeaderCell,\n {\n content: headerContent,\n htmlProps: initialHtmlProps,\n } satisfies HeaderCellRenderProps,\n column,\n );\n\n const widthStyle = widths.columns.get(column.key)?.style ?? {};\n const mergedStyle = {\n ...widthStyle,\n ...headerCellProps.htmlProps.style,\n };\n const resolvedContent = headerCellProps.content ?? headerContent;\n const title =\n typeof resolvedContent === 'string' && resolvedContent.length > 0\n ? resolvedContent\n : undefined;\n const renderedContent =\n typeof resolvedContent === 'string' ||\n typeof resolvedContent === 'number' ? (\n <Text\n color=\"secondary\"\n maxLines={1}\n size=\"md\"\n type=\"body\"\n weight=\"semibold\">\n {resolvedContent}\n </Text>\n ) : (\n resolvedContent\n );\n const hasSlots =\n isReactNode(headerCellProps.before) ||\n isReactNode(headerCellProps.after) ||\n isReactNode(headerCellProps.overlay) ||\n isReactNode(headerCellProps.below);\n\n return (\n <HeaderCellComponent\n key={column.key}\n {...headerCellProps.htmlProps}\n className={cx(\n headerCellProps.htmlProps.className,\n headerCellProps.className,\n )}\n style={mergedStyle}\n title={title}>\n {hasSlots ? (\n <>\n {headerCellProps.before}\n {!isReactNode(headerCellProps.after) ? (\n renderedContent\n ) : (\n <div className={styles.headerLabelRow}>\n {renderedContent}\n {headerCellProps.after}\n </div>\n )}\n {headerCellProps.overlay}\n {headerCellProps.below}\n </>\n ) : (\n renderedContent\n )}\n </HeaderCellComponent>\n );\n });\n\n const headerRowProps = applyPlugins(\n plugins,\n plugin => plugin.transformHeaderRow,\n {\n children: <>{headerCells}</>,\n htmlProps: {},\n } satisfies HeaderRowRenderProps,\n );\n\n const tableStyle = {\n ...style,\n ...tableRenderProps.htmlProps.style,\n minWidth:\n widths.tableMinWidth > 0 ? `${widths.tableMinWidth}px` : undefined,\n };\n const hasData = data != null && data.length > 0;\n const hasColumns = columns.length > 0;\n\n let tableElement: ReactNode = (\n <table\n {...tableRenderProps.htmlProps}\n className={cx(\n 'silver-base-table',\n styles.table,\n isReactNode(children) ? styles.tableAutoLayout : undefined,\n tableRenderProps.htmlProps.className,\n tableRenderProps.className,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n style={tableStyle}>\n {children ?? (\n <>\n {hasColumns ? (\n <TableHeader>\n <RowComponent\n {...headerRowProps.htmlProps}\n className={cx(\n headerRowProps.htmlProps.className,\n headerRowProps.className,\n )}>\n {headerRowProps.children}\n </RowComponent>\n </TableHeader>\n ) : null}\n <TableBody>\n {hasData\n ? data.map((item, rowIndex) => {\n const rowKey =\n idKey == null\n ? rowIndex\n : typeof idKey === 'function'\n ? idKey(item)\n : String(item[idKey]);\n return (\n <MemoizedDataRow\n CellComponent={CellComponent}\n columns={columns}\n item={item}\n key={rowKey}\n plugins={plugins}\n RowComponent={RowComponent}\n rowIndex={rowIndex}\n rowKey={rowKey}\n textOverflow={textOverflow}\n />\n );\n })\n : data != null &&\n emptyState !== false && (\n <tr>\n <td colSpan={Math.max(columns.length, 1)}>\n {emptyState ?? <EmptyState isCompact title=\"No data\" />}\n </td>\n </tr>\n )}\n </TableBody>\n </>\n )}\n </table>\n );\n\n if (ScrollWrapper != null) {\n tableElement = <ScrollWrapper>{tableElement}</ScrollWrapper>;\n }\n\n for (let index = plugins.length - 1; index >= 0; index--) {\n const plugin = plugins[index];\n if (plugin.transformTableContext != null) {\n try {\n tableElement = plugin.transformTableContext(tableElement);\n } catch (error) {\n console.error('[Table] Plugin threw in transformTableContext:', error);\n }\n }\n }\n\n return tableElement as ReactElement;\n}\n\nexport const BaseTable = BaseTableInner as <T extends Record<string, unknown>>(\n props: BaseTableProps<T> & {ref?: Ref<HTMLTableElement>},\n) => ReactElement;\n\n(BaseTable as {displayName?: string}).displayName = 'BaseTable';\n","import {useMemo} from 'react';\nimport type {TablePlugin} from './types';\n\nconst CANONICAL_PLUGIN_ORDER = [\n 'columnSettings',\n 'sort',\n 'selection',\n 'filtering',\n 'columnResize',\n 'pagination',\n] as const;\n\nconst CANONICAL_PLUGIN_KEYS = new Set<string>(CANONICAL_PLUGIN_ORDER);\n\nfunction orderNamedPlugins<T extends Record<string, unknown>>(\n userPlugins: Record<string, TablePlugin<T>>,\n): TablePlugin<T>[] {\n const entries = Object.entries(userPlugins);\n const pluginsByName = new Map(entries);\n const orderedPlugins = CANONICAL_PLUGIN_ORDER.filter(key =>\n pluginsByName.has(key),\n ).map(key => pluginsByName.get(key) as TablePlugin<T>);\n const customPlugins = entries\n .filter(([key]) => !CANONICAL_PLUGIN_KEYS.has(key))\n .map(([, plugin]) => plugin);\n\n return [...orderedPlugins, ...customPlugins];\n}\n\nexport function useBaseTablePlugins<T extends Record<string, unknown>>(\n basePlugins: TablePlugin<T>[],\n userPlugins?: Record<string, TablePlugin<T>> | TablePlugin<T>[],\n): TablePlugin<T>[] {\n return useMemo(() => {\n const plugins = Array.isArray(userPlugins)\n ? userPlugins\n : orderNamedPlugins(userPlugins ?? {});\n return [...basePlugins, ...plugins];\n }, [basePlugins, userPlugins]);\n}\n","import {useMemo, type ReactElement, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {BaseTable} from './BaseTable';\nimport {TableContext} from './TableContext';\nimport type {\n BaseTableProps,\n TableContextValue,\n TableDensity,\n TableDividers,\n TablePlugin,\n TableRenderProps,\n TableTextOverflow,\n TableVerticalAlign,\n} from './types';\nimport {useBaseTablePlugins} from './useBaseTablePlugins';\n\nexport interface TableProps<T extends Record<string, unknown>> extends Omit<\n BaseTableProps<T>,\n 'plugins'\n> {\n /**\n * Spacing density for rows and cells.\n * @default 'balanced'\n */\n density?: TableDensity;\n /**\n * Which divider lines to show between cells.\n * @default 'rows'\n */\n dividers?: TableDividers;\n /**\n * Whether rows highlight on hover.\n * @default false\n */\n hasHover?: boolean;\n /**\n * Whether alternating rows have a subtle background.\n * @default false\n */\n isStriped?: boolean;\n /**\n * Plugin map or array that extends table behavior.\n */\n plugins?: Record<string, TablePlugin<T>> | TablePlugin<T>[];\n /**\n * How overflowing cell text is handled.\n * @default 'wrap'\n */\n textOverflow?: TableTextOverflow;\n /**\n * Vertical alignment of cell content.\n * @default 'middle'\n */\n verticalAlign?: TableVerticalAlign;\n}\n\nconst styles = {\n scrollWrapper: css({\n overflowX: 'auto',\n WebkitOverflowScrolling: 'touch',\n }),\n table: css({\n color: 'fg',\n fontFamily: 'body',\n }),\n} as const;\n\nfunction TableScrollWrapper({\n children,\n}: {\n children: React.ReactNode;\n}): React.JSX.Element {\n return <div className={styles.scrollWrapper}>{children}</div>;\n}\n\nfunction buildTableStylePlugin<\n T extends Record<string, unknown>,\n>(): TablePlugin<T> {\n return {\n transformTable(props: TableRenderProps): TableRenderProps {\n return {\n ...props,\n className: cx(props.className, styles.table, 'silver-table'),\n };\n },\n };\n}\n\n/**\n * Data table with configurable density, dividers, hover, and striping.\n */\nfunction TableInner<T extends Record<string, unknown>>({\n children,\n className,\n columns,\n data,\n 'data-testid': dataTestId,\n density = 'balanced',\n dividers = 'rows',\n emptyState,\n hasHover = false,\n idKey,\n isStriped = false,\n plugins: userPlugins,\n ref,\n style,\n tableProps,\n textOverflow = 'wrap',\n verticalAlign = 'middle',\n}: TableProps<T> & {ref?: Ref<HTMLTableElement>}): ReactElement {\n const tablePlugin = useMemo(() => buildTableStylePlugin<T>(), []);\n const basePlugins = useMemo(() => [tablePlugin], [tablePlugin]);\n const plugins = useBaseTablePlugins(basePlugins, userPlugins);\n const contextValue = useMemo(\n (): TableContextValue => ({\n density,\n dividers,\n hasHover,\n isStriped,\n textOverflow,\n verticalAlign,\n }),\n [density, dividers, hasHover, isStriped, textOverflow, verticalAlign],\n );\n\n return (\n <TableContext value={contextValue}>\n <BaseTable<T>\n className={className}\n columns={columns}\n data={data}\n data-testid={dataTestId}\n emptyState={emptyState}\n idKey={idKey}\n plugins={plugins}\n ref={ref}\n scrollWrapper={TableScrollWrapper}\n style={style}\n tableProps={tableProps}\n textOverflow={textOverflow}>\n {children}\n </BaseTable>\n </TableContext>\n );\n}\n\nexport const Table = TableInner as <T extends Record<string, unknown>>(\n props: TableProps<T> & {ref?: Ref<HTMLTableElement>},\n) => ReactElement;\n\n(Table as {displayName?: string}).displayName = 'Table';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface TableFooterProps {\n /**\n * Footer row elements rendered inside the tfoot.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tfoot.\n */\n className?: string;\n /**\n * Test ID applied to the tfoot.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the tfoot element.\n */\n ref?: Ref<HTMLTableSectionElement>;\n /**\n * Inline styles applied to the tfoot.\n */\n style?: CSSProperties;\n}\n\n/**\n * Wraps table footer rows in a `<tfoot>` element.\n */\nexport function TableFooter({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableFooterProps): React.JSX.Element {\n return (\n <tfoot\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </tfoot>\n );\n}\n\nTableFooter.displayName = 'TableFooter';\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type CSSProperties,\n type ReactNode,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {DEFAULT_MIN_COLUMN_WIDTH} from '../../columnUtils';\nimport type {\n ColumnWidth,\n HeaderCellRenderProps,\n TableColumn,\n TablePlugin,\n} from '../../types';\n\nexport interface UseTableColumnResizeConfig {\n columns?: TableColumn<Record<string, unknown>>[];\n columnWidths?: Record<string, number>;\n maxWidth?: number;\n minWidth?: number;\n onColumnResizeEnd?: (updates: Record<string, number>) => void;\n}\n\ninterface DragState {\n columnKey: string;\n neighborIndex: number | null;\n resizeIndex: number;\n snapshots: ColumnSnapshot[];\n startX: number;\n tableWidth: number;\n}\n\ninterface ColumnSnapshot {\n initialMaxWidth: string;\n initialMinWidth: string;\n initialWidth: number;\n initialWidthStyle: string;\n key: string;\n maxWidth: number;\n minWidth: number;\n th: HTMLTableCellElement;\n}\n\ninterface PointerListeners {\n cancel: (event: PointerEvent) => void;\n move: (event: PointerEvent) => void;\n up: (event: PointerEvent) => void;\n}\n\nconst KEYBOARD_STEP = 10;\nconst KEYBOARD_LARGE_STEP = 50;\n\nconst styles = {\n handle: css({\n position: 'absolute',\n insetInlineEnd: 0,\n top: 0,\n bottom: 0,\n zIndex: 1,\n w: '4',\n cursor: 'ew-resize',\n borderWidth: 0,\n bg: 'transparent',\n p: 0,\n touchAction: 'none',\n userSelect: 'none',\n _after: {\n content: '\"\"',\n position: 'absolute',\n insetInlineEnd: 0,\n top: 0,\n bottom: 0,\n w: '2px',\n bg: 'transparent',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, width',\n transitionTimingFunction: 'default',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n _after: {\n bg: 'primary',\n },\n },\n '@media (pointer: coarse)': {\n display: 'none',\n },\n }),\n headerCell: css({\n overflow: 'visible',\n position: 'relative',\n }),\n} as const;\n\nfunction resolveColumnMinWidth(\n width: ColumnWidth | undefined,\n globalMinWidth: number | undefined,\n): number {\n if (globalMinWidth != null) {\n return globalMinWidth;\n }\n if (width?.type === 'pixel') {\n return width.value;\n }\n return width?.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH;\n}\n\nfunction applyWidth(th: HTMLTableCellElement, width: number): void {\n th.style.width = `${width}px`;\n th.style.minWidth = `${width}px`;\n th.style.maxWidth = `${width}px`;\n}\n\nfunction isProportionalColumn(width: ColumnWidth | undefined): boolean {\n return width == null || width.type === 'proportional';\n}\n\nfunction getRTLMultiplier(element: HTMLElement): number {\n return getComputedStyle(element).direction === 'rtl' ? -1 : 1;\n}\n\nfunction computeColumnWidths(drag: DragState, delta: number): number[] {\n const widths = drag.snapshots.map(snapshot => snapshot.initialWidth);\n\n if (drag.neighborIndex != null) {\n const neighbor = drag.snapshots[drag.neighborIndex];\n const self = drag.snapshots[drag.resizeIndex];\n const maxDelta = neighbor.initialWidth - neighbor.minWidth;\n const minDelta = self.minWidth - self.initialWidth;\n const clampedDelta = Math.max(minDelta, Math.min(delta, maxDelta));\n widths[drag.resizeIndex] = self.initialWidth + clampedDelta;\n widths[drag.neighborIndex] = neighbor.initialWidth - clampedDelta;\n } else {\n const self = drag.snapshots[drag.resizeIndex];\n widths[drag.resizeIndex] = Math.min(\n self.maxWidth,\n Math.max(self.minWidth, self.initialWidth + delta),\n );\n }\n\n const lastIndex = drag.snapshots.length - 1;\n const isResizingLastColumnWithoutNeighbor =\n drag.resizeIndex === lastIndex && drag.neighborIndex == null;\n if (\n lastIndex >= 0 &&\n drag.tableWidth > 0 &&\n !isResizingLastColumnWithoutNeighbor\n ) {\n const sumOthers = widths.reduce(\n (sum, width, index) => (index === lastIndex ? sum : sum + width),\n 0,\n );\n widths[lastIndex] = Math.max(\n drag.snapshots[lastIndex].minWidth,\n drag.tableWidth - sumOthers,\n );\n }\n\n return widths;\n}\n\nfunction applyWidths(snapshots: ColumnSnapshot[], widths: number[]): void {\n snapshots.forEach((snapshot, index) => {\n applyWidth(snapshot.th, widths[index]);\n });\n}\n\nfunction restoreSnapshotStyles(snapshots: ColumnSnapshot[]): void {\n snapshots.forEach(snapshot => {\n snapshot.th.style.width = snapshot.initialWidthStyle;\n snapshot.th.style.minWidth = snapshot.initialMinWidth;\n snapshot.th.style.maxWidth = snapshot.initialMaxWidth;\n });\n}\n\nfunction buildUpdates(\n drag: DragState,\n widths: number[],\n): Record<string, number> {\n const updates: Record<string, number> = {};\n const lastIndex = drag.snapshots.length - 1;\n const isResizingLastColumnWithoutNeighbor =\n drag.resizeIndex === lastIndex && drag.neighborIndex == null;\n if (isResizingLastColumnWithoutNeighbor) {\n const snapshot = drag.snapshots[drag.resizeIndex];\n updates[snapshot.key] = Math.round(widths[drag.resizeIndex]);\n return updates;\n }\n drag.snapshots.forEach((snapshot, index) => {\n if (index === lastIndex) {\n return;\n }\n updates[snapshot.key] = Math.round(widths[index]);\n });\n return updates;\n}\n\nfunction ResizeHandle({\n columnHeader,\n columnKey,\n configRef,\n currentWidth,\n maxWidth,\n minWidth,\n neighborKey,\n}: {\n columnHeader: ReactNode;\n columnKey: string;\n configRef: React.RefObject<UseTableColumnResizeConfig>;\n currentWidth: number | undefined;\n maxWidth: number;\n minWidth: number;\n neighborKey: string | null;\n}): React.JSX.Element {\n const dragStateRef = useRef<DragState | null>(null);\n const pointerListenersRef = useRef<PointerListeners | null>(null);\n\n const removePointerListeners = useCallback(() => {\n const listeners = pointerListenersRef.current;\n if (listeners == null) {\n return;\n }\n window.removeEventListener('pointermove', listeners.move);\n window.removeEventListener('pointerup', listeners.up);\n window.removeEventListener('pointercancel', listeners.cancel);\n pointerListenersRef.current = null;\n }, []);\n\n const buildDragState = useCallback(\n (th: HTMLTableCellElement, startX: number): DragState | null => {\n const headerRow = th.parentElement;\n if (headerRow == null) {\n return null;\n }\n\n const table = th.closest('table');\n const tableWidth = table?.getBoundingClientRect().width ?? 0;\n const columns = configRef.current.columns;\n const activeHeaderIndex = Array.from(headerRow.children).indexOf(th);\n const activeColumnIndex =\n columns?.findIndex(column => column.key === columnKey) ?? -1;\n const columnIndexOffset =\n activeHeaderIndex >= 0 && activeColumnIndex >= 0\n ? activeHeaderIndex - activeColumnIndex\n : 0;\n const columnsByKey = new Map(\n columns?.map(column => [column.key, column]),\n );\n const currentWidths = configRef.current.columnWidths ?? {};\n const snapshots: ColumnSnapshot[] = [];\n\n const allHeaders = Array.from(headerRow.children).filter(\n (child): child is HTMLTableCellElement =>\n child instanceof HTMLTableCellElement,\n );\n for (const [index, header] of allHeaders.entries()) {\n const key =\n header\n .querySelector<HTMLElement>('[data-column-key]')\n ?.getAttribute('data-column-key') ??\n columns?.[index - columnIndexOffset]?.key;\n if (key == null) {\n continue;\n }\n const snapshotColumn = columnsByKey.get(key);\n if (columns != null && snapshotColumn == null) {\n continue;\n }\n if (snapshotColumn?.resizable === false) {\n continue;\n }\n\n const renderedWidth = header.getBoundingClientRect().width;\n const overrideWidth: number | undefined =\n Object.prototype.hasOwnProperty.call(currentWidths, key)\n ? currentWidths[key]\n : undefined;\n snapshots.push({\n initialMaxWidth: header.style.maxWidth,\n initialMinWidth: header.style.minWidth,\n initialWidth:\n overrideWidth ?? (renderedWidth > 0 ? renderedWidth : minWidth),\n initialWidthStyle: header.style.width,\n key,\n maxWidth: configRef.current.maxWidth ?? Number.POSITIVE_INFINITY,\n minWidth:\n snapshotColumn == null\n ? minWidth\n : resolveColumnMinWidth(\n snapshotColumn.width,\n configRef.current.minWidth,\n ),\n th: header,\n });\n }\n\n const resizeIndex = snapshots.findIndex(\n snapshot => snapshot.key === columnKey,\n );\n if (resizeIndex < 0) {\n return null;\n }\n\n const neighborIndex =\n neighborKey == null\n ? null\n : snapshots.findIndex(snapshot => snapshot.key === neighborKey);\n\n return {\n columnKey,\n neighborIndex:\n neighborIndex == null || neighborIndex < 0 ? null : neighborIndex,\n resizeIndex,\n snapshots,\n startX,\n tableWidth,\n };\n },\n [columnKey, configRef, minWidth, neighborKey],\n );\n\n const commitResize = useCallback(\n (drag: DragState, delta: number) => {\n const widths = computeColumnWidths(drag, delta);\n applyWidths(drag.snapshots, widths);\n const updates = buildUpdates(drag, widths);\n if (Object.keys(updates).length > 0) {\n configRef.current.onColumnResizeEnd?.(updates);\n }\n },\n [configRef],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent) => {\n const drag = dragStateRef.current;\n if (drag == null) {\n return;\n }\n const delta =\n (event.clientX - drag.startX) *\n getRTLMultiplier(drag.snapshots[drag.resizeIndex].th);\n applyWidths(drag.snapshots, computeColumnWidths(drag, delta));\n },\n [dragStateRef],\n );\n\n const handlePointerUp = useCallback(\n (event: PointerEvent) => {\n const drag = dragStateRef.current;\n removePointerListeners();\n if (drag != null) {\n const delta =\n (event.clientX - drag.startX) *\n getRTLMultiplier(drag.snapshots[drag.resizeIndex].th);\n commitResize(drag, delta);\n }\n dragStateRef.current = null;\n },\n [commitResize, dragStateRef, removePointerListeners],\n );\n\n const handlePointerCancel = useCallback(() => {\n const drag = dragStateRef.current;\n if (drag != null) {\n restoreSnapshotStyles(drag.snapshots);\n }\n removePointerListeners();\n dragStateRef.current = null;\n }, [dragStateRef, removePointerListeners]);\n\n const handlePointerDown = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n const th = event.currentTarget.closest('th');\n if (th == null) {\n return;\n }\n const drag = buildDragState(th, event.clientX);\n if (drag == null) {\n return;\n }\n dragStateRef.current = drag;\n applyWidths(drag.snapshots, computeColumnWidths(drag, 0));\n pointerListenersRef.current = {\n cancel: handlePointerCancel,\n move: handlePointerMove,\n up: handlePointerUp,\n };\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n window.addEventListener('pointercancel', handlePointerCancel);\n },\n [\n buildDragState,\n dragStateRef,\n handlePointerCancel,\n handlePointerMove,\n handlePointerUp,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (\n event.key !== 'ArrowLeft' &&\n event.key !== 'ArrowRight' &&\n event.key !== 'Home' &&\n event.key !== 'End'\n ) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n const th = event.currentTarget.closest('th');\n if (th == null) {\n return;\n }\n const drag = buildDragState(th, 0);\n if (drag == null) {\n return;\n }\n const activeSnapshot = drag.snapshots[drag.resizeIndex];\n const step = event.shiftKey ? KEYBOARD_LARGE_STEP : KEYBOARD_STEP;\n const delta =\n event.key === 'Home'\n ? activeSnapshot.minWidth - activeSnapshot.initialWidth\n : event.key === 'End'\n ? Number.isFinite(activeSnapshot.maxWidth)\n ? activeSnapshot.maxWidth - activeSnapshot.initialWidth\n : 0\n : event.key === 'ArrowLeft'\n ? -step * getRTLMultiplier(th)\n : step * getRTLMultiplier(th);\n commitResize(drag, delta);\n },\n [buildDragState, commitResize],\n );\n const headerLabel =\n typeof columnHeader === 'string' ? columnHeader : columnKey;\n\n /* eslint-disable jsx-a11y-x/no-noninteractive-element-interactions, jsx-a11y-x/no-noninteractive-tabindex -- ARIA separator uses the window splitter keyboard pattern. */\n return (\n <div\n aria-label={`Resize column ${headerLabel}`}\n aria-orientation=\"vertical\"\n aria-valuemax={Number.isFinite(maxWidth) ? maxWidth : undefined}\n aria-valuemin={minWidth}\n aria-valuenow={currentWidth}\n className={styles.handle}\n data-column-key={columnKey}\n onKeyDown={handleKeyDown}\n onPointerDown={handlePointerDown}\n role=\"separator\"\n tabIndex={0}\n />\n );\n /* eslint-enable jsx-a11y-x/no-noninteractive-element-interactions, jsx-a11y-x/no-noninteractive-tabindex */\n}\n\nexport function useTableColumnResize<T extends Record<string, unknown>>(\n config: UseTableColumnResizeConfig,\n): TablePlugin<T> {\n const configRef = useRef(config);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n\n const globalMinWidth = config.minWidth;\n const maxWidth = config.maxWidth ?? Number.POSITIVE_INFINITY;\n const columnWidths = config.columnWidths;\n const resizableColumns = useMemo(\n () => config.columns?.filter(column => column.resizable !== false),\n [config.columns],\n );\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformHeaderCell(\n props: HeaderCellRenderProps,\n column: TableColumn<T>,\n ): HeaderCellRenderProps {\n if (column.resizable === false) {\n return props;\n }\n\n let neighborKey: string | null = null;\n if (resizableColumns != null && isProportionalColumn(column.width)) {\n const columnIndex = resizableColumns.findIndex(\n resizableColumn => resizableColumn.key === column.key,\n );\n const isLastResizable = columnIndex === resizableColumns.length - 1;\n if (isLastResizable) {\n return props;\n }\n if (columnIndex >= 0) {\n neighborKey = resizableColumns[columnIndex + 1]?.key ?? null;\n }\n }\n\n const overrideWidth = columnWidths?.[column.key];\n const widthStyle: CSSProperties | undefined =\n overrideWidth == null\n ? undefined\n : {\n maxWidth: `${overrideWidth}px`,\n minWidth: `${overrideWidth}px`,\n width: `${overrideWidth}px`,\n };\n const effectiveMinWidth = resolveColumnMinWidth(\n column.width,\n globalMinWidth,\n );\n\n return {\n ...props,\n className: styles.headerCell,\n htmlProps: {\n ...props.htmlProps,\n style:\n widthStyle == null\n ? props.htmlProps.style\n : {...props.htmlProps.style, ...widthStyle},\n },\n overlay: (\n <>\n {props.overlay}\n <ResizeHandle\n columnHeader={column.header ?? column.key}\n columnKey={column.key}\n configRef={configRef}\n currentWidth={overrideWidth}\n maxWidth={maxWidth}\n minWidth={effectiveMinWidth}\n neighborKey={neighborKey}\n />\n </>\n ),\n };\n },\n }),\n [columnWidths, configRef, globalMinWidth, maxWidth, resizableColumns],\n );\n}\n","import {useMemo} from 'react';\nimport type {TableColumn, TablePlugin} from '../../types';\nimport type {UseTableColumnSettingsStateConfig} from './useTableColumnSettingsState';\n\nexport interface TableColumnSettingsOption<TColumnKey extends string = string> {\n group?: string;\n isAlwaysVisible?: boolean;\n key: TColumnKey;\n label: string;\n}\n\nexport type UseTableColumnSettingsConfig<TColumnKey extends string = string> =\n UseTableColumnSettingsStateConfig<TColumnKey>;\n\nexport function useTableColumnSettings<\n T extends Record<string, unknown>,\n TColumnKey extends string = string,\n>(config: UseTableColumnSettingsConfig<TColumnKey>): TablePlugin<T> {\n return useMemo(\n (): TablePlugin<T> => ({\n transformColumns(columns: TableColumn<T>[]): TableColumn<T>[] {\n const activeSet = new Set(config.activeColumnKeys);\n const orderMap = new Map(\n config.activeColumnKeys.map((key, index) => [key, index]),\n );\n return columns\n .filter(column => activeSet.has(column.key as TColumnKey))\n .sort(\n (a, b) =>\n (orderMap.get(a.key as TColumnKey) ?? Infinity) -\n (orderMap.get(b.key as TColumnKey) ?? Infinity),\n );\n },\n }),\n [config],\n );\n}\n","import {useCallback, useMemo} from 'react';\nimport type {TableColumnSettingsOption} from './useTableColumnSettings';\n\nexport interface UseTableColumnSettingsStateConfig<\n TColumnKey extends string = string,\n> {\n activeColumnKeys: ReadonlyArray<TColumnKey>;\n columns: ReadonlyArray<TableColumnSettingsOption<TColumnKey>>;\n defaultColumnKeys?: ReadonlyArray<TColumnKey>;\n onChangeActiveColumnKeys: (keys: ReadonlyArray<TColumnKey>) => void;\n}\n\nexport interface UseTableColumnSettingsStateReturn<\n TColumnKey extends string = string,\n> {\n activeColumnKeys: ReadonlyArray<TColumnKey>;\n columnSettingsConfig: UseTableColumnSettingsStateConfig<TColumnKey>;\n getIsColumnActive: (key: TColumnKey) => boolean;\n getIsColumnToggleable: (key: TColumnKey) => boolean;\n resetToDefault: () => void;\n setActiveColumnKeys: (keys: string[]) => void;\n showAllColumns: () => void;\n toggleColumn: (key: TColumnKey) => void;\n}\n\nexport function useTableColumnSettingsState<TColumnKey extends string = string>(\n config: UseTableColumnSettingsStateConfig<TColumnKey>,\n): UseTableColumnSettingsStateReturn<TColumnKey> {\n const {activeColumnKeys, columns} = config;\n const activeSet = useMemo(\n () => new Set(activeColumnKeys),\n [activeColumnKeys],\n );\n const alwaysVisibleSet = useMemo(\n () =>\n new Set(\n columns\n .filter(column => column.isAlwaysVisible)\n .map(column => column.key),\n ),\n [columns],\n );\n\n const toggleColumn = useCallback(\n (key: TColumnKey) => {\n if (\n config.columns.some(\n column => column.key === key && column.isAlwaysVisible,\n )\n ) {\n return;\n }\n const currentSet = new Set(config.activeColumnKeys);\n config.onChangeActiveColumnKeys(\n currentSet.has(key)\n ? config.activeColumnKeys.filter(columnKey => columnKey !== key)\n : [...config.activeColumnKeys, key],\n );\n },\n [config],\n );\n const getIsColumnActive = useCallback(\n (key: TColumnKey) => activeSet.has(key),\n [activeSet],\n );\n const getIsColumnToggleable = useCallback(\n (key: TColumnKey) => !alwaysVisibleSet.has(key),\n [alwaysVisibleSet],\n );\n const showAllColumns = useCallback(() => {\n config.onChangeActiveColumnKeys(config.columns.map(column => column.key));\n }, [config]);\n const resetToDefault = useCallback(() => {\n config.onChangeActiveColumnKeys(\n config.defaultColumnKeys ?? config.columns.map(column => column.key),\n );\n }, [config]);\n const setActiveColumnKeys = useCallback(\n (keys: string[]) => {\n const next = new Set(keys as TColumnKey[]);\n for (const column of config.columns) {\n if (column.isAlwaysVisible) {\n next.add(column.key);\n }\n }\n config.onChangeActiveColumnKeys(Array.from(next));\n },\n [config],\n );\n\n return {\n activeColumnKeys,\n columnSettingsConfig: config,\n getIsColumnActive,\n getIsColumnToggleable,\n resetToDefault,\n setActiveColumnKeys,\n showAllColumns,\n toggleColumn,\n };\n}\n","import {Temporal} from '@js-temporal/polyfill';\nimport {Filter} from 'lucide-react';\nimport {\n createContext,\n use,\n useCallback,\n useMemo,\n useState,\n type ReactNode,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {\n plainDateToUnixSeconds,\n type PlainDate,\n} from '../../../../internal/plainDate';\nimport {getBrowserTimezoneID} from '../../../../internal/time';\nimport {\n createStaticSource,\n type SearchableItem,\n} from '../../../AutocompleteInput';\nimport {Button} from '../../../Button';\nimport {DateInput} from '../../../DateInput';\nimport {MultiSelect} from '../../../MultiSelect';\nimport {NumberInput} from '../../../NumberInput';\nimport {Popover} from '../../../Popover';\nimport type {\n FilterValue,\n FloatOperatorValue,\n IntegerOperatorValue,\n OperatorValue,\n SearchFilterInputConfig,\n SearchFilterInputField,\n SearchFilterInputFilter,\n SearchFilterInputOperator,\n StringListOperatorValue,\n EntityListOperatorValue,\n EnumListOperatorValue,\n EnumOperatorValue,\n} from '../../../SearchFilterInput';\nimport {Select} from '../../../Select';\nimport {TagsInput} from '../../../TagsInput';\nimport {TextInput} from '../../../TextInput';\nimport {TimeInput} from '../../../TimeInput';\nimport {proportional} from '../../columnUtils';\nimport type {\n HeaderCellRenderProps,\n TableColumn,\n TablePlugin,\n} from '../../types';\n\nexport type TableFilterValue = number | string | string[] | PlainDate;\nexport type TableFilterState = Record<string, TableFilterValue | undefined>;\nexport type TableFilterVariant = 'inline' | 'popover';\n\nexport interface TableFilterFieldRef {\n field: string;\n operator?: string;\n}\n\nexport interface UseTableFilteringConfig {\n filters: TableFilterState;\n onFilterChange: (columnKey: string, value: TableFilterValue | null) => void;\n searchConfig: SearchFilterInputConfig;\n timezoneID?: string;\n variant?: TableFilterVariant;\n}\n\ntype ToSearchFiltersConfig =\n | Pick<UseTableFilteringConfig, 'searchConfig' | 'timezoneID'>\n | SearchFilterInputConfig;\n\ninterface FilterStore {\n getConfig: () => UseTableFilteringConfig;\n}\n\nconst FilterStoreContext = createContext<FilterStore | null>(null);\nFilterStoreContext.displayName = 'TableFilterStoreContext';\n\nconst styles = {\n afterPopover: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n inlineWrapper: css({\n mt: '1',\n }),\n popoverActions: css({\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '2',\n mt: '2',\n }),\n popoverActionsSpacer: css({\n flex: 1,\n }),\n popoverContent: css({\n w: '60',\n }),\n} as const;\n\nfunction useFilterStore(): FilterStore {\n const store = use(FilterStoreContext);\n if (store == null) {\n throw new Error(\n 'useFilterStore must be used within a Table filtering plugin',\n );\n }\n return store;\n}\n\nfunction resolveOperator(\n field: SearchFilterInputField,\n operatorKey?: string,\n): SearchFilterInputOperator | undefined {\n if (operatorKey != null) {\n return field.operators.find(operator => operator.key === operatorKey);\n }\n if (field.defaultOperator != null) {\n return field.operators.find(\n operator => operator.key === field.defaultOperator,\n );\n }\n return field.operators[0];\n}\n\nfunction resolveFilterConfig(\n filter: string | TableFilterFieldRef,\n searchConfig: SearchFilterInputConfig,\n): OperatorValue | undefined {\n const fieldKey = typeof filter === 'string' ? filter : filter.field;\n const operatorKey = typeof filter === 'string' ? undefined : filter.operator;\n const field = searchConfig.fields.find(\n candidate => candidate.key === fieldKey,\n );\n return field == null ? undefined : resolveOperator(field, operatorKey)?.value;\n}\n\nfunction tableValueToFilterValue(\n value: TableFilterValue,\n operatorValue: OperatorValue,\n timezoneID: string,\n): FilterValue | undefined {\n switch (operatorValue.type) {\n case 'date_absolute':\n return value instanceof Temporal.PlainDate\n ? {\n type: 'date_absolute',\n unixSeconds: plainDateToUnixSeconds(value, timezoneID),\n }\n : undefined;\n case 'enum':\n return typeof value === 'string' ? {type: 'enum', value} : undefined;\n case 'enum_list':\n return Array.isArray(value) ? {type: 'enum_list', value} : undefined;\n case 'entity_list':\n return Array.isArray(value)\n ? {\n type: 'entity_list',\n value: value.map(id => ({id, label: id})),\n }\n : undefined;\n case 'float':\n return typeof value === 'number' ? {type: 'float', value} : undefined;\n case 'integer':\n return typeof value === 'number' ? {type: 'integer', value} : undefined;\n case 'string':\n return typeof value === 'string' ? {type: 'string', value} : undefined;\n case 'string_list':\n return Array.isArray(value) ? {type: 'string_list', value} : undefined;\n case 'time':\n return typeof value === 'string' ? {type: 'time', value} : undefined;\n case 'custom':\n case 'date_range':\n case 'date_relative':\n case 'empty':\n case 'nested':\n return undefined;\n }\n}\n\nexport function toSearchFilters<T extends Record<string, unknown>>(\n filters: TableFilterState,\n columns: ReadonlyArray<Pick<TableColumn<T>, 'filter' | 'key'>>,\n config: ToSearchFiltersConfig,\n timezoneID?: string,\n): SearchFilterInputFilter[] {\n const result: SearchFilterInputFilter[] = [];\n const searchConfig = 'searchConfig' in config ? config.searchConfig : config;\n const effectiveTimezoneID =\n ('searchConfig' in config ? config.timezoneID : undefined) ??\n timezoneID ??\n getBrowserTimezoneID();\n\n for (const column of columns) {\n if (column.filter == null) {\n continue;\n }\n const value = filters[column.key];\n if (value == null) {\n continue;\n }\n const fieldKey =\n typeof column.filter === 'string' ? column.filter : column.filter.field;\n const operatorKey =\n typeof column.filter === 'string' ? undefined : column.filter.operator;\n const field = searchConfig.fields.find(\n candidate => candidate.key === fieldKey,\n );\n const operator =\n field == null ? undefined : resolveOperator(field, operatorKey);\n if (operator == null) {\n continue;\n }\n const filterValue = tableValueToFilterValue(\n value,\n operator.value,\n effectiveTimezoneID,\n );\n if (filterValue != null) {\n result.push({\n field: fieldKey,\n operator: operator.key,\n value: filterValue,\n });\n }\n }\n\n return result;\n}\n\nfunction TextFilterControl({\n columnKey,\n hasClear,\n header,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <TextInput\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store\n .getConfig()\n .onFilterChange(columnKey, nextValue === '' ? null : nextValue);\n }}\n placeholder={`Filter ${header}`}\n size={size}\n value={typeof value === 'string' ? value : ''}\n />\n );\n}\n\nfunction NumberFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: FloatOperatorValue | IntegerOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n const sharedProps = {\n isIntegerOnly: operatorValue.type === 'integer',\n isLabelHidden: true as const,\n label: `Filter ${header}`,\n max: operatorValue.maxValue ?? null,\n min: operatorValue.minValue ?? null,\n placeholder: `Filter ${header}`,\n size,\n step: operatorValue.type === 'integer' ? 1 : null,\n value: typeof value === 'number' ? value : null,\n };\n if (hasClear === false) {\n return (\n <NumberInput\n {...sharedProps}\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue);\n }}\n />\n );\n }\n return (\n <NumberInput\n {...sharedProps}\n hasClear\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue);\n }}\n />\n );\n}\n\nfunction SelectFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: EnumOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <Select\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue);\n }}\n options={operatorValue.values.map(option => ({\n icon: option.icon,\n label: option.label,\n value: option.value,\n }))}\n placeholder=\"All\"\n size={size}\n value={typeof value === 'string' ? value : null}\n />\n );\n}\n\nfunction MultiSelectFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: EnumListOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <MultiSelect\n hasClear={hasClear}\n hasSearch={false}\n hasSelectAll\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store\n .getConfig()\n .onFilterChange(columnKey, nextValue.length === 0 ? null : nextValue);\n }}\n options={operatorValue.values.map(option => ({\n icon: option.icon,\n label: option.label,\n value: option.value,\n }))}\n placeholder=\"All\"\n size={size}\n value={Array.isArray(value) ? value : []}\n />\n );\n}\n\nfunction DateFilterControl({\n columnKey,\n hasClear,\n header,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <DateInput\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue ?? null);\n }}\n placeholder={`Filter ${header}`}\n size={size}\n value={value instanceof Temporal.PlainDate ? value : undefined}\n />\n );\n}\n\nfunction TimeFilterControl({\n columnKey,\n hasClear,\n header,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <TimeInput\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store\n .getConfig()\n .onFilterChange(columnKey, nextValue?.toString() ?? null);\n }}\n placeholder={`Filter ${header}`}\n size={size}\n value={value instanceof Temporal.PlainTime ? value : undefined}\n />\n );\n}\n\nfunction ListFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: EntityListOperatorValue | StringListOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n const items = Array.isArray(value) ? value.map(id => ({id, label: id})) : [];\n const source =\n operatorValue.searchSource ??\n createStaticSource<SearchableItem>(items, {keywords: item => [item.id]});\n\n return (\n <TagsInput\n hasClear={hasClear}\n hasCreate={operatorValue.isArbitraryStringAllowed ?? true}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextItems => {\n const ids = nextItems.map(item => item.id);\n store\n .getConfig()\n .onFilterChange(columnKey, ids.length === 0 ? null : ids);\n }}\n placeholder={`Filter ${header}`}\n renderItem={\n operatorValue.type === 'entity_list'\n ? operatorValue.renderItem\n : undefined\n }\n searchSource={source}\n size={size}\n value={items}\n />\n );\n}\n\nfunction getHeaderText<T extends Record<string, unknown>>(\n column: TableColumn<T>,\n): string {\n return typeof column.header === 'string' ? column.header : column.key;\n}\n\nfunction FilterControl<T extends Record<string, unknown>>({\n column,\n hasClear,\n operatorValue,\n size,\n}: {\n column: TableColumn<T>;\n hasClear?: boolean;\n operatorValue: OperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element | null {\n const header = getHeaderText(column);\n switch (operatorValue.type) {\n case 'date_absolute':\n return (\n <DateFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n size={size}\n />\n );\n case 'enum':\n return (\n <SelectFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'enum_list':\n return (\n <MultiSelectFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'entity_list':\n case 'string_list':\n return (\n <ListFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'float':\n case 'integer':\n return (\n <NumberFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'string':\n return (\n <TextFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n size={size}\n />\n );\n case 'time':\n return (\n <TimeFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n size={size}\n />\n );\n case 'custom':\n case 'date_range':\n case 'date_relative':\n case 'empty':\n case 'nested':\n return null;\n }\n}\n\nfunction PopoverFilterTrigger<T extends Record<string, unknown>>({\n column,\n operatorValue,\n}: {\n column: TableColumn<T>;\n operatorValue: OperatorValue;\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[column.key];\n const isActive = value != null;\n const [isOpen, setIsOpen] = useState(false);\n const [draft, setDraft] = useState<TableFilterValue | null>(null);\n\n const handleOpenChange = useCallback(\n (isOpenNext: boolean) => {\n if (isOpenNext) {\n setDraft(value ?? null);\n }\n setIsOpen(isOpenNext);\n },\n [value],\n );\n\n const handleApply = useCallback(() => {\n store.getConfig().onFilterChange(column.key, draft);\n setIsOpen(false);\n }, [column.key, draft, store]);\n\n const handleReset = useCallback(() => {\n store.getConfig().onFilterChange(column.key, null);\n setDraft(null);\n setIsOpen(false);\n }, [column.key, store]);\n\n const draftStore = useMemo<FilterStore>(\n () => ({\n getConfig() {\n const config = store.getConfig();\n return {\n ...config,\n filters: {\n ...config.filters,\n [column.key]: draft ?? undefined,\n },\n onFilterChange: (_columnKey, nextValue) => {\n setDraft(nextValue);\n },\n };\n },\n }),\n [column.key, draft, store],\n );\n\n return (\n <Popover\n content={\n <FilterStoreContext value={draftStore}>\n <div className={styles.popoverContent}>\n <FilterControl\n column={column}\n hasClear={false}\n operatorValue={operatorValue}\n size=\"sm\"\n />\n <div className={styles.popoverActions}>\n <Button\n label=\"Reset\"\n onClick={handleReset}\n size=\"sm\"\n variant=\"ghost\"\n />\n <div className={styles.popoverActionsSpacer} />\n <Button\n label=\"Apply\"\n onClick={handleApply}\n size=\"sm\"\n variant=\"primary\"\n />\n </div>\n </div>\n </FilterStoreContext>\n }\n isOpen={isOpen}\n label={`Filter ${getHeaderText(column)}`}\n onOpenChange={handleOpenChange}\n padding={3}\n placement=\"below\">\n <Button\n icon={Filter}\n isIconOnly\n label={`Filter ${getHeaderText(column)}`}\n size=\"sm\"\n variant={isActive ? 'primary' : 'ghost'}\n />\n </Popover>\n );\n}\n\nexport function useTableFiltering<T extends Record<string, unknown>>(\n config: UseTableFilteringConfig,\n): TablePlugin<T> {\n const {variant = 'popover'} = config;\n\n const store = useMemo<FilterStore>(\n () => ({\n getConfig: () => config,\n }),\n [config],\n );\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformColumns:\n variant === 'inline'\n ? (columns: TableColumn<T>[]): TableColumn<T>[] =>\n columns.map(column => {\n if (column.filter != null && column.width == null) {\n return {...column, width: proportional(1)};\n }\n return column;\n })\n : undefined,\n transformHeaderCell(\n props: HeaderCellRenderProps,\n column: TableColumn<T>,\n ): HeaderCellRenderProps {\n if (column.filter == null) {\n if (variant === 'inline') {\n return {\n ...props,\n htmlProps: {\n ...props.htmlProps,\n style: {\n ...props.htmlProps.style,\n verticalAlign: 'bottom',\n },\n },\n };\n }\n return props;\n }\n const operatorValue = resolveFilterConfig(\n column.filter,\n config.searchConfig,\n );\n if (operatorValue == null) {\n return props;\n }\n\n if (variant === 'popover') {\n return {\n ...props,\n after: (\n <span className={styles.afterPopover}>\n <PopoverFilterTrigger\n column={column}\n operatorValue={operatorValue}\n />\n </span>\n ),\n };\n }\n\n return {\n ...props,\n below: (\n <>\n {props.below}\n <div className={styles.inlineWrapper}>\n <FilterControl\n column={column}\n hasClear\n operatorValue={operatorValue}\n size=\"sm\"\n />\n </div>\n </>\n ),\n };\n },\n transformTableContext(children: ReactNode): ReactNode {\n return (\n <FilterStoreContext value={store}>{children}</FilterStoreContext>\n );\n },\n }),\n [config.searchConfig, store, variant],\n );\n}\n","import {useCallback, useState} from 'react';\nimport type {TableFilterState, TableFilterValue} from './useTableFiltering';\n\nexport interface UseTableFilterStateResult {\n clearAll: () => void;\n filters: TableFilterState;\n onFilterChange: (key: string, value: TableFilterValue | null) => void;\n}\n\nexport function useTableFilterState(\n initialState?: TableFilterState,\n): UseTableFilterStateResult {\n const [filters, setFilters] = useState<TableFilterState>(initialState ?? {});\n const onFilterChange = useCallback(\n (key: string, value: TableFilterValue | null) => {\n setFilters(previous => {\n if (value == null) {\n const {[key]: _removed, ...next} = previous;\n return next;\n }\n return {...previous, [key]: value};\n });\n },\n [],\n );\n const clearAll = useCallback(() => setFilters({}), []);\n\n return {clearAll, filters, onFilterChange};\n}\n","export interface PaginateDataOptions {\n page: number;\n pageSize: number;\n}\n\nexport function paginateData<T>(\n data: ReadonlyArray<T>,\n {page, pageSize}: PaginateDataOptions,\n): T[] {\n const safePage = Math.max(1, page);\n const safePageSize = Math.max(1, pageSize);\n const start = (safePage - 1) * safePageSize;\n return data.slice(start, start + safePageSize);\n}\n","import {useMemo, type ReactNode} from 'react';\nimport {css} from 'styled-system/css';\nimport {Pagination, type PaginationProps} from '../../../Pagination';\nimport type {TablePlugin} from '../../types';\n\nexport interface UseTablePaginationConfig {\n align?: 'center' | 'end' | 'start';\n hasMore?: boolean;\n label?: string;\n onPageChange: (page: number) => void;\n page: number;\n pageSize?: number;\n position?: 'above' | 'below' | 'both' | 'none';\n size?: 'lg' | 'md' | 'sm';\n totalItems?: number;\n totalPages?: number;\n variant?: 'compact' | 'count' | 'none' | 'pages';\n}\n\nconst styles = {\n align: {\n center: css({justifyContent: 'center'}),\n end: css({justifyContent: 'flex-end'}),\n start: css({justifyContent: 'flex-start'}),\n },\n below: css({mt: '2'}),\n root: css({display: 'flex'}),\n above: css({mb: '2'}),\n} as const;\n\nexport function useTablePagination<T extends Record<string, unknown>>({\n align = 'center',\n hasMore,\n label = 'Table pagination',\n onPageChange,\n page,\n pageSize = 10,\n position = 'below',\n size = 'md',\n totalItems,\n totalPages,\n variant = 'pages',\n}: UseTablePaginationConfig): TablePlugin<T> {\n const computedTotalPages =\n totalPages ??\n (totalItems == null ? undefined : Math.ceil(totalItems / pageSize));\n const paginationProps = useMemo(\n (): PaginationProps => ({\n hasMore,\n label,\n onChange: onPageChange,\n page,\n pageSize,\n size,\n ...(totalItems != null\n ? {totalItems}\n : computedTotalPages != null\n ? {totalPages: computedTotalPages}\n : {}),\n variant,\n }),\n [\n computedTotalPages,\n hasMore,\n label,\n onPageChange,\n page,\n pageSize,\n size,\n totalItems,\n variant,\n ],\n );\n return useMemo(\n (): TablePlugin<T> => ({\n transformTableContext(children: ReactNode): ReactNode {\n const current = {align, paginationProps, position};\n if (current.position === 'none') {\n return children;\n }\n if (computedTotalPages === 1 && hasMore !== true) {\n return children;\n }\n\n const makePagination = (side: 'above' | 'below') => (\n <div\n className={`${styles.root} ${styles.align[current.align]} ${\n side === 'above' ? styles.above : styles.below\n }`}>\n <Pagination {...current.paginationProps} />\n </div>\n );\n\n return (\n <>\n {current.position === 'above' || current.position === 'both'\n ? makePagination('above')\n : null}\n {children}\n {current.position === 'below' || current.position === 'both'\n ? makePagination('below')\n : null}\n </>\n );\n },\n }),\n [align, computedTotalPages, hasMore, paginationProps, position],\n );\n}\n","import {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {mergeRefs} from '../../../../internal/mergeRefs';\nimport {CheckboxInput} from '../../../CheckboxInput';\nimport {pixel} from '../../columnUtils';\nimport type {BodyRowRenderProps, TableColumn, TablePlugin} from '../../types';\n\nexport interface UseTableSelectionConfig<T extends Record<string, unknown>> {\n getIsAllSelected: () => boolean;\n getIsIndeterminate?: () => boolean;\n getIsItemEnabled?: (item: T) => boolean;\n getIsItemSelectable?: (item: T) => boolean;\n getIsItemSelected: (item: T) => boolean;\n onSelectAll: (event: {isAllSelected: boolean}) => void;\n onSelectItem: (event: {isSelected: boolean; item: T}) => void;\n}\n\nconst styles = {\n center: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }),\n selectedRow: css({\n bg: 'bg.selected',\n }),\n} as const;\n\nconst SELECTION_COLUMN_KEY = '__table_selection';\n\ninterface SelectionStore<T extends Record<string, unknown>> {\n getConfig: () => UseTableSelectionConfig<T>;\n notify: () => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore<T extends Record<string, unknown>>(configRef: {\n current: UseTableSelectionConfig<T>;\n}): SelectionStore<T> {\n const listeners = new Set<() => void>();\n\n return {\n getConfig: () => configRef.current,\n notify: () => {\n for (const listener of listeners) {\n listener();\n }\n },\n subscribe: listener => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\nfunction applyRowSelectionStyle(\n element: HTMLTableRowElement,\n isSelected: boolean,\n): void {\n element.classList.toggle(styles.selectedRow, isSelected);\n if (isSelected) {\n element.setAttribute('aria-selected', 'true');\n } else {\n element.removeAttribute('aria-selected');\n }\n}\n\nconst ITEM_SELECTED = 1;\nconst ITEM_SELECTABLE = 2;\nconst ITEM_ENABLED = 4;\n\nfunction getItemSelectionSnapshot<T extends Record<string, unknown>>(\n config: UseTableSelectionConfig<T>,\n item: T,\n): number {\n const isSelected = config.getIsItemSelected(item);\n const isSelectable = config.getIsItemSelectable?.(item) ?? true;\n const isEnabled = config.getIsItemEnabled?.(item) ?? true;\n\n return (\n (isSelected ? ITEM_SELECTED : 0) |\n (isSelectable ? ITEM_SELECTABLE : 0) |\n (isEnabled ? ITEM_ENABLED : 0)\n );\n}\n\nconst SELECT_NONE = 0;\nconst SELECT_INDETERMINATE = 1;\nconst SELECT_ALL = 2;\n\nconst SelectionStoreContext = createContext<SelectionStore<\n Record<string, unknown>\n> | null>(null);\nSelectionStoreContext.displayName = 'TableSelectionStoreContext';\n\nfunction SelectAllCheckbox<T extends Record<string, unknown>>(): ReactNode {\n const store = use(SelectionStoreContext) as SelectionStore<T> | null;\n if (store == null) {\n return null;\n }\n\n return <SelectAllCheckboxInner store={store} />;\n}\n\nfunction SelectAllCheckboxInner<T extends Record<string, unknown>>({\n store,\n}: {\n store: SelectionStore<T>;\n}): ReactNode {\n const getSnapshot = useCallback(() => {\n const config = store.getConfig();\n if (config.getIsAllSelected()) {\n return SELECT_ALL;\n }\n return config.getIsIndeterminate?.() === true\n ? SELECT_INDETERMINATE\n : SELECT_NONE;\n }, [store]);\n const state = useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);\n const isAllSelected = state === SELECT_ALL;\n\n return (\n <CheckboxInput\n isLabelHidden\n label=\"Select all rows\"\n onChange={() => {\n store.getConfig().onSelectAll({\n isAllSelected: !isAllSelected,\n });\n }}\n size=\"sm\"\n value={\n isAllSelected\n ? true\n : state === SELECT_INDETERMINATE\n ? 'indeterminate'\n : false\n }\n />\n );\n}\n\nfunction SelectionCellContent<T extends Record<string, unknown>>({\n item,\n}: {\n item: T;\n}): ReactNode {\n const store = use(SelectionStoreContext) as SelectionStore<T> | null;\n if (store == null) {\n return null;\n }\n\n return <SelectionCellContentInner item={item} store={store} />;\n}\n\nfunction SelectionCellContentInner<T extends Record<string, unknown>>({\n item,\n store,\n}: {\n item: T;\n store: SelectionStore<T>;\n}): ReactNode {\n const getSnapshot = useCallback(\n () => getItemSelectionSnapshot(store.getConfig(), item),\n [item, store],\n );\n const state = useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);\n const isSelected = (state & ITEM_SELECTED) !== 0;\n const isSelectable = (state & ITEM_SELECTABLE) !== 0;\n const isEnabled = (state & ITEM_ENABLED) !== 0;\n\n if (!isSelectable) {\n return null;\n }\n\n return (\n <CheckboxInput\n isDisabled={!isEnabled}\n isLabelHidden\n label=\"Select row\"\n onChange={() => {\n store.getConfig().onSelectItem({isSelected: !isSelected, item});\n }}\n size=\"sm\"\n value={isSelected}\n />\n );\n}\n\nexport function useTableSelection<T extends Record<string, unknown>>(\n config: UseTableSelectionConfig<T>,\n): TablePlugin<T> {\n /* eslint-disable @eslint-react/refs -- external store keeps plugin identity stable while exposing the latest selection config */\n const configRef = useRef(config);\n configRef.current = config;\n\n const storeRef = useRef<SelectionStore<T> | null>(null);\n storeRef.current ??= createSelectionStore(configRef);\n const store = storeRef.current;\n /* eslint-enable @eslint-react/refs */\n\n useEffect(() => {\n store.notify();\n });\n\n const selectionColumn = useMemo(\n (): TableColumn<T> => ({\n header: (\n <div className={styles.center}>\n <SelectAllCheckbox<T> />\n </div>\n ),\n key: SELECTION_COLUMN_KEY,\n renderCell: item => (\n <div className={styles.center}>\n <SelectionCellContent item={item} />\n </div>\n ),\n resizable: false,\n width: pixel(36),\n }),\n [],\n );\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformTableContext(children: ReactNode): ReactNode {\n return (\n <SelectionStoreContext\n value={store as unknown as SelectionStore<Record<string, unknown>>}>\n {children}\n </SelectionStoreContext>\n );\n },\n transformBodyRow(props: BodyRowRenderProps, item: T): BodyRowRenderProps {\n let unsubscribe: (() => void) | null = null;\n const selectionRef: RefCallback<HTMLTableRowElement> = element => {\n unsubscribe?.();\n unsubscribe = null;\n\n if (element == null) {\n return;\n }\n\n applyRowSelectionStyle(\n element,\n store.getConfig().getIsItemSelected(item),\n );\n unsubscribe = store.subscribe(() => {\n if (!element.isConnected) {\n unsubscribe?.();\n unsubscribe = null;\n return;\n }\n applyRowSelectionStyle(\n element,\n store.getConfig().getIsItemSelected(item),\n );\n });\n };\n\n return {\n ...props,\n ref:\n props.ref == null\n ? selectionRef\n : mergeRefs(props.ref, selectionRef),\n };\n },\n transformColumns(columns: TableColumn<T>[]): TableColumn<T>[] {\n return [selectionColumn, ...columns];\n },\n }),\n [selectionColumn, store],\n );\n}\n","import {useCallback, useMemo} from 'react';\nimport type {UseTableSelectionConfig} from './useTableSelection';\n\nexport interface UseTableSelectionStateConfig<\n T extends Record<string, unknown>,\n> {\n data: T[];\n getIsItemEnabled?: (item: T) => boolean;\n getIsItemSelectable?: (item: T) => boolean;\n idKey: (keyof T & string) | ((item: T) => string);\n selectedKeys: Set<string>;\n setSelectedKeys: React.Dispatch<React.SetStateAction<Set<string>>>;\n}\n\nexport interface UseTableSelectionStateResult<\n T extends Record<string, unknown>,\n> {\n selectionConfig: UseTableSelectionConfig<T>;\n}\n\nconst stableTrue = () => true;\n\nexport function useTableSelectionState<T extends Record<string, unknown>>({\n data,\n getIsItemEnabled = stableTrue,\n getIsItemSelectable = stableTrue,\n idKey,\n selectedKeys,\n setSelectedKeys,\n}: UseTableSelectionStateConfig<T>): UseTableSelectionStateResult<T> {\n const getId = useCallback(\n (item: T): string =>\n typeof idKey === 'function' ? idKey(item) : String(item[idKey]),\n [idKey],\n );\n\n const getIsActionable = useCallback(\n (item: T) => getIsItemSelectable(item) && getIsItemEnabled(item),\n [getIsItemEnabled, getIsItemSelectable],\n );\n const actionableIDs = useMemo(\n () => new Set(data.filter(getIsActionable).map(getId)),\n [data, getId, getIsActionable],\n );\n const frozenSelectedIDs = useMemo(() => {\n const frozen = new Set<string>();\n for (const id of selectedKeys) {\n if (!actionableIDs.has(id)) {\n frozen.add(id);\n }\n }\n return frozen;\n }, [actionableIDs, selectedKeys]);\n const allSelectableIDs = useMemo(\n () => new Set([...selectedKeys, ...actionableIDs]),\n [actionableIDs, selectedKeys],\n );\n\n const onSelectAll = useCallback(\n ({isAllSelected}: {isAllSelected: boolean}) => {\n setSelectedKeys(isAllSelected ? allSelectableIDs : frozenSelectedIDs);\n },\n [allSelectableIDs, frozenSelectedIDs, setSelectedKeys],\n );\n const onSelectItem = useCallback(\n ({isSelected, item}: {isSelected: boolean; item: T}) => {\n setSelectedKeys(previous => {\n const next = new Set(previous);\n const id = getId(item);\n if (isSelected) {\n next.add(id);\n } else {\n next.delete(id);\n }\n return next;\n });\n },\n [getId, setSelectedKeys],\n );\n const getIsAllSelected = useCallback(\n () =>\n allSelectableIDs.size > 0 && allSelectableIDs.size === selectedKeys.size,\n [allSelectableIDs, selectedKeys],\n );\n const getIsIndeterminate = useCallback(() => {\n const selectedActionableCount = data.filter(\n item => getIsActionable(item) && selectedKeys.has(getId(item)),\n ).length;\n return (\n selectedActionableCount > 0 &&\n selectedActionableCount < actionableIDs.size\n );\n }, [actionableIDs.size, data, getId, getIsActionable, selectedKeys]);\n\n const selectionConfig = useMemo(\n (): UseTableSelectionConfig<T> => ({\n getIsAllSelected,\n getIsIndeterminate,\n getIsItemEnabled,\n getIsItemSelectable,\n getIsItemSelected: item => selectedKeys.has(getId(item)),\n onSelectAll,\n onSelectItem,\n }),\n [\n getId,\n getIsAllSelected,\n getIsIndeterminate,\n getIsItemEnabled,\n getIsItemSelectable,\n onSelectAll,\n onSelectItem,\n selectedKeys,\n ],\n );\n\n return {selectionConfig};\n}\n","import {ArrowDown, ArrowUp, ChevronsUpDown} from 'lucide-react';\nimport {useMemo, type ReactNode} from 'react';\nimport {css} from 'styled-system/css';\nimport {Icon} from '../../../Icon';\nimport type {\n HeaderCellRenderProps,\n TableColumn,\n TablePlugin,\n} from '../../types';\n\nexport type TableSortDirection = 'ascending' | 'descending';\n\nexport interface TableSortEntry<TSortKey extends string = string> {\n direction: TableSortDirection;\n sortKey: TSortKey;\n}\n\nexport type TableSortState<TSortKey extends string = string> =\n TableSortEntry<TSortKey>[];\n\nexport interface UseTableSortableConfig<TSortKey extends string = string> {\n hasUnsortedState?: boolean;\n isMultiSortEnabled?: boolean;\n onSortChange: (sort: TableSortState<TSortKey>) => void;\n sort: TableSortState<TSortKey>;\n}\n\nconst styles = {\n button: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n w: 'full',\n h: 'full',\n p: 0,\n m: 0,\n borderWidth: 0,\n borderRadius: 'sm',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n font: 'inherit',\n textAlign: 'inherit',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n '&:is(:hover, [data-hover]) [data-table-sort-icon-state=\"inactive\"], &:is(:focus-visible, [data-focus-visible]) [data-table-sort-icon-state=\"inactive\"]':\n {\n opacity: 1,\n },\n }),\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n iconInactive: css({\n opacity: 0.35,\n }),\n iconActive: css({\n color: 'primary',\n }),\n label: css({\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n rank: css({\n color: 'primary',\n fontSize: '2xs',\n lineHeight: 1,\n }),\n} as const;\n\nfunction resolveSortKey<T extends Record<string, unknown>>(\n column: TableColumn<T>,\n): string | null {\n if (!column.sortable) {\n return null;\n }\n return column.sortable === true\n ? column.key\n : (column.sortable.sortKey ?? column.key);\n}\n\nfunction getHeaderLabel<T extends Record<string, unknown>>(\n column: TableColumn<T>,\n): string {\n return typeof column.header === 'string' ? column.header : column.key;\n}\n\nfunction getNextDirection(\n current: TableSortDirection | null,\n hasUnsortedState: boolean,\n): TableSortDirection | null {\n if (current == null) {\n return 'ascending';\n }\n if (current === 'ascending') {\n return 'descending';\n }\n return hasUnsortedState ? null : 'ascending';\n}\n\nfunction SortHeaderButton<T extends Record<string, unknown>>({\n children,\n column,\n config,\n}: {\n children: ReactNode;\n column: TableColumn<T>;\n config: UseTableSortableConfig;\n}): React.JSX.Element {\n const sortKey = resolveSortKey(column) ?? '';\n const entryIndex = config.sort.findIndex(entry => entry.sortKey === sortKey);\n const entry = entryIndex >= 0 ? config.sort[entryIndex] : null;\n const direction = entry?.direction ?? null;\n const rank =\n config.isMultiSortEnabled === true &&\n config.sort.length > 1 &&\n entryIndex >= 0\n ? entryIndex + 1\n : null;\n const SortIcon =\n direction === 'ascending'\n ? ArrowUp\n : direction === 'descending'\n ? ArrowDown\n : ChevronsUpDown;\n const label = getHeaderLabel(column);\n const ariaLabel =\n direction == null\n ? `Sort by ${label}`\n : `Sort by ${label}, sorted ${direction}${\n rank == null ? '' : `, priority ${rank} of ${config.sort.length}`\n }`;\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n const nextConfig = config;\n const isMultiSort =\n event.shiftKey && nextConfig.isMultiSortEnabled === true;\n const allowUnsorted = nextConfig.hasUnsortedState ?? true;\n\n if (isMultiSort) {\n const index = nextConfig.sort.findIndex(sort => sort.sortKey === sortKey);\n if (index >= 0) {\n const nextDirection = getNextDirection(\n nextConfig.sort[index].direction,\n allowUnsorted,\n );\n const nextSort = [...nextConfig.sort];\n if (nextDirection == null) {\n nextSort.splice(index, 1);\n } else {\n nextSort[index] = {...nextSort[index], direction: nextDirection};\n }\n nextConfig.onSortChange(nextSort);\n } else {\n nextConfig.onSortChange([\n ...nextConfig.sort,\n {direction: 'ascending', sortKey},\n ]);\n }\n return;\n }\n\n const currentEntry = nextConfig.sort.find(sort => sort.sortKey === sortKey);\n const nextDirection = getNextDirection(\n currentEntry?.direction ?? null,\n allowUnsorted,\n );\n nextConfig.onSortChange(\n nextDirection == null ? [] : [{direction: nextDirection, sortKey}],\n );\n };\n\n return (\n <button\n aria-label={ariaLabel}\n className={styles.button}\n onClick={handleClick}\n type=\"button\">\n <span className={styles.label}>{children}</span>\n <span\n className={`${styles.icon} ${\n direction == null ? styles.iconInactive : styles.iconActive\n }`}\n data-table-sort-icon-state={direction == null ? 'inactive' : 'active'}\n data-testid={`table-sort-icon-${sortKey}`}>\n <Icon icon={SortIcon} size=\"sm\" />\n </span>\n {rank == null ? null : (\n <span aria-hidden=\"true\" className={styles.rank}>\n {rank}\n </span>\n )}\n </button>\n );\n}\n\nexport function useTableSortable<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n>(config: UseTableSortableConfig<TSortKey>): TablePlugin<T> {\n const sortableConfig = config as unknown as UseTableSortableConfig;\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformHeaderCell(\n props: HeaderCellRenderProps,\n column: TableColumn<T>,\n ): HeaderCellRenderProps {\n const sortKey = resolveSortKey(column);\n if (sortKey == null) {\n return props;\n }\n const entry = sortableConfig.sort.find(\n sort => sort.sortKey === sortKey,\n );\n return {\n ...props,\n content: (\n <SortHeaderButton column={column} config={sortableConfig}>\n {props.content}\n </SortHeaderButton>\n ),\n htmlProps: {\n ...props.htmlProps,\n ...(entry == null ? {} : {'aria-sort': entry.direction}),\n },\n };\n },\n }),\n [sortableConfig],\n );\n}\n","import {Temporal} from '@js-temporal/polyfill';\nimport {useCallback, useMemo, useState} from 'react';\nimport type {TableSortState, UseTableSortableConfig} from './useTableSortable';\n\nexport type TableSortComparator<T> = (a: T, b: T) => number;\n\nexport interface UseTableSortableStateConfig<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n> {\n comparators?: Partial<Record<TSortKey, TableSortComparator<T>>>;\n data: T[];\n defaultSort?: TableSortState<TSortKey>;\n hasUnsortedState?: boolean;\n isMultiSortEnabled?: boolean;\n onSortChange?: (sort: TableSortState<TSortKey>) => void;\n sort?: TableSortState<TSortKey>;\n}\n\nexport interface UseTableSortableStateResult<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n> {\n applySort: (data: T[]) => T[];\n sort: TableSortState<TSortKey>;\n sortConfig: UseTableSortableConfig<TSortKey>;\n sortedData: T[];\n}\n\nfunction stringifySortable(value: unknown): string {\n if (\n value instanceof Temporal.Instant ||\n value instanceof Temporal.PlainDate ||\n value instanceof Temporal.PlainDateTime ||\n value instanceof Temporal.PlainTime ||\n value instanceof Temporal.ZonedDateTime\n ) {\n return value.toString();\n }\n if (\n typeof value === 'bigint' ||\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string'\n ) {\n return String(value);\n }\n return '';\n}\n\nfunction defaultCompare<T extends Record<string, unknown>>(\n a: T,\n b: T,\n sortKey: string,\n): number {\n const left = a[sortKey];\n const right = b[sortKey];\n if (left == null && right == null) {\n return 0;\n }\n if (left == null) {\n return 1;\n }\n if (right == null) {\n return -1;\n }\n if (typeof left === 'number' && typeof right === 'number') {\n return left - right;\n }\n return stringifySortable(left).localeCompare(\n stringifySortable(right),\n undefined,\n {\n numeric: true,\n },\n );\n}\n\nexport function useTableSortableState<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n>({\n hasUnsortedState,\n comparators,\n data,\n defaultSort = [],\n isMultiSortEnabled,\n onSortChange: controlledOnSortChange,\n sort: controlledSort,\n}: UseTableSortableStateConfig<T, TSortKey>): UseTableSortableStateResult<\n T,\n TSortKey\n> {\n const [uncontrolledSort, setUncontrolledSort] =\n useState<TableSortState<TSortKey>>(defaultSort);\n const sort = controlledSort ?? uncontrolledSort;\n const onSortChange = useCallback(\n (nextSort: TableSortState<TSortKey>) => {\n if (controlledSort == null) {\n setUncontrolledSort(nextSort);\n }\n controlledOnSortChange?.(nextSort);\n },\n [controlledOnSortChange, controlledSort],\n );\n\n const applySort = useCallback(\n (items: T[]): T[] => {\n if (sort.length === 0) {\n return items;\n }\n return [...items].sort((a, b) => {\n for (const entry of sort) {\n const customCompare = comparators?.[entry.sortKey];\n const result =\n customCompare == null\n ? defaultCompare(a, b, entry.sortKey)\n : customCompare(a, b);\n if (result !== 0) {\n return entry.direction === 'ascending' ? result : -result;\n }\n }\n return 0;\n });\n },\n [comparators, sort],\n );\n const sortedData = useMemo(() => applySort(data), [applySort, data]);\n const sortConfig = useMemo(\n (): UseTableSortableConfig<TSortKey> => ({\n hasUnsortedState,\n isMultiSortEnabled,\n onSortChange,\n sort,\n }),\n [hasUnsortedState, isMultiSortEnabled, onSortChange, sort],\n );\n\n return {applySort, sort, sortConfig, sortedData};\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/TextArea/TextArea.tsx"],"names":[],"mappings":"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","file":"chunk-VAK4JQYL.js","sourcesContent":["import {\n useId,\n type ChangeEvent,\n type CSSProperties,\n type ClipboardEvent,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\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 {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\n\nexport type TextAreaProps = {\n /**\n * Additional CSS class names applied to the textarea wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the textarea element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to focus the textarea on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether the browser spellcheck is enabled.\n * @default true\n */\n hasSpellCheck?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the textarea 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 textarea 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 * Maximum character count. Displays a counter when set.\n */\n maxLength?: number;\n /**\n * Called when the textarea loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLTextAreaElement>) => void;\n /**\n * Called with the next string value.\n */\n onChange: (value: string, event: ChangeEvent<HTMLTextAreaElement>) => void;\n /**\n * Called when the textarea receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLTextAreaElement>) => void;\n /**\n * Called when content is pasted into the textarea.\n */\n onPaste?: (event: ClipboardEvent<HTMLTextAreaElement>) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the textarea element.\n */\n ref?: Ref<HTMLTextAreaElement>;\n /**\n * Number of visible text rows.\n * @default 3\n */\n rows?: number;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the textarea.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the textarea.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the textarea wrapper.\n */\n style?: CSSProperties;\n /**\n * Controlled textarea value.\n */\n value: string;\n} & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n alignItems: 'flex-start',\n py: '2',\n }),\n textarea: css({\n resize: 'vertical',\n minH: '20',\n }),\n counter: css({\n alignSelf: 'flex-end',\n mt: '1',\n }),\n counterOverLimit: css({\n color: 'status.error.fg',\n }),\n} as const;\n\n/**\n * Multi-line text input field with optional character counter.\n */\nexport function TextArea({\n label,\n value,\n onChange,\n rows = 3,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasSpellCheck = true,\n hasAutoFocus = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n startIcon,\n placeholder,\n maxLength,\n onPaste,\n onFocus,\n onBlur,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TextAreaProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const counterID = maxLength != null ? `${inputId}-counter` : undefined;\n const describedBy = getDescribedBy(descriptionID, statusMessageID, counterID);\n const isOverLimit = maxLength != null && value.length > maxLength;\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 {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <textarea\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || isOverLimit || undefined}\n aria-required={isRequired ?? undefined}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(inputStyles.control, styles.textarea)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => onChange(event.target.value, event)}\n onFocus={onFocus}\n onPaste={onPaste}\n placeholder={placeholder}\n ref={ref}\n rows={rows}\n spellCheck={hasSpellCheck}\n value={value}\n />\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 {maxLength != null ? (\n <Text\n as=\"span\"\n className={cx(\n styles.counter,\n isOverLimit ? styles.counterOverLimit : undefined,\n )}\n color=\"secondary\"\n id={counterID}\n type=\"supporting\">\n {value.length}/{maxLength}\n </Text>\n ) : null}\n </Field>\n );\n}\n\nTextArea.displayName = 'TextArea';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internal/useFocusTrap.ts","../src/components/Popover/usePopover.tsx","../src/components/Popover/Popover.tsx"],"names":["useRef","useEffect","useCallback","styles","jsx","jsxs"],"mappings":"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","file":"chunk-VEUZ5DZR.js","sourcesContent":["import {useCallback, useEffect, useRef} from 'react';\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n\nexport interface UseFocusTrapOptions {\n isActive: boolean;\n onEscape?: () => void;\n}\n\nexport interface UseFocusTrapReturn<T extends HTMLElement = HTMLElement> {\n containerRef: React.RefObject<T | null>;\n focusFirst: () => void;\n}\n\nfunction getFocusableElements(container: HTMLElement): HTMLElement[] {\n return Array.from(\n container.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR),\n );\n}\n\nfunction focusFirstDescendant(container: HTMLElement): void {\n getFocusableElements(container)[0]?.focus();\n}\n\nfunction focusLastDescendant(container: HTMLElement): void {\n const elements = getFocusableElements(container);\n elements.at(-1)?.focus();\n}\n\nexport function useFocusTrap<T extends HTMLElement = HTMLElement>({\n isActive,\n onEscape,\n}: UseFocusTrapOptions): UseFocusTrapReturn<T> {\n const containerRef = useRef<T>(null);\n\n const focusFirst = useCallback(() => {\n if (containerRef.current != null) {\n focusFirstDescendant(containerRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!isActive) {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n onEscape?.();\n return;\n }\n\n if (event.key !== 'Tab') {\n return;\n }\n\n const focusable = getFocusableElements(container);\n if (focusable.length === 0) {\n return;\n }\n\n const first = focusable[0];\n const last = focusable.at(-1);\n if (event.shiftKey && document.activeElement === first) {\n event.preventDefault();\n focusLastDescendant(container);\n } else if (!event.shiftKey && document.activeElement === last) {\n event.preventDefault();\n focusFirstDescendant(container);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [isActive, onEscape]);\n\n return {containerRef, focusFirst};\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {useFocusTrap} from '../../internal/useFocusTrap';\nimport {useLayer, type ContextRenderProps} from '../../internal/useLayer';\nimport {Button} from '../Button';\n\nexport type {LayerAlignment, LayerPlacement} from '../../internal/useLayer';\n\nexport interface UsePopoverOptions {\n closeButtonLabel?: string;\n hasAutoFocus?: boolean;\n hasCloseButton?: boolean;\n hasLightDismiss?: boolean;\n hasSurface?: boolean;\n label?: string;\n onHide?: () => void;\n onShow?: () => void;\n role?: 'dialog' | 'menu';\n}\n\nexport interface UsePopoverReturn {\n anchorId: string;\n contentRef: React.RefObject<HTMLDivElement | null>;\n hide: () => void;\n id: string;\n isOpen: boolean;\n render: (children: ReactNode, props?: ContextRenderProps) => ReactNode;\n show: (options?: {isAutoFocusSkipped?: boolean}) => void;\n toggle: () => void;\n triggerProps: {\n 'aria-controls': string;\n 'aria-expanded': boolean;\n 'aria-haspopup': 'dialog' | 'menu';\n };\n triggerRef: RefCallback<HTMLElement>;\n}\n\nconst styles = {\n surface: css({\n position: 'relative',\n bg: 'bg',\n borderRadius: 'md',\n boxShadow: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n closeButtonWrapper: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n }),\n} as const;\n\nexport function usePopover({\n onShow,\n onHide,\n hasLightDismiss = true,\n hasAutoFocus = true,\n hasSurface = true,\n hasCloseButton = true,\n closeButtonLabel = 'Close popover',\n label,\n role = 'dialog',\n}: UsePopoverOptions = {}): UsePopoverReturn {\n const skipAutoFocusRef = useRef(false);\n const layer = useLayer({hasLightDismiss, onShow, onHide});\n const {containerRef: contentRef, focusFirst} = useFocusTrap<HTMLDivElement>({\n isActive: layer.isOpen,\n onEscape: layer.hide,\n });\n\n useEffect(() => {\n if (!layer.isOpen) {\n skipAutoFocusRef.current = false;\n return;\n }\n\n if (hasAutoFocus && !skipAutoFocusRef.current) {\n requestAnimationFrame(() => focusFirst());\n }\n }, [focusFirst, hasAutoFocus, layer.isOpen]);\n\n const show = useCallback(\n (options?: {isAutoFocusSkipped?: boolean}) => {\n skipAutoFocusRef.current = options?.isAutoFocusSkipped ?? false;\n layer.show();\n },\n [layer],\n );\n\n const toggle = useCallback(() => {\n if (layer.isOpen) {\n layer.hide();\n return;\n }\n\n show();\n }, [layer, show]);\n\n const render = useCallback(\n (children: ReactNode, props?: ContextRenderProps): ReactNode => {\n return layer.render(\n <div\n aria-label={label}\n className={hasSurface ? styles.surface : undefined}\n ref={contentRef}\n role={role}>\n {children}\n {hasCloseButton ? (\n <div className={styles.closeButtonWrapper}>\n <Button\n icon={X}\n isIconOnly\n label={closeButtonLabel}\n onClick={layer.hide}\n size=\"sm\"\n variant=\"ghost\"\n />\n </div>\n ) : null}\n </div>,\n {\n ...props,\n className: props?.className,\n },\n );\n },\n [\n closeButtonLabel,\n contentRef,\n hasCloseButton,\n hasSurface,\n label,\n layer,\n role,\n ],\n );\n\n const triggerProps = useMemo(\n () => ({\n 'aria-controls': layer.id,\n 'aria-expanded': layer.isOpen,\n 'aria-haspopup': role,\n }),\n [layer.id, layer.isOpen, role],\n );\n\n return useMemo(\n () => ({\n anchorId: layer.anchorId,\n contentRef,\n hide: layer.hide,\n id: layer.id,\n isOpen: layer.isOpen,\n render,\n show,\n toggle,\n triggerProps,\n triggerRef: layer.ref,\n }),\n [\n contentRef,\n layer.anchorId,\n layer.hide,\n layer.id,\n layer.isOpen,\n layer.ref,\n render,\n show,\n toggle,\n triggerProps,\n ],\n );\n}\n","import {\n useCallback,\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport {token} from 'styled-system/tokens';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {nowMonotonicMilliseconds} from '../../internal/time';\nimport {useIsomorphicLayoutEffect} from '../../internal/useIsomorphicLayoutEffect';\nimport type {LayerAlignment, LayerPlacement} from '../../internal/useLayer';\nimport {usePopover} from './usePopover';\n\nexport interface PopoverProps {\n /**\n * Alignment along the placement axis.\n * @default 'start'\n */\n alignment?: LayerAlignment;\n /**\n * External trigger element. When provided without children, Popover attaches\n * click and ARIA behavior directly to this element.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * Trigger content. Must contain a `<button>` or `[role=\"button\"]`.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the popover content.\n */\n className?: string;\n /**\n * Label for the hidden close button.\n * @default 'Close popover'\n */\n closeButtonLabel?: string;\n /**\n * Content displayed inside the popover dialog.\n */\n content: ReactNode;\n /**\n * Test ID applied to the popover content.\n */\n 'data-testid'?: string;\n /**\n * Whether to focus the first focusable item after opening.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to include a keyboard-accessible close button.\n * @default true\n */\n hasCloseButton?: boolean;\n /**\n * Whether clicking outside closes the popover.\n * @default true\n */\n hasLightDismiss?: boolean;\n /**\n * Whether trigger interactions open the popover.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Controlled open state.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the popover dialog.\n */\n label?: string;\n /**\n * Callback fired when open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Inner padding of the popover content.\n * @default 0\n */\n padding?: SpacingToken;\n /**\n * Position relative to the trigger.\n * @default 'below'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the popover content element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * ARIA role for the floating content.\n * @default 'dialog'\n */\n role?: 'dialog' | 'menu';\n /**\n * Inline styles applied to the popover content.\n */\n style?: CSSProperties;\n /**\n * Width of the popover content.\n */\n width?: number | string;\n}\n\nconst BUTTON_SELECTOR = 'button, [role=\"button\"]';\n\nconst styles = {\n anchor: css({\n display: 'inline-flex',\n }),\n content: css({}),\n gap: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nfunction findTriggerButton(element: HTMLElement): HTMLElement | null {\n if (element.matches(BUTTON_SELECTOR)) {\n return element;\n }\n\n return element.querySelector<HTMLElement>(BUTTON_SELECTOR);\n}\n\n/**\n * A click-triggered floating dialog anchored to a trigger element.\n */\nexport function Popover({\n anchorRef,\n children,\n content,\n placement = 'below',\n alignment = 'start',\n isOpen,\n onOpenChange,\n isEnabled = true,\n width,\n label,\n hasCloseButton,\n hasLightDismiss,\n closeButtonLabel,\n padding,\n ref,\n hasAutoFocus,\n className,\n style,\n role,\n 'data-testid': dataTestId,\n}: PopoverProps): React.JSX.Element {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isControlled = isOpen !== undefined;\n const lastHideTimeRef = useRef(0);\n\n const popover = usePopover({\n closeButtonLabel,\n hasAutoFocus,\n hasCloseButton,\n hasLightDismiss,\n label,\n onHide: () => {\n lastHideTimeRef.current = nowMonotonicMilliseconds();\n onOpenChange?.(false);\n },\n onShow: () => onOpenChange?.(true),\n role,\n });\n\n const handleTriggerClick = useCallback(() => {\n if (!isEnabled) {\n return;\n }\n\n if (nowMonotonicMilliseconds() - lastHideTimeRef.current < 50) {\n return;\n }\n\n popover.toggle();\n }, [isEnabled, popover]);\n\n const handleTriggerKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleTriggerClick();\n }\n },\n [handleTriggerClick],\n );\n\n const attachTrigger = useCallback(\n (button: HTMLElement) => {\n button.setAttribute(\n 'aria-haspopup',\n popover.triggerProps['aria-haspopup'],\n );\n button.setAttribute(\n 'aria-expanded',\n String(popover.triggerProps['aria-expanded']),\n );\n button.setAttribute(\n 'aria-controls',\n popover.triggerProps['aria-controls'],\n );\n button.addEventListener('click', handleTriggerClick);\n\n const needsKeyDown =\n button.tagName !== 'BUTTON' && button.getAttribute('role') === 'button';\n if (needsKeyDown) {\n button.addEventListener('keydown', handleTriggerKeyDown);\n }\n\n return () => {\n button.removeAttribute('aria-haspopup');\n button.removeAttribute('aria-expanded');\n button.removeAttribute('aria-controls');\n button.removeEventListener('click', handleTriggerClick);\n if (needsKeyDown) {\n button.removeEventListener('keydown', handleTriggerKeyDown);\n }\n };\n },\n [handleTriggerClick, handleTriggerKeyDown, popover.triggerProps],\n );\n\n useIsomorphicLayoutEffect(() => {\n const anchor = anchorRef?.current ?? wrapperRef.current;\n if (anchor == null) {\n return;\n }\n\n popover.triggerRef(anchor);\n const trigger = findTriggerButton(anchor);\n if (trigger == null || !isEnabled) {\n return () => {\n popover.triggerRef(null);\n };\n }\n\n const detach = attachTrigger(trigger);\n return () => {\n popover.triggerRef(null);\n detach();\n };\n }, [anchorRef, attachTrigger, isEnabled, popover]);\n\n useIsomorphicLayoutEffect(() => {\n if (!isControlled) {\n return;\n }\n\n if (isOpen === true && !popover.isOpen) {\n popover.show();\n } else if (isOpen === false && popover.isOpen) {\n popover.hide();\n }\n }, [isControlled, isOpen, popover]);\n\n const widthStyle =\n width == null\n ? undefined\n : {width: typeof width === 'number' ? `${width}px` : width};\n\n const paddingStyle =\n padding != null && padding !== 0\n ? {padding: token(`spacing.${padding}`)}\n : undefined;\n\n const popoverContent = popover.render(\n <div\n className={cx(styles.content, className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...paddingStyle, ...widthStyle, ...style}}>\n {content}\n </div>,\n {\n placement,\n alignment,\n className: styles.gap[placement],\n style: {minWidth: 'anchor-size(width)'},\n },\n );\n\n if (anchorRef != null && !isReactNode(children)) {\n return <>{popoverContent}</>;\n }\n\n return (\n <>\n <div className={styles.anchor} ref={wrapperRef}>\n {children}\n </div>\n {popoverContent}\n </>\n );\n}\n\nPopover.displayName = 'Popover';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/AvatarGroup/AvatarGroup.recipe.ts","../src/components/AvatarGroup/AvatarGroup.tsx","../src/components/AvatarGroup/AvatarGroupOverflow.tsx"],"names":["cva","resolveAvatarSize","useMemo","jsx","AvatarGroupContext","cx","css","useAvatarGroup"],"mappings":"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","file":"chunk-VJBBMBRT.cjs","sourcesContent":["import {cva} from 'styled-system/css';\n\nexport const avatarGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n verticalAlign: 'middle',\n },\n});\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {cx} from '../../internal/cx';\nimport {resolveAvatarSize, type AvatarSize} from '../Avatar';\nimport {avatarGroupRecipe} from './AvatarGroup.recipe';\nimport {AvatarGroupContext} from './AvatarGroupContext';\n\nconst OVERLAP_RATIO = 0.25;\n\n/**\n * Displays a stacked group of Avatars with shared size and overlap.\n */\nexport interface AvatarGroupProps {\n /**\n * Accessible label for the group. Default is \"Avatars\".\n */\n 'aria-label'?: string;\n /**\n * Avatar and AvatarGroupOverflow children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size applied to child Avatars. Individual Avatar size props are ignored\n * while inside the group so the stack remains visually consistent.\n */\n size?: AvatarSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\ntype AvatarGroupStyle = CSSProperties & {\n '--avatar-group-overlap': string;\n};\n\n/**\n * Displays a stacked group of Avatars with shared size and overlap.\n */\nexport function AvatarGroup({\n 'aria-label': ariaLabel = 'Avatars',\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n size = 'small',\n style,\n}: AvatarGroupProps): React.JSX.Element {\n const numericSize = resolveAvatarSize(size);\n const overlap = Math.round(numericSize * OVERLAP_RATIO);\n const contextValue = useMemo(\n () => ({numericSize, overlap, size}),\n [numericSize, overlap, size],\n );\n const rootStyle: AvatarGroupStyle = {\n '--avatar-group-overlap': `${-overlap}px`,\n ...style,\n };\n\n return (\n <AvatarGroupContext value={contextValue}>\n <div\n aria-label={ariaLabel}\n className={cx(avatarGroupRecipe(), className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n {children}\n </div>\n </AvatarGroupContext>\n );\n}\n\nAvatarGroup.displayName = 'AvatarGroup';\n","import type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {useAvatarGroup} from './AvatarGroupContext';\n\nconst DEFAULT_SIZE = 36;\nconst BORDER_WIDTH = 2;\nconst OVERFLOW_FONT_RATIO = 0.35;\n\n/**\n * Overflow indicator for AvatarGroup.\n */\nexport interface AvatarGroupOverflowProps {\n /**\n * Custom content rendered instead of the default \"+N\" text.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Number of hidden avatars represented by the overflow indicator.\n */\n count: number;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Click handler. When set, the overflow indicator renders as a button.\n */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'full',\n borderWidth: `${BORDER_WIDTH}px`,\n borderStyle: 'solid',\n borderColor: 'bg',\n boxSizing: 'content-box',\n bg: 'bg.subtle',\n color: 'fg.muted',\n fontFamily: 'body',\n fontWeight: 'medium',\n userSelect: 'none',\n '&:not(:first-child)': {\n marginInlineStart: 'var(--avatar-group-overlap)',\n },\n }),\n button: css({\n cursor: 'pointer',\n p: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n};\n\n/**\n * Overflow indicator showing the count of hidden avatars in an AvatarGroup.\n */\nexport function AvatarGroupOverflow({\n children,\n className,\n count,\n 'data-testid': dataTestId,\n onClick,\n ref,\n style,\n}: AvatarGroupOverflowProps): React.JSX.Element | null {\n const group = useAvatarGroup();\n\n if (count <= 0) {\n return null;\n }\n\n const numericSize = group?.numericSize ?? DEFAULT_SIZE;\n const label = `${count} more`;\n const content = children ?? `+${count}`;\n const rootStyle: CSSProperties = {\n width: numericSize,\n height: numericSize,\n fontSize: numericSize * OVERFLOW_FONT_RATIO,\n ...style,\n };\n\n if (onClick != null) {\n return (\n <button\n aria-label={label}\n className={cx(styles.root, styles.button, className)}\n data-testid={dataTestId}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n style={rootStyle}\n type=\"button\">\n {content}\n </button>\n );\n }\n\n return (\n <span\n aria-label={label}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"status\"\n style={rootStyle}>\n {content}\n </span>\n );\n}\n\nAvatarGroupOverflow.displayName = 'AvatarGroupOverflow';\n"]}