silver-ui 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/{chunk-4GT65SRC.cjs → chunk-263EUXFI.cjs} +9 -9
  2. package/dist/{chunk-4GT65SRC.cjs.map → chunk-263EUXFI.cjs.map} +1 -1
  3. package/dist/{chunk-PZBY3JI7.js → chunk-2EGYYWPB.js} +3 -3
  4. package/dist/{chunk-PZBY3JI7.js.map → chunk-2EGYYWPB.js.map} +1 -1
  5. package/dist/{chunk-2FR4VA32.js → chunk-3CV6IEEY.js} +16 -16
  6. package/dist/{chunk-2FR4VA32.js.map → chunk-3CV6IEEY.js.map} +1 -1
  7. package/dist/{chunk-MNQFCWT7.js → chunk-3TPFJ7NS.js} +7 -7
  8. package/dist/{chunk-MNQFCWT7.js.map → chunk-3TPFJ7NS.js.map} +1 -1
  9. package/dist/{chunk-KPAOAYDY.js → chunk-4G644ETX.js} +13 -13
  10. package/dist/{chunk-KPAOAYDY.js.map → chunk-4G644ETX.js.map} +1 -1
  11. package/dist/{chunk-RZ52RCTU.js → chunk-4MIAF6ZO.js} +4 -4
  12. package/dist/{chunk-RZ52RCTU.js.map → chunk-4MIAF6ZO.js.map} +1 -1
  13. package/dist/{chunk-HIFJC2HY.cjs → chunk-4VYOE2HE.cjs} +6 -6
  14. package/dist/{chunk-HIFJC2HY.cjs.map → chunk-4VYOE2HE.cjs.map} +1 -1
  15. package/dist/{chunk-GKYJZNJQ.cjs → chunk-4XFA2XAB.cjs} +40 -40
  16. package/dist/{chunk-GKYJZNJQ.cjs.map → chunk-4XFA2XAB.cjs.map} +1 -1
  17. package/dist/{chunk-J6XNDFK7.cjs → chunk-4ZJ3P6IF.cjs} +14 -14
  18. package/dist/{chunk-J6XNDFK7.cjs.map → chunk-4ZJ3P6IF.cjs.map} +1 -1
  19. package/dist/{chunk-A377P2JF.js → chunk-5DK3LMS7.js} +4 -4
  20. package/dist/{chunk-A377P2JF.js.map → chunk-5DK3LMS7.js.map} +1 -1
  21. package/dist/{chunk-ZEBWF24G.js → chunk-5EDJRYE4.js} +12 -12
  22. package/dist/{chunk-ZEBWF24G.js.map → chunk-5EDJRYE4.js.map} +1 -1
  23. package/dist/{chunk-K2KOXVGA.cjs → chunk-5KFM5ZNO.cjs} +9 -9
  24. package/dist/{chunk-K2KOXVGA.cjs.map → chunk-5KFM5ZNO.cjs.map} +1 -1
  25. package/dist/{chunk-7275FFQA.cjs → chunk-5P5OSQT2.cjs} +10 -10
  26. package/dist/{chunk-7275FFQA.cjs.map → chunk-5P5OSQT2.cjs.map} +1 -1
  27. package/dist/{chunk-SXLGTRY7.js → chunk-5SCHQS3L.js} +6 -6
  28. package/dist/{chunk-SXLGTRY7.js.map → chunk-5SCHQS3L.js.map} +1 -1
  29. package/dist/{chunk-B333LIQQ.cjs → chunk-6I7MYAPX.cjs} +6 -6
  30. package/dist/{chunk-B333LIQQ.cjs.map → chunk-6I7MYAPX.cjs.map} +1 -1
  31. package/dist/{chunk-7IBLSZ7G.cjs → chunk-7TLGH4VK.cjs} +43 -43
  32. package/dist/{chunk-7IBLSZ7G.cjs.map → chunk-7TLGH4VK.cjs.map} +1 -1
  33. package/dist/{chunk-YKUNVCXP.js → chunk-AJAHLIHQ.js} +3 -3
  34. package/dist/{chunk-YKUNVCXP.js.map → chunk-AJAHLIHQ.js.map} +1 -1
  35. package/dist/{chunk-SQUWNP5G.cjs → chunk-B5HYXBPH.cjs} +13 -13
  36. package/dist/{chunk-SQUWNP5G.cjs.map → chunk-B5HYXBPH.cjs.map} +1 -1
  37. package/dist/{chunk-VISYC2ZD.cjs → chunk-BJSF4VYC.cjs} +35 -35
  38. package/dist/{chunk-VISYC2ZD.cjs.map → chunk-BJSF4VYC.cjs.map} +1 -1
  39. package/dist/{chunk-PER4RJRF.js → chunk-BKZFINUO.js} +4 -4
  40. package/dist/{chunk-PER4RJRF.js.map → chunk-BKZFINUO.js.map} +1 -1
  41. package/dist/{chunk-NQD46M2L.cjs → chunk-BLKZDVFG.cjs} +11 -11
  42. package/dist/{chunk-NQD46M2L.cjs.map → chunk-BLKZDVFG.cjs.map} +1 -1
  43. package/dist/{chunk-6WMG7TU2.cjs → chunk-BQMIYEFC.cjs} +11 -11
  44. package/dist/{chunk-6WMG7TU2.cjs.map → chunk-BQMIYEFC.cjs.map} +1 -1
  45. package/dist/{chunk-JLDYPQIB.cjs → chunk-CDN7FN6R.cjs} +7 -7
  46. package/dist/{chunk-JLDYPQIB.cjs.map → chunk-CDN7FN6R.cjs.map} +1 -1
  47. package/dist/{chunk-5HMAMGEL.cjs → chunk-CKERNLXH.cjs} +5 -5
  48. package/dist/{chunk-5HMAMGEL.cjs.map → chunk-CKERNLXH.cjs.map} +1 -1
  49. package/dist/{chunk-5OHIMYY7.cjs → chunk-DDKW5FTM.cjs} +5 -5
  50. package/dist/{chunk-5OHIMYY7.cjs.map → chunk-DDKW5FTM.cjs.map} +1 -1
  51. package/dist/{chunk-57GO7S77.js → chunk-DRWW5XMD.js} +3 -3
  52. package/dist/{chunk-57GO7S77.js.map → chunk-DRWW5XMD.js.map} +1 -1
  53. package/dist/{chunk-DZYO3YLL.js → chunk-E65S6HVS.js} +3 -3
  54. package/dist/{chunk-DZYO3YLL.js.map → chunk-E65S6HVS.js.map} +1 -1
  55. package/dist/{chunk-35MIAFP2.js → chunk-EEB56QQX.js} +3 -3
  56. package/dist/{chunk-35MIAFP2.js.map → chunk-EEB56QQX.js.map} +1 -1
  57. package/dist/{chunk-OQL6XRT7.js → chunk-EZ2LRC7U.js} +4 -4
  58. package/dist/{chunk-OQL6XRT7.js.map → chunk-EZ2LRC7U.js.map} +1 -1
  59. package/dist/{chunk-I2X76NIY.js → chunk-F2ZT6DCV.js} +3 -3
  60. package/dist/{chunk-I2X76NIY.js.map → chunk-F2ZT6DCV.js.map} +1 -1
  61. package/dist/{chunk-SG2ZHIDQ.cjs → chunk-FCFVJGWR.cjs} +6 -6
  62. package/dist/{chunk-SG2ZHIDQ.cjs.map → chunk-FCFVJGWR.cjs.map} +1 -1
  63. package/dist/{chunk-N26PQY3D.js → chunk-FHLK5CTO.js} +5 -5
  64. package/dist/{chunk-N26PQY3D.js.map → chunk-FHLK5CTO.js.map} +1 -1
  65. package/dist/{chunk-XOJ5HGIP.cjs → chunk-FKZATUBG.cjs} +6 -6
  66. package/dist/{chunk-XOJ5HGIP.cjs.map → chunk-FKZATUBG.cjs.map} +1 -1
  67. package/dist/{chunk-M7ADKAJB.cjs → chunk-FNBOLEST.cjs} +7 -7
  68. package/dist/{chunk-M7ADKAJB.cjs.map → chunk-FNBOLEST.cjs.map} +1 -1
  69. package/dist/{chunk-ENBVF5OB.js → chunk-FQJBEWGB.js} +5 -5
  70. package/dist/{chunk-ENBVF5OB.js.map → chunk-FQJBEWGB.js.map} +1 -1
  71. package/dist/{chunk-USZQJXPE.js → chunk-GCQTQJPW.js} +6 -6
  72. package/dist/{chunk-USZQJXPE.js.map → chunk-GCQTQJPW.js.map} +1 -1
  73. package/dist/{chunk-74B6CLZK.js → chunk-GEU4SROO.js} +4 -4
  74. package/dist/{chunk-74B6CLZK.js.map → chunk-GEU4SROO.js.map} +1 -1
  75. package/dist/{chunk-KNXDDKGK.cjs → chunk-GIZ7DK3W.cjs} +9 -9
  76. package/dist/{chunk-KNXDDKGK.cjs.map → chunk-GIZ7DK3W.cjs.map} +1 -1
  77. package/dist/{chunk-K57TGBAB.js → chunk-H5BUXKYQ.js} +7 -7
  78. package/dist/{chunk-K57TGBAB.js.map → chunk-H5BUXKYQ.js.map} +1 -1
  79. package/dist/{chunk-PB7LE5VJ.cjs → chunk-H5Q63Z42.cjs} +9 -9
  80. package/dist/{chunk-PB7LE5VJ.cjs.map → chunk-H5Q63Z42.cjs.map} +1 -1
  81. package/dist/{chunk-GIGV6XFT.cjs → chunk-HTY7SADT.cjs} +5 -5
  82. package/dist/{chunk-GIGV6XFT.cjs.map → chunk-HTY7SADT.cjs.map} +1 -1
  83. package/dist/{chunk-S5FJ3FHH.cjs → chunk-HW7GODZJ.cjs} +5 -5
  84. package/dist/{chunk-S5FJ3FHH.cjs.map → chunk-HW7GODZJ.cjs.map} +1 -1
  85. package/dist/{chunk-EPQKIFGY.cjs → chunk-I2QAN2HX.cjs} +13 -13
  86. package/dist/{chunk-EPQKIFGY.cjs.map → chunk-I2QAN2HX.cjs.map} +1 -1
  87. package/dist/{chunk-IVDCRMY3.cjs → chunk-IHR3KEWH.cjs} +11 -11
  88. package/dist/{chunk-IVDCRMY3.cjs.map → chunk-IHR3KEWH.cjs.map} +1 -1
  89. package/dist/{chunk-JJ32AVLU.js → chunk-J2TQNGUM.js} +3 -3
  90. package/dist/{chunk-JJ32AVLU.js.map → chunk-J2TQNGUM.js.map} +1 -1
  91. package/dist/{chunk-YSLDYF2F.cjs → chunk-J5VWFOOY.cjs} +4 -4
  92. package/dist/{chunk-YSLDYF2F.cjs.map → chunk-J5VWFOOY.cjs.map} +1 -1
  93. package/dist/{chunk-WQU2M64E.js → chunk-JCXI44K2.js} +6 -6
  94. package/dist/{chunk-WQU2M64E.js.map → chunk-JCXI44K2.js.map} +1 -1
  95. package/dist/{chunk-ZF522WPX.js → chunk-JFFAICCY.js} +6 -6
  96. package/dist/{chunk-ZF522WPX.js.map → chunk-JFFAICCY.js.map} +1 -1
  97. package/dist/{chunk-GIOMLAL2.cjs → chunk-KZOUXGPD.cjs} +4 -4
  98. package/dist/{chunk-GIOMLAL2.cjs.map → chunk-KZOUXGPD.cjs.map} +1 -1
  99. package/dist/{chunk-ZKSEIA5Q.cjs → chunk-LDKE723G.cjs} +6 -6
  100. package/dist/{chunk-ZKSEIA5Q.cjs.map → chunk-LDKE723G.cjs.map} +1 -1
  101. package/dist/{chunk-42KJXH3P.js → chunk-M5SZUUWM.js} +5 -5
  102. package/dist/{chunk-42KJXH3P.js.map → chunk-M5SZUUWM.js.map} +1 -1
  103. package/dist/{chunk-Q4UMGL6Z.js → chunk-MVDTWARG.js} +5 -5
  104. package/dist/{chunk-Q4UMGL6Z.js.map → chunk-MVDTWARG.js.map} +1 -1
  105. package/dist/{chunk-FE3ZOSFJ.cjs → chunk-MWETV5LK.cjs} +6 -6
  106. package/dist/{chunk-FE3ZOSFJ.cjs.map → chunk-MWETV5LK.cjs.map} +1 -1
  107. package/dist/{chunk-6VY3VM5W.cjs → chunk-MWWAQVJ3.cjs} +4 -4
  108. package/dist/{chunk-6VY3VM5W.cjs.map → chunk-MWWAQVJ3.cjs.map} +1 -1
  109. package/dist/{chunk-UUNVNLQN.js → chunk-MYBFODRI.js} +7 -7
  110. package/dist/{chunk-UUNVNLQN.js.map → chunk-MYBFODRI.js.map} +1 -1
  111. package/dist/{chunk-M3DVXO4U.cjs → chunk-NHM6CSX2.cjs} +6 -6
  112. package/dist/{chunk-M3DVXO4U.cjs.map → chunk-NHM6CSX2.cjs.map} +1 -1
  113. package/dist/{chunk-IA4TPVHR.cjs → chunk-NJR5SVHL.cjs} +14 -14
  114. package/dist/{chunk-IA4TPVHR.cjs.map → chunk-NJR5SVHL.cjs.map} +1 -1
  115. package/dist/{chunk-J52N3BTJ.js → chunk-NP527IVS.js} +7 -7
  116. package/dist/{chunk-J52N3BTJ.js.map → chunk-NP527IVS.js.map} +1 -1
  117. package/dist/{chunk-MCVMBH7P.cjs → chunk-OAEVUPAL.cjs} +8 -8
  118. package/dist/{chunk-MCVMBH7P.cjs.map → chunk-OAEVUPAL.cjs.map} +1 -1
  119. package/dist/{chunk-JQHJJAX3.js → chunk-OSYOGJC5.js} +4 -4
  120. package/dist/{chunk-JQHJJAX3.js.map → chunk-OSYOGJC5.js.map} +1 -1
  121. package/dist/{chunk-PLQDNBCW.js → chunk-OYBRYZKK.js} +6 -6
  122. package/dist/{chunk-PLQDNBCW.js.map → chunk-OYBRYZKK.js.map} +1 -1
  123. package/dist/{chunk-G2RX3FZ7.cjs → chunk-OZNCX6DY.cjs} +12 -12
  124. package/dist/{chunk-G2RX3FZ7.cjs.map → chunk-OZNCX6DY.cjs.map} +1 -1
  125. package/dist/{chunk-DXUFYSNR.js → chunk-P6LEAMPW.js} +4 -4
  126. package/dist/{chunk-DXUFYSNR.js.map → chunk-P6LEAMPW.js.map} +1 -1
  127. package/dist/{chunk-R3B46QJO.js → chunk-PYUPT3HU.js} +3 -3
  128. package/dist/{chunk-R3B46QJO.js.map → chunk-PYUPT3HU.js.map} +1 -1
  129. package/dist/{chunk-WZGS7FX6.js → chunk-Q5DVIVMR.js} +3 -3
  130. package/dist/{chunk-WZGS7FX6.js.map → chunk-Q5DVIVMR.js.map} +1 -1
  131. package/dist/{chunk-IJWWTBJ6.js → chunk-QMZQ4I72.js} +3 -3
  132. package/dist/{chunk-IJWWTBJ6.js.map → chunk-QMZQ4I72.js.map} +1 -1
  133. package/dist/{chunk-VCEPRU6Y.cjs → chunk-QOQ55IUO.cjs} +8 -8
  134. package/dist/{chunk-VCEPRU6Y.cjs.map → chunk-QOQ55IUO.cjs.map} +1 -1
  135. package/dist/{chunk-MQUO663S.js → chunk-R3ONJZXN.js} +5 -5
  136. package/dist/{chunk-MQUO663S.js.map → chunk-R3ONJZXN.js.map} +1 -1
  137. package/dist/{chunk-KJRFBFBP.js → chunk-RKPEY2LR.js} +4 -4
  138. package/dist/{chunk-KJRFBFBP.js.map → chunk-RKPEY2LR.js.map} +1 -1
  139. package/dist/{chunk-7SGBGPZW.js → chunk-RM2XLAAU.js} +3 -3
  140. package/dist/{chunk-7SGBGPZW.js.map → chunk-RM2XLAAU.js.map} +1 -1
  141. package/dist/{chunk-LT7DJ7FN.cjs → chunk-RNKQPVCB.cjs} +13 -13
  142. package/dist/{chunk-LT7DJ7FN.cjs.map → chunk-RNKQPVCB.cjs.map} +1 -1
  143. package/dist/{chunk-3MNRY6XK.js → chunk-RQUQSI67.js} +3 -3
  144. package/dist/{chunk-3MNRY6XK.js.map → chunk-RQUQSI67.js.map} +1 -1
  145. package/dist/{chunk-S3UQUP3Q.js → chunk-RRN6FK6U.js} +4 -4
  146. package/dist/{chunk-S3UQUP3Q.js.map → chunk-RRN6FK6U.js.map} +1 -1
  147. package/dist/{chunk-BSOYEVZW.cjs → chunk-RUPT4QAW.cjs} +5 -5
  148. package/dist/{chunk-BSOYEVZW.cjs.map → chunk-RUPT4QAW.cjs.map} +1 -1
  149. package/dist/{chunk-7SUCVCOC.cjs → chunk-RYVQVW2U.cjs} +5 -5
  150. package/dist/{chunk-7SUCVCOC.cjs.map → chunk-RYVQVW2U.cjs.map} +1 -1
  151. package/dist/{chunk-2I6BJICE.js → chunk-RZBOQQRG.js} +6 -6
  152. package/dist/{chunk-2I6BJICE.js.map → chunk-RZBOQQRG.js.map} +1 -1
  153. package/dist/{chunk-JASZ7XTT.js → chunk-RZPKI7FD.js} +5 -5
  154. package/dist/{chunk-JASZ7XTT.js.map → chunk-RZPKI7FD.js.map} +1 -1
  155. package/dist/{chunk-VSTO7LZJ.cjs → chunk-T6E5MIIO.cjs} +4 -4
  156. package/dist/{chunk-VSTO7LZJ.cjs.map → chunk-T6E5MIIO.cjs.map} +1 -1
  157. package/dist/{chunk-D2JOFRA3.cjs → chunk-TFPTFBHN.cjs} +4 -4
  158. package/dist/{chunk-D2JOFRA3.cjs.map → chunk-TFPTFBHN.cjs.map} +1 -1
  159. package/dist/{chunk-446LQC5C.js → chunk-TRDO4OBD.js} +3 -3
  160. package/dist/{chunk-446LQC5C.js.map → chunk-TRDO4OBD.js.map} +1 -1
  161. package/dist/{chunk-3PHJWXBO.cjs → chunk-TRQQZ3FY.cjs} +7 -7
  162. package/dist/{chunk-3PHJWXBO.cjs.map → chunk-TRQQZ3FY.cjs.map} +1 -1
  163. package/dist/{chunk-NKQAHJBB.cjs → chunk-TX4BD3JN.cjs} +16 -16
  164. package/dist/{chunk-NKQAHJBB.cjs.map → chunk-TX4BD3JN.cjs.map} +1 -1
  165. package/dist/{chunk-UTUX5WM7.cjs → chunk-U7NJKBAR.cjs} +11 -11
  166. package/dist/{chunk-UTUX5WM7.cjs.map → chunk-U7NJKBAR.cjs.map} +1 -1
  167. package/dist/{chunk-5PW34XKA.js → chunk-UCMIHJFE.js} +3 -3
  168. package/dist/{chunk-5PW34XKA.js.map → chunk-UCMIHJFE.js.map} +1 -1
  169. package/dist/{chunk-KGVNCMUT.cjs → chunk-UGK3AL6Z.cjs} +5 -5
  170. package/dist/{chunk-KGVNCMUT.cjs.map → chunk-UGK3AL6Z.cjs.map} +1 -1
  171. package/dist/{chunk-QTR5LIUW.cjs → chunk-UJS33XO7.cjs} +8 -8
  172. package/dist/{chunk-QTR5LIUW.cjs.map → chunk-UJS33XO7.cjs.map} +1 -1
  173. package/dist/{chunk-QEYGPANV.cjs → chunk-VOYIMBTO.cjs} +8 -8
  174. package/dist/{chunk-QEYGPANV.cjs.map → chunk-VOYIMBTO.cjs.map} +1 -1
  175. package/dist/{chunk-HRXPB4YH.js → chunk-VRXTRDIP.js} +5 -5
  176. package/dist/{chunk-HRXPB4YH.js.map → chunk-VRXTRDIP.js.map} +1 -1
  177. package/dist/{chunk-WPP3FZLW.cjs → chunk-WHQNYDUT.cjs} +8 -8
  178. package/dist/{chunk-WPP3FZLW.cjs.map → chunk-WHQNYDUT.cjs.map} +1 -1
  179. package/dist/{chunk-YV4AL52O.cjs → chunk-WW6XXMJL.cjs} +17 -17
  180. package/dist/{chunk-YV4AL52O.cjs.map → chunk-WW6XXMJL.cjs.map} +1 -1
  181. package/dist/{chunk-CWDZJH7A.js → chunk-X6QULLGW.js} +3 -3
  182. package/dist/{chunk-CWDZJH7A.js.map → chunk-X6QULLGW.js.map} +1 -1
  183. package/dist/{chunk-KGLCG2W5.cjs → chunk-XB6G4W4P.cjs} +5 -5
  184. package/dist/{chunk-KGLCG2W5.cjs.map → chunk-XB6G4W4P.cjs.map} +1 -1
  185. package/dist/{chunk-ORBYW3LT.js → chunk-XQIPFZUD.js} +7 -7
  186. package/dist/{chunk-ORBYW3LT.js.map → chunk-XQIPFZUD.js.map} +1 -1
  187. package/dist/{chunk-SEELGNIC.cjs → chunk-XTWTL3UB.cjs} +9 -9
  188. package/dist/{chunk-SEELGNIC.cjs.map → chunk-XTWTL3UB.cjs.map} +1 -1
  189. package/dist/{chunk-FP6EP2CX.js → chunk-XVJLFQJT.js} +3 -3
  190. package/dist/{chunk-FP6EP2CX.js.map → chunk-XVJLFQJT.js.map} +1 -1
  191. package/dist/{chunk-CTXAQNQI.js → chunk-YBMIXGFM.js} +3 -3
  192. package/dist/{chunk-CTXAQNQI.js.map → chunk-YBMIXGFM.js.map} +1 -1
  193. package/dist/{chunk-TUUYGOLQ.js → chunk-YK5BUUZG.js} +4 -4
  194. package/dist/{chunk-TUUYGOLQ.js.map → chunk-YK5BUUZG.js.map} +1 -1
  195. package/dist/{chunk-KSDY2S25.js → chunk-YKLFVO22.js} +4 -4
  196. package/dist/{chunk-KSDY2S25.js.map → chunk-YKLFVO22.js.map} +1 -1
  197. package/dist/{chunk-FL53ZLSY.js → chunk-YUKH75MR.js} +10 -10
  198. package/dist/{chunk-FL53ZLSY.js.map → chunk-YUKH75MR.js.map} +1 -1
  199. package/dist/{chunk-BMJ4AK5X.cjs → chunk-ZQWT5UEN.cjs} +17 -17
  200. package/dist/{chunk-BMJ4AK5X.cjs.map → chunk-ZQWT5UEN.cjs.map} +1 -1
  201. package/dist/components/Alert/index.cjs +5 -5
  202. package/dist/components/Alert/index.js +4 -4
  203. package/dist/components/AlertDialog/index.cjs +7 -7
  204. package/dist/components/AlertDialog/index.js +5 -5
  205. package/dist/components/AppShell/index.cjs +12 -12
  206. package/dist/components/AppShell/index.js +9 -9
  207. package/dist/components/AutocompleteInput/index.cjs +10 -10
  208. package/dist/components/AutocompleteInput/index.js +6 -6
  209. package/dist/components/Button/index.cjs +4 -4
  210. package/dist/components/Button/index.js +3 -3
  211. package/dist/components/Calendar/index.cjs +5 -5
  212. package/dist/components/Calendar/index.js +4 -4
  213. package/dist/components/CheckboxGroup/index.cjs +8 -8
  214. package/dist/components/CheckboxGroup/index.js +6 -6
  215. package/dist/components/CheckboxInput/index.cjs +5 -5
  216. package/dist/components/CheckboxInput/index.js +4 -4
  217. package/dist/components/CodeBlock/index.cjs +5 -5
  218. package/dist/components/CodeBlock/index.js +4 -4
  219. package/dist/components/ContextMenu/index.cjs +9 -9
  220. package/dist/components/ContextMenu/index.js +7 -7
  221. package/dist/components/DateInput/index.cjs +8 -8
  222. package/dist/components/DateInput/index.js +7 -7
  223. package/dist/components/DateRangeInput/index.cjs +8 -8
  224. package/dist/components/DateRangeInput/index.js +7 -7
  225. package/dist/components/DateTimeInput/index.cjs +10 -10
  226. package/dist/components/DateTimeInput/index.js +9 -9
  227. package/dist/components/DropdownMenu/index.cjs +10 -10
  228. package/dist/components/DropdownMenu/index.js +6 -6
  229. package/dist/components/EmptyState/index.cjs +3 -3
  230. package/dist/components/EmptyState/index.js +2 -2
  231. package/dist/components/Field/index.cjs +4 -4
  232. package/dist/components/Field/index.js +2 -2
  233. package/dist/components/FileInput/index.cjs +6 -6
  234. package/dist/components/FileInput/index.js +5 -5
  235. package/dist/components/InputGroup/index.cjs +7 -7
  236. package/dist/components/InputGroup/index.js +3 -3
  237. package/dist/components/Item/index.cjs +3 -3
  238. package/dist/components/Item/index.js +2 -2
  239. package/dist/components/Layout/index.cjs +9 -9
  240. package/dist/components/Layout/index.js +4 -4
  241. package/dist/components/Lightbox/index.cjs +6 -6
  242. package/dist/components/Lightbox/index.js +4 -4
  243. package/dist/components/List/index.cjs +5 -5
  244. package/dist/components/List/index.js +3 -3
  245. package/dist/components/MetadataList/index.cjs +4 -4
  246. package/dist/components/MetadataList/index.js +2 -2
  247. package/dist/components/MultiSelect/index.cjs +7 -7
  248. package/dist/components/MultiSelect/index.js +6 -6
  249. package/dist/components/NumberInput/index.cjs +7 -7
  250. package/dist/components/NumberInput/index.js +6 -6
  251. package/dist/components/Pagination/index.cjs +5 -5
  252. package/dist/components/Pagination/index.js +4 -4
  253. package/dist/components/PasswordInput/index.cjs +8 -8
  254. package/dist/components/PasswordInput/index.js +7 -7
  255. package/dist/components/Popover/index.cjs +6 -6
  256. package/dist/components/Popover/index.js +4 -4
  257. package/dist/components/RadioGroup/index.cjs +6 -6
  258. package/dist/components/RadioGroup/index.js +4 -4
  259. package/dist/components/Schedule/index.cjs +25 -25
  260. package/dist/components/Schedule/index.js +10 -10
  261. package/dist/components/SearchFilterInput/index.cjs +24 -24
  262. package/dist/components/SearchFilterInput/index.js +16 -16
  263. package/dist/components/Select/index.cjs +9 -9
  264. package/dist/components/Select/index.js +7 -7
  265. package/dist/components/SideNav/index.cjs +12 -12
  266. package/dist/components/SideNav/index.js +6 -6
  267. package/dist/components/Slider/index.cjs +4 -4
  268. package/dist/components/Slider/index.js +3 -3
  269. package/dist/components/Spinner/index.cjs +3 -3
  270. package/dist/components/Spinner/index.js +2 -2
  271. package/dist/components/SplitButton/index.cjs +8 -8
  272. package/dist/components/SplitButton/index.js +7 -7
  273. package/dist/components/Stepper/index.cjs +3 -3
  274. package/dist/components/Stepper/index.js +2 -2
  275. package/dist/components/Switch/index.cjs +4 -4
  276. package/dist/components/Switch/index.js +3 -3
  277. package/dist/components/Table/index.cjs +46 -46
  278. package/dist/components/Table/index.js +20 -20
  279. package/dist/components/Tabs/index.cjs +10 -10
  280. package/dist/components/Tabs/index.js +5 -5
  281. package/dist/components/TagsInput/index.cjs +8 -8
  282. package/dist/components/TagsInput/index.js +7 -7
  283. package/dist/components/Text/index.cjs +3 -3
  284. package/dist/components/Text/index.js +1 -1
  285. package/dist/components/TextArea/index.cjs +5 -5
  286. package/dist/components/TextArea/index.js +4 -4
  287. package/dist/components/TextInput/index.cjs +7 -7
  288. package/dist/components/TextInput/index.js +6 -6
  289. package/dist/components/Thumbnail/index.cjs +5 -5
  290. package/dist/components/Thumbnail/index.js +4 -4
  291. package/dist/components/TimeInput/index.cjs +6 -6
  292. package/dist/components/TimeInput/index.js +5 -5
  293. package/dist/components/Toast/index.cjs +7 -7
  294. package/dist/components/Toast/index.js +4 -4
  295. package/dist/components/ToggleButton/index.cjs +5 -5
  296. package/dist/components/ToggleButton/index.js +3 -3
  297. package/dist/components/TopNav/index.cjs +10 -10
  298. package/dist/components/TopNav/index.js +5 -5
  299. package/dist/index.cjs +187 -187
  300. package/dist/index.js +50 -50
  301. package/dist/styles.css +1 -1
  302. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/SideNav/SideNav.recipe.ts","../src/components/SideNav/SideNavContext.ts","../src/components/SideNav/internal/SideNavCollapseButton.tsx","../src/components/SideNav/SideNav.tsx","../src/components/SideNav/SideNavHeading.tsx","../src/components/SideNav/SideNavItem.recipe.ts","../src/components/SideNav/SideNavItem.tsx","../src/components/SideNav/SideNavSection.tsx"],"names":["classes","jsx","styles","jsxs","useState","useCallback","Fragment","useId"],"mappings":"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","file":"chunk-USZQJXPE.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const sideNavRecipe = sva({\n slots: [\n 'root',\n 'stickyTop',\n 'scrollable',\n 'stickyBottom',\n 'footerRow',\n 'footerIcons',\n 'topbarIcons',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n h: '100%',\n w: '260px',\n bg: 'inherit',\n overflow: 'hidden',\n },\n stickyTop: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n p: '2',\n gap: '2',\n },\n scrollable: {\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n px: '2',\n },\n stickyBottom: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n mt: 'auto',\n p: '2',\n gap: '2',\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n },\n footerRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n },\n footerIcons: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n },\n topbarIcons: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n },\n },\n variants: {\n isCollapsed: {\n true: {\n root: {\n w: '12',\n },\n scrollable: {\n flex: 'none',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n footerRow: {\n flexDirection: 'column-reverse',\n alignItems: 'center',\n },\n footerIcons: {\n flexDirection: 'column',\n alignItems: 'center',\n ms: '0',\n },\n },\n false: {},\n },\n mode: {\n default: {},\n topbar: {\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n h: '12',\n w: '100%',\n },\n },\n },\n },\n defaultVariants: {\n isCollapsed: false,\n mode: 'default',\n },\n});\n\nexport type SideNavVariants = RecipeVariantProps<typeof sideNavRecipe>;\n","'use client';\n\nimport {createContext, use} from 'react';\n\nexport type SideNavRenderMode =\n | 'default'\n | 'topbar'\n | 'drawer'\n | 'drawer-content';\n\nexport interface SideNavCollapseState {\n isCollapsed: boolean;\n isCollapsible: boolean;\n toggle: () => void;\n}\n\nexport const SideNavRenderContext = createContext<SideNavRenderMode>('default');\nSideNavRenderContext.displayName = 'SideNavRenderContext';\nexport const SideNavCollapseContext = createContext<SideNavCollapseState>({\n isCollapsed: false,\n isCollapsible: false,\n toggle: () => {},\n});\nSideNavCollapseContext.displayName = 'SideNavCollapseContext';\n\nexport function useSideNavRenderMode(): SideNavRenderMode {\n return use(SideNavRenderContext);\n}\n\nexport function useSideNavCollapse(): SideNavCollapseState {\n return use(SideNavCollapseContext);\n}\n","'use client';\n\nimport {ChevronLeft, ChevronRight} from 'lucide-react';\nimport {Button} from 'components/Button';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {css} from 'styled-system/css';\n\nconst styles = {\n expanded: css({\n ms: '-2',\n }),\n};\n\n/**\n * Toggle button for collapsing and expanding the SideNav.\n * Reads collapse state from context when placed inside a SideNav.\n */\nexport function SideNavCollapseButton(): React.JSX.Element | null {\n const {isCollapsed, isCollapsible, toggle} = useSideNavCollapse();\n\n if (!isCollapsible) {\n return null;\n }\n\n const tooltipLabel = isCollapsed ? 'Expand sidebar' : 'Collapse sidebar';\n\n return (\n <Button\n className={isCollapsed ? undefined : styles.expanded}\n icon={isCollapsed ? ChevronRight : ChevronLeft}\n isIconOnly\n label={tooltipLabel}\n onClick={toggle}\n size=\"sm\"\n tooltip={tooltipLabel}\n variant=\"ghost\"\n />\n );\n}\n\nSideNavCollapseButton.displayName = 'SideNavCollapseButton';\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useMemo, useState} from 'react';\nimport {sideNavRecipe} from 'components/SideNav/SideNav.recipe';\nimport {\n SideNavCollapseContext,\n useSideNavRenderMode,\n} from 'components/SideNav/SideNavContext';\nimport {SideNavCollapseButton} from 'components/SideNav/internal/SideNavCollapseButton';\nimport {MobileNav} from 'internal/MobileNav';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface SideNavProps {\n /**\n * Navigation item children rendered in the scrollable area.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the nav element.\n */\n className?: string;\n /**\n * Test ID applied to the nav element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the sticky bottom section.\n */\n footer?: ReactNode;\n /**\n * Icon actions rendered alongside the footer.\n */\n footerIcons?: ReactNode;\n /**\n * Content rendered at the top of the nav (e.g. a logo or title).\n */\n header?: ReactNode;\n /**\n * Whether the nav can be collapsed to an icon-only toolbar.\n * @default false\n */\n isCollapsible?: boolean;\n /**\n * Ref forwarded to the nav element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the nav element.\n */\n style?: CSSProperties;\n /**\n * Non-scrollable content rendered below the header.\n */\n topContent?: ReactNode;\n}\n\n/**\n * Vertical side navigation panel with optional collapsing support.\n * Adapts to AppShell render modes (inline, drawer, topbar).\n */\nexport function SideNav({\n children,\n className,\n isCollapsible = false,\n 'data-testid': dataTestId,\n footer,\n footerIcons,\n header,\n ref,\n style,\n topContent,\n}: SideNavProps): React.JSX.Element {\n const renderMode = useSideNavRenderMode();\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggle = useCallback(() => {\n setIsCollapsed(prev => !prev);\n }, []);\n const collapseContext = useMemo(\n () => ({isCollapsed, isCollapsible, toggle}),\n [isCollapsed, isCollapsible, toggle],\n );\n\n if (renderMode === 'topbar') {\n const classes = sideNavRecipe({mode: 'topbar'});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref as Ref<HTMLDivElement>}\n style={style}>\n {header}\n <div className={classes.topbarIcons}>{footerIcons}</div>\n </div>\n );\n }\n\n if (renderMode === 'drawer') {\n return (\n <MobileNav\n data-testid={dataTestId}\n header={header}\n ref={ref as Ref<HTMLDialogElement>}>\n {topContent}\n {children}\n {footer}\n {footerIcons}\n </MobileNav>\n );\n }\n\n if (renderMode === 'drawer-content') {\n return (\n <>\n {topContent}\n {children}\n {footer}\n {footerIcons}\n </>\n );\n }\n\n const classes = sideNavRecipe({isCollapsed});\n\n return (\n <SideNavCollapseContext value={collapseContext}>\n <nav\n aria-label=\"Side navigation\"\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {isReactNode(header) || (!isCollapsed && isReactNode(topContent)) ? (\n <div className={classes.stickyTop}>\n {header}\n {!isCollapsed ? topContent : null}\n </div>\n ) : null}\n <div className={classes.scrollable}>{children}</div>\n {isReactNode(footer) || isReactNode(footerIcons) || isCollapsible ? (\n <div className={classes.stickyBottom}>\n {footer}\n <div className={classes.footerRow}>\n {isCollapsible ? <SideNavCollapseButton /> : null}\n {isReactNode(footerIcons) ? (\n <div className={classes.footerIcons}>{footerIcons}</div>\n ) : null}\n </div>\n </div>\n ) : null}\n </nav>\n </SideNavCollapseContext>\n );\n}\n\nSideNav.displayName = 'SideNav';\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useLinkComponent} from 'components/Link';\nimport type {LinkComponent} from 'components/Link';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\nexport interface SideNavHeadingProps {\n as?: LinkComponent;\n className?: string;\n 'data-testid'?: string;\n headerEndContent?: ReactNode;\n heading?: string;\n headingHref?: string;\n href?: string;\n logo?: ReactNode;\n ref?: Ref<HTMLElement>;\n style?: CSSProperties;\n subheading?: string;\n superheading?: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minH: '8',\n px: '2',\n color: 'fg',\n textDecoration: 'none',\n }),\n collapsed: css({\n justifyContent: 'center',\n px: 0,\n }),\n logo: css({\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n }),\n text: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n endContent: css({\n ms: 'auto',\n flexShrink: 0,\n }),\n};\n\nexport function SideNavHeading({\n as,\n className,\n 'data-testid': dataTestId,\n headerEndContent,\n heading,\n headingHref,\n href,\n logo,\n ref,\n style,\n subheading,\n superheading,\n}: SideNavHeadingProps): React.JSX.Element | null {\n const LinkComponent = useLinkComponent(as);\n const {isCollapsed} = useSideNavCollapse();\n const resolvedHref = headingHref ?? href;\n const Element = resolvedHref != null ? LinkComponent : 'div';\n\n if (isCollapsed && !isReactNode(logo)) {\n return null;\n }\n\n return (\n <Element\n aria-label={isCollapsed && resolvedHref != null ? heading : undefined}\n className={cx(styles.root, isCollapsed && styles.collapsed, className)}\n data-testid={dataTestId}\n href={resolvedHref}\n ref={ref as Ref<HTMLAnchorElement & HTMLDivElement>}\n style={style}\n to={Element === 'a' ? undefined : resolvedHref}>\n {isReactNode(logo) ? <span className={styles.logo}>{logo}</span> : null}\n {!isCollapsed ? (\n <span className={styles.text}>\n {superheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {superheading}\n </Text>\n ) : null}\n {heading != null ? (\n <Text type=\"large\" weight=\"semibold\">\n {heading}\n </Text>\n ) : null}\n {subheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {subheading}\n </Text>\n ) : null}\n </span>\n ) : null}\n {!isCollapsed && isReactNode(headerEndContent) ? (\n <span className={styles.endContent}>{headerEndContent}</span>\n ) : null}\n </Element>\n );\n}\n\nSideNavHeading.displayName = 'SideNavHeading';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n// Shared text/layout styling for the expanded-row label. `item` is the row\n// itself (leaf and split-action branches) and additionally carries the selected\n// highlight; `toggleLabel` is the inner content of the toggle-row button, which\n// stays base-only because the highlight lives on the wrapping button instead.\nconst expandedLabelBase = {\n color: 'fg.muted',\n fontSize: 'sm',\n fontWeight: 'medium',\n minH: '8',\n py: '0.5',\n // Override Item's default `bg.subtle` hover, which is invisible when the\n // SideNav sits on the AppShell's `bg.subtle` surface. Match TopNavItem's\n // darker `bg.hover` so the hover is visible in both navs.\n _hover: {bg: 'bg.hover'},\n} as const;\n\nexport const sideNavItemRecipe = sva({\n slots: [\n 'item',\n 'icon',\n 'collapsed',\n 'toggleRow',\n 'toggleLabel',\n 'toggleButton',\n 'chevron',\n 'childrenContainer',\n 'childrenInner',\n ],\n base: {\n item: expandedLabelBase,\n toggleLabel: expandedLabelBase,\n icon: {\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: 'var(--silver-sizes-icon-md)',\n },\n collapsed: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: '10',\n minH: '8',\n px: 0,\n py: '1.5',\n borderRadius: 'md',\n color: 'fg.muted',\n textDecoration: 'none',\n bg: 'transparent',\n borderWidth: 0,\n cursor: 'pointer',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n toggleRow: {\n display: 'flex',\n w: '100%',\n cursor: 'pointer',\n borderRadius: 'md',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n toggleButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '7',\n h: '7',\n borderRadius: 'md',\n cursor: 'pointer',\n color: 'fg.muted',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n },\n childrenContainer: {\n display: 'grid',\n gridTemplateRows: '1fr',\n transitionProperty: 'grid-template-rows',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n },\n childrenInner: {\n overflow: 'hidden',\n ps: '6',\n },\n },\n variants: {\n isSelected: {\n true: {\n item: {bg: 'bg.hover', color: 'fg', fontWeight: 'semibold'},\n toggleRow: {bg: 'bg.hover', color: 'fg', fontWeight: 'semibold'},\n collapsed: {bg: 'bg.hover', color: 'fg'},\n },\n false: {},\n },\n isDisabled: {\n true: {\n collapsed: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n toggleRow: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n false: {},\n },\n isExpanded: {\n true: {\n chevron: {transform: 'rotate(180deg)'},\n },\n false: {\n childrenContainer: {gridTemplateRows: '0fr'},\n },\n },\n },\n defaultVariants: {\n isSelected: false,\n isDisabled: false,\n isExpanded: true,\n },\n});\n\nexport type SideNavItemVariants = RecipeVariantProps<typeof sideNavItemRecipe>;\n","'use client';\n\nimport {ChevronDown} from 'lucide-react';\nimport type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {useCallback, useId, useState} from 'react';\nimport {useAppShellMobile} from 'components/AppShell/AppShellMobileContext';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Item} from 'components/Item';\nimport type {LinkComponent} from 'components/Link';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {sideNavItemRecipe} from 'components/SideNav/SideNavItem.recipe';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface SideNavItemProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Nested sub-items rendered below this item.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Content rendered at the end of the item (e.g. a badge).\n */\n endContent?: ReactNode;\n /**\n * Link destination. When set, the item renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item can expand/collapse its children.\n * @default false\n */\n isCollapsible?: boolean;\n /**\n * Whether the item's children are initially expanded.\n * @default true\n */\n isDefaultExpanded?: boolean;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible item label, also used as visible text.\n */\n label: string;\n /**\n * Click handler for the item.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\n/**\n * A single navigation item inside a SideNav. Renders as a link when\n * `href` is provided, or a button otherwise. Supports nested sub-items\n * via `children` with optional expand/collapse behavior.\n */\nexport function SideNavItem({\n as,\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n href,\n icon,\n isCollapsible: isItemCollapsible = false,\n isDefaultExpanded = true,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n style,\n}: SideNavItemProps): React.JSX.Element {\n const {closeMobileNav, isMobileNavOpen} = useAppShellMobile();\n const {isCollapsed} = useSideNavCollapse();\n const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);\n const childrenId = useId();\n\n const hasChildren = isReactNode(children);\n const isExpandable = hasChildren && isItemCollapsible;\n const hasPrimaryAction = href != null || onClick != null;\n\n const classes = sideNavItemRecipe({\n isSelected,\n isDisabled,\n // Only expandable items animate their children open/closed and rotate a\n // chevron; non-expandable items keep their children fully shown.\n isExpanded: !isExpandable || isExpanded,\n });\n\n const toggleExpanded = useCallback(() => {\n setIsExpanded(prev => !prev);\n }, []);\n\n const handleClick: MouseEventHandler<HTMLElement> = event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n // Dismiss the mobile drawer after navigating, but only when it is actually\n // open so non-mobile render modes don't fire a no-op close on every click.\n if (isMobileNavOpen) {\n closeMobileNav();\n }\n };\n\n const iconSlot =\n icon != null ? (\n <span aria-hidden=\"true\" className={classes.icon}>\n <Icon icon={icon} size=\"sm\" />\n </span>\n ) : undefined;\n\n // --- Collapsed sidebar: icon-only rendering ---\n if (isCollapsed) {\n const collapsedClassNames = cx(classes.collapsed, className);\n\n return (\n <ActionElement\n aria-current={isSelected ? 'page' : undefined}\n aria-label={label}\n as={as}\n className={collapsedClassNames}\n data-testid={dataTestId}\n href={isDisabled ? undefined : href}\n isDisabled={href == null || isDisabled ? isDisabled : undefined}\n isLink={href != null && !isDisabled}\n onClick={handleClick}\n ref={ref}\n style={style}\n type=\"button\">\n {iconSlot}\n </ActionElement>\n );\n }\n\n // --- Expanded sidebar ---\n\n const chevronSlot = isExpandable ? (\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n ) : null;\n\n const childrenContainer = isReactNode(children) ? (\n <div className={classes.childrenContainer} id={childrenId} role=\"group\">\n <div className={classes.childrenInner}>{children}</div>\n </div>\n ) : null;\n\n // Collapsible WITHOUT primary action: whole row toggles\n if (isExpandable && !hasPrimaryAction) {\n return (\n <>\n <button\n aria-controls={childrenId}\n aria-expanded={isExpanded}\n className={cx(classes.toggleRow, className)}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={toggleExpanded}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n className={classes.toggleLabel}\n endContent={chevronSlot}\n label={label}\n startContent={iconSlot}\n />\n </button>\n {childrenContainer}\n </>\n );\n }\n\n // Collapsible WITH primary action: split-action (link + chevron)\n if (isExpandable && hasPrimaryAction) {\n return (\n <>\n <Item\n aria-current={isSelected ? 'page' : undefined}\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n endContent={endContent}\n href={isDisabled ? undefined : href}\n isDisabled={isDisabled}\n label={label}\n linkComponent={as}\n onClick={handleClick}\n ref={ref}\n startContent={iconSlot}\n style={style}\n trailingContent={\n <button\n aria-controls={childrenId}\n aria-expanded={isExpanded}\n aria-label={isExpanded ? `Collapse ${label}` : `Expand ${label}`}\n className={classes.toggleButton}\n onClick={toggleExpanded}\n type=\"button\">\n {chevronSlot}\n </button>\n }\n />\n {childrenContainer}\n </>\n );\n }\n\n // Leaf item (no collapsible children): compose Item directly\n return (\n <>\n <Item\n aria-current={isSelected ? 'page' : undefined}\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n endContent={endContent}\n href={isDisabled ? undefined : href}\n isDisabled={isDisabled}\n label={label}\n linkComponent={as}\n onClick={handleClick}\n ref={ref}\n startContent={iconSlot}\n style={style}\n />\n {childrenContainer}\n </>\n );\n}\n\nSideNavItem.displayName = 'SideNavItem';\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useId} from 'react';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {Text} from 'components/Text';\nimport {VisuallyHidden} from 'internal';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\nexport interface SideNavSectionProps {\n children: ReactNode;\n className?: string;\n 'data-testid'?: string;\n endContent?: ReactNode;\n isHeaderHidden?: boolean;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n subtitle?: string;\n title: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n py: '1',\n }),\n rootCollapsed: css({\n py: '0',\n }),\n header: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '1',\n }),\n titleContainer: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n endContent: css({\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n }),\n items: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n};\n\nexport function SideNavSection({\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n isHeaderHidden = false,\n ref,\n style,\n subtitle,\n title,\n}: SideNavSectionProps): React.JSX.Element {\n const {isCollapsed} = useSideNavCollapse();\n const id = useId();\n const titleId = `${id}-title`;\n const shouldHideHeader = isHeaderHidden || isCollapsed;\n const header = (\n <div className={styles.header}>\n <span className={styles.titleContainer}>\n <Text\n as=\"span\"\n color=\"secondary\"\n id={titleId}\n type=\"supporting\"\n weight=\"semibold\">\n {title}\n </Text>\n {subtitle != null ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </span>\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n </div>\n );\n\n return (\n <div\n aria-labelledby={titleId}\n className={cx(\n styles.root,\n isCollapsed && styles.rootCollapsed,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {shouldHideHeader ? <VisuallyHidden>{header}</VisuallyHidden> : header}\n <div className={styles.items}>{children}</div>\n </div>\n );\n}\n\nSideNavSection.displayName = 'SideNavSection';\n"]}
