silver-ui 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/dist/{chunk-QGHFUOUB.cjs → chunk-2A3V6OR7.cjs} +7 -7
  2. package/dist/{chunk-QGHFUOUB.cjs.map → chunk-2A3V6OR7.cjs.map} +1 -1
  3. package/dist/{chunk-RVENUWRD.js → chunk-2LABTS4P.js} +7 -7
  4. package/dist/{chunk-RVENUWRD.js.map → chunk-2LABTS4P.js.map} +1 -1
  5. package/dist/{chunk-DIIE44GO.js → chunk-2N6FOSNM.js} +5 -5
  6. package/dist/{chunk-DIIE44GO.js.map → chunk-2N6FOSNM.js.map} +1 -1
  7. package/dist/{chunk-LUBVZVY3.js → chunk-2RKMG2TC.js} +7 -7
  8. package/dist/{chunk-LUBVZVY3.js.map → chunk-2RKMG2TC.js.map} +1 -1
  9. package/dist/{chunk-EMHLPPQZ.js → chunk-3CJC4QE6.js} +4 -4
  10. package/dist/chunk-3CJC4QE6.js.map +1 -0
  11. package/dist/{chunk-P3SMNZCT.js → chunk-3JPUXC5U.js} +3 -3
  12. package/dist/{chunk-P3SMNZCT.js.map → chunk-3JPUXC5U.js.map} +1 -1
  13. package/dist/{chunk-F3ZNRO6W.js → chunk-3OIUA2NY.js} +5 -5
  14. package/dist/{chunk-F3ZNRO6W.js.map → chunk-3OIUA2NY.js.map} +1 -1
  15. package/dist/{chunk-PZ63ZCEO.cjs → chunk-3ZV3EGGK.cjs} +17 -17
  16. package/dist/{chunk-PZ63ZCEO.cjs.map → chunk-3ZV3EGGK.cjs.map} +1 -1
  17. package/dist/{chunk-O5A47TA2.js → chunk-4H7X5FGX.js} +5 -5
  18. package/dist/{chunk-O5A47TA2.js.map → chunk-4H7X5FGX.js.map} +1 -1
  19. package/dist/{chunk-Q3OA23V5.js → chunk-52WQDDWQ.js} +7 -7
  20. package/dist/{chunk-Q3OA23V5.js.map → chunk-52WQDDWQ.js.map} +1 -1
  21. package/dist/{chunk-ZLATP3P5.cjs → chunk-5D2OR64D.cjs} +6 -6
  22. package/dist/{chunk-ZLATP3P5.cjs.map → chunk-5D2OR64D.cjs.map} +1 -1
  23. package/dist/{chunk-YAIEA2YE.cjs → chunk-5PX76QOL.cjs} +3 -3
  24. package/dist/{chunk-YAIEA2YE.cjs.map → chunk-5PX76QOL.cjs.map} +1 -1
  25. package/dist/{chunk-HM7IEGQ2.cjs → chunk-5YS43PSQ.cjs} +7 -7
  26. package/dist/chunk-5YS43PSQ.cjs.map +1 -0
  27. package/dist/{chunk-D2DOHX4W.js → chunk-6ONAGCCZ.js} +13 -6
  28. package/dist/chunk-6ONAGCCZ.js.map +1 -0
  29. package/dist/{chunk-DSB4Q3AS.js → chunk-6ULCJ3XZ.js} +4 -4
  30. package/dist/{chunk-DSB4Q3AS.js.map → chunk-6ULCJ3XZ.js.map} +1 -1
  31. package/dist/{chunk-GXRH5XQY.js → chunk-6XWXBXYE.js} +5 -5
  32. package/dist/{chunk-GXRH5XQY.js.map → chunk-6XWXBXYE.js.map} +1 -1
  33. package/dist/{chunk-EXYBQVZT.js → chunk-7BSFKG7N.js} +3 -3
  34. package/dist/{chunk-EXYBQVZT.js.map → chunk-7BSFKG7N.js.map} +1 -1
  35. package/dist/{chunk-7GN6YTSS.cjs → chunk-7CCXHH6Y.cjs} +7 -7
  36. package/dist/chunk-7CCXHH6Y.cjs.map +1 -0
  37. package/dist/{chunk-PJMV2HTO.cjs → chunk-7U7JMRVF.cjs} +18 -18
  38. package/dist/{chunk-PJMV2HTO.cjs.map → chunk-7U7JMRVF.cjs.map} +1 -1
  39. package/dist/{chunk-M3IKL2VG.js → chunk-AFI4V7LI.js} +6 -6
  40. package/dist/{chunk-M3IKL2VG.js.map → chunk-AFI4V7LI.js.map} +1 -1
  41. package/dist/{chunk-OSBVDRVD.cjs → chunk-AHVHLNHU.cjs} +8 -8
  42. package/dist/{chunk-OSBVDRVD.cjs.map → chunk-AHVHLNHU.cjs.map} +1 -1
  43. package/dist/{chunk-6USJ4LJJ.js → chunk-AJ6X62AI.js} +4 -4
  44. package/dist/{chunk-6USJ4LJJ.js.map → chunk-AJ6X62AI.js.map} +1 -1
  45. package/dist/{chunk-UKDGDMWN.js → chunk-AP7BDTTF.js} +4 -4
  46. package/dist/{chunk-UKDGDMWN.js.map → chunk-AP7BDTTF.js.map} +1 -1
  47. package/dist/{chunk-7U7RP6N2.cjs → chunk-AWDIKDX5.cjs} +10 -10
  48. package/dist/{chunk-7U7RP6N2.cjs.map → chunk-AWDIKDX5.cjs.map} +1 -1
  49. package/dist/{chunk-5AYGQJOW.js → chunk-BCCPNGUV.js} +4 -4
  50. package/dist/{chunk-5AYGQJOW.js.map → chunk-BCCPNGUV.js.map} +1 -1
  51. package/dist/{chunk-QRKRVCA3.cjs → chunk-BLRWA445.cjs} +25 -25
  52. package/dist/{chunk-QRKRVCA3.cjs.map → chunk-BLRWA445.cjs.map} +1 -1
  53. package/dist/{chunk-BA4A7C7U.js → chunk-BSAZRW6T.js} +8 -8
  54. package/dist/{chunk-BA4A7C7U.js.map → chunk-BSAZRW6T.js.map} +1 -1
  55. package/dist/{chunk-5TT4PGZO.cjs → chunk-BUESV4DR.cjs} +9 -9
  56. package/dist/{chunk-5TT4PGZO.cjs.map → chunk-BUESV4DR.cjs.map} +1 -1
  57. package/dist/{chunk-HPVXP3DG.cjs → chunk-BULJWVPU.cjs} +16 -16
  58. package/dist/{chunk-HPVXP3DG.cjs.map → chunk-BULJWVPU.cjs.map} +1 -1
  59. package/dist/{chunk-L7BOLGF2.cjs → chunk-C6EYCIKJ.cjs} +3 -3
  60. package/dist/{chunk-L7BOLGF2.cjs.map → chunk-C6EYCIKJ.cjs.map} +1 -1
  61. package/dist/{chunk-4H35H54I.cjs → chunk-C732WXKS.cjs} +12 -12
  62. package/dist/{chunk-4H35H54I.cjs.map → chunk-C732WXKS.cjs.map} +1 -1
  63. package/dist/{chunk-S4B2D427.js → chunk-CGYZ6QWY.js} +4 -4
  64. package/dist/{chunk-S4B2D427.js.map → chunk-CGYZ6QWY.js.map} +1 -1
  65. package/dist/{chunk-QCT4BPB6.cjs → chunk-CKTXDIH4.cjs} +39 -40
  66. package/dist/chunk-CKTXDIH4.cjs.map +1 -0
  67. package/dist/{chunk-PYW5UO2Z.js → chunk-D3LZQ5QS.js} +4 -4
  68. package/dist/chunk-D3LZQ5QS.js.map +1 -0
  69. package/dist/{chunk-D3SSMY73.cjs → chunk-DIRVAHOF.cjs} +6 -6
  70. package/dist/{chunk-D3SSMY73.cjs.map → chunk-DIRVAHOF.cjs.map} +1 -1
  71. package/dist/{chunk-ZD3NPHZ7.cjs → chunk-DP7VC4FW.cjs} +4 -4
  72. package/dist/{chunk-ZD3NPHZ7.cjs.map → chunk-DP7VC4FW.cjs.map} +1 -1
  73. package/dist/{chunk-NYQPIBOD.cjs → chunk-DVGLYE3G.cjs} +10 -10
  74. package/dist/{chunk-NYQPIBOD.cjs.map → chunk-DVGLYE3G.cjs.map} +1 -1
  75. package/dist/{chunk-ZWULWVN3.js → chunk-DWUEPOYH.js} +7 -7
  76. package/dist/{chunk-ZWULWVN3.js.map → chunk-DWUEPOYH.js.map} +1 -1
  77. package/dist/{chunk-UN35QV25.js → chunk-DXPQRAGI.js} +4 -4
  78. package/dist/{chunk-UN35QV25.js.map → chunk-DXPQRAGI.js.map} +1 -1
  79. package/dist/{chunk-3XDUR3IG.cjs → chunk-E2A3GJSN.cjs} +5 -5
  80. package/dist/{chunk-3XDUR3IG.cjs.map → chunk-E2A3GJSN.cjs.map} +1 -1
  81. package/dist/{chunk-OULO3YDQ.cjs → chunk-EALKX3ST.cjs} +7 -7
  82. package/dist/{chunk-OULO3YDQ.cjs.map → chunk-EALKX3ST.cjs.map} +1 -1
  83. package/dist/{chunk-VAK4JQYL.js → chunk-EBDODJ5X.js} +6 -6
  84. package/dist/{chunk-VAK4JQYL.js.map → chunk-EBDODJ5X.js.map} +1 -1
  85. package/dist/{chunk-U5GTHA44.cjs → chunk-FB245S6T.cjs} +11 -11
  86. package/dist/{chunk-U5GTHA44.cjs.map → chunk-FB245S6T.cjs.map} +1 -1
  87. package/dist/{chunk-RNB4BDEG.js → chunk-FDUO2HVX.js} +3 -3
  88. package/dist/{chunk-RNB4BDEG.js.map → chunk-FDUO2HVX.js.map} +1 -1
  89. package/dist/{chunk-6W3L6IJB.cjs → chunk-FDZQPWFZ.cjs} +11 -11
  90. package/dist/{chunk-6W3L6IJB.cjs.map → chunk-FDZQPWFZ.cjs.map} +1 -1
  91. package/dist/{chunk-3L6KAW7G.js → chunk-FMLIYHDP.js} +5 -5
  92. package/dist/{chunk-3L6KAW7G.js.map → chunk-FMLIYHDP.js.map} +1 -1
  93. package/dist/{chunk-XADTIY7J.cjs → chunk-FNOUX5T2.cjs} +5 -5
  94. package/dist/{chunk-XADTIY7J.cjs.map → chunk-FNOUX5T2.cjs.map} +1 -1
  95. package/dist/{chunk-LFRTNC7M.cjs → chunk-FNZOICR4.cjs} +7 -7
  96. package/dist/{chunk-LFRTNC7M.cjs.map → chunk-FNZOICR4.cjs.map} +1 -1
  97. package/dist/{chunk-IRSJHEYI.js → chunk-FP5E5BUM.js} +3 -3
  98. package/dist/{chunk-IRSJHEYI.js.map → chunk-FP5E5BUM.js.map} +1 -1
  99. package/dist/{chunk-ZVH3BLYO.js → chunk-G2U2W422.js} +6 -6
  100. package/dist/{chunk-ZVH3BLYO.js.map → chunk-G2U2W422.js.map} +1 -1
  101. package/dist/{chunk-W3KMDQKP.cjs → chunk-G2WW52GO.cjs} +12 -12
  102. package/dist/{chunk-W3KMDQKP.cjs.map → chunk-G2WW52GO.cjs.map} +1 -1
  103. package/dist/{chunk-U2U4FMFM.cjs → chunk-G3KKLGZU.cjs} +9 -9
  104. package/dist/{chunk-U2U4FMFM.cjs.map → chunk-G3KKLGZU.cjs.map} +1 -1
  105. package/dist/{chunk-IKF6VHA4.cjs → chunk-GC5VUTUR.cjs} +4 -4
  106. package/dist/{chunk-IKF6VHA4.cjs.map → chunk-GC5VUTUR.cjs.map} +1 -1
  107. package/dist/{chunk-QL3YSC3H.cjs → chunk-GL7PSN7H.cjs} +15 -15
  108. package/dist/{chunk-QL3YSC3H.cjs.map → chunk-GL7PSN7H.cjs.map} +1 -1
  109. package/dist/{chunk-WMXIUOOU.cjs → chunk-GYVWTH3U.cjs} +3 -3
  110. package/dist/{chunk-WMXIUOOU.cjs.map → chunk-GYVWTH3U.cjs.map} +1 -1
  111. package/dist/{chunk-UXDXE7Z6.cjs → chunk-H2CZ6IE5.cjs} +38 -36
  112. package/dist/chunk-H2CZ6IE5.cjs.map +1 -0
  113. package/dist/{chunk-MGVEX3RS.js → chunk-H7HQYBPH.js} +25 -26
  114. package/dist/chunk-H7HQYBPH.js.map +1 -0
  115. package/dist/{chunk-ZNUOFLCQ.js → chunk-HINS4GY6.js} +3 -3
  116. package/dist/chunk-HINS4GY6.js.map +1 -0
  117. package/dist/{chunk-EC2ALHNJ.js → chunk-HNZWPIJE.js} +8 -8
  118. package/dist/{chunk-EC2ALHNJ.js.map → chunk-HNZWPIJE.js.map} +1 -1
  119. package/dist/{chunk-3ZFEBOXD.cjs → chunk-IA5GII7N.cjs} +16 -16
  120. package/dist/chunk-IA5GII7N.cjs.map +1 -0
  121. package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
  122. package/dist/chunk-IAVZKGZS.js.map +1 -0
  123. package/dist/{chunk-AJTJD5C6.js → chunk-ILEKDNP7.js} +6 -6
  124. package/dist/{chunk-AJTJD5C6.js.map → chunk-ILEKDNP7.js.map} +1 -1
  125. package/dist/{chunk-XSQOHNIF.js → chunk-J3DNWPXJ.js} +3 -3
  126. package/dist/{chunk-XSQOHNIF.js.map → chunk-J3DNWPXJ.js.map} +1 -1
  127. package/dist/{chunk-M3BF3BBJ.cjs → chunk-J4OEETYQ.cjs} +10 -10
  128. package/dist/{chunk-M3BF3BBJ.cjs.map → chunk-J4OEETYQ.cjs.map} +1 -1
  129. package/dist/{chunk-YSTESYUB.js → chunk-J5IRFGUP.js} +8 -8
  130. package/dist/chunk-J5IRFGUP.js.map +1 -0
  131. package/dist/{chunk-5D4LRSIV.js → chunk-JDAJ2HJQ.js} +6 -6
  132. package/dist/{chunk-5D4LRSIV.js.map → chunk-JDAJ2HJQ.js.map} +1 -1
  133. package/dist/{chunk-3DJ46WN4.js → chunk-JIVYPJKO.js} +6 -6
  134. package/dist/{chunk-3DJ46WN4.js.map → chunk-JIVYPJKO.js.map} +1 -1
  135. package/dist/{chunk-U2WVHZ24.cjs → chunk-JJ324PSZ.cjs} +6 -6
  136. package/dist/chunk-JJ324PSZ.cjs.map +1 -0
  137. package/dist/{chunk-EE2O457Z.cjs → chunk-JSINCF2R.cjs} +10 -10
  138. package/dist/{chunk-EE2O457Z.cjs.map → chunk-JSINCF2R.cjs.map} +1 -1
  139. package/dist/{chunk-X2GRBPCJ.cjs → chunk-JTFNNEWR.cjs} +7 -7
  140. package/dist/{chunk-X2GRBPCJ.cjs.map → chunk-JTFNNEWR.cjs.map} +1 -1
  141. package/dist/{chunk-YAYINZT2.cjs → chunk-JYVYCU22.cjs} +3 -3
  142. package/dist/{chunk-YAYINZT2.cjs.map → chunk-JYVYCU22.cjs.map} +1 -1
  143. package/dist/{chunk-PQRIV5XU.js → chunk-K3XHXWBW.js} +9 -9
  144. package/dist/{chunk-PQRIV5XU.js.map → chunk-K3XHXWBW.js.map} +1 -1
  145. package/dist/{chunk-65QAZWOG.cjs → chunk-K4ZJNQTX.cjs} +4 -4
  146. package/dist/{chunk-65QAZWOG.cjs.map → chunk-K4ZJNQTX.cjs.map} +1 -1
  147. package/dist/{chunk-CZM5FAWL.cjs → chunk-KDR5DCYL.cjs} +9 -9
  148. package/dist/{chunk-CZM5FAWL.cjs.map → chunk-KDR5DCYL.cjs.map} +1 -1
  149. package/dist/{chunk-GLJWAY4A.cjs → chunk-KXIILLQD.cjs} +10 -10
  150. package/dist/{chunk-GLJWAY4A.cjs.map → chunk-KXIILLQD.cjs.map} +1 -1
  151. package/dist/{chunk-Y4FH67QZ.js → chunk-L6VSBBPP.js} +7 -7
  152. package/dist/{chunk-Y4FH67QZ.js.map → chunk-L6VSBBPP.js.map} +1 -1
  153. package/dist/{chunk-O4RTJESR.js → chunk-LNT2IFOA.js} +4 -4
  154. package/dist/{chunk-O4RTJESR.js.map → chunk-LNT2IFOA.js.map} +1 -1
  155. package/dist/{chunk-MUUPZEZ5.cjs → chunk-LO5NZY7N.cjs} +5 -5
  156. package/dist/{chunk-MUUPZEZ5.cjs.map → chunk-LO5NZY7N.cjs.map} +1 -1
  157. package/dist/{chunk-CN2HJ7CP.js → chunk-LQIZSE3O.js} +8 -8
  158. package/dist/{chunk-CN2HJ7CP.js.map → chunk-LQIZSE3O.js.map} +1 -1
  159. package/dist/{chunk-5GNYP3PH.cjs → chunk-LUQVSNQL.cjs} +16 -9
  160. package/dist/chunk-LUQVSNQL.cjs.map +1 -0
  161. package/dist/{chunk-TF7IWMV2.js → chunk-LY6Z6A54.js} +8 -8
  162. package/dist/{chunk-TF7IWMV2.js.map → chunk-LY6Z6A54.js.map} +1 -1
  163. package/dist/{chunk-QEFE4QBL.cjs → chunk-M26XECB2.cjs} +14 -14
  164. package/dist/{chunk-QEFE4QBL.cjs.map → chunk-M26XECB2.cjs.map} +1 -1
  165. package/dist/{chunk-VVO7GIHG.cjs → chunk-M2MC3E27.cjs} +7 -7
  166. package/dist/{chunk-VVO7GIHG.cjs.map → chunk-M2MC3E27.cjs.map} +1 -1
  167. package/dist/{chunk-HVUYVPQL.cjs → chunk-MAYQGKKW.cjs} +4 -4
  168. package/dist/{chunk-HVUYVPQL.cjs.map → chunk-MAYQGKKW.cjs.map} +1 -1
  169. package/dist/{chunk-2IKWX66Q.js → chunk-MI5QU37D.js} +5 -5
  170. package/dist/{chunk-2IKWX66Q.js.map → chunk-MI5QU37D.js.map} +1 -1
  171. package/dist/{chunk-XUJZTD4E.js → chunk-NFABMGNH.js} +54 -45
  172. package/dist/chunk-NFABMGNH.js.map +1 -0
  173. package/dist/{chunk-4MRORQNN.js → chunk-NI55JEYL.js} +4 -4
  174. package/dist/{chunk-4MRORQNN.js.map → chunk-NI55JEYL.js.map} +1 -1
  175. package/dist/{chunk-6MOJEGDU.cjs → chunk-O2WICOUK.cjs} +5 -5
  176. package/dist/{chunk-6MOJEGDU.cjs.map → chunk-O2WICOUK.cjs.map} +1 -1
  177. package/dist/{chunk-LX64ENLC.cjs → chunk-OBWWRRL6.cjs} +43 -43
  178. package/dist/chunk-OBWWRRL6.cjs.map +1 -0
  179. package/dist/{chunk-NH7KH7QP.js → chunk-PIOMR4X2.js} +5 -5
  180. package/dist/{chunk-NH7KH7QP.js.map → chunk-PIOMR4X2.js.map} +1 -1
  181. package/dist/{chunk-75CPTIET.js → chunk-PIZMCOKL.js} +3 -3
  182. package/dist/{chunk-75CPTIET.js.map → chunk-PIZMCOKL.js.map} +1 -1
  183. package/dist/{chunk-L5YTMHDI.cjs → chunk-PQEFVHJZ.cjs} +10 -10
  184. package/dist/{chunk-L5YTMHDI.cjs.map → chunk-PQEFVHJZ.cjs.map} +1 -1
  185. package/dist/{chunk-I7KILUVL.cjs → chunk-QATCDVZ6.cjs} +12 -12
  186. package/dist/{chunk-I7KILUVL.cjs.map → chunk-QATCDVZ6.cjs.map} +1 -1
  187. package/dist/{chunk-BRB52QFV.cjs → chunk-QOKEU3DC.cjs} +15 -15
  188. package/dist/{chunk-BRB52QFV.cjs.map → chunk-QOKEU3DC.cjs.map} +1 -1
  189. package/dist/{chunk-76B2VLID.js → chunk-QRFDPG34.js} +5 -5
  190. package/dist/{chunk-76B2VLID.js.map → chunk-QRFDPG34.js.map} +1 -1
  191. package/dist/{chunk-3IBY374V.cjs → chunk-QVNDZZS6.cjs} +10 -10
  192. package/dist/{chunk-3IBY374V.cjs.map → chunk-QVNDZZS6.cjs.map} +1 -1
  193. package/dist/{chunk-EBQ3A4XO.js → chunk-QY6OMQW6.js} +5 -5
  194. package/dist/{chunk-EBQ3A4XO.js.map → chunk-QY6OMQW6.js.map} +1 -1
  195. package/dist/{chunk-XIFLSMGW.js → chunk-R6CMJMIJ.js} +3 -3
  196. package/dist/{chunk-XIFLSMGW.js.map → chunk-R6CMJMIJ.js.map} +1 -1
  197. package/dist/{chunk-ASJ5CBCR.js → chunk-RLOGQBFD.js} +6 -6
  198. package/dist/{chunk-ASJ5CBCR.js.map → chunk-RLOGQBFD.js.map} +1 -1
  199. package/dist/{chunk-S4LVSSJI.js → chunk-S7INL5NI.js} +6 -6
  200. package/dist/{chunk-S4LVSSJI.js.map → chunk-S7INL5NI.js.map} +1 -1
  201. package/dist/{chunk-HNROO7CR.js → chunk-SBOXHIES.js} +13 -13
  202. package/dist/{chunk-HNROO7CR.js.map → chunk-SBOXHIES.js.map} +1 -1
  203. package/dist/{chunk-KFDHP4WP.cjs → chunk-SBS7U7CN.cjs} +6 -6
  204. package/dist/{chunk-KFDHP4WP.cjs.map → chunk-SBS7U7CN.cjs.map} +1 -1
  205. package/dist/{chunk-WYE3VOFK.cjs → chunk-SCGXGVNN.cjs} +16 -16
  206. package/dist/{chunk-WYE3VOFK.cjs.map → chunk-SCGXGVNN.cjs.map} +1 -1
  207. package/dist/{chunk-54J6FRPG.js → chunk-SOCSUNIM.js} +9 -9
  208. package/dist/{chunk-54J6FRPG.js.map → chunk-SOCSUNIM.js.map} +1 -1
  209. package/dist/{chunk-BS55BG2U.cjs → chunk-SR5VVJ5Y.cjs} +7 -7
  210. package/dist/{chunk-BS55BG2U.cjs.map → chunk-SR5VVJ5Y.cjs.map} +1 -1
  211. package/dist/{chunk-YLGAJD6Q.js → chunk-SSAYBCAD.js} +4 -4
  212. package/dist/{chunk-YLGAJD6Q.js.map → chunk-SSAYBCAD.js.map} +1 -1
  213. package/dist/{chunk-24J3BUKL.js → chunk-SUH62Z64.js} +3 -3
  214. package/dist/{chunk-24J3BUKL.js.map → chunk-SUH62Z64.js.map} +1 -1
  215. package/dist/{chunk-PL6J55JB.cjs → chunk-TBOQTPRO.cjs} +9 -9
  216. package/dist/{chunk-PL6J55JB.cjs.map → chunk-TBOQTPRO.cjs.map} +1 -1
  217. package/dist/{chunk-YNTPHZFJ.js → chunk-TCTPR7YQ.js} +3 -3
  218. package/dist/{chunk-YNTPHZFJ.js.map → chunk-TCTPR7YQ.js.map} +1 -1
  219. package/dist/{chunk-M3RNFDA2.cjs → chunk-TF7XVTSP.cjs} +59 -50
  220. package/dist/chunk-TF7XVTSP.cjs.map +1 -0
  221. package/dist/{chunk-CRQXHA7N.js → chunk-TKTLWX2V.js} +7 -7
  222. package/dist/{chunk-CRQXHA7N.js.map → chunk-TKTLWX2V.js.map} +1 -1
  223. package/dist/{chunk-F3NATTQG.cjs → chunk-TPB53MHV.cjs} +14 -14
  224. package/dist/{chunk-F3NATTQG.cjs.map → chunk-TPB53MHV.cjs.map} +1 -1
  225. package/dist/{chunk-MSNRGNVY.cjs → chunk-TQA3BI7M.cjs} +7 -7
  226. package/dist/{chunk-MSNRGNVY.cjs.map → chunk-TQA3BI7M.cjs.map} +1 -1
  227. package/dist/{chunk-WO6FS4DV.js → chunk-U6NH54YD.js} +5 -5
  228. package/dist/{chunk-WO6FS4DV.js.map → chunk-U6NH54YD.js.map} +1 -1
  229. package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
  230. package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
  231. package/dist/{chunk-RINP34ZG.js → chunk-UKW2C5RN.js} +4 -4
  232. package/dist/{chunk-RINP34ZG.js.map → chunk-UKW2C5RN.js.map} +1 -1
  233. package/dist/{chunk-AMFFE5UJ.js → chunk-UUVLEOSD.js} +4 -4
  234. package/dist/{chunk-AMFFE5UJ.js.map → chunk-UUVLEOSD.js.map} +1 -1
  235. package/dist/{chunk-6NTDPZWP.js → chunk-VFGSNR35.js} +4 -4
  236. package/dist/{chunk-6NTDPZWP.js.map → chunk-VFGSNR35.js.map} +1 -1
  237. package/dist/{chunk-KRZ57O2J.cjs → chunk-VGHNBMEJ.cjs} +6 -6
  238. package/dist/{chunk-KRZ57O2J.cjs.map → chunk-VGHNBMEJ.cjs.map} +1 -1
  239. package/dist/{chunk-5BCLEOFF.cjs → chunk-VHKA25IV.cjs} +15 -15
  240. package/dist/{chunk-5BCLEOFF.cjs.map → chunk-VHKA25IV.cjs.map} +1 -1
  241. package/dist/{chunk-23NN5WRP.cjs → chunk-VK4O6W2K.cjs} +6 -6
  242. package/dist/{chunk-23NN5WRP.cjs.map → chunk-VK4O6W2K.cjs.map} +1 -1
  243. package/dist/{chunk-2VOB6LEI.js → chunk-VQ7U3ASC.js} +4 -4
  244. package/dist/{chunk-2VOB6LEI.js.map → chunk-VQ7U3ASC.js.map} +1 -1
  245. package/dist/{chunk-7MN4JDP7.js → chunk-VUCMGGU5.js} +14 -14
  246. package/dist/chunk-VUCMGGU5.js.map +1 -0
  247. package/dist/{chunk-IHM2M74J.js → chunk-W2Q4PQ6I.js} +3 -3
  248. package/dist/{chunk-IHM2M74J.js.map → chunk-W2Q4PQ6I.js.map} +1 -1
  249. package/dist/{chunk-UPQHFW47.js → chunk-W3C6QQF7.js} +5 -5
  250. package/dist/{chunk-UPQHFW47.js.map → chunk-W3C6QQF7.js.map} +1 -1
  251. package/dist/{chunk-P6RAOXJA.js → chunk-WBGFFP3G.js} +6 -6
  252. package/dist/{chunk-P6RAOXJA.js.map → chunk-WBGFFP3G.js.map} +1 -1
  253. package/dist/{chunk-CZC2K5GJ.js → chunk-WBQNPBXR.js} +5 -5
  254. package/dist/{chunk-CZC2K5GJ.js.map → chunk-WBQNPBXR.js.map} +1 -1
  255. package/dist/{chunk-3TXVDCF2.js → chunk-WY5BOT7O.js} +4 -4
  256. package/dist/{chunk-3TXVDCF2.js.map → chunk-WY5BOT7O.js.map} +1 -1
  257. package/dist/{chunk-CEU7BIL6.cjs → chunk-X574M2JB.cjs} +13 -13
  258. package/dist/{chunk-CEU7BIL6.cjs.map → chunk-X574M2JB.cjs.map} +1 -1
  259. package/dist/{chunk-7PNLMDAR.cjs → chunk-XLKXFJMU.cjs} +8 -8
  260. package/dist/{chunk-7PNLMDAR.cjs.map → chunk-XLKXFJMU.cjs.map} +1 -1
  261. package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
  262. package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
  263. package/dist/{chunk-A66NIFJE.cjs → chunk-XXBA3KSH.cjs} +5 -5
  264. package/dist/{chunk-A66NIFJE.cjs.map → chunk-XXBA3KSH.cjs.map} +1 -1
  265. package/dist/{chunk-OWBNRALR.js → chunk-YAWVGZRC.js} +6 -6
  266. package/dist/{chunk-OWBNRALR.js.map → chunk-YAWVGZRC.js.map} +1 -1
  267. package/dist/{chunk-JEIQ5GDK.cjs → chunk-YHBYVERE.cjs} +18 -18
  268. package/dist/{chunk-JEIQ5GDK.cjs.map → chunk-YHBYVERE.cjs.map} +1 -1
  269. package/dist/{chunk-CPOYENSZ.cjs → chunk-YO3MBGBP.cjs} +4 -4
  270. package/dist/{chunk-CPOYENSZ.cjs.map → chunk-YO3MBGBP.cjs.map} +1 -1
  271. package/dist/{chunk-EVKFA5FA.cjs → chunk-YVHWOKR7.cjs} +23 -23
  272. package/dist/{chunk-EVKFA5FA.cjs.map → chunk-YVHWOKR7.cjs.map} +1 -1
  273. package/dist/{chunk-66LRFIYK.cjs → chunk-YWGYN6YV.cjs} +9 -9
  274. package/dist/{chunk-66LRFIYK.cjs.map → chunk-YWGYN6YV.cjs.map} +1 -1
  275. package/dist/{chunk-BAPCHFNX.cjs → chunk-YY6KJO5Z.cjs} +12 -12
  276. package/dist/{chunk-BAPCHFNX.cjs.map → chunk-YY6KJO5Z.cjs.map} +1 -1
  277. package/dist/{chunk-UYBGXFYX.js → chunk-YYNWZRXZ.js} +20 -18
  278. package/dist/chunk-YYNWZRXZ.js.map +1 -0
  279. package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
  280. package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
  281. package/dist/{chunk-VEUZ5DZR.js → chunk-ZAX2UJBC.js} +6 -6
  282. package/dist/{chunk-VEUZ5DZR.js.map → chunk-ZAX2UJBC.js.map} +1 -1
  283. package/dist/{chunk-LHP47U6H.js → chunk-ZEA2VYX4.js} +3 -3
  284. package/dist/{chunk-LHP47U6H.js.map → chunk-ZEA2VYX4.js.map} +1 -1
  285. package/dist/{chunk-QEX7V7TI.cjs → chunk-ZFBQ4R7M.cjs} +10 -10
  286. package/dist/{chunk-QEX7V7TI.cjs.map → chunk-ZFBQ4R7M.cjs.map} +1 -1
  287. package/dist/{chunk-AX6HC2YY.cjs → chunk-ZN7CULIL.cjs} +3 -3
  288. package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZN7CULIL.cjs.map} +1 -1
  289. package/dist/{chunk-FZCBTFHY.js → chunk-ZQUPAIBS.js} +4 -4
  290. package/dist/{chunk-FZCBTFHY.js.map → chunk-ZQUPAIBS.js.map} +1 -1
  291. package/dist/{chunk-VJBBMBRT.cjs → chunk-ZTWBG2XY.cjs} +7 -7
  292. package/dist/{chunk-VJBBMBRT.cjs.map → chunk-ZTWBG2XY.cjs.map} +1 -1
  293. package/dist/components/Accordion/index.cjs +6 -7
  294. package/dist/components/Accordion/index.js +3 -4
  295. package/dist/components/Alert/index.cjs +12 -13
  296. package/dist/components/Alert/index.js +11 -12
  297. package/dist/components/AlertDialog/index.cjs +15 -16
  298. package/dist/components/AlertDialog/index.js +13 -14
  299. package/dist/components/AppShell/index.cjs +20 -21
  300. package/dist/components/AppShell/index.js +17 -18
  301. package/dist/components/AspectRatio/index.cjs +3 -3
  302. package/dist/components/AspectRatio/index.js +2 -2
  303. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +3 -1
  304. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  305. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +3 -1
  306. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  307. package/dist/components/AutocompleteInput/index.cjs +20 -21
  308. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  309. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  310. package/dist/components/AutocompleteInput/index.js +15 -16
  311. package/dist/components/AutocompleteInput/types.d.ts +3 -3
  312. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  313. package/dist/components/Avatar/index.cjs +6 -7
  314. package/dist/components/Avatar/index.js +3 -4
  315. package/dist/components/AvatarGroup/index.cjs +6 -7
  316. package/dist/components/AvatarGroup/index.js +4 -5
  317. package/dist/components/Badge/index.cjs +1 -1
  318. package/dist/components/Badge/index.js +1 -1
  319. package/dist/components/Blockquote/index.cjs +4 -5
  320. package/dist/components/Blockquote/index.js +3 -4
  321. package/dist/components/Breadcrumbs/index.cjs +10 -11
  322. package/dist/components/Breadcrumbs/index.js +7 -8
  323. package/dist/components/Button/index.cjs +11 -12
  324. package/dist/components/Button/index.js +10 -11
  325. package/dist/components/ButtonGroup/index.cjs +1 -1
  326. package/dist/components/ButtonGroup/index.js +1 -1
  327. package/dist/components/Calendar/index.cjs +12 -13
  328. package/dist/components/Calendar/index.js +11 -12
  329. package/dist/components/Card/index.cjs +1 -1
  330. package/dist/components/Card/index.js +1 -1
  331. package/dist/components/Center/index.cjs +1 -1
  332. package/dist/components/Center/index.js +1 -1
  333. package/dist/components/CheckboxInput/index.cjs +12 -13
  334. package/dist/components/CheckboxInput/index.js +11 -12
  335. package/dist/components/CodeBlock/index.cjs +13 -14
  336. package/dist/components/CodeBlock/index.js +12 -13
  337. package/dist/components/ContextMenu/index.cjs +17 -18
  338. package/dist/components/ContextMenu/index.js +15 -16
  339. package/dist/components/DateInput/index.cjs +16 -17
  340. package/dist/components/DateInput/index.js +15 -16
  341. package/dist/components/DateRangeInput/index.cjs +16 -17
  342. package/dist/components/DateRangeInput/index.js +15 -16
  343. package/dist/components/DateTimeInput/index.cjs +18 -19
  344. package/dist/components/DateTimeInput/index.js +17 -18
  345. package/dist/components/Dialog/index.cjs +5 -6
  346. package/dist/components/Dialog/index.js +3 -4
  347. package/dist/components/Divider/index.cjs +4 -5
  348. package/dist/components/Divider/index.js +3 -4
  349. package/dist/components/Drawer/index.cjs +4 -4
  350. package/dist/components/Drawer/index.js +2 -2
  351. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  352. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  353. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
  354. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
  355. package/dist/components/DropdownMenu/index.cjs +18 -19
  356. package/dist/components/DropdownMenu/index.js +14 -15
  357. package/dist/components/EmptyState/index.cjs +7 -8
  358. package/dist/components/EmptyState/index.js +6 -7
  359. package/dist/components/Field/index.cjs +10 -11
  360. package/dist/components/Field/index.js +8 -9
  361. package/dist/components/FileInput/index.cjs +14 -15
  362. package/dist/components/FileInput/index.js +13 -14
  363. package/dist/components/HoverCard/index.cjs +5 -5
  364. package/dist/components/HoverCard/index.js +3 -3
  365. package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
  366. package/dist/components/Icon/index.cjs +1 -1
  367. package/dist/components/Icon/index.js +1 -1
  368. package/dist/components/InputGroup/index.cjs +13 -14
  369. package/dist/components/InputGroup/index.js +9 -10
  370. package/dist/components/Item/index.cjs +8 -9
  371. package/dist/components/Item/index.js +7 -8
  372. package/dist/components/Kbd/index.cjs +4 -5
  373. package/dist/components/Kbd/index.js +3 -4
  374. package/dist/components/Layout/index.cjs +16 -17
  375. package/dist/components/Layout/index.js +11 -12
  376. package/dist/components/Lightbox/index.cjs +13 -14
  377. package/dist/components/Lightbox/index.js +11 -12
  378. package/dist/components/Link/index.cjs +8 -9
  379. package/dist/components/Link/index.js +5 -6
  380. package/dist/components/List/index.cjs +11 -12
  381. package/dist/components/List/index.js +9 -10
  382. package/dist/components/MetadataList/index.cjs +7 -8
  383. package/dist/components/MetadataList/index.js +5 -6
  384. package/dist/components/MultiSelect/index.cjs +15 -16
  385. package/dist/components/MultiSelect/index.js +14 -15
  386. package/dist/components/NavIcon/index.cjs +3 -3
  387. package/dist/components/NavIcon/index.js +2 -2
  388. package/dist/components/NumberInput/index.cjs +15 -16
  389. package/dist/components/NumberInput/index.js +14 -15
  390. package/dist/components/Pagination/index.cjs +12 -13
  391. package/dist/components/Pagination/index.js +11 -12
  392. package/dist/components/PasswordInput/index.cjs +16 -17
  393. package/dist/components/PasswordInput/index.js +15 -16
  394. package/dist/components/Popover/Popover.d.ts.map +1 -1
  395. package/dist/components/Popover/index.cjs +13 -14
  396. package/dist/components/Popover/index.js +11 -12
  397. package/dist/components/Progress/index.cjs +5 -6
  398. package/dist/components/Progress/index.js +4 -5
  399. package/dist/components/RadioGroup/index.cjs +13 -14
  400. package/dist/components/RadioGroup/index.js +11 -12
  401. package/dist/components/Rating/index.cjs +5 -6
  402. package/dist/components/Rating/index.js +4 -5
  403. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  404. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  405. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  406. package/dist/components/Schedule/index.cjs +26 -27
  407. package/dist/components/Schedule/index.js +15 -16
  408. package/dist/components/Schedule/shared.d.ts.map +1 -1
  409. package/dist/components/SearchFilterInput/index.cjs +33 -34
  410. package/dist/components/SearchFilterInput/index.js +25 -26
  411. package/dist/components/SegmentedControl/index.cjs +5 -5
  412. package/dist/components/SegmentedControl/index.js +3 -3
  413. package/dist/components/Select/index.cjs +17 -18
  414. package/dist/components/Select/index.js +15 -16
  415. package/dist/components/SideNav/index.cjs +19 -20
  416. package/dist/components/SideNav/index.js +13 -14
  417. package/dist/components/Skeleton/index.cjs +1 -1
  418. package/dist/components/Skeleton/index.js +1 -1
  419. package/dist/components/Slider/index.cjs +10 -11
  420. package/dist/components/Slider/index.js +9 -10
  421. package/dist/components/Spinner/index.cjs +7 -8
  422. package/dist/components/Spinner/index.js +6 -7
  423. package/dist/components/SplitButton/index.cjs +16 -17
  424. package/dist/components/SplitButton/index.js +15 -16
  425. package/dist/components/Stack/index.cjs +1 -1
  426. package/dist/components/Stack/index.js +1 -1
  427. package/dist/components/Stepper/index.cjs +8 -9
  428. package/dist/components/Stepper/index.js +5 -6
  429. package/dist/components/Switch/index.cjs +9 -10
  430. package/dist/components/Switch/index.js +8 -9
  431. package/dist/components/Table/index.cjs +57 -58
  432. package/dist/components/Table/index.js +29 -30
  433. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  434. package/dist/components/Tabs/index.cjs +17 -18
  435. package/dist/components/Tabs/index.js +12 -13
  436. package/dist/components/Tag/index.cjs +8 -9
  437. package/dist/components/Tag/index.js +7 -8
  438. package/dist/components/TagsInput/TagsInput.d.ts +3 -1
  439. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  440. package/dist/components/TagsInput/index.cjs +17 -18
  441. package/dist/components/TagsInput/index.js +16 -17
  442. package/dist/components/Text/index.cjs +6 -6
  443. package/dist/components/Text/index.js +4 -4
  444. package/dist/components/TextArea/index.cjs +11 -12
  445. package/dist/components/TextArea/index.js +10 -11
  446. package/dist/components/TextInput/index.cjs +15 -16
  447. package/dist/components/TextInput/index.js +14 -15
  448. package/dist/components/Thumbnail/index.cjs +12 -13
  449. package/dist/components/Thumbnail/index.js +11 -12
  450. package/dist/components/TimeInput/index.cjs +14 -15
  451. package/dist/components/TimeInput/index.js +13 -14
  452. package/dist/components/Toast/index.cjs +14 -15
  453. package/dist/components/Toast/index.js +11 -12
  454. package/dist/components/ToggleButton/index.cjs +10 -11
  455. package/dist/components/ToggleButton/index.js +8 -9
  456. package/dist/components/Tooltip/index.cjs +5 -5
  457. package/dist/components/Tooltip/index.js +3 -3
  458. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  459. package/dist/components/TopNav/index.cjs +19 -20
  460. package/dist/components/TopNav/index.js +13 -14
  461. package/dist/components/TreeView/index.cjs +3 -3
  462. package/dist/components/TreeView/index.js +2 -2
  463. package/dist/index.cjs +243 -244
  464. package/dist/index.cjs.map +1 -1
  465. package/dist/index.d.ts +1 -1
  466. package/dist/index.d.ts.map +1 -1
  467. package/dist/index.js +74 -75
  468. package/dist/index.js.map +1 -1
  469. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  470. package/dist/internal/useLayer.d.ts.map +1 -1
  471. package/package.json +1 -1
  472. package/dist/chunk-3ZFEBOXD.cjs.map +0 -1
  473. package/dist/chunk-5GNYP3PH.cjs.map +0 -1
  474. package/dist/chunk-5QPM5LUS.cjs.map +0 -1
  475. package/dist/chunk-6BK4LUK4.cjs +0 -17
  476. package/dist/chunk-6BK4LUK4.cjs.map +0 -1
  477. package/dist/chunk-7GN6YTSS.cjs.map +0 -1
  478. package/dist/chunk-7MN4JDP7.js.map +0 -1
  479. package/dist/chunk-D2DOHX4W.js.map +0 -1
  480. package/dist/chunk-EHCAF6D3.js.map +0 -1
  481. package/dist/chunk-EMHLPPQZ.js.map +0 -1
  482. package/dist/chunk-GUKZNXTB.js +0 -15
  483. package/dist/chunk-GUKZNXTB.js.map +0 -1
  484. package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
  485. package/dist/chunk-LX64ENLC.cjs.map +0 -1
  486. package/dist/chunk-M3RNFDA2.cjs.map +0 -1
  487. package/dist/chunk-MGVEX3RS.js.map +0 -1
  488. package/dist/chunk-PYW5UO2Z.js.map +0 -1
  489. package/dist/chunk-QCT4BPB6.cjs.map +0 -1
  490. package/dist/chunk-U2WVHZ24.cjs.map +0 -1
  491. package/dist/chunk-UXDXE7Z6.cjs.map +0 -1
  492. package/dist/chunk-UYBGXFYX.js.map +0 -1
  493. package/dist/chunk-XUJZTD4E.js.map +0 -1
  494. package/dist/chunk-YSTESYUB.js.map +0 -1
  495. package/dist/chunk-ZNUOFLCQ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tabs/TabsContext.ts","../src/components/Tabs/Tab.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabMenu.tsx"],"names":["createContext","use","css","useLinkComponent","cx","jsxs","Fragment","jsx","Icon","isReactNode","styles","useMemo","useState","useRef","Popover","Check","mergeRefs","ChevronDown"],"mappings":"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","file":"chunk-OULO3YDQ.cjs","sourcesContent":["import {createContext, use} from 'react';\n\nexport type TabsSize = 'lg' | 'md' | 'sm';\nexport type TabsLayout = 'fill' | 'hug';\n\nexport interface TabsContextValue {\n layout: TabsLayout;\n onChange: (value: string) => void;\n size: TabsSize;\n value: string;\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null);\n\nTabsContext.displayName = 'TabsContext';\n\nexport function useTabsContext(): TabsContextValue {\n const context = use(TabsContext);\n if (context == null) {\n throw new Error('Tabs children must be used within a Tabs.');\n }\n return context;\n}\n","/* eslint-disable @eslint-react/static-components */\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {useTabsContext} from './TabsContext';\n\nexport interface TabProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Additional CSS class names applied to the tab.\n */\n className?: string;\n /**\n * ID of the tabpanel controlled by this tab. Use this for in-page tabs, and\n * render the corresponding panel with `id={controls}`, `role=\"tabpanel\"`,\n * and `aria-labelledby` pointing to this tab's `id`.\n */\n controls?: string;\n /**\n * Test ID applied to the tab.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Optional link URL. When set, the tab renders as a link.\n */\n href?: string;\n /**\n * Icon shown before the label.\n */\n icon?: IconComponent;\n /**\n * ID applied to the tab element. Provide this with `controls` when rendering\n * your own tabpanel so the panel can reference the tab with\n * `aria-labelledby`.\n */\n id?: string;\n /**\n * Whether the tab is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Visible tab label.\n */\n label: string;\n /**\n * Ref forwarded to the tab root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Icon shown when selected. Falls back to icon.\n */\n selectedIcon?: IconComponent;\n /**\n * Inline styles applied to the tab.\n */\n style?: CSSProperties;\n /**\n * Unique tab value.\n */\n value: string;\n}\n\nconst styles = {\n root: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n transitionProperty: 'color, background-color, border-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n selected: css({\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n disabled: css({\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {\n bg: 'transparent',\n },\n }),\n fill: css({\n flex: 1,\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n label: css({\n display: 'inline-grid',\n }),\n labelText: css({\n gridRowStart: 1,\n gridColumnStart: 1,\n }),\n labelSizer: css({\n gridRowStart: 1,\n gridColumnStart: 1,\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n size: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n} as const;\n\n/**\n * A single tab inside `Tabs`.\n */\nexport function Tab({\n as,\n className,\n 'data-testid': dataTestId,\n controls,\n endContent,\n href,\n id,\n icon,\n isDisabled = false,\n label,\n ref,\n selectedIcon,\n style,\n value,\n}: TabProps): React.JSX.Element {\n const context = useTabsContext();\n const LinkComponent = useLinkComponent(as);\n const isSelected = context.value === value;\n const displayIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const rootClassName = cx(\n styles.root,\n styles.size[context.size],\n isSelected ? styles.selected : undefined,\n isDisabled ? styles.disabled : undefined,\n context.layout === 'fill' ? styles.fill : undefined,\n className,\n );\n const content = (\n <>\n {displayIcon != null ? (\n <span className={styles.icon}>\n <Icon icon={displayIcon} size={context.size} />\n </span>\n ) : null}\n <span className={styles.label}>\n <span className={styles.labelText}>{label}</span>\n <span aria-hidden=\"true\" className={styles.labelSizer}>\n {label}\n </span>\n </span>\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n if (href != null) {\n return (\n <LinkComponent\n aria-controls={controls}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n href={href}\n id={id}\n onClick={event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref as Ref<HTMLAnchorElement>}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n to={LinkComponent === 'a' ? undefined : href}>\n {content}\n </LinkComponent>\n );\n }\n\n return (\n <button\n aria-controls={controls}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onClick={() => {\n if (isDisabled) {\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref as Ref<HTMLButtonElement>}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n type=\"button\">\n {content}\n </button>\n );\n}\n\nTab.displayName = 'Tab';\n","import {\n useMemo,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {TabsContext, type TabsLayout, type TabsSize} from './TabsContext';\n\nexport interface TabsProps {\n /**\n * Tab and TabMenu children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tablist element.\n */\n className?: string;\n /**\n * Test ID applied to the tablist element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a bottom divider.\n * @default false\n */\n hasDivider?: boolean;\n /**\n * Accessible label for the tabs.\n * @default 'Tabs'\n */\n label?: string;\n /**\n * Tab layout mode.\n * @default 'hug'\n */\n layout?: TabsLayout;\n /**\n * Called when a tab is selected.\n */\n onChange: (value: string) => void;\n /**\n * Ref forwarded to the tablist element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Tab size.\n * @default 'md'\n */\n size?: TabsSize;\n /**\n * Inline styles applied to the tablist element.\n */\n style?: CSSProperties;\n /**\n * Current selected tab value.\n */\n value: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'stretch',\n maxW: 'full',\n minW: 0,\n }),\n fill: css({\n w: 'full',\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n} as const;\n\n/**\n * Controlled tab wrapper.\n *\n * Uses `tablist` / `tabpanel` semantics, so reach for it when selecting an\n * option shows or hides associated content panels. To pick a value without\n * swapping panels — a styled radio group for filters, settings, or view modes —\n * use {@link SegmentedControl} instead.\n */\nexport function Tabs({\n children,\n className,\n 'data-testid': dataTestId,\n hasDivider = false,\n label = 'Tabs',\n layout = 'hug',\n onChange,\n ref,\n size = 'md',\n style,\n value,\n}: TabsProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({layout, onChange, size, value}),\n [layout, onChange, size, value],\n );\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (\n event.key !== 'ArrowLeft' &&\n event.key !== 'ArrowRight' &&\n event.key !== 'Home' &&\n event.key !== 'End'\n ) {\n return;\n }\n\n const activeTab = (event.target as HTMLElement).closest<HTMLElement>(\n '[role=\"tab\"]',\n );\n if (activeTab == null || !event.currentTarget.contains(activeTab)) {\n return;\n }\n\n const tabs = Array.from(\n event.currentTarget.querySelectorAll<HTMLElement>(\n '[role=\"tab\"]:not([data-tab-disabled=\"true\"])',\n ),\n );\n const currentIndex = tabs.indexOf(activeTab);\n if (currentIndex === -1) {\n return;\n }\n\n event.preventDefault();\n\n const nextIndex =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? tabs.length - 1\n : event.key === 'ArrowRight'\n ? (currentIndex + 1) % tabs.length\n : (currentIndex - 1 + tabs.length) % tabs.length;\n const nextTab = tabs[nextIndex];\n nextTab.focus();\n\n const nextValue = nextTab.dataset.tabValue;\n if (nextValue != null) {\n onChange(nextValue);\n }\n };\n\n return (\n <TabsContext value={contextValue}>\n <div\n aria-label={label}\n className={cx(\n styles.root,\n layout === 'fill' ? styles.fill : undefined,\n hasDivider ? styles.divider : undefined,\n className,\n )}\n data-testid={dataTestId}\n onKeyDown={handleKeyDown}\n ref={ref as Ref<HTMLDivElement>}\n role=\"tablist\"\n style={style}\n tabIndex={-1}>\n {children}\n </div>\n </TabsContext>\n );\n}\n\nTabs.displayName = 'Tabs';\n","import {Check, ChevronDown} from 'lucide-react';\nimport {\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {useTabsContext} from './TabsContext';\n\nexport interface TabMenuOption {\n /**\n * Icon rendered before the option label.\n */\n icon?: IconComponent;\n /**\n * Visible option label.\n */\n label: string;\n /**\n * Tab value selected by this option.\n */\n value: string;\n}\n\nexport interface TabMenuProps {\n /**\n * Additional CSS class names applied to the trigger.\n */\n className?: string;\n /**\n * Test ID applied to the trigger.\n */\n 'data-testid'?: string;\n /**\n * ID applied to the menu trigger tab.\n */\n id?: string;\n /**\n * Whether the menu trigger is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Trigger and menu heading label.\n */\n label: string;\n /**\n * Menu options.\n */\n options: ReadonlyArray<TabMenuOption>;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the trigger.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n trigger: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n triggerSelected: css({\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n triggerDisabled: css({\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {bg: 'transparent'},\n }),\n fill: css({flex: 1}),\n size: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n chevron: css({\n display: 'inline-flex',\n }),\n chevronOpen: css({transform: 'rotate(180deg)'}),\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n minW: '40',\n p: '1',\n }),\n item: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n }),\n itemSelected: css({fontWeight: 'medium'}),\n itemContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n }),\n itemIcon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n check: css({\n display: 'inline-flex',\n color: 'primary',\n }),\n} as const;\n\n/**\n * Overflow menu for additional tabs.\n */\nexport function TabMenu({\n className,\n 'data-testid': dataTestId,\n id,\n isDisabled = false,\n label,\n options,\n ref,\n style,\n}: TabMenuProps): React.JSX.Element {\n const context = useTabsContext();\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const selectedOption = options.find(option => option.value === context.value);\n const triggerLabel = selectedOption?.label ?? label;\n const hasSelectedOption = selectedOption != null;\n\n const focusMenuItem = (\n event: KeyboardEvent<HTMLElement>,\n nextIndex: number,\n ) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n items[nextIndex]?.focus();\n };\n\n const handleMenuKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n const activeIndex = items.indexOf(\n document.activeElement as HTMLButtonElement,\n );\n\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n triggerRef.current?.focus();\n return;\n }\n\n if (items.length === 0) {\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n focusMenuItem(event, 0);\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n focusMenuItem(event, items.length - 1);\n return;\n }\n\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {\n return;\n }\n\n event.preventDefault();\n\n const currentIndex = activeIndex === -1 ? 0 : activeIndex;\n const nextIndex =\n event.key === 'ArrowDown'\n ? (currentIndex + 1) % items.length\n : (currentIndex - 1 + items.length) % items.length;\n focusMenuItem(event, nextIndex);\n };\n\n return (\n <Popover\n content={\n <div className={styles.menu}>\n {options.map(option => {\n const isSelected = option.value === context.value;\n return (\n <button\n aria-current={isSelected ? 'true' : undefined}\n className={cx(\n styles.item,\n isSelected ? styles.itemSelected : undefined,\n )}\n key={option.value}\n onClick={() => {\n context.onChange(option.value);\n setIsOpen(false);\n }}\n onKeyDown={handleMenuKeyDown}\n role=\"menuitem\"\n type=\"button\">\n <span className={styles.itemContent}>\n {option.icon != null ? (\n <span className={styles.itemIcon}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </span>\n {isSelected ? (\n <span className={styles.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </button>\n );\n })}\n </div>\n }\n hasAutoFocus\n hasCloseButton={false}\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={label}\n onOpenChange={setIsOpen}\n role=\"menu\">\n <button\n aria-disabled={isDisabled || undefined}\n aria-selected={hasSelectedOption}\n className={cx(\n styles.trigger,\n styles.size[context.size],\n hasSelectedOption ? styles.triggerSelected : undefined,\n isDisabled ? styles.triggerDisabled : undefined,\n context.layout === 'fill' ? styles.fill : undefined,\n className,\n )}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={\n hasSelectedOption && !isDisabled ? context.value : undefined\n }\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onKeyDown={event => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n event.preventDefault();\n setIsOpen(true);\n }}\n ref={mergeRefs(triggerRef, ref)}\n role=\"tab\"\n style={style}\n tabIndex={hasSelectedOption && !isDisabled ? 0 : -1}\n type=\"button\">\n {triggerLabel}\n <span\n className={cx(\n styles.chevron,\n isOpen ? styles.chevronOpen : undefined,\n )}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </button>\n </Popover>\n );\n}\n\nTabMenu.displayName = 'TabMenu';\n"]}