1
+ {"version":3,"sources":["../src/components/SideNav/SideNav.recipe.ts","../src/components/SideNav/SideNavContext.ts","../src/components/SideNav/internal/SideNavCollapseButton.tsx","../src/components/SideNav/SideNav.tsx","../src/components/SideNav/SideNavHeading.tsx","../src/components/SideNav/SideNavItem.recipe.ts","../src/components/SideNav/SideNavItem.tsx","../src/components/SideNav/SideNavSection.tsx"],"names":["classes","jsx","styles","jsxs","useState","useCallback","Fragment","useId"],"mappings":";;;;;;;;;;;;;;;;AAEO,IAAM,gBAAgB,GAAA,CAAI;AAAA,EAC/B,KAAA,EAAO;AAAA,IACL,MAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,CAAA,EAAG,MAAA;AAAA,MACH,CAAA,EAAG,OAAA;AAAA,MACH,EAAA,EAAI,SAAA;AAAA,MACJ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,SAAA,EAAW;AAAA,MACT,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY,CAAA;AAAA,MACZ,CAAA,EAAG,GAAA;AAAA,MACH,GAAA,EAAK;AAAA,KACP;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,CAAA;AAAA,MACN,SAAA,EAAW,MAAA;AAAA,MACX,SAAA,EAAW,QAAA;AAAA,MACX,EAAA,EAAI;AAAA,KACN;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY,CAAA;AAAA,MACZ,EAAA,EAAI,MAAA;AAAA,MACJ,CAAA,EAAG,GAAA;AAAA,MACH,GAAA,EAAK,GAAA;AAAA,MACL,qBAAA,EAAuB,SAAA;AAAA,MACvB,qBAAA,EAAuB,OAAA;AAAA,MACvB,qBAAA,EAAuB;AAAA,KACzB;AAAA,IACA,SAAA,EAAW;AAAA,MACT,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK;AAAA,KACP;AAAA,IACA,WAAA,EAAa;AAAA,MACX,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI;AAAA,KACN;AAAA,IACA,WAAA,EAAa;AAAA,MACX,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,CAAA,EAAG;AAAA,SACL;AAAA,QACA,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,MAAA;AAAA,UACN,OAAA,EAAS,MAAA;AAAA,UACT,aAAA,EAAe,QAAA;AAAA,UACf,UAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAW;AAAA,UACT,aAAA,EAAe,gBAAA;AAAA,UACf,UAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAa;AAAA,UACX,aAAA,EAAe,QAAA;AAAA,UACf,UAAA,EAAY,QAAA;AAAA,UACZ,EAAA,EAAI;AAAA;AACN,OACF;AAAA,MACA,OAAO;AAAC,KACV;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,SAAS,EAAC;AAAA,MACV,MAAA,EAAQ;AAAA,QACN,IAAA,EAAM;AAAA,UACJ,aAAA,EAAe,KAAA;AAAA,UACf,UAAA,EAAY,QAAA;AAAA,UACZ,cAAA,EAAgB,eAAA;AAAA,UAChB,CAAA,EAAG,IAAA;AAAA,UACH,CAAA,EAAG;AAAA;AACL;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa,KAAA;AAAA,IACb,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;ACxFM,IAAM,oBAAA,GAAuB,cAAiC,SAAS;AAC9E,oBAAA,CAAqB,WAAA,GAAc,sBAAA;AAC5B,IAAM,yBAAyB,aAAA,CAAoC;AAAA,EACxE,WAAA,EAAa,KAAA;AAAA,EACb,aAAA,EAAe,KAAA;AAAA,EACf,QAAQ,MAAM;AAAA,EAAC;AACjB,CAAC;AACD,sBAAA,CAAuB,WAAA,GAAc,wBAAA;AAE9B,SAAS,oBAAA,GAA0C;AACxD,EAAA,OAAO,IAAI,oBAAoB,CAAA;AACjC;AAEO,SAAS,kBAAA,GAA2C;AACzD,EAAA,OAAO,IAAI,sBAAsB,CAAA;AACnC;ACxBA,IAAM,MAAA,GAAS;AAAA,EACb,UAAU,GAAA,CAAI;AAAA,IACZ,EAAA,EAAI;AAAA,GACL;AACH,CAAA;AAMO,SAAS,qBAAA,GAAkD;AAChE,EAAA,MAAM,EAAC,WAAA,EAAa,aAAA,EAAe,MAAA,KAAU,kBAAA,EAAmB;AAEhE,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAA,GAAe,cAAc,gBAAA,GAAmB,kBAAA;AAEtD,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,WAAA,GAAc,MAAA,GAAY,MAAA,CAAO,QAAA;AAAA,MAC5C,IAAA,EAAM,cAAc,YAAA,GAAe,WAAA;AAAA,MACnC,UAAA,EAAU,IAAA;AAAA,MACV,KAAA,EAAO,YAAA;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAS,YAAA;AAAA,MACT,OAAA,EAAQ;AAAA;AAAA,GACV;AAEJ;AAEA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;ACsB7B,SAAS,OAAA,CAAQ;AAAA,EACtB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,aAAA,EAAe,UAAA;AAAA,EACf,MAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAoC;AAClC,EAAA,MAAM,aAAa,oBAAA,EAAqB;AACxC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,MAAA,GAAS,YAAY,MAAM;AAC/B,IAAA,cAAA,CAAe,CAAA,IAAA,KAAQ,CAAC,IAAI,CAAA;AAAA,EAC9B,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,eAAA,GAAkB,OAAA;AAAA,IACtB,OAAO,EAAC,WAAA,EAAa,aAAA,EAAe,MAAA,EAAM,CAAA;AAAA,IAC1C,CAAC,WAAA,EAAa,aAAA,EAAe,MAAM;AAAA,GACrC;AAEA,EAAA,IAAI,eAAe,QAAA,EAAU;AAC3B,IAAA,MAAMA,QAAAA,GAAU,aAAA,CAAc,EAAC,IAAA,EAAM,UAAS,CAAA;AAE9C,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA,CAAGA,QAAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,QACrC,aAAA,EAAa,UAAA;AAAA,QACb,GAAA;AAAA,QACA,KAAA;AAAA,QACC,QAAA,EAAA;AAAA,UAAA,MAAA;AAAA,0BACDC,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,QAAAA,CAAQ,aAAc,QAAA,EAAA,WAAA,EAAY;AAAA;AAAA;AAAA,KACpD;AAAA,EAEJ;AAEA,EAAA,IAAI,eAAe,QAAA,EAAU;AAC3B,IAAA,uBACE,IAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAa,UAAA;AAAA,QACb,MAAA;AAAA,QACA,GAAA;AAAA,QACC,QAAA,EAAA;AAAA,UAAA,UAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAA;AAAA,UACA;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,IAAI,eAAe,gBAAA,EAAkB;AACnC,IAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,MAAA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA,KAAA,EACH,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,OAAA,GAAU,aAAA,CAAc,EAAC,WAAA,EAAY,CAAA;AAE3C,EAAA,uBACEC,GAAAA,CAAC,sBAAA,EAAA,EAAuB,KAAA,EAAO,eAAA,EAC7B,QAAA,kBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,iBAAA;AAAA,MACX,SAAA,EAAW,EAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,WAAA,CAAY,MAAM,CAAA,IAAM,CAAC,WAAA,IAAe,WAAA,CAAY,UAAU,CAAA,mBAC7D,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,SAAA,EACrB,QAAA,EAAA;AAAA,UAAA,MAAA;AAAA,UACA,CAAC,cAAc,UAAA,GAAa;AAAA,SAAA,EAC/B,CAAA,GACE,IAAA;AAAA,wBACJA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,YAAa,QAAA,EAAS,CAAA;AAAA,QAC7C,WAAA,CAAY,MAAM,CAAA,IAAK,WAAA,CAAY,WAAW,CAAA,IAAK,aAAA,mBAClD,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,YAAA,EACrB,QAAA,EAAA;AAAA,UAAA,MAAA;AAAA,0BACD,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,SAAA,EACrB,QAAA,EAAA;AAAA,YAAA,aAAA,mBAAgBA,GAAAA,CAAC,qBAAA,EAAA,EAAsB,CAAA,GAAK,IAAA;AAAA,YAC5C,WAAA,CAAY,WAAW,CAAA,mBACtBA,GAAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,WAAA,EAAc,QAAA,EAAA,WAAA,EAAY,CAAA,GAChD;AAAA,WAAA,EACN;AAAA,SAAA,EACF,CAAA,GACE;AAAA;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AClItB,IAAMC,OAAAA,GAAS;AAAA,EACb,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,IAAA,EAAM,GAAA;AAAA,IACN,EAAA,EAAI,GAAA;AAAA,IACJ,KAAA,EAAO,IAAA;AAAA,IACP,cAAA,EAAgB;AAAA,GACjB,CAAA;AAAA,EACD,WAAW,GAAA,CAAI;AAAA,IACb,cAAA,EAAgB,QAAA;AAAA,IAChB,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,MAAM,GAAA,CAAI;AAAA,IACR,UAAA,EAAY,CAAA;AAAA,IACZ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,EAAA,EAAI,MAAA;AAAA,IACJ,UAAA,EAAY;AAAA,GACb;AACH,CAAA;AAEO,SAAS,cAAA,CAAe;AAAA,EAC7B,EAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAkD;AAChD,EAAA,MAAM,aAAA,GAAgB,iBAAiB,EAAE,CAAA;AACzC,EAAA,MAAM,EAAC,WAAA,EAAW,GAAI,kBAAA,EAAmB;AACzC,EAAA,MAAM,eAAe,WAAA,IAAe,IAAA;AACpC,EAAA,MAAM,OAAA,GAAU,YAAA,IAAgB,IAAA,GAAO,aAAA,GAAgB,KAAA;AAEvD,EAAA,IAAI,WAAA,IAAe,CAAC,WAAA,CAAY,IAAI,CAAA,EAAG;AACrC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACEC,IAAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,WAAA,IAAe,YAAA,IAAgB,IAAA,GAAO,OAAA,GAAU,MAAA;AAAA,MAC5D,WAAW,EAAA,CAAGD,OAAAA,CAAO,MAAM,WAAA,IAAeA,OAAAA,CAAO,WAAW,SAAS,CAAA;AAAA,MACrE,aAAA,EAAa,UAAA;AAAA,MACb,IAAA,EAAM,YAAA;AAAA,MACN,GAAA;AAAA,MACA,KAAA;AAAA,MACA,EAAA,EAAI,OAAA,KAAY,GAAA,GAAM,MAAA,GAAY,YAAA;AAAA,MACjC,QAAA,EAAA;AAAA,QAAA,WAAA,CAAY,IAAI,oBAAID,GAAAA,CAAC,UAAK,SAAA,EAAWC,OAAAA,CAAO,IAAA,EAAO,QAAA,EAAA,IAAA,EAAK,CAAA,GAAU,IAAA;AAAA,QAClE,CAAC,WAAA,mBACAC,KAAC,MAAA,EAAA,EAAK,SAAA,EAAWD,QAAO,IAAA,EACrB,QAAA,EAAA;AAAA,UAAA,YAAA,IAAgB,IAAA,mBACfD,GAAAA,CAAC,IAAA,EAAA,EAAK,OAAM,WAAA,EAAY,IAAA,EAAK,YAAA,EAC1B,QAAA,EAAA,YAAA,EACH,CAAA,GACE,IAAA;AAAA,UACH,OAAA,IAAW,IAAA,mBACVA,GAAAA,CAAC,IAAA,EAAA,EAAK,MAAK,OAAA,EAAQ,MAAA,EAAO,UAAA,EACvB,QAAA,EAAA,OAAA,EACH,CAAA,GACE,IAAA;AAAA,UACH,UAAA,IAAc,IAAA,mBACbA,GAAAA,CAAC,IAAA,EAAA,EAAK,OAAM,WAAA,EAAY,IAAA,EAAK,YAAA,EAC1B,QAAA,EAAA,UAAA,EACH,CAAA,GACE;AAAA,SAAA,EACN,CAAA,GACE,IAAA;AAAA,QACH,CAAC,WAAA,IAAe,WAAA,CAAY,gBAAgB,CAAA,mBAC3CA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWC,OAAAA,CAAO,UAAA,EAAa,QAAA,EAAA,gBAAA,EAAiB,CAAA,GACpD;AAAA;AAAA;AAAA,GACN;AAEJ;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;;;AC/G7B,IAAM,iBAAA,GAAoB;AAAA,EACxB,KAAA,EAAO,UAAA;AAAA,EACP,QAAA,EAAU,IAAA;AAAA,EACV,UAAA,EAAY,QAAA;AAAA,EACZ,IAAA,EAAM,GAAA;AAAA,EACN,EAAA,EAAI,KAAA;AAAA;AAAA;AAAA;AAAA,EAIJ,MAAA,EAAQ,EAAC,EAAA,EAAI,UAAA;AACf,CAAA;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,KAAA,EAAO;AAAA,IACL,MAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,mBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,iBAAA;AAAA,IACN,WAAA,EAAa,iBAAA;AAAA,IACb,IAAA,EAAM;AAAA,MACJ,UAAA,EAAY,CAAA;AAAA,MACZ,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,SAAA,EAAW;AAAA,MACT,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,CAAA,EAAG,IAAA;AAAA,MACH,IAAA,EAAM,GAAA;AAAA,MACN,EAAA,EAAI,CAAA;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,YAAA,EAAc,IAAA;AAAA,MACd,KAAA,EAAO,UAAA;AAAA,MACP,cAAA,EAAgB,MAAA;AAAA,MAChB,EAAA,EAAI,aAAA;AAAA,MACJ,WAAA,EAAa,CAAA;AAAA,MACb,MAAA,EAAQ,SAAA;AAAA,MACR,MAAA,EAAQ,EAAC,EAAA,EAAI,UAAA,EAAU;AAAA,MACvB,aAAA,EAAe;AAAA,QACb,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,SAAA;AAAA,QACd,aAAA,EAAe;AAAA;AACjB,KACF;AAAA,IACA,SAAA,EAAW;AAAA,MACT,OAAA,EAAS,MAAA;AAAA,MACT,CAAA,EAAG,MAAA;AAAA,MACH,MAAA,EAAQ,SAAA;AAAA,MACR,YAAA,EAAc,IAAA;AAAA,MACd,MAAA,EAAQ,EAAC,EAAA,EAAI,UAAA,EAAU;AAAA,MACvB,aAAA,EAAe;AAAA,QACb,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,SAAA;AAAA,QACd,aAAA,EAAe;AAAA;AACjB,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,UAAA,EAAY,CAAA;AAAA,MACZ,CAAA,EAAG,GAAA;AAAA,MACH,CAAA,EAAG,GAAA;AAAA,MACH,YAAA,EAAc,IAAA;AAAA,MACd,MAAA,EAAQ,SAAA;AAAA,MACR,KAAA,EAAO,UAAA;AAAA,MACP,MAAA,EAAQ,EAAC,EAAA,EAAI,UAAA,EAAU;AAAA,MACvB,aAAA,EAAe;AAAA,QACb,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,SAAA;AAAA,QACd,aAAA,EAAe;AAAA;AACjB,KACF;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,kBAAA,EAAoB,WAAA;AAAA,MACpB,kBAAA,EAAoB,MAAA;AAAA,MACpB,wBAAA,EAA0B;AAAA,KAC5B;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,OAAA,EAAS,MAAA;AAAA,MACT,gBAAA,EAAkB,KAAA;AAAA,MAClB,kBAAA,EAAoB,oBAAA;AAAA,MACpB,kBAAA,EAAoB,MAAA;AAAA,MACpB,wBAAA,EAA0B;AAAA,KAC5B;AAAA,IACA,aAAA,EAAe;AAAA,MACb,QAAA,EAAU,QAAA;AAAA,MACV,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,MAAM,EAAC,EAAA,EAAI,YAAY,KAAA,EAAO,IAAA,EAAM,YAAY,UAAA,EAAU;AAAA,QAC1D,WAAW,EAAC,EAAA,EAAI,YAAY,KAAA,EAAO,IAAA,EAAM,YAAY,UAAA,EAAU;AAAA,QAC/D,SAAA,EAAW,EAAC,EAAA,EAAI,UAAA,EAAY,OAAO,IAAA;AAAI,OACzC;AAAA,MACA,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW;AAAA,UACT,OAAA,EAAS,GAAA;AAAA,UACT,MAAA,EAAQ,aAAA;AAAA,UACR,aAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAW;AAAA,UACT,OAAA,EAAS,GAAA;AAAA,UACT,MAAA,EAAQ,aAAA;AAAA,UACR,aAAA,EAAe;AAAA;AACjB,OACF;AAAA,MACA,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,EAAC,SAAA,EAAW,gBAAA;AAAgB,OACvC;AAAA,MACA,KAAA,EAAO;AAAA,QACL,iBAAA,EAAmB,EAAC,gBAAA,EAAkB,KAAA;AAAK;AAC7C;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY;AAAA;AAEhB,CAAC,CAAA;AChEM,SAAS,WAAA,CAAY;AAAA,EAC1B,EAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAe,iBAAA,GAAoB,KAAA;AAAA,EACnC,iBAAA,GAAoB,IAAA;AAAA,EACpB,UAAA,GAAa,KAAA;AAAA,EACb,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAwC;AACtC,EAAA,MAAM,EAAC,cAAA,EAAgB,eAAA,EAAe,GAAI,iBAAA,EAAkB;AAC5D,EAAA,MAAM,EAAC,WAAA,EAAW,GAAI,kBAAA,EAAmB;AACzC,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIE,SAAS,iBAAiB,CAAA;AAC9D,EAAA,MAAM,aAAa,KAAA,EAAM;AAEzB,EAAA,MAAM,WAAA,GAAc,YAAY,QAAQ,CAAA;AACxC,EAAA,MAAM,eAAe,WAAA,IAAe,iBAAA;AACpC,EAAA,MAAM,gBAAA,GAAmB,IAAA,IAAQ,IAAA,IAAQ,OAAA,IAAW,IAAA;AAEpD,EAAA,MAAM,UAAU,iBAAA,CAAkB;AAAA,IAChC,UAAA;AAAA,IACA,UAAA;AAAA;AAAA;AAAA,IAGA,UAAA,EAAY,CAAC,YAAA,IAAgB;AAAA,GAC9B,CAAA;AAED,EAAA,MAAM,cAAA,GAAiBC,YAAY,MAAM;AACvC,IAAA,aAAA,CAAc,CAAA,IAAA,KAAQ,CAAC,IAAI,CAAA;AAAA,EAC7B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,cAA8C,CAAA,KAAA,KAAS;AAC3D,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA;AAAA,IACF;AACA,IAAA,OAAA,GAAU,KAAK,CAAA;AAGf,IAAA,IAAI,eAAA,EAAiB;AACnB,MAAA,cAAA,EAAe;AAAA,IACjB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,WACJ,IAAA,IAAQ,IAAA,mBACNJ,GAAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,SAAA,EAAW,OAAA,CAAQ,IAAA,EAC1C,0BAAAA,GAAAA,CAAC,IAAA,EAAA,EAAK,MAAY,IAAA,EAAK,IAAA,EAAK,GAC9B,CAAA,GACE,MAAA;AAGN,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,MAAM,mBAAA,GAAsB,EAAA,CAAG,OAAA,CAAQ,SAAA,EAAW,SAAS,CAAA;AAE3D,IAAA,uBACEA,GAAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,cAAA,EAAc,aAAa,MAAA,GAAS,MAAA;AAAA,QACpC,YAAA,EAAY,KAAA;AAAA,QACZ,EAAA;AAAA,QACA,SAAA,EAAW,mBAAA;AAAA,QACX,aAAA,EAAa,UAAA;AAAA,QACb,IAAA,EAAM,aAAa,MAAA,GAAY,IAAA;AAAA,QAC/B,UAAA,EAAY,IAAA,IAAQ,IAAA,IAAQ,UAAA,GAAa,UAAA,GAAa,MAAA;AAAA,QACtD,MAAA,EAAQ,IAAA,IAAQ,IAAA,IAAQ,CAAC,UAAA;AAAA,QACzB,OAAA,EAAS,WAAA;AAAA,QACT,GAAA;AAAA,QACA,KAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACJ,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AAIA,EAAA,MAAM,cAAc,YAAA,mBAClBA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAW,OAAA,CAAQ,OAAA,EACvB,QAAA,kBAAAA,GAAAA,CAAC,QAAK,IAAA,EAAM,WAAA,EAAa,IAAA,EAAK,IAAA,EAAK,GACrC,CAAA,GACE,IAAA;AAEJ,EAAA,MAAM,iBAAA,GAAoB,YAAY,QAAQ,CAAA,mBAC5CA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,iBAAA,EAAmB,EAAA,EAAI,YAAY,IAAA,EAAK,OAAA,EAC9D,0BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAW,OAAA,CAAQ,aAAA,EAAgB,QAAA,EAAS,CAAA,EACnD,CAAA,GACE,IAAA;AAGJ,EAAA,IAAI,YAAA,IAAgB,CAAC,gBAAA,EAAkB;AACrC,IAAA,uBACEE,IAAAA,CAAAG,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAAL,GAAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,eAAA,EAAe,UAAA;AAAA,UACf,eAAA,EAAe,UAAA;AAAA,UACf,SAAA,EAAW,EAAA,CAAG,OAAA,CAAQ,SAAA,EAAW,SAAS,CAAA;AAAA,UAC1C,aAAA,EAAa,UAAA;AAAA,UACb,QAAA,EAAU,UAAA;AAAA,UACV,OAAA,EAAS,cAAA;AAAA,UACT,GAAA;AAAA,UACA,KAAA;AAAA,UACA,IAAA,EAAK,QAAA;AAAA,UACL,QAAA,kBAAAA,GAAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAG,MAAA;AAAA,cACH,WAAW,OAAA,CAAQ,WAAA;AAAA,cACnB,UAAA,EAAY,WAAA;AAAA,cACZ,KAAA;AAAA,cACA,YAAA,EAAc;AAAA;AAAA;AAChB;AAAA,OACF;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,EAEJ;AAGA,EAAA,IAAI,gBAAgB,gBAAA,EAAkB;AACpC,IAAA,uBACEE,IAAAA,CAAAG,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAAL,GAAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,cAAA,EAAc,aAAa,MAAA,GAAS,MAAA;AAAA,UACpC,SAAA,EAAW,EAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,UACrC,aAAA,EAAa,UAAA;AAAA,UACb,UAAA;AAAA,UACA,IAAA,EAAM,aAAa,MAAA,GAAY,IAAA;AAAA,UAC/B,UAAA;AAAA,UACA,KAAA;AAAA,UACA,aAAA,EAAe,EAAA;AAAA,UACf,OAAA,EAAS,WAAA;AAAA,UACT,GAAA;AAAA,UACA,YAAA,EAAc,QAAA;AAAA,UACd,KAAA;AAAA,UACA,iCACEA,GAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,eAAA,EAAe,UAAA;AAAA,cACf,eAAA,EAAe,UAAA;AAAA,cACf,cAAY,UAAA,GAAa,CAAA,SAAA,EAAY,KAAK,CAAA,CAAA,GAAK,UAAU,KAAK,CAAA,CAAA;AAAA,cAC9D,WAAW,OAAA,CAAQ,YAAA;AAAA,cACnB,OAAA,EAAS,cAAA;AAAA,cACT,IAAA,EAAK,QAAA;AAAA,cACJ,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,OAEJ;AAAA,MACC;AAAA,KAAA,EACH,CAAA;AAAA,EAEJ;AAGA,EAAA,uBACEE,IAAAA,CAAAG,QAAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAL,GAAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,cAAA,EAAc,aAAa,MAAA,GAAS,MAAA;AAAA,QACpC,SAAA,EAAW,EAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,QACrC,aAAA,EAAa,UAAA;AAAA,QACb,UAAA;AAAA,QACA,IAAA,EAAM,aAAa,MAAA,GAAY,IAAA;AAAA,QAC/B,UAAA;AAAA,QACA,KAAA;AAAA,QACA,aAAA,EAAe,EAAA;AAAA,QACf,OAAA,EAAS,WAAA;AAAA,QACT,GAAA;AAAA,QACA,YAAA,EAAc,QAAA;AAAA,QACd;AAAA;AAAA,KACF;AAAA,IACC;AAAA,GAAA,EACH,CAAA;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AClP1B,IAAMC,OAAAA,GAAS;AAAA,EACb,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,eAAe,GAAA,CAAI;AAAA,IACjB,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,QAAQ,GAAA,CAAI;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACL,CAAA;AAAA,EACD,gBAAgB,GAAA,CAAI;AAAA,IAClB,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,IAAA,EAAM,CAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,UAAA,EAAY,CAAA;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,OAAO,GAAA,CAAI;AAAA,IACT,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,GAAA,EAAK;AAAA,GACN;AACH,CAAA;AAEO,SAAS,cAAA,CAAe;AAAA,EAC7B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA;AAAA,EACA,cAAA,GAAiB,KAAA;AAAA,EACjB,GAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,EAAC,WAAA,EAAW,GAAI,kBAAA,EAAmB;AACzC,EAAA,MAAM,KAAKK,KAAAA,EAAM;AACjB,EAAA,MAAM,OAAA,GAAU,GAAG,EAAE,CAAA,MAAA,CAAA;AACrB,EAAA,MAAM,mBAAmB,cAAA,IAAkB,WAAA;AAC3C,EAAA,MAAM,yBACJJ,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,QAAO,MAAA,EACrB,QAAA,EAAA;AAAA,oBAAAC,IAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAWD,OAAAA,CAAO,cAAA,EACtB,QAAA,EAAA;AAAA,sBAAAD,GAAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,MAAA;AAAA,UACH,KAAA,EAAM,WAAA;AAAA,UACN,EAAA,EAAI,OAAA;AAAA,UACJ,IAAA,EAAK,YAAA;AAAA,UACL,MAAA,EAAO,UAAA;AAAA,UACN,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MACC,QAAA,IAAY,IAAA,mBACXA,GAAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,KAAA,EAAM,WAAA,EAAY,IAAA,EAAK,YAAA,EACpC,QAAA,EAAA,QAAA,EACH,CAAA,GACE;AAAA,KAAA,EACN,CAAA;AAAA,IACC,WAAA,CAAY,UAAU,CAAA,mBACrBA,GAAAA,CAAC,UAAK,SAAA,EAAWC,OAAAA,CAAO,UAAA,EAAa,QAAA,EAAA,UAAA,EAAW,CAAA,GAC9C;AAAA,GAAA,EACN,CAAA;AAGF,EAAA,uBACEC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,OAAA;AAAA,MACjB,SAAA,EAAW,EAAA;AAAA,QACTD,OAAAA,CAAO,IAAA;AAAA,QACP,eAAeA,OAAAA,CAAO,aAAA;AAAA,QACtB;AAAA,OACF;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,gBAAA,mBAAmBD,GAAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,MAAA,EAAO,CAAA,GAAoB,MAAA;AAAA,wBAChEA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWC,OAAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA;AAAA,GAC1C;AAEJ;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA","file":"chunk-GCQTQJPW.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const sideNavRecipe = sva({\n slots: [\n 'root',\n 'stickyTop',\n 'scrollable',\n 'stickyBottom',\n 'footerRow',\n 'footerIcons',\n 'topbarIcons',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n h: '100%',\n w: '260px',\n bg: 'inherit',\n overflow: 'hidden',\n },\n stickyTop: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n p: '2',\n gap: '2',\n },\n scrollable: {\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n px: '2',\n },\n stickyBottom: {\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n mt: 'auto',\n p: '2',\n gap: '2',\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n },\n footerRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n },\n footerIcons: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n },\n topbarIcons: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n },\n },\n variants: {\n isCollapsed: {\n true: {\n root: {\n w: '12',\n },\n scrollable: {\n flex: 'none',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n footerRow: {\n flexDirection: 'column-reverse',\n alignItems: 'center',\n },\n footerIcons: {\n flexDirection: 'column',\n alignItems: 'center',\n ms: '0',\n },\n },\n false: {},\n },\n mode: {\n default: {},\n topbar: {\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n h: '12',\n w: '100%',\n },\n },\n },\n },\n defaultVariants: {\n isCollapsed: false,\n mode: 'default',\n },\n});\n\nexport type SideNavVariants = RecipeVariantProps<typeof sideNavRecipe>;\n","'use client';\n\nimport {createContext, use} from 'react';\n\nexport type SideNavRenderMode =\n | 'default'\n | 'topbar'\n | 'drawer'\n | 'drawer-content';\n\nexport interface SideNavCollapseState {\n isCollapsed: boolean;\n isCollapsible: boolean;\n toggle: () => void;\n}\n\nexport const SideNavRenderContext = createContext<SideNavRenderMode>('default');\nSideNavRenderContext.displayName = 'SideNavRenderContext';\nexport const SideNavCollapseContext = createContext<SideNavCollapseState>({\n isCollapsed: false,\n isCollapsible: false,\n toggle: () => {},\n});\nSideNavCollapseContext.displayName = 'SideNavCollapseContext';\n\nexport function useSideNavRenderMode(): SideNavRenderMode {\n return use(SideNavRenderContext);\n}\n\nexport function useSideNavCollapse(): SideNavCollapseState {\n return use(SideNavCollapseContext);\n}\n","'use client';\n\nimport {ChevronLeft, ChevronRight} from 'lucide-react';\nimport {Button} from 'components/Button';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {css} from 'styled-system/css';\n\nconst styles = {\n expanded: css({\n ms: '-2',\n }),\n};\n\n/**\n * Toggle button for collapsing and expanding the SideNav.\n * Reads collapse state from context when placed inside a SideNav.\n */\nexport function SideNavCollapseButton(): React.JSX.Element | null {\n const {isCollapsed, isCollapsible, toggle} = useSideNavCollapse();\n\n if (!isCollapsible) {\n return null;\n }\n\n const tooltipLabel = isCollapsed ? 'Expand sidebar' : 'Collapse sidebar';\n\n return (\n <Button\n className={isCollapsed ? undefined : styles.expanded}\n icon={isCollapsed ? ChevronRight : ChevronLeft}\n isIconOnly\n label={tooltipLabel}\n onClick={toggle}\n size=\"sm\"\n tooltip={tooltipLabel}\n variant=\"ghost\"\n />\n );\n}\n\nSideNavCollapseButton.displayName = 'SideNavCollapseButton';\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useMemo, useState} from 'react';\nimport {sideNavRecipe} from 'components/SideNav/SideNav.recipe';\nimport {\n SideNavCollapseContext,\n useSideNavRenderMode,\n} from 'components/SideNav/SideNavContext';\nimport {SideNavCollapseButton} from 'components/SideNav/internal/SideNavCollapseButton';\nimport {MobileNav} from 'internal/MobileNav';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface SideNavProps {\n /**\n * Navigation item children rendered in the scrollable area.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the nav element.\n */\n className?: string;\n /**\n * Test ID applied to the nav element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the sticky bottom section.\n */\n footer?: ReactNode;\n /**\n * Icon actions rendered alongside the footer.\n */\n footerIcons?: ReactNode;\n /**\n * Content rendered at the top of the nav (e.g. a logo or title).\n */\n header?: ReactNode;\n /**\n * Whether the nav can be collapsed to an icon-only toolbar.\n * @default false\n */\n isCollapsible?: boolean;\n /**\n * Ref forwarded to the nav element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the nav element.\n */\n style?: CSSProperties;\n /**\n * Non-scrollable content rendered below the header.\n */\n topContent?: ReactNode;\n}\n\n/**\n * Vertical side navigation panel with optional collapsing support.\n * Adapts to AppShell render modes (inline, drawer, topbar).\n */\nexport function SideNav({\n children,\n className,\n isCollapsible = false,\n 'data-testid': dataTestId,\n footer,\n footerIcons,\n header,\n ref,\n style,\n topContent,\n}: SideNavProps): React.JSX.Element {\n const renderMode = useSideNavRenderMode();\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggle = useCallback(() => {\n setIsCollapsed(prev => !prev);\n }, []);\n const collapseContext = useMemo(\n () => ({isCollapsed, isCollapsible, toggle}),\n [isCollapsed, isCollapsible, toggle],\n );\n\n if (renderMode === 'topbar') {\n const classes = sideNavRecipe({mode: 'topbar'});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref as Ref<HTMLDivElement>}\n style={style}>\n {header}\n <div className={classes.topbarIcons}>{footerIcons}</div>\n </div>\n );\n }\n\n if (renderMode === 'drawer') {\n return (\n <MobileNav\n data-testid={dataTestId}\n header={header}\n ref={ref as Ref<HTMLDialogElement>}>\n {topContent}\n {children}\n {footer}\n {footerIcons}\n </MobileNav>\n );\n }\n\n if (renderMode === 'drawer-content') {\n return (\n <>\n {topContent}\n {children}\n {footer}\n {footerIcons}\n </>\n );\n }\n\n const classes = sideNavRecipe({isCollapsed});\n\n return (\n <SideNavCollapseContext value={collapseContext}>\n <nav\n aria-label=\"Side navigation\"\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {isReactNode(header) || (!isCollapsed && isReactNode(topContent)) ? (\n <div className={classes.stickyTop}>\n {header}\n {!isCollapsed ? topContent : null}\n </div>\n ) : null}\n <div className={classes.scrollable}>{children}</div>\n {isReactNode(footer) || isReactNode(footerIcons) || isCollapsible ? (\n <div className={classes.stickyBottom}>\n {footer}\n <div className={classes.footerRow}>\n {isCollapsible ? <SideNavCollapseButton /> : null}\n {isReactNode(footerIcons) ? (\n <div className={classes.footerIcons}>{footerIcons}</div>\n ) : null}\n </div>\n </div>\n ) : null}\n </nav>\n </SideNavCollapseContext>\n );\n}\n\nSideNav.displayName = 'SideNav';\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useLinkComponent} from 'components/Link';\nimport type {LinkComponent} from 'components/Link';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\nexport interface SideNavHeadingProps {\n as?: LinkComponent;\n className?: string;\n 'data-testid'?: string;\n headerEndContent?: ReactNode;\n heading?: string;\n headingHref?: string;\n href?: string;\n logo?: ReactNode;\n ref?: Ref<HTMLElement>;\n style?: CSSProperties;\n subheading?: string;\n superheading?: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minH: '8',\n px: '2',\n color: 'fg',\n textDecoration: 'none',\n }),\n collapsed: css({\n justifyContent: 'center',\n px: 0,\n }),\n logo: css({\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n }),\n text: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n endContent: css({\n ms: 'auto',\n flexShrink: 0,\n }),\n};\n\nexport function SideNavHeading({\n as,\n className,\n 'data-testid': dataTestId,\n headerEndContent,\n heading,\n headingHref,\n href,\n logo,\n ref,\n style,\n subheading,\n superheading,\n}: SideNavHeadingProps): React.JSX.Element | null {\n const LinkComponent = useLinkComponent(as);\n const {isCollapsed} = useSideNavCollapse();\n const resolvedHref = headingHref ?? href;\n const Element = resolvedHref != null ? LinkComponent : 'div';\n\n if (isCollapsed && !isReactNode(logo)) {\n return null;\n }\n\n return (\n <Element\n aria-label={isCollapsed && resolvedHref != null ? heading : undefined}\n className={cx(styles.root, isCollapsed && styles.collapsed, className)}\n data-testid={dataTestId}\n href={resolvedHref}\n ref={ref as Ref<HTMLAnchorElement & HTMLDivElement>}\n style={style}\n to={Element === 'a' ? undefined : resolvedHref}>\n {isReactNode(logo) ? <span className={styles.logo}>{logo}</span> : null}\n {!isCollapsed ? (\n <span className={styles.text}>\n {superheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {superheading}\n </Text>\n ) : null}\n {heading != null ? (\n <Text type=\"large\" weight=\"semibold\">\n {heading}\n </Text>\n ) : null}\n {subheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {subheading}\n </Text>\n ) : null}\n </span>\n ) : null}\n {!isCollapsed && isReactNode(headerEndContent) ? (\n <span className={styles.endContent}>{headerEndContent}</span>\n ) : null}\n </Element>\n );\n}\n\nSideNavHeading.displayName = 'SideNavHeading';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n// Shared text/layout styling for the expanded-row label. `item` is the row\n// itself (leaf and split-action branches) and additionally carries the selected\n// highlight; `toggleLabel` is the inner content of the toggle-row button, which\n// stays base-only because the highlight lives on the wrapping button instead.\nconst expandedLabelBase = {\n color: 'fg.muted',\n fontSize: 'sm',\n fontWeight: 'medium',\n minH: '8',\n py: '0.5',\n // Override Item's default `bg.subtle` hover, which is invisible when the\n // SideNav sits on the AppShell's `bg.subtle` surface. Match TopNavItem's\n // darker `bg.hover` so the hover is visible in both navs.\n _hover: {bg: 'bg.hover'},\n} as const;\n\nexport const sideNavItemRecipe = sva({\n slots: [\n 'item',\n 'icon',\n 'collapsed',\n 'toggleRow',\n 'toggleLabel',\n 'toggleButton',\n 'chevron',\n 'childrenContainer',\n 'childrenInner',\n ],\n base: {\n item: expandedLabelBase,\n toggleLabel: expandedLabelBase,\n icon: {\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: 'var(--silver-sizes-icon-md)',\n },\n collapsed: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: '10',\n minH: '8',\n px: 0,\n py: '1.5',\n borderRadius: 'md',\n color: 'fg.muted',\n textDecoration: 'none',\n bg: 'transparent',\n borderWidth: 0,\n cursor: 'pointer',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n toggleRow: {\n display: 'flex',\n w: '100%',\n cursor: 'pointer',\n borderRadius: 'md',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n toggleButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '7',\n h: '7',\n borderRadius: 'md',\n cursor: 'pointer',\n color: 'fg.muted',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n },\n childrenContainer: {\n display: 'grid',\n gridTemplateRows: '1fr',\n transitionProperty: 'grid-template-rows',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n },\n childrenInner: {\n overflow: 'hidden',\n ps: '6',\n },\n },\n variants: {\n isSelected: {\n true: {\n item: {bg: 'bg.hover', color: 'fg', fontWeight: 'semibold'},\n toggleRow: {bg: 'bg.hover', color: 'fg', fontWeight: 'semibold'},\n collapsed: {bg: 'bg.hover', color: 'fg'},\n },\n false: {},\n },\n isDisabled: {\n true: {\n collapsed: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n toggleRow: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n false: {},\n },\n isExpanded: {\n true: {\n chevron: {transform: 'rotate(180deg)'},\n },\n false: {\n childrenContainer: {gridTemplateRows: '0fr'},\n },\n },\n },\n defaultVariants: {\n isSelected: false,\n isDisabled: false,\n isExpanded: true,\n },\n});\n\nexport type SideNavItemVariants = RecipeVariantProps<typeof sideNavItemRecipe>;\n","'use client';\n\nimport {ChevronDown} from 'lucide-react';\nimport type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {useCallback, useId, useState} from 'react';\nimport {useAppShellMobile} from 'components/AppShell/AppShellMobileContext';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Item} from 'components/Item';\nimport type {LinkComponent} from 'components/Link';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {sideNavItemRecipe} from 'components/SideNav/SideNavItem.recipe';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface SideNavItemProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Nested sub-items rendered below this item.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Content rendered at the end of the item (e.g. a badge).\n */\n endContent?: ReactNode;\n /**\n * Link destination. When set, the item renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item can expand/collapse its children.\n * @default false\n */\n isCollapsible?: boolean;\n /**\n * Whether the item's children are initially expanded.\n * @default true\n */\n isDefaultExpanded?: boolean;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible item label, also used as visible text.\n */\n label: string;\n /**\n * Click handler for the item.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\n/**\n * A single navigation item inside a SideNav. Renders as a link when\n * `href` is provided, or a button otherwise. Supports nested sub-items\n * via `children` with optional expand/collapse behavior.\n */\nexport function SideNavItem({\n as,\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n href,\n icon,\n isCollapsible: isItemCollapsible = false,\n isDefaultExpanded = true,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n style,\n}: SideNavItemProps): React.JSX.Element {\n const {closeMobileNav, isMobileNavOpen} = useAppShellMobile();\n const {isCollapsed} = useSideNavCollapse();\n const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);\n const childrenId = useId();\n\n const hasChildren = isReactNode(children);\n const isExpandable = hasChildren && isItemCollapsible;\n const hasPrimaryAction = href != null || onClick != null;\n\n const classes = sideNavItemRecipe({\n isSelected,\n isDisabled,\n // Only expandable items animate their children open/closed and rotate a\n // chevron; non-expandable items keep their children fully shown.\n isExpanded: !isExpandable || isExpanded,\n });\n\n const toggleExpanded = useCallback(() => {\n setIsExpanded(prev => !prev);\n }, []);\n\n const handleClick: MouseEventHandler<HTMLElement> = event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n // Dismiss the mobile drawer after navigating, but only when it is actually\n // open so non-mobile render modes don't fire a no-op close on every click.\n if (isMobileNavOpen) {\n closeMobileNav();\n }\n };\n\n const iconSlot =\n icon != null ? (\n <span aria-hidden=\"true\" className={classes.icon}>\n <Icon icon={icon} size=\"sm\" />\n </span>\n ) : undefined;\n\n // --- Collapsed sidebar: icon-only rendering ---\n if (isCollapsed) {\n const collapsedClassNames = cx(classes.collapsed, className);\n\n return (\n <ActionElement\n aria-current={isSelected ? 'page' : undefined}\n aria-label={label}\n as={as}\n className={collapsedClassNames}\n data-testid={dataTestId}\n href={isDisabled ? undefined : href}\n isDisabled={href == null || isDisabled ? isDisabled : undefined}\n isLink={href != null && !isDisabled}\n onClick={handleClick}\n ref={ref}\n style={style}\n type=\"button\">\n {iconSlot}\n </ActionElement>\n );\n }\n\n // --- Expanded sidebar ---\n\n const chevronSlot = isExpandable ? (\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n ) : null;\n\n const childrenContainer = isReactNode(children) ? (\n <div className={classes.childrenContainer} id={childrenId} role=\"group\">\n <div className={classes.childrenInner}>{children}</div>\n </div>\n ) : null;\n\n // Collapsible WITHOUT primary action: whole row toggles\n if (isExpandable && !hasPrimaryAction) {\n return (\n <>\n <button\n aria-controls={childrenId}\n aria-expanded={isExpanded}\n className={cx(classes.toggleRow, className)}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={toggleExpanded}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n className={classes.toggleLabel}\n endContent={chevronSlot}\n label={label}\n startContent={iconSlot}\n />\n </button>\n {childrenContainer}\n </>\n );\n }\n\n // Collapsible WITH primary action: split-action (link + chevron)\n if (isExpandable && hasPrimaryAction) {\n return (\n <>\n <Item\n aria-current={isSelected ? 'page' : undefined}\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n endContent={endContent}\n href={isDisabled ? undefined : href}\n isDisabled={isDisabled}\n label={label}\n linkComponent={as}\n onClick={handleClick}\n ref={ref}\n startContent={iconSlot}\n style={style}\n trailingContent={\n <button\n aria-controls={childrenId}\n aria-expanded={isExpanded}\n aria-label={isExpanded ? `Collapse ${label}` : `Expand ${label}`}\n className={classes.toggleButton}\n onClick={toggleExpanded}\n type=\"button\">\n {chevronSlot}\n </button>\n }\n />\n {childrenContainer}\n </>\n );\n }\n\n // Leaf item (no collapsible children): compose Item directly\n return (\n <>\n <Item\n aria-current={isSelected ? 'page' : undefined}\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n endContent={endContent}\n href={isDisabled ? undefined : href}\n isDisabled={isDisabled}\n label={label}\n linkComponent={as}\n onClick={handleClick}\n ref={ref}\n startContent={iconSlot}\n style={style}\n />\n {childrenContainer}\n </>\n );\n}\n\nSideNavItem.displayName = 'SideNavItem';\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useId} from 'react';\nimport {useSideNavCollapse} from 'components/SideNav/SideNavContext';\nimport {Text} from 'components/Text';\nimport {VisuallyHidden} from 'internal';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\nexport interface SideNavSectionProps {\n children: ReactNode;\n className?: string;\n 'data-testid'?: string;\n endContent?: ReactNode;\n isHeaderHidden?: boolean;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n subtitle?: string;\n title: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n py: '1',\n }),\n rootCollapsed: css({\n py: '0',\n }),\n header: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '1',\n }),\n titleContainer: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n endContent: css({\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n }),\n items: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n};\n\nexport function SideNavSection({\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n isHeaderHidden = false,\n ref,\n style,\n subtitle,\n title,\n}: SideNavSectionProps): React.JSX.Element {\n const {isCollapsed} = useSideNavCollapse();\n const id = useId();\n const titleId = `${id}-title`;\n const shouldHideHeader = isHeaderHidden || isCollapsed;\n const header = (\n <div className={styles.header}>\n <span className={styles.titleContainer}>\n <Text\n as=\"span\"\n color=\"secondary\"\n id={titleId}\n type=\"supporting\"\n weight=\"semibold\">\n {title}\n </Text>\n {subtitle != null ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </span>\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n </div>\n );\n\n return (\n <div\n aria-labelledby={titleId}\n className={cx(\n styles.root,\n isCollapsed && styles.rootCollapsed,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {shouldHideHeader ? <VisuallyHidden>{header}</VisuallyHidden> : header}\n <div className={styles.items}>{children}</div>\n </div>\n );\n}\n\nSideNavSection.displayName = 'SideNavSection';\n"]}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import { Item } from './chunk-CTXAQNQI.js';
3
- import { getNecessity, Field } from './chunk-PZBY3JI7.js';
2
+ import { Item } from './chunk-YBMIXGFM.js';
3
+ import { getNecessity, Field } from './chunk-2EGYYWPB.js';
4
4
  import { getStatusMessageID, getDescribedBy } from './chunk-G6HS52US.js';