1
+ {"version":3,"sources":["../src/components/Tabs/TabsContext.ts","../src/components/Tabs/Tab.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabMenu.tsx"],"names":["createContext","use","css","useLinkComponent","cx","jsxs","Fragment","jsx","Icon","isReactNode","styles","useMemo","useState","useRef","Popover","Check","mergeRefs","ChevronDown"],"mappings":"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","file":"chunk-EALKX3ST.cjs","sourcesContent":["import {createContext, use} from 'react';\n\nexport type TabsSize = 'lg' | 'md' | 'sm';\nexport type TabsLayout = 'fill' | 'hug';\n\nexport interface TabsContextValue {\n layout: TabsLayout;\n onChange: (value: string) => void;\n size: TabsSize;\n value: string;\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null);\n\nTabsContext.displayName = 'TabsContext';\n\nexport function useTabsContext(): TabsContextValue {\n const context = use(TabsContext);\n if (context == null) {\n throw new Error('Tabs children must be used within a Tabs.');\n }\n return context;\n}\n","/* eslint-disable @eslint-react/static-components */\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {useTabsContext} from './TabsContext';\n\nexport interface TabProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Additional CSS class names applied to the tab.\n */\n className?: string;\n /**\n * ID of the tabpanel controlled by this tab. Use this for in-page tabs, and\n * render the corresponding panel with `id={controls}`, `role=\"tabpanel\"`,\n * and `aria-labelledby` pointing to this tab's `id`.\n */\n controls?: string;\n /**\n * Test ID applied to the tab.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Optional link URL. When set, the tab renders as a link.\n */\n href?: string;\n /**\n * Icon shown before the label.\n */\n icon?: IconComponent;\n /**\n * ID applied to the tab element. Provide this with `controls` when rendering\n * your own tabpanel so the panel can reference the tab with\n * `aria-labelledby`.\n */\n id?: string;\n /**\n * Whether the tab is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Visible tab label.\n */\n label: string;\n /**\n * Ref forwarded to the tab root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Icon shown when selected. Falls back to icon.\n */\n selectedIcon?: IconComponent;\n /**\n * Inline styles applied to the tab.\n */\n style?: CSSProperties;\n /**\n * Unique tab value.\n */\n value: string;\n}\n\nconst styles = {\n root: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n transitionProperty: 'color, background-color, border-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n selected: css({\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n disabled: css({\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {\n bg: 'transparent',\n },\n }),\n fill: css({\n flex: 1,\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n label: css({\n display: 'inline-grid',\n }),\n labelText: css({\n gridRowStart: 1,\n gridColumnStart: 1,\n }),\n labelSizer: css({\n gridRowStart: 1,\n gridColumnStart: 1,\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n size: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n} as const;\n\n/**\n * A single tab inside `Tabs`.\n */\nexport function Tab({\n as,\n className,\n 'data-testid': dataTestId,\n controls,\n endContent,\n href,\n id,\n icon,\n isDisabled = false,\n label,\n ref,\n selectedIcon,\n style,\n value,\n}: TabProps): React.JSX.Element {\n const context = useTabsContext();\n const LinkComponent = useLinkComponent(as);\n const isSelected = context.value === value;\n const displayIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const rootClassName = cx(\n styles.root,\n styles.size[context.size],\n isSelected ? styles.selected : undefined,\n isDisabled ? styles.disabled : undefined,\n context.layout === 'fill' ? styles.fill : undefined,\n className,\n );\n const content = (\n <>\n {displayIcon != null ? (\n <span className={styles.icon}>\n <Icon icon={displayIcon} size={context.size} />\n </span>\n ) : null}\n <span className={styles.label}>\n <span className={styles.labelText}>{label}</span>\n <span aria-hidden=\"true\" className={styles.labelSizer}>\n {label}\n </span>\n </span>\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n if (href != null) {\n return (\n <LinkComponent\n aria-controls={controls}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n href={href}\n id={id}\n onClick={event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref as Ref<HTMLAnchorElement>}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n to={LinkComponent === 'a' ? undefined : href}>\n {content}\n </LinkComponent>\n );\n }\n\n return (\n <button\n aria-controls={controls}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onClick={() => {\n if (isDisabled) {\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref as Ref<HTMLButtonElement>}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n type=\"button\">\n {content}\n </button>\n );\n}\n\nTab.displayName = 'Tab';\n","import {\n useMemo,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {TabsContext, type TabsLayout, type TabsSize} from './TabsContext';\n\nexport interface TabsProps {\n /**\n * Tab and TabMenu children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tablist element.\n */\n className?: string;\n /**\n * Test ID applied to the tablist element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a bottom divider.\n * @default false\n */\n hasDivider?: boolean;\n /**\n * Accessible label for the tabs.\n * @default 'Tabs'\n */\n label?: string;\n /**\n * Tab layout mode.\n * @default 'hug'\n */\n layout?: TabsLayout;\n /**\n * Called when a tab is selected.\n */\n onChange: (value: string) => void;\n /**\n * Ref forwarded to the tablist element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Tab size.\n * @default 'md'\n */\n size?: TabsSize;\n /**\n * Inline styles applied to the tablist element.\n */\n style?: CSSProperties;\n /**\n * Current selected tab value.\n */\n value: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'stretch',\n maxW: 'full',\n minW: 0,\n }),\n fill: css({\n w: 'full',\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n} as const;\n\n/**\n * Controlled tab wrapper.\n *\n * Uses `tablist` / `tabpanel` semantics, so reach for it when selecting an\n * option shows or hides associated content panels. To pick a value without\n * swapping panels — a styled radio group for filters, settings, or view modes —\n * use {@link SegmentedControl} instead.\n */\nexport function Tabs({\n children,\n className,\n 'data-testid': dataTestId,\n hasDivider = false,\n label = 'Tabs',\n layout = 'hug',\n onChange,\n ref,\n size = 'md',\n style,\n value,\n}: TabsProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({layout, onChange, size, value}),\n [layout, onChange, size, value],\n );\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (\n event.key !== 'ArrowLeft' &&\n event.key !== 'ArrowRight' &&\n event.key !== 'Home' &&\n event.key !== 'End'\n ) {\n return;\n }\n\n const activeTab = (event.target as HTMLElement).closest<HTMLElement>(\n '[role=\"tab\"]',\n );\n if (activeTab == null || !event.currentTarget.contains(activeTab)) {\n return;\n }\n\n const tabs = Array.from(\n event.currentTarget.querySelectorAll<HTMLElement>(\n '[role=\"tab\"]:not([data-tab-disabled=\"true\"])',\n ),\n );\n const currentIndex = tabs.indexOf(activeTab);\n if (currentIndex === -1) {\n return;\n }\n\n event.preventDefault();\n\n const nextIndex =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? tabs.length - 1\n : event.key === 'ArrowRight'\n ? (currentIndex + 1) % tabs.length\n : (currentIndex - 1 + tabs.length) % tabs.length;\n const nextTab = tabs[nextIndex];\n nextTab.focus();\n\n const nextValue = nextTab.dataset.tabValue;\n if (nextValue != null) {\n onChange(nextValue);\n }\n };\n\n return (\n <TabsContext value={contextValue}>\n <div\n aria-label={label}\n className={cx(\n styles.root,\n layout === 'fill' ? styles.fill : undefined,\n hasDivider ? styles.divider : undefined,\n className,\n )}\n data-testid={dataTestId}\n onKeyDown={handleKeyDown}\n ref={ref as Ref<HTMLDivElement>}\n role=\"tablist\"\n style={style}\n tabIndex={-1}>\n {children}\n </div>\n </TabsContext>\n );\n}\n\nTabs.displayName = 'Tabs';\n","import {Check, ChevronDown} from 'lucide-react';\nimport {\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {useTabsContext} from './TabsContext';\n\nexport interface TabMenuOption {\n /**\n * Icon rendered before the option label.\n */\n icon?: IconComponent;\n /**\n * Visible option label.\n */\n label: string;\n /**\n * Tab value selected by this option.\n */\n value: string;\n}\n\nexport interface TabMenuProps {\n /**\n * Additional CSS class names applied to the trigger.\n */\n className?: string;\n /**\n * Test ID applied to the trigger.\n */\n 'data-testid'?: string;\n /**\n * ID applied to the menu trigger tab.\n */\n id?: string;\n /**\n * Whether the menu trigger is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Trigger and menu heading label.\n */\n label: string;\n /**\n * Menu options.\n */\n options: ReadonlyArray<TabMenuOption>;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the trigger.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n trigger: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n triggerSelected: css({\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n triggerDisabled: css({\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {bg: 'transparent'},\n }),\n fill: css({flex: 1}),\n size: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n chevron: css({\n display: 'inline-flex',\n }),\n chevronOpen: css({transform: 'rotate(180deg)'}),\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n minW: '40',\n p: '1',\n }),\n item: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n }),\n itemSelected: css({fontWeight: 'medium'}),\n itemContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n }),\n itemIcon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n check: css({\n display: 'inline-flex',\n color: 'primary',\n }),\n} as const;\n\n/**\n * Overflow menu for additional tabs.\n */\nexport function TabMenu({\n className,\n 'data-testid': dataTestId,\n id,\n isDisabled = false,\n label,\n options,\n ref,\n style,\n}: TabMenuProps): React.JSX.Element {\n const context = useTabsContext();\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const selectedOption = options.find(option => option.value === context.value);\n const triggerLabel = selectedOption?.label ?? label;\n const hasSelectedOption = selectedOption != null;\n\n const focusMenuItem = (\n event: KeyboardEvent<HTMLElement>,\n nextIndex: number,\n ) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n items[nextIndex]?.focus();\n };\n\n const handleMenuKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n const activeIndex = items.indexOf(\n document.activeElement as HTMLButtonElement,\n );\n\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n triggerRef.current?.focus();\n return;\n }\n\n if (items.length === 0) {\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n focusMenuItem(event, 0);\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n focusMenuItem(event, items.length - 1);\n return;\n }\n\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {\n return;\n }\n\n event.preventDefault();\n\n const currentIndex = activeIndex === -1 ? 0 : activeIndex;\n const nextIndex =\n event.key === 'ArrowDown'\n ? (currentIndex + 1) % items.length\n : (currentIndex - 1 + items.length) % items.length;\n focusMenuItem(event, nextIndex);\n };\n\n return (\n <Popover\n content={\n <div className={styles.menu}>\n {options.map(option => {\n const isSelected = option.value === context.value;\n return (\n <button\n aria-current={isSelected ? 'true' : undefined}\n className={cx(\n styles.item,\n isSelected ? styles.itemSelected : undefined,\n )}\n key={option.value}\n onClick={() => {\n context.onChange(option.value);\n setIsOpen(false);\n }}\n onKeyDown={handleMenuKeyDown}\n role=\"menuitem\"\n type=\"button\">\n <span className={styles.itemContent}>\n {option.icon != null ? (\n <span className={styles.itemIcon}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </span>\n {isSelected ? (\n <span className={styles.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </button>\n );\n })}\n </div>\n }\n hasAutoFocus\n hasCloseButton={false}\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={label}\n onOpenChange={setIsOpen}\n role=\"menu\">\n <button\n aria-disabled={isDisabled || undefined}\n aria-selected={hasSelectedOption}\n className={cx(\n styles.trigger,\n styles.size[context.size],\n hasSelectedOption ? styles.triggerSelected : undefined,\n isDisabled ? styles.triggerDisabled : undefined,\n context.layout === 'fill' ? styles.fill : undefined,\n className,\n )}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={\n hasSelectedOption && !isDisabled ? context.value : undefined\n }\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onKeyDown={event => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n event.preventDefault();\n setIsOpen(true);\n }}\n ref={mergeRefs(triggerRef, ref)}\n role=\"tab\"\n style={style}\n tabIndex={hasSelectedOption && !isDisabled ? 0 : -1}\n type=\"button\">\n {triggerLabel}\n <span\n className={cx(\n styles.chevron,\n isOpen ? styles.chevronOpen : undefined,\n )}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </button>\n </Popover>\n );\n}\n\nTabMenu.displayName = 'TabMenu';\n"]}
@@ -1,12 +1,12 @@
1
1
  import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
2
- import { getNecessity, Field } from './chunk-ASJ5CBCR.js';
2
+ import { getNecessity, Field } from './chunk-RLOGQBFD.js';
3
3
  import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-WOIWI2UO.js';
4
- import { Spinner } from './chunk-DSB4Q3AS.js';
5
- import { Text } from './chunk-76B2VLID.js';
4
+ import { Spinner } from './chunk-6ULCJ3XZ.js';
5
+ import { Text } from './chunk-QRFDPG34.js';
6
6
  import { isReactNode } from './chunk-2PSZAWLC.js';
7
7
  import { Icon } from './chunk-7T3SWOY7.js';
8
- import { cx } from './chunk-PPNETWIP.js';
9
8
  import { css } from './chunk-OD4DHHZH.js';
9
+ import { cx } from './chunk-PPNETWIP.js';
10
10
  import { useId } from 'react';
11
11
  import { jsxs, jsx } from 'react/jsx-runtime';
12
12
 
@@ -147,5 +147,5 @@ function TextArea({
147
147
  TextArea.displayName = "TextArea";
148
148
 
149
149
  export { TextArea };
150
- //# sourceMappingURL=chunk-VAK4JQYL.js.map
151
- //# sourceMappingURL=chunk-VAK4JQYL.js.map
150
+ //# sourceMappingURL=chunk-EBDODJ5X.js.map
151
+ //# sourceMappingURL=chunk-EBDODJ5X.js.map
@@ -1 +1 @@
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
+ {"version":3,"sources":["../src/components/TextArea/TextArea.tsx"],"names":[],"mappings":"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","file":"chunk-EBDODJ5X.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,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkLFRTNC7M_cjs = require('./chunk-LFRTNC7M.cjs');
4
- var chunkWMXIUOOU_cjs = require('./chunk-WMXIUOOU.cjs');
5
- var chunk7GN6YTSS_cjs = require('./chunk-7GN6YTSS.cjs');
3
+ var chunkFNZOICR4_cjs = require('./chunk-FNZOICR4.cjs');
4
+ var chunkGYVWTH3U_cjs = require('./chunk-GYVWTH3U.cjs');
5
+ var chunk7CCXHH6Y_cjs = require('./chunk-7CCXHH6Y.cjs');
6
6
  var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
7
- var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
7
+ var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
8
8
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
9
9
  var lucideReact = require('lucide-react');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
 
12
12
  // src/components/Tag/Tag.recipe.ts
13
- var tagRecipe = chunk5QPM5LUS_cjs.sva({
13
+ var tagRecipe = chunkZ6RT3WPE_cjs.sva({
14
14
  slots: ["root", "body", "label", "removeButton"],
15
15
  base: {
16
16
  root: {
@@ -229,7 +229,7 @@ function TagBody({
229
229
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
230
230
  startContent,
231
231
  icon != null ? /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { "aria-hidden": "true", color: "inherit", icon, size }) : null,
232
- isLabelHidden === true ? /* @__PURE__ */ jsxRuntime.jsx(chunkWMXIUOOU_cjs.VisuallyHidden, { children: label }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: labelClassName, children: label }),
232
+ isLabelHidden === true ? /* @__PURE__ */ jsxRuntime.jsx(chunkGYVWTH3U_cjs.VisuallyHidden, { children: label }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: labelClassName, children: label }),
233
233
  endContent
234
234
  ] });
235
235
  }
@@ -302,7 +302,7 @@ function Tag({
302
302
  if (href != null && onRemove != null) {
303
303
  element = /* @__PURE__ */ jsxRuntime.jsxs("span", { ...sharedProps, "aria-label": label, ref, role: "group", children: [
304
304
  /* @__PURE__ */ jsxRuntime.jsx(
305
- chunkLFRTNC7M_cjs.Link,
305
+ chunkFNZOICR4_cjs.Link,
306
306
  {
307
307
  className: classes.body,
308
308
  color: "inherit",
@@ -324,7 +324,7 @@ function Tag({
324
324
  ] });
325
325
  } else if (href != null) {
326
326
  element = /* @__PURE__ */ jsxRuntime.jsx(
327
- chunkLFRTNC7M_cjs.Link,
327
+ chunkFNZOICR4_cjs.Link,
328
328
  {
329
329
  ...sharedProps,
330
330
  color: "inherit",
@@ -384,12 +384,12 @@ function Tag({
384
384
  ] });
385
385
  }
386
386
  if (tooltip != null) {
387
- return /* @__PURE__ */ jsxRuntime.jsx(chunk7GN6YTSS_cjs.Tooltip, { content: tooltip, children: element });
387
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk7CCXHH6Y_cjs.Tooltip, { content: tooltip, children: element });
388
388
  }
389
389
  return element;
390
390
  }
391
391
  Tag.displayName = "Tag";
392
392
 
393
393
  exports.Tag = Tag;
394
- //# sourceMappingURL=chunk-U5GTHA44.cjs.map
395
- //# sourceMappingURL=chunk-U5GTHA44.cjs.map
394
+ //# sourceMappingURL=chunk-FB245S6T.cjs.map
395
+ //# sourceMappingURL=chunk-FB245S6T.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":["sva","jsxs","Fragment","jsx","Icon","VisuallyHidden","X","cx","Link","Tooltip"],"mappings":"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","file":"chunk-U5GTHA44.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = sva({\n slots: ['root', 'body', 'label', 'removeButton'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n body: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n label: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n },\n md: {\n root: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n },\n lg: {\n root: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n },\n color: {\n red: {\n root: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n },\n orange: {\n root: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n },\n yellow: {\n root: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n },\n green: {\n root: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n },\n teal: {\n root: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n },\n cyan: {\n root: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n },\n blue: {\n root: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n },\n purple: {\n root: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n },\n pink: {\n root: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n },\n gray: {\n root: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n /**\n * When true, the root element is the interactive element itself\n * (a bare `<button>`) and needs native button styling reset.\n */\n isRootInteractive: {\n true: {\n root: {\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n cursor: 'pointer',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'gray',\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","import {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Link} from '../Link';\nimport {Tooltip} from '../Tooltip';\nimport {tagRecipe} from './Tag.recipe';\n\nexport type TagColor =\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'gray'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nfunction TagBody({\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n 'endContent' | 'icon' | 'isLabelHidden' | 'label' | 'size' | 'startContent'\n> & {\n labelClassName?: string;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={labelClassName}>{label}</span>\n )}\n {endContent}\n </>\n );\n}\n\nfunction RemoveButton({\n className,\n isDisabled,\n label,\n onRemove,\n}: {\n className?: string;\n isDisabled?: boolean;\n label: string;\n onRemove: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <button\n aria-label={`Remove ${label}`}\n className={className}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'gray',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const isRootInteractive = href == null && onClick != null && onRemove == null;\n const classes = tagRecipe({\n size,\n color,\n isInteractive: isInteractive || undefined,\n isDisabled: isDisabled || undefined,\n isRootInteractive: isRootInteractive || undefined,\n });\n const rootClassName = cx(classes.root, className);\n const sharedProps = {\n 'aria-description': description,\n className: rootClassName,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n const bodyProps = {\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName: classes.label,\n size,\n startContent,\n } as const;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <Link\n className={classes.body}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </Link>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLAnchorElement>}>\n <TagBody {...bodyProps} />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <button\n className={classes.body}\n disabled={isDisabled}\n onClick={onClick}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (onClick != null) {\n element = (\n <button\n {...sharedProps}\n disabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagBody {...bodyProps} />\n {onRemove != null ? (\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n ) : null}\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
1
+ {"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":["sva","jsxs","Fragment","jsx","Icon","VisuallyHidden","X","cx","Link","Tooltip"],"mappings":"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","file":"chunk-FB245S6T.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = sva({\n slots: ['root', 'body', 'label', 'removeButton'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n body: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n label: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n },\n md: {\n root: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n },\n lg: {\n root: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n },\n color: {\n red: {\n root: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n },\n orange: {\n root: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n },\n yellow: {\n root: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n },\n green: {\n root: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n },\n teal: {\n root: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n },\n cyan: {\n root: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n },\n blue: {\n root: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n },\n purple: {\n root: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n },\n pink: {\n root: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n },\n gray: {\n root: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n /**\n * When true, the root element is the interactive element itself\n * (a bare `<button>`) and needs native button styling reset.\n */\n isRootInteractive: {\n true: {\n root: {\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n cursor: 'pointer',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'gray',\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","import {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Link} from '../Link';\nimport {Tooltip} from '../Tooltip';\nimport {tagRecipe} from './Tag.recipe';\n\nexport type TagColor =\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'gray'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nfunction TagBody({\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n 'endContent' | 'icon' | 'isLabelHidden' | 'label' | 'size' | 'startContent'\n> & {\n labelClassName?: string;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={labelClassName}>{label}</span>\n )}\n {endContent}\n </>\n );\n}\n\nfunction RemoveButton({\n className,\n isDisabled,\n label,\n onRemove,\n}: {\n className?: string;\n isDisabled?: boolean;\n label: string;\n onRemove: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <button\n aria-label={`Remove ${label}`}\n className={className}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'gray',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const isRootInteractive = href == null && onClick != null && onRemove == null;\n const classes = tagRecipe({\n size,\n color,\n isInteractive: isInteractive || undefined,\n isDisabled: isDisabled || undefined,\n isRootInteractive: isRootInteractive || undefined,\n });\n const rootClassName = cx(classes.root, className);\n const sharedProps = {\n 'aria-description': description,\n className: rootClassName,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n const bodyProps = {\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName: classes.label,\n size,\n startContent,\n } as const;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <Link\n className={classes.body}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </Link>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLAnchorElement>}>\n <TagBody {...bodyProps} />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <button\n className={classes.body}\n disabled={isDisabled}\n onClick={onClick}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (onClick != null) {\n element = (\n <button\n {...sharedProps}\n disabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagBody {...bodyProps} />\n {onRemove != null ? (\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n ) : null}\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
@@ -1,4 +1,4 @@
1
- import { sva } from './chunk-EHCAF6D3.js';
1
+ import { sva } from './chunk-IAVZKGZS.js';
2
2
  import { cx } from './chunk-PPNETWIP.js';
3
3
  import { useMemo, useSyncExternalStore } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -153,5 +153,5 @@ function Kbd({
153
153
  Kbd.displayName = "Kbd";
154
154
 
155
155
  export { Kbd };
156
- //# sourceMappingURL=chunk-RNB4BDEG.js.map
157
- //# sourceMappingURL=chunk-RNB4BDEG.js.map
156
+ //# sourceMappingURL=chunk-FDUO2HVX.js.map
157
+ //# sourceMappingURL=chunk-FDUO2HVX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Kbd/Kbd.recipe.ts","../src/components/Kbd/Kbd.tsx"],"names":[],"mappings":"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","file":"chunk-RNB4BDEG.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const kbdRecipe = sva({\n slots: ['root', 'key'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n verticalAlign: 'bottom',\n },\n key: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'sm',\n bg: 'bg.subtle',\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n color: 'fg.muted',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'none',\n userSelect: 'none',\n },\n },\n variants: {\n size: {\n sm: {\n root: {gap: '0.5'},\n key: {minW: '4', h: '4', px: '0.5', fontSize: '2xs'},\n },\n md: {\n root: {gap: '1'},\n key: {minW: '5', h: '5', px: '1', fontSize: 'xs'},\n },\n lg: {\n root: {gap: '1.5'},\n key: {minW: '6', h: '6', px: '1.5', fontSize: 'sm'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type KbdVariants = RecipeVariantProps<typeof kbdRecipe>;\n","import {\n useMemo,\n useSyncExternalStore,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {kbdRecipe} from './Kbd.recipe';\n\nexport type KbdSize = 'sm' | 'md' | 'lg';\n\nexport interface KbdProps {\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 * Keyboard shortcut string. Use \"+\" to separate keys.\n *\n * Special keys: mod, ctrl, alt, shift, enter, backspace, escape, tab, up,\n * down, left, right, plus.\n */\n keys: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Size of the key badges.\n *\n * @default 'md'\n */\n size?: KbdSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst keyDisplay: Record<string, string> = {\n alt: '⌥',\n backspace: '⌫',\n ctrl: '⌃',\n down: '↓',\n enter: '↵',\n escape: 'Esc',\n left: '←',\n plus: '+',\n right: '→',\n shift: '⇧',\n tab: '⇥',\n up: '↑',\n};\n\nconst keyLabel: Record<string, string> = {\n alt: 'Alt',\n backspace: 'Backspace',\n ctrl: 'Control',\n down: 'Down Arrow',\n enter: 'Enter',\n escape: 'Escape',\n left: 'Left Arrow',\n plus: 'Plus',\n right: 'Right Arrow',\n shift: 'Shift',\n tab: 'Tab',\n up: 'Up Arrow',\n};\n\nconst subscribePlatform = (): (() => void) => () => {};\n\nfunction getIsMacSnapshot(): boolean {\n if (typeof navigator === 'undefined') {\n return false;\n }\n const userAgentData =\n 'userAgentData' in navigator ? navigator.userAgentData : null;\n if (\n userAgentData != null &&\n typeof userAgentData === 'object' &&\n 'platform' in userAgentData\n ) {\n return /mac/i.test(String(userAgentData.platform));\n }\n return /Mac|iPhone|iPad|iPod/.test(navigator.platform);\n}\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\nfunction useIsMac(): boolean {\n return useSyncExternalStore(\n subscribePlatform,\n getIsMacSnapshot,\n getServerSnapshot,\n );\n}\n\nfunction getKeyDisplay(key: string, isMac: boolean): string {\n if (key === 'mod') {\n return isMac ? '⌘' : 'Ctrl';\n }\n return keyDisplay[key] ?? key.toUpperCase();\n}\n\nfunction getKeyLabel(key: string, isMac: boolean): string {\n if (key === 'mod') {\n return isMac ? 'Command' : 'Control';\n }\n return keyLabel[key] ?? key.toUpperCase();\n}\n\n/**\n * Displays keyboard shortcuts as styled key badges.\n */\nexport function Kbd({\n className,\n 'data-testid': dataTestId,\n keys,\n ref,\n size = 'md',\n style,\n}: KbdProps): React.JSX.Element {\n const isMac = useIsMac();\n const {keyedParts, ariaLabel} = useMemo(() => {\n const parts = keys\n .split('+')\n .map(key => key.trim().toLowerCase())\n .filter(Boolean);\n\n if (process.env.NODE_ENV !== 'production' && parts.length === 0) {\n throw new Error(\n 'Kbd: `keys` prop resolved to zero keys. Check the value passed to `keys`.',\n );\n }\n\n const keyCounts = new Map<string, number>();\n return {\n keyedParts: parts.map(key => {\n const count = (keyCounts.get(key) ?? 0) + 1;\n keyCounts.set(key, count);\n return {id: `${key}-${count}`, display: getKeyDisplay(key, isMac)};\n }),\n ariaLabel: parts.map(key => getKeyLabel(key, isMac)).join('+'),\n };\n }, [keys, isMac]);\n\n const classes = kbdRecipe({size});\n\n return (\n <kbd\n aria-label={ariaLabel}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {keyedParts.map(part => (\n <kbd className={classes.key} key={part.id}>\n {part.display}\n </kbd>\n ))}\n </kbd>\n );\n}\n\nKbd.displayName = 'Kbd';\n"]}
1
+ {"version":3,"sources":["../src/components/Kbd/Kbd.recipe.ts","../src/components/Kbd/Kbd.tsx"],"names":[],"mappings":"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","file":"chunk-FDUO2HVX.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const kbdRecipe = sva({\n slots: ['root', 'key'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n verticalAlign: 'bottom',\n },\n key: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'sm',\n bg: 'bg.subtle',\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n color: 'fg.muted',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'none',\n userSelect: 'none',\n },\n },\n variants: {\n size: {\n sm: {\n root: {gap: '0.5'},\n key: {minW: '4', h: '4', px: '0.5', fontSize: '2xs'},\n },\n md: {\n root: {gap: '1'},\n key: {minW: '5', h: '5', px: '1', fontSize: 'xs'},\n },\n lg: {\n root: {gap: '1.5'},\n key: {minW: '6', h: '6', px: '1.5', fontSize: 'sm'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type KbdVariants = RecipeVariantProps<typeof kbdRecipe>;\n","import {\n useMemo,\n useSyncExternalStore,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {kbdRecipe} from './Kbd.recipe';\n\nexport type KbdSize = 'sm' | 'md' | 'lg';\n\nexport interface KbdProps {\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 * Keyboard shortcut string. Use \"+\" to separate keys.\n *\n * Special keys: mod, ctrl, alt, shift, enter, backspace, escape, tab, up,\n * down, left, right, plus.\n */\n keys: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Size of the key badges.\n *\n * @default 'md'\n */\n size?: KbdSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst keyDisplay: Record<string, string> = {\n alt: '⌥',\n backspace: '⌫',\n ctrl: '⌃',\n down: '↓',\n enter: '↵',\n escape: 'Esc',\n left: '←',\n plus: '+',\n right: '→',\n shift: '⇧',\n tab: '⇥',\n up: '↑',\n};\n\nconst keyLabel: Record<string, string> = {\n alt: 'Alt',\n backspace: 'Backspace',\n ctrl: 'Control',\n down: 'Down Arrow',\n enter: 'Enter',\n escape: 'Escape',\n left: 'Left Arrow',\n plus: 'Plus',\n right: 'Right Arrow',\n shift: 'Shift',\n tab: 'Tab',\n up: 'Up Arrow',\n};\n\nconst subscribePlatform = (): (() => void) => () => {};\n\nfunction getIsMacSnapshot(): boolean {\n if (typeof navigator === 'undefined') {\n return false;\n }\n const userAgentData =\n 'userAgentData' in navigator ? navigator.userAgentData : null;\n if (\n userAgentData != null &&\n typeof userAgentData === 'object' &&\n 'platform' in userAgentData\n ) {\n return /mac/i.test(String(userAgentData.platform));\n }\n return /Mac|iPhone|iPad|iPod/.test(navigator.platform);\n}\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\nfunction useIsMac(): boolean {\n return useSyncExternalStore(\n subscribePlatform,\n getIsMacSnapshot,\n getServerSnapshot,\n );\n}\n\nfunction getKeyDisplay(key: string, isMac: boolean): string {\n if (key === 'mod') {\n return isMac ? '⌘' : 'Ctrl';\n }\n return keyDisplay[key] ?? key.toUpperCase();\n}\n\nfunction getKeyLabel(key: string, isMac: boolean): string {\n if (key === 'mod') {\n return isMac ? 'Command' : 'Control';\n }\n return keyLabel[key] ?? key.toUpperCase();\n}\n\n/**\n * Displays keyboard shortcuts as styled key badges.\n */\nexport function Kbd({\n className,\n 'data-testid': dataTestId,\n keys,\n ref,\n size = 'md',\n style,\n}: KbdProps): React.JSX.Element {\n const isMac = useIsMac();\n const {keyedParts, ariaLabel} = useMemo(() => {\n const parts = keys\n .split('+')\n .map(key => key.trim().toLowerCase())\n .filter(Boolean);\n\n if (process.env.NODE_ENV !== 'production' && parts.length === 0) {\n throw new Error(\n 'Kbd: `keys` prop resolved to zero keys. Check the value passed to `keys`.',\n );\n }\n\n const keyCounts = new Map<string, number>();\n return {\n keyedParts: parts.map(key => {\n const count = (keyCounts.get(key) ?? 0) + 1;\n keyCounts.set(key, count);\n return {id: `${key}-${count}`, display: getKeyDisplay(key, isMac)};\n }),\n ariaLabel: parts.map(key => getKeyLabel(key, isMac)).join('+'),\n };\n }, [keys, isMac]);\n\n const classes = kbdRecipe({size});\n\n return (\n <kbd\n aria-label={ariaLabel}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {keyedParts.map(part => (\n <kbd className={classes.key} key={part.id}>\n {part.display}\n </kbd>\n ))}\n </kbd>\n );\n}\n\nKbd.displayName = 'Kbd';\n"]}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkMUUPZEZ5_cjs = require('./chunk-MUUPZEZ5.cjs');
3
+ var chunkLO5NZY7N_cjs = require('./chunk-LO5NZY7N.cjs');
4
4
  var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
5
- var chunkBAPCHFNX_cjs = require('./chunk-BAPCHFNX.cjs');
5
+ var chunkYY6KJO5Z_cjs = require('./chunk-YY6KJO5Z.cjs');
6
6
  var chunk2P6D43V2_cjs = require('./chunk-2P6D43V2.cjs');
7
- var chunkBRB52QFV_cjs = require('./chunk-BRB52QFV.cjs');
8
- var chunkKFDHP4WP_cjs = require('./chunk-KFDHP4WP.cjs');
7
+ var chunkQOKEU3DC_cjs = require('./chunk-QOKEU3DC.cjs');
8
+ var chunkSBS7U7CN_cjs = require('./chunk-SBS7U7CN.cjs');
9
9
  var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
10
10
  var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
11
11
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
@@ -48,7 +48,7 @@ function TextInput({
48
48
  const descriptionID = chunkQAO6QMNQ_cjs.isReactNode(description) ? `${inputId}-description` : void 0;
49
49
  const statusMessageID = chunk2P6D43V2_cjs.getStatusMessageID(inputId, status);
50
50
  const describedBy = chunk2P6D43V2_cjs.getDescribedBy(descriptionID, statusMessageID);
51
- const inputGroup = chunkMUUPZEZ5_cjs.useInputGroup();
51
+ const inputGroup = chunkLO5NZY7N_cjs.useInputGroup();
52
52
  const effectiveDisabled = isDisabled || inputGroup?.isDisabled === true;
53
53
  const size = inputGroup?.size ?? sizeProp;
54
54
  const effectiveStatusType = status?.type ?? inputGroup?.statusType;
@@ -99,7 +99,7 @@ function TextInput({
99
99
  }
100
100
  ),
101
101
  hasClear && value !== "" && !effectiveDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
102
- chunkBRB52QFV_cjs.Button,
102
+ chunkQOKEU3DC_cjs.Button,
103
103
  {
104
104
  icon: lucideReact.X,
105
105
  isIconOnly: true,
@@ -110,7 +110,7 @@ function TextInput({
110
110
  }
111
111
  ) : null,
112
112
  endContent,
113
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKFDHP4WP_cjs.Spinner, { size: "sm" }) : null,
113
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkSBS7U7CN_cjs.Spinner, { size: "sm" }) : null,
114
114
  status != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: chunk2P6D43V2_cjs.getStatusIcon(status.type) }) : null
115
115
  ]
116
116
  }
@@ -119,7 +119,7 @@ function TextInput({
119
119
  return inputWrapper;
120
120
  }
121
121
  return /* @__PURE__ */ jsxRuntime.jsx(
122
- chunkBAPCHFNX_cjs.Field,
122
+ chunkYY6KJO5Z_cjs.Field,
123
123
  {
124
124
  className,
125
125
  description,
@@ -127,7 +127,7 @@ function TextInput({
127
127
  inputId,
128
128
  isDisabled,
129
129
  isLabelHidden,
130
- ...chunkBAPCHFNX_cjs.getNecessity(isOptional, isRequired),
130
+ ...chunkYY6KJO5Z_cjs.getNecessity(isOptional, isRequired),
131
131
  label,
132
132
  labelIcon,
133
133
  labelTooltip,
@@ -140,5 +140,5 @@ function TextInput({
140
140
  TextInput.displayName = "TextInput";
141
141
 
142
142
  exports.TextInput = TextInput;
143
- //# sourceMappingURL=chunk-6W3L6IJB.cjs.map
144
- //# sourceMappingURL=chunk-6W3L6IJB.cjs.map
143
+ //# sourceMappingURL=chunk-FDZQPWFZ.cjs.map
144
+ //# sourceMappingURL=chunk-FDZQPWFZ.cjs.map