5
5
  import { isReactNode } from './chunk-2PSZAWLC.js';
6
6
  import { sva } from './chunk-IAVZKGZS.js';
@@ -254,5 +254,5 @@ function RadioGroupItem({
254
254
  RadioGroupItem.displayName = "RadioGroupItem";
255
255
 
256
256
  export { RadioGroup, RadioGroupItem };
257
- //# sourceMappingURL=chunk-74B6CLZK.js.map
258
- //# sourceMappingURL=chunk-74B6CLZK.js.map
257
+ //# sourceMappingURL=chunk-GEU4SROO.js.map
258
+ //# sourceMappingURL=chunk-GEU4SROO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/RadioGroup/RadioGroup.recipe.ts","../src/components/RadioGroup/RadioGroupContext.tsx","../src/components/RadioGroup/RadioGroup.tsx","../src/components/RadioGroup/RadioGroupItem.tsx"],"names":["useId","jsx"],"mappings":"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","file":"chunk-74B6CLZK.js","sourcesContent":["import {cva, sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Group container layout — single element with an orientation variant.\n */\nexport const radioGroupRecipe = cva({\n base: {\n display: 'flex',\n },\n variants: {\n orientation: {\n vertical: {\n flexDirection: 'column',\n gap: '0.5',\n },\n horizontal: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n columnGap: '4',\n rowGap: '0',\n },\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n});\n\nexport type RadioGroupVariants = RecipeVariantProps<typeof radioGroupRecipe>;\n\n/**\n * Individual radio item — multi-slot recipe for the control, its visual\n * radio circle, the selection dot, and the clickable label.\n */\nexport const radioGroupItemRecipe = sva({\n slots: ['controlWrap', 'input', 'radio', 'dot', 'label'],\n base: {\n controlWrap: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n borderRadius: 'full',\n isolation: 'isolate',\n '&:has(input:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n input: {\n position: 'absolute',\n inset: 0,\n m: 0,\n p: 0,\n opacity: 0,\n cursor: 'pointer',\n zIndex: 1,\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n radio: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'full',\n bg: 'bg',\n pointerEvents: 'none',\n },\n dot: {\n borderRadius: 'full',\n bg: 'fg.onPrimary',\n },\n label: {\n cursor: 'pointer',\n },\n },\n variants: {\n size: {\n sm: {\n controlWrap: {w: '5', h: '5'},\n radio: {w: '4.5', h: '4.5'},\n dot: {w: '2', h: '2'},\n },\n md: {\n controlWrap: {w: '6', h: '6'},\n radio: {w: '5.5', h: '5.5'},\n dot: {w: '2.5', h: '2.5'},\n },\n lg: {\n controlWrap: {w: '7', h: '7'},\n radio: {w: '6.5', h: '6.5'},\n dot: {w: '3', h: '3'},\n },\n },\n isChecked: {\n true: {\n radio: {bg: 'primary', borderColor: 'primary'},\n },\n },\n isDisabled: {\n true: {\n radio: {opacity: 0.55},\n label: {color: 'fg.disabled', cursor: 'not-allowed'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n isChecked: false,\n isDisabled: false,\n },\n});\n\nexport type RadioGroupItemVariants = RecipeVariantProps<\n typeof radioGroupItemRecipe\n>;\n","'use client';\n\nimport {createContext} from 'react';\n\nexport type RadioGroupOrientation = 'horizontal' | 'vertical';\nexport type RadioGroupSize = 'sm' | 'md' | 'lg';\n\nexport interface RadioGroupContextValue {\n isDisabled: boolean;\n isRequired?: boolean;\n name: string;\n onChange: (value: string) => void;\n orientation: RadioGroupOrientation;\n size: RadioGroupSize;\n value: string;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(\n null,\n);\n\nRadioGroupContext.displayName = 'RadioGroupContext';\n","'use client';\n\nimport {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {radioGroupRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {\n RadioGroupContext,\n type RadioGroupOrientation,\n type RadioGroupSize,\n} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport type {RadioGroupOrientation} from 'components/RadioGroup/RadioGroupContext';\n\nexport type RadioGroupProps = {\n /**\n * Radio list items to render.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether all radio items are 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 * Label text for the radio group.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Callback fired when the selected value changes.\n * Memoize with `useCallback` to avoid unnecessary re-renders of radio items.\n */\n onChange: (value: string) => void;\n /**\n * Layout direction of the radio items.\n * @default 'vertical'\n */\n orientation?: RadioGroupOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size of the radio controls.\n * @default 'md'\n */\n size?: RadioGroupSize;\n /**\n * Validation status displayed below the group.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * The currently selected value.\n */\n value: string;\n} & FieldNecessity;\n\n/**\n * A controlled radio group for single-value selection.\n */\nexport function RadioGroup({\n children,\n className,\n 'data-testid': dataTestId,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n onChange,\n orientation = 'vertical',\n ref,\n size = 'md',\n status,\n style,\n value,\n}: RadioGroupProps): React.JSX.Element {\n const nameId = useId();\n const inputId = useId();\n const labelId = `${inputId}-label`;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const contextValue = useMemo(\n () => ({\n isDisabled,\n isRequired,\n name: nameId,\n onChange,\n orientation,\n size,\n value,\n }),\n [isDisabled, isRequired, nameId, onChange, orientation, size, value],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n data-testid={dataTestId}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelId={labelId}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-labelledby={labelId}\n aria-orientation={orientation}\n aria-required={isRequired ?? undefined}\n className={radioGroupRecipe({orientation})}\n id={inputId}\n role=\"radiogroup\">\n <RadioGroupContext value={contextValue}>{children}</RadioGroupContext>\n </div>\n </Field>\n );\n}\n\nRadioGroup.displayName = 'RadioGroup';\n","'use client';\n\nimport {use, useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {Item} from 'components/Item';\nimport {radioGroupItemRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {RadioGroupContext} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface RadioGroupItemProps {\n /**\n * Additional CSS class names applied to the item root.\n */\n className?: string;\n /**\n * Test ID applied to the item root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the item label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label and description.\n */\n endContent?: ReactNode;\n /**\n * Whether this radio item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Label text for the radio item.\n */\n label: string;\n /**\n * Ref forwarded to the item root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Content rendered after the radio control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the item root.\n */\n style?: CSSProperties;\n /**\n * Value represented by this radio item.\n */\n value: string;\n}\n\n/**\n * An individual radio option within a `RadioGroup`.\n */\nexport function RadioGroupItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n isDisabled: isItemDisabled = false,\n label,\n ref,\n startContent,\n style,\n value,\n}: RadioGroupItemProps): React.JSX.Element {\n const context = use(RadioGroupContext);\n if (context == null) {\n throw new Error('RadioGroupItem must be used within a RadioGroup');\n }\n\n const id = useId();\n const descriptionId = useId();\n const isDisabled = context.isDisabled || isItemDisabled;\n const isChecked = context.value === value;\n const size = context.size;\n const classes = radioGroupItemRecipe({size, isChecked, isDisabled});\n const control = (\n <span className={classes.controlWrap}>\n <input\n aria-describedby={isReactNode(description) ? descriptionId : undefined}\n checked={isChecked}\n className={classes.input}\n disabled={isDisabled}\n id={id}\n name={context.name}\n onChange={() => context.onChange(value)}\n required={context.isRequired}\n type=\"radio\"\n value={value}\n />\n <span aria-hidden=\"true\" className={classes.radio}>\n {isChecked ? <span className={classes.dot} /> : null}\n </span>\n </span>\n );\n\n return (\n <Item\n className={className}\n data-testid={dataTestId}\n description={\n isReactNode(description) ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition=\"inline\"\n isDisabled={isDisabled}\n label={\n <label className={classes.label} htmlFor={id}>\n {label}\n </label>\n }\n leadingContent={control}\n ref={ref}\n startContent={startContent}\n style={style}\n width={context.orientation === 'horizontal' ? 'auto' : 'full'}\n />\n );\n}\n\nRadioGroupItem.displayName = 'RadioGroupItem';\n"]}
1
+ {"version":3,"sources":["../src/components/RadioGroup/RadioGroup.recipe.ts","../src/components/RadioGroup/RadioGroupContext.tsx","../src/components/RadioGroup/RadioGroup.tsx","../src/components/RadioGroup/RadioGroupItem.tsx"],"names":["useId","jsx"],"mappings":"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","file":"chunk-GEU4SROO.js","sourcesContent":["import {cva, sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Group container layout — single element with an orientation variant.\n */\nexport const radioGroupRecipe = cva({\n base: {\n display: 'flex',\n },\n variants: {\n orientation: {\n vertical: {\n flexDirection: 'column',\n gap: '0.5',\n },\n horizontal: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n columnGap: '4',\n rowGap: '0',\n },\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n});\n\nexport type RadioGroupVariants = RecipeVariantProps<typeof radioGroupRecipe>;\n\n/**\n * Individual radio item — multi-slot recipe for the control, its visual\n * radio circle, the selection dot, and the clickable label.\n */\nexport const radioGroupItemRecipe = sva({\n slots: ['controlWrap', 'input', 'radio', 'dot', 'label'],\n base: {\n controlWrap: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n borderRadius: 'full',\n isolation: 'isolate',\n '&:has(input:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n input: {\n position: 'absolute',\n inset: 0,\n m: 0,\n p: 0,\n opacity: 0,\n cursor: 'pointer',\n zIndex: 1,\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n radio: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'full',\n bg: 'bg',\n pointerEvents: 'none',\n },\n dot: {\n borderRadius: 'full',\n bg: 'fg.onPrimary',\n },\n label: {\n cursor: 'pointer',\n },\n },\n variants: {\n size: {\n sm: {\n controlWrap: {w: '5', h: '5'},\n radio: {w: '4.5', h: '4.5'},\n dot: {w: '2', h: '2'},\n },\n md: {\n controlWrap: {w: '6', h: '6'},\n radio: {w: '5.5', h: '5.5'},\n dot: {w: '2.5', h: '2.5'},\n },\n lg: {\n controlWrap: {w: '7', h: '7'},\n radio: {w: '6.5', h: '6.5'},\n dot: {w: '3', h: '3'},\n },\n },\n isChecked: {\n true: {\n radio: {bg: 'primary', borderColor: 'primary'},\n },\n },\n isDisabled: {\n true: {\n radio: {opacity: 0.55},\n label: {color: 'fg.disabled', cursor: 'not-allowed'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n isChecked: false,\n isDisabled: false,\n },\n});\n\nexport type RadioGroupItemVariants = RecipeVariantProps<\n typeof radioGroupItemRecipe\n>;\n","'use client';\n\nimport {createContext} from 'react';\n\nexport type RadioGroupOrientation = 'horizontal' | 'vertical';\nexport type RadioGroupSize = 'sm' | 'md' | 'lg';\n\nexport interface RadioGroupContextValue {\n isDisabled: boolean;\n isRequired?: boolean;\n name: string;\n onChange: (value: string) => void;\n orientation: RadioGroupOrientation;\n size: RadioGroupSize;\n value: string;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(\n null,\n);\n\nRadioGroupContext.displayName = 'RadioGroupContext';\n","'use client';\n\nimport {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {radioGroupRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {\n RadioGroupContext,\n type RadioGroupOrientation,\n type RadioGroupSize,\n} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport type {RadioGroupOrientation} from 'components/RadioGroup/RadioGroupContext';\n\nexport type RadioGroupProps = {\n /**\n * Radio list items to render.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether all radio items are 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 * Label text for the radio group.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Callback fired when the selected value changes.\n * Memoize with `useCallback` to avoid unnecessary re-renders of radio items.\n */\n onChange: (value: string) => void;\n /**\n * Layout direction of the radio items.\n * @default 'vertical'\n */\n orientation?: RadioGroupOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size of the radio controls.\n * @default 'md'\n */\n size?: RadioGroupSize;\n /**\n * Validation status displayed below the group.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * The currently selected value.\n */\n value: string;\n} & FieldNecessity;\n\n/**\n * A controlled radio group for single-value selection.\n */\nexport function RadioGroup({\n children,\n className,\n 'data-testid': dataTestId,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n onChange,\n orientation = 'vertical',\n ref,\n size = 'md',\n status,\n style,\n value,\n}: RadioGroupProps): React.JSX.Element {\n const nameId = useId();\n const inputId = useId();\n const labelId = `${inputId}-label`;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const contextValue = useMemo(\n () => ({\n isDisabled,\n isRequired,\n name: nameId,\n onChange,\n orientation,\n size,\n value,\n }),\n [isDisabled, isRequired, nameId, onChange, orientation, size, value],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n data-testid={dataTestId}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelId={labelId}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-labelledby={labelId}\n aria-orientation={orientation}\n aria-required={isRequired ?? undefined}\n className={radioGroupRecipe({orientation})}\n id={inputId}\n role=\"radiogroup\">\n <RadioGroupContext value={contextValue}>{children}</RadioGroupContext>\n </div>\n </Field>\n );\n}\n\nRadioGroup.displayName = 'RadioGroup';\n","'use client';\n\nimport {use, useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {Item} from 'components/Item';\nimport {radioGroupItemRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {RadioGroupContext} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface RadioGroupItemProps {\n /**\n * Additional CSS class names applied to the item root.\n */\n className?: string;\n /**\n * Test ID applied to the item root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the item label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label and description.\n */\n endContent?: ReactNode;\n /**\n * Whether this radio item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Label text for the radio item.\n */\n label: string;\n /**\n * Ref forwarded to the item root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Content rendered after the radio control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the item root.\n */\n style?: CSSProperties;\n /**\n * Value represented by this radio item.\n */\n value: string;\n}\n\n/**\n * An individual radio option within a `RadioGroup`.\n */\nexport function RadioGroupItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n isDisabled: isItemDisabled = false,\n label,\n ref,\n startContent,\n style,\n value,\n}: RadioGroupItemProps): React.JSX.Element {\n const context = use(RadioGroupContext);\n if (context == null) {\n throw new Error('RadioGroupItem must be used within a RadioGroup');\n }\n\n const id = useId();\n const descriptionId = useId();\n const isDisabled = context.isDisabled || isItemDisabled;\n const isChecked = context.value === value;\n const size = context.size;\n const classes = radioGroupItemRecipe({size, isChecked, isDisabled});\n const control = (\n <span className={classes.controlWrap}>\n <input\n aria-describedby={isReactNode(description) ? descriptionId : undefined}\n checked={isChecked}\n className={classes.input}\n disabled={isDisabled}\n id={id}\n name={context.name}\n onChange={() => context.onChange(value)}\n required={context.isRequired}\n type=\"radio\"\n value={value}\n />\n <span aria-hidden=\"true\" className={classes.radio}>\n {isChecked ? <span className={classes.dot} /> : null}\n </span>\n </span>\n );\n\n return (\n <Item\n className={className}\n data-testid={dataTestId}\n description={\n isReactNode(description) ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition=\"inline\"\n isDisabled={isDisabled}\n label={\n <label className={classes.label} htmlFor={id}>\n {label}\n </label>\n }\n leadingContent={control}\n ref={ref}\n startContent={startContent}\n style={style}\n width={context.orientation === 'horizontal' ? 'auto' : 'full'}\n />\n );\n}\n\nRadioGroupItem.displayName = 'RadioGroupItem';\n"]}
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunkS5FJ3FHH_cjs = require('./chunk-S5FJ3FHH.cjs');
5
- var chunkEPQKIFGY_cjs = require('./chunk-EPQKIFGY.cjs');
4
+ var chunkHW7GODZJ_cjs = require('./chunk-HW7GODZJ.cjs');
5
+ var chunkI2QAN2HX_cjs = require('./chunk-I2QAN2HX.cjs');
6
6
  var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
7
7
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
8
8
  var lucideReact = require('lucide-react');
@@ -143,7 +143,7 @@ function Pagination({
143
143
  }
144
144
  const isActive = item === page;
145
145
  return /* @__PURE__ */ jsxRuntime.jsx(
146
- chunkS5FJ3FHH_cjs.Button,
146
+ chunkHW7GODZJ_cjs.Button,
147
147
  {
148
148
  "aria-current": isActive ? "page" : void 0,
149
149
  "aria-label": isActive ? `Page ${item}, current page` : `Go to page ${item}`,
@@ -159,9 +159,9 @@ function Pagination({
159
159
  });
160
160
  }
161
161
  case "count":
162
- return totalItems == null ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-live": "polite", className: styles.infoText, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEPQKIFGY_cjs.Text, { color: "primary", size: "sm", type: "body", children: `${rangeStart}-${rangeEnd} of ${totalItems}` }) });
162
+ return totalItems == null ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-live": "polite", className: styles.infoText, children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2QAN2HX_cjs.Text, { color: "primary", size: "sm", type: "body", children: `${rangeStart}-${rangeEnd} of ${totalItems}` }) });
163
163
  case "compact":
164
- return computedTotalPages == null ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-live": "polite", className: styles.infoText, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEPQKIFGY_cjs.Text, { color: "primary", size: "sm", type: "body", children: `Page ${page} of ${computedTotalPages}` }) });
164
+ return computedTotalPages == null ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-live": "polite", className: styles.infoText, children: /* @__PURE__ */ jsxRuntime.jsx(chunkI2QAN2HX_cjs.Text, { color: "primary", size: "sm", type: "body", children: `Page ${page} of ${computedTotalPages}` }) });
165
165
  case "none":
166
166
  default:
167
167
  return null;
@@ -177,7 +177,7 @@ function Pagination({
177
177
  style,
178
178
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.controls, children: [
179
179
  /* @__PURE__ */ jsxRuntime.jsx(
180
- chunkS5FJ3FHH_cjs.Button,
180
+ chunkHW7GODZJ_cjs.Button,
181
181
  {
182
182
  icon: lucideReact.ChevronLeft,
183
183
  isDisabled: isDisabled || !hasPrevious,
@@ -190,7 +190,7 @@ function Pagination({
190
190
  ),
191
191
  renderIndicator(),
192
192
  /* @__PURE__ */ jsxRuntime.jsx(
193
- chunkS5FJ3FHH_cjs.Button,
193
+ chunkHW7GODZJ_cjs.Button,
194
194
  {
195
195
  icon: lucideReact.ChevronRight,
196
196
  isDisabled: isDisabled || !hasNext,
@@ -208,5 +208,5 @@ function Pagination({
208
208
  Pagination.displayName = "Pagination";
209
209
 
210
210
  exports.Pagination = Pagination;
211
- //# sourceMappingURL=chunk-KNXDDKGK.cjs.map
212
- //# sourceMappingURL=chunk-KNXDDKGK.cjs.map
211
+ //# sourceMappingURL=chunk-GIZ7DK3W.cjs.map
212
+ //# sourceMappingURL=chunk-GIZ7DK3W.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"names":["css","useMemo","jsx","Button","Text","cx","jsxs","ChevronLeft","ChevronRight"],"mappings":"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","file":"chunk-KNXDDKGK.cjs","sourcesContent":["'use client';\n\nimport {ChevronLeft, ChevronRight} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {Button} from 'components/Button';\nimport type {ButtonSize} from 'components/Button';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport {css} from 'styled-system/css';\n\nexport type PaginationVariant = 'pages' | 'count' | 'compact' | 'none';\n\ninterface PaginationBaseProps {\n /**\n * Additional CSS class names applied to the navigation root.\n */\n className?: string;\n /**\n * Test ID applied to the navigation root.\n */\n 'data-testid'?: string;\n /**\n * Whether another page exists when the total page count is unknown.\n */\n hasMore?: boolean;\n /**\n * Whether the pagination controls are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Pagination'\n */\n label?: string;\n /**\n * Called when the page changes.\n */\n onChange: (page: number) => void;\n /**\n * Current page number, starting at 1.\n */\n page: number;\n /**\n * Number of items per page.\n * @default 10\n */\n pageSize?: number;\n /**\n * Ref forwarded to the navigation root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Number of page buttons to show on each side of the current page.\n * @default 1\n */\n siblingCount?: number;\n /**\n * Control size.\n * @default 'md'\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the navigation root.\n */\n style?: CSSProperties;\n /**\n * Display variant.\n * @default 'pages'\n */\n variant?: PaginationVariant;\n}\n\nexport type PaginationProps = PaginationBaseProps &\n (\n | {totalItems: number; totalPages?: never}\n | {totalItems?: never; totalPages: number}\n | {totalItems?: never; totalPages?: never}\n );\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '4',\n }),\n controls: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n }),\n ellipsis: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n userSelect: 'none',\n }),\n infoText: css({\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n }),\n activePage: css({\n bg: 'bg.hover',\n fontWeight: 'medium',\n }),\n} as const;\n\nfunction generatePageRange(\n currentPage: number,\n totalPages: number,\n siblingCount: number,\n): (number | '...')[] {\n const totalSlots = 5 + 2 * siblingCount;\n\n if (totalPages <= totalSlots) {\n return Array.from({length: totalPages}, (_, index) => index + 1);\n }\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages);\n const showLeftEllipsis = leftSiblingIndex > 2;\n const showRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = 3 + 2 * siblingCount;\n return [\n ...Array.from({length: leftRange}, (_, index) => index + 1),\n '...',\n totalPages,\n ];\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = 3 + 2 * siblingCount;\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightRange},\n (_, index) => totalPages - rightRange + index + 1,\n ),\n ];\n }\n\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightSiblingIndex - leftSiblingIndex + 1},\n (_, index) => leftSiblingIndex + index,\n ),\n '...',\n totalPages,\n ];\n}\n\n/**\n * Page navigation controls with multiple display variants\n * (numbered pages, count summary, compact label, or none).\n */\nexport function Pagination({\n className,\n 'data-testid': dataTestId,\n hasMore,\n isDisabled = false,\n label = 'Pagination',\n onChange,\n page: pageFromProps,\n pageSize: pageSizeFromProps = 10,\n ref,\n siblingCount: siblingCountFromProps = 1,\n size = 'md',\n style,\n totalItems,\n totalPages: totalPagesProp,\n variant = 'pages',\n}: PaginationProps): React.JSX.Element | null {\n const siblingCount = Math.max(0, siblingCountFromProps);\n const pageSize = Math.max(1, pageSizeFromProps);\n const computedTotalPages =\n totalPagesProp ??\n (totalItems != null ? Math.ceil(totalItems / pageSize) : undefined);\n const page = Math.max(\n 1,\n computedTotalPages != null\n ? Math.min(pageFromProps, computedTotalPages)\n : pageFromProps,\n );\n const hasPrevious = page > 1;\n const hasNext =\n computedTotalPages != null ? page < computedTotalPages : (hasMore ?? false);\n\n const pageRange = useMemo(\n () =>\n computedTotalPages != null\n ? generatePageRange(page, computedTotalPages, siblingCount)\n : [],\n [page, computedTotalPages, siblingCount],\n );\n\n if (totalItems != null && totalItems <= 0) {\n return null;\n }\n\n if (computedTotalPages != null && computedTotalPages <= 0) {\n return null;\n }\n\n const handlePageChange = (newPage: number) => {\n if (isDisabled) {\n return;\n }\n\n onChange(newPage);\n };\n\n const rangeStart = (page - 1) * pageSize + 1;\n const rangeEnd =\n totalItems == null\n ? page * pageSize\n : Math.min(page * pageSize, totalItems);\n\n const renderIndicator = () => {\n switch (variant) {\n case 'pages': {\n if (computedTotalPages == null) {\n return null;\n }\n\n return pageRange.map((item, index) => {\n if (item === '...') {\n return (\n <span\n aria-hidden=\"true\"\n className={styles.ellipsis}\n key={`ellipsis-${pageRange[index - 1]}-${pageRange[index + 1]}`}>\n ...\n </span>\n );\n }\n\n const isActive = item === page;\n return (\n <Button\n aria-current={isActive ? 'page' : undefined}\n aria-label={\n isActive ? `Page ${item}, current page` : `Go to page ${item}`\n }\n className={isActive ? styles.activePage : undefined}\n isDisabled={isDisabled}\n key={item}\n label={String(item)}\n onClick={isActive ? undefined : () => handlePageChange(item)}\n size={size}\n variant=\"ghost\"\n />\n );\n });\n }\n\n case 'count':\n return totalItems == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`${rangeStart}-${rangeEnd} of ${totalItems}`}\n </Text>\n </span>\n );\n\n case 'compact':\n return computedTotalPages == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`Page ${page} of ${computedTotalPages}`}\n </Text>\n </span>\n );\n\n case 'none':\n default:\n return null;\n }\n };\n\n return (\n <nav\n aria-label={label}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={styles.controls}>\n <Button\n icon={ChevronLeft}\n isDisabled={isDisabled || !hasPrevious}\n isIconOnly\n label=\"Go to previous page\"\n onClick={() => handlePageChange(page - 1)}\n size={size}\n variant=\"ghost\"\n />\n {renderIndicator()}\n <Button\n icon={ChevronRight}\n isDisabled={isDisabled || !hasNext}\n isIconOnly\n label=\"Go to next page\"\n onClick={() => handlePageChange(page + 1)}\n size={size}\n variant=\"ghost\"\n />\n </div>\n </nav>\n );\n}\n\nPagination.displayName = 'Pagination';\n"]}
1
+ {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"names":["css","useMemo","jsx","Button","Text","cx","jsxs","ChevronLeft","ChevronRight"],"mappings":"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","file":"chunk-GIZ7DK3W.cjs","sourcesContent":["'use client';\n\nimport {ChevronLeft, ChevronRight} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {Button} from 'components/Button';\nimport type {ButtonSize} from 'components/Button';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport {css} from 'styled-system/css';\n\nexport type PaginationVariant = 'pages' | 'count' | 'compact' | 'none';\n\ninterface PaginationBaseProps {\n /**\n * Additional CSS class names applied to the navigation root.\n */\n className?: string;\n /**\n * Test ID applied to the navigation root.\n */\n 'data-testid'?: string;\n /**\n * Whether another page exists when the total page count is unknown.\n */\n hasMore?: boolean;\n /**\n * Whether the pagination controls are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Pagination'\n */\n label?: string;\n /**\n * Called when the page changes.\n */\n onChange: (page: number) => void;\n /**\n * Current page number, starting at 1.\n */\n page: number;\n /**\n * Number of items per page.\n * @default 10\n */\n pageSize?: number;\n /**\n * Ref forwarded to the navigation root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Number of page buttons to show on each side of the current page.\n * @default 1\n */\n siblingCount?: number;\n /**\n * Control size.\n * @default 'md'\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the navigation root.\n */\n style?: CSSProperties;\n /**\n * Display variant.\n * @default 'pages'\n */\n variant?: PaginationVariant;\n}\n\nexport type PaginationProps = PaginationBaseProps &\n (\n | {totalItems: number; totalPages?: never}\n | {totalItems?: never; totalPages: number}\n | {totalItems?: never; totalPages?: never}\n );\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '4',\n }),\n controls: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n }),\n ellipsis: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n userSelect: 'none',\n }),\n infoText: css({\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n }),\n activePage: css({\n bg: 'bg.hover',\n fontWeight: 'medium',\n }),\n} as const;\n\nfunction generatePageRange(\n currentPage: number,\n totalPages: number,\n siblingCount: number,\n): (number | '...')[] {\n const totalSlots = 5 + 2 * siblingCount;\n\n if (totalPages <= totalSlots) {\n return Array.from({length: totalPages}, (_, index) => index + 1);\n }\n\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages);\n const showLeftEllipsis = leftSiblingIndex > 2;\n const showRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (!showLeftEllipsis && showRightEllipsis) {\n const leftRange = 3 + 2 * siblingCount;\n return [\n ...Array.from({length: leftRange}, (_, index) => index + 1),\n '...',\n totalPages,\n ];\n }\n\n if (showLeftEllipsis && !showRightEllipsis) {\n const rightRange = 3 + 2 * siblingCount;\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightRange},\n (_, index) => totalPages - rightRange + index + 1,\n ),\n ];\n }\n\n return [\n 1,\n '...',\n ...Array.from(\n {length: rightSiblingIndex - leftSiblingIndex + 1},\n (_, index) => leftSiblingIndex + index,\n ),\n '...',\n totalPages,\n ];\n}\n\n/**\n * Page navigation controls with multiple display variants\n * (numbered pages, count summary, compact label, or none).\n */\nexport function Pagination({\n className,\n 'data-testid': dataTestId,\n hasMore,\n isDisabled = false,\n label = 'Pagination',\n onChange,\n page: pageFromProps,\n pageSize: pageSizeFromProps = 10,\n ref,\n siblingCount: siblingCountFromProps = 1,\n size = 'md',\n style,\n totalItems,\n totalPages: totalPagesProp,\n variant = 'pages',\n}: PaginationProps): React.JSX.Element | null {\n const siblingCount = Math.max(0, siblingCountFromProps);\n const pageSize = Math.max(1, pageSizeFromProps);\n const computedTotalPages =\n totalPagesProp ??\n (totalItems != null ? Math.ceil(totalItems / pageSize) : undefined);\n const page = Math.max(\n 1,\n computedTotalPages != null\n ? Math.min(pageFromProps, computedTotalPages)\n : pageFromProps,\n );\n const hasPrevious = page > 1;\n const hasNext =\n computedTotalPages != null ? page < computedTotalPages : (hasMore ?? false);\n\n const pageRange = useMemo(\n () =>\n computedTotalPages != null\n ? generatePageRange(page, computedTotalPages, siblingCount)\n : [],\n [page, computedTotalPages, siblingCount],\n );\n\n if (totalItems != null && totalItems <= 0) {\n return null;\n }\n\n if (computedTotalPages != null && computedTotalPages <= 0) {\n return null;\n }\n\n const handlePageChange = (newPage: number) => {\n if (isDisabled) {\n return;\n }\n\n onChange(newPage);\n };\n\n const rangeStart = (page - 1) * pageSize + 1;\n const rangeEnd =\n totalItems == null\n ? page * pageSize\n : Math.min(page * pageSize, totalItems);\n\n const renderIndicator = () => {\n switch (variant) {\n case 'pages': {\n if (computedTotalPages == null) {\n return null;\n }\n\n return pageRange.map((item, index) => {\n if (item === '...') {\n return (\n <span\n aria-hidden=\"true\"\n className={styles.ellipsis}\n key={`ellipsis-${pageRange[index - 1]}-${pageRange[index + 1]}`}>\n ...\n </span>\n );\n }\n\n const isActive = item === page;\n return (\n <Button\n aria-current={isActive ? 'page' : undefined}\n aria-label={\n isActive ? `Page ${item}, current page` : `Go to page ${item}`\n }\n className={isActive ? styles.activePage : undefined}\n isDisabled={isDisabled}\n key={item}\n label={String(item)}\n onClick={isActive ? undefined : () => handlePageChange(item)}\n size={size}\n variant=\"ghost\"\n />\n );\n });\n }\n\n case 'count':\n return totalItems == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`${rangeStart}-${rangeEnd} of ${totalItems}`}\n </Text>\n </span>\n );\n\n case 'compact':\n return computedTotalPages == null ? null : (\n <span aria-live=\"polite\" className={styles.infoText}>\n <Text color=\"primary\" size=\"sm\" type=\"body\">\n {`Page ${page} of ${computedTotalPages}`}\n </Text>\n </span>\n );\n\n case 'none':\n default:\n return null;\n }\n };\n\n return (\n <nav\n aria-label={label}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={styles.controls}>\n <Button\n icon={ChevronLeft}\n isDisabled={isDisabled || !hasPrevious}\n isIconOnly\n label=\"Go to previous page\"\n onClick={() => handlePageChange(page - 1)}\n size={size}\n variant=\"ghost\"\n />\n {renderIndicator()}\n <Button\n icon={ChevronRight}\n isDisabled={isDisabled || !hasNext}\n isIconOnly\n label=\"Go to next page\"\n onClick={() => handlePageChange(page + 1)}\n size={size}\n variant=\"ghost\"\n />\n </div>\n </nav>\n );\n}\n\nPagination.displayName = 'Pagination';\n"]}
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
  import { useSelectListbox, renderSelectListboxOptions } from './chunk-AUXMMTKN.js';
3
- import { Item } from './chunk-CTXAQNQI.js';
3
+ import { Item } from './chunk-YBMIXGFM.js';
4
4
  import { inputRecipe } from './chunk-KB36TWOU.js';
5
- import { getNecessity, Field } from './chunk-PZBY3JI7.js';
6
- import { Popover } from './chunk-TUUYGOLQ.js';
7
- import { Button } from './chunk-JJ32AVLU.js';
8
- import { Spinner } from './chunk-7SGBGPZW.js';
5
+ import { getNecessity, Field } from './chunk-2EGYYWPB.js';
6
+ import { Popover } from './chunk-YK5BUUZG.js';
7
+ import { Button } from './chunk-J2TQNGUM.js';
8
+ import { Spinner } from './chunk-RM2XLAAU.js';
9
9
  import { Icon } from './chunk-IUW777WZ.js';
10
10
  import { sva } from './chunk-IAVZKGZS.js';
11
11
  import { cx } from './chunk-PPNETWIP.js';
@@ -464,5 +464,5 @@ function SelectOption({
464
464
  SelectOption.displayName = "SelectOption";
465
465
 
466
466
  export { Select, SelectOption };
467
- //# sourceMappingURL=chunk-K57TGBAB.js.map
468
- //# sourceMappingURL=chunk-K57TGBAB.js.map
467
+ //# sourceMappingURL=chunk-H5BUXKYQ.js.map
468
+ //# sourceMappingURL=chunk-H5BUXKYQ.js.map