boreal-ui 0.0.73 → 0.0.75

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 (428) hide show
  1. package/dist/core/{Avatar-Ct2kXkNR.js → Avatar-CHatDRhp.js} +2 -2
  2. package/dist/core/{Avatar-Ct2kXkNR.js.map → Avatar-CHatDRhp.js.map} +1 -1
  3. package/dist/core/Avatar.js +1 -1
  4. package/dist/core/{Badge-BOd5dF4l.js → Badge-DwWiN50f.js} +2 -2
  5. package/dist/core/{Badge-BOd5dF4l.js.map → Badge-DwWiN50f.js.map} +1 -1
  6. package/dist/core/Badge.js +1 -1
  7. package/dist/core/{Breadcrumbs-C1Z59ffV.js → Breadcrumbs-kbOyaea6.js} +3 -3
  8. package/dist/core/{Breadcrumbs-C1Z59ffV.js.map → Breadcrumbs-kbOyaea6.js.map} +1 -1
  9. package/dist/core/Breadcrumbs.js +1 -1
  10. package/dist/core/{Button-IALg9VKr.js → Button-CneoIlVV.js} +2 -2
  11. package/dist/core/{Button-IALg9VKr.js.map → Button-CneoIlVV.js.map} +1 -1
  12. package/dist/core/Button.js +1 -1
  13. package/dist/core/{Card-dazG4EK1.js → Card-CZY1qzwZ.js} +4 -4
  14. package/dist/core/{Card-dazG4EK1.js.map → Card-CZY1qzwZ.js.map} +1 -1
  15. package/dist/core/Card.js +1 -1
  16. package/dist/core/CheckBox.js +1 -1
  17. package/dist/core/{Checkbox-DmMDTc5Z.js → Checkbox-BuFcBJb9.js} +2 -2
  18. package/dist/core/{Checkbox-DmMDTc5Z.js.map → Checkbox-BuFcBJb9.js.map} +1 -1
  19. package/dist/core/{Chip-DSBIjvJZ.js → Chip-DoRSxZKk.js} +3 -3
  20. package/dist/core/{Chip-DSBIjvJZ.js.map → Chip-DoRSxZKk.js.map} +1 -1
  21. package/dist/core/Chip.js +1 -1
  22. package/dist/core/{CommandPalette-BBjIib6T.js → CommandPalette-0uVG4iR2.js} +3 -3
  23. package/dist/core/{CommandPalette-BBjIib6T.js.map → CommandPalette-0uVG4iR2.js.map} +1 -1
  24. package/dist/core/CommandPalette.js +1 -1
  25. package/dist/core/{DateTimePicker-u2p4sBbR.js → DateTimePicker-wO_P5Ab1.js} +2 -2
  26. package/dist/core/{DateTimePicker-u2p4sBbR.js.map → DateTimePicker-wO_P5Ab1.js.map} +1 -1
  27. package/dist/core/DateTimePicker.js +1 -1
  28. package/dist/core/{Dropdown-BGJ8mGhg.js → Dropdown-BEPGhf-i.js} +3 -3
  29. package/dist/core/{Dropdown-BGJ8mGhg.js.map → Dropdown-BEPGhf-i.js.map} +1 -1
  30. package/dist/core/Dropdown.js +1 -1
  31. package/dist/core/{EmptyState-CCSPIDo3.js → EmptyState-CM7nlKER.js} +3 -3
  32. package/dist/core/{EmptyState-CCSPIDo3.js.map → EmptyState-CM7nlKER.js.map} +1 -1
  33. package/dist/core/EmptyState.js +1 -1
  34. package/dist/core/{FileUpload-BWjOciA3.js → FileUpload-CPZetlXM.js} +5 -5
  35. package/dist/core/{FileUpload-BWjOciA3.js.map → FileUpload-CPZetlXM.js.map} +1 -1
  36. package/dist/core/FileUpload.js +1 -1
  37. package/dist/core/{Footer-CkSzN_PI.js → Footer-Q_60pe6o.js} +5 -5
  38. package/dist/core/{Footer-CkSzN_PI.js.map → Footer-Q_60pe6o.js.map} +1 -1
  39. package/dist/core/Footer.js +1 -1
  40. package/dist/core/{IconButton-ChJJCB4O.js → IconButton-By8zuXrs.js} +2 -2
  41. package/dist/core/{IconButton-ChJJCB4O.js.map → IconButton-By8zuXrs.js.map} +1 -1
  42. package/dist/core/IconButton.js +1 -1
  43. package/dist/core/{MessagePopup-D6xuwdAv.js → MessagePopup-D6ljI_rQ.js} +3 -3
  44. package/dist/core/{MessagePopup-D6xuwdAv.js.map → MessagePopup-D6ljI_rQ.js.map} +1 -1
  45. package/dist/core/MessagePopup.js +1 -1
  46. package/dist/core/{MetricBox-BlkBoGCL.js → MetricBox-DTn2x1vz.js} +2 -2
  47. package/dist/core/{MetricBox-BlkBoGCL.js.map → MetricBox-DTn2x1vz.js.map} +1 -1
  48. package/dist/core/MetricBox.js +1 -1
  49. package/dist/core/{Modal-DhpY3Kt6.cjs → Modal-B9FXClBr.cjs} +4 -4
  50. package/dist/core/Modal-B9FXClBr.cjs.map +1 -0
  51. package/dist/core/{Modal-DVz_GNOL.js → Modal-CW8jt0lU.js} +5 -5
  52. package/dist/core/Modal-CW8jt0lU.js.map +1 -0
  53. package/dist/core/Modal.cjs.js +1 -1
  54. package/dist/core/Modal.js +1 -1
  55. package/dist/core/{NotificationCenter-MTRIDmMm.js → NotificationCenter-DA-WGPP9.js} +3 -3
  56. package/dist/core/{NotificationCenter-MTRIDmMm.js.map → NotificationCenter-DA-WGPP9.js.map} +1 -1
  57. package/dist/core/NotificationCenter.js +1 -1
  58. package/dist/core/{Pager-B2MEqAOV.js → Pager-B4hyIUdo.js} +4 -4
  59. package/dist/core/{Pager-B2MEqAOV.js.map → Pager-B4hyIUdo.js.map} +1 -1
  60. package/dist/core/Pager-wl7_umU4.cjs.map +1 -1
  61. package/dist/core/Pager.js +1 -1
  62. package/dist/core/{PopOver-lRqOHUJg.js → PopOver-DCuqGQ_j.js} +2 -2
  63. package/dist/core/{PopOver-lRqOHUJg.js.map → PopOver-DCuqGQ_j.js.map} +1 -1
  64. package/dist/core/PopOver.js +1 -1
  65. package/dist/core/{ProgressBar-pVPs5lsA.js → ProgressBar-BxzX6yn1.js} +2 -2
  66. package/dist/core/{ProgressBar-pVPs5lsA.js.map → ProgressBar-BxzX6yn1.js.map} +1 -1
  67. package/dist/core/ProgressBar.js +1 -1
  68. package/dist/core/{Select-CeyJGftD.js → Select-BXIz5BbU.js} +2 -2
  69. package/dist/core/{Select-CeyJGftD.js.map → Select-BXIz5BbU.js.map} +1 -1
  70. package/dist/core/Select.js +1 -1
  71. package/dist/core/{Sidebar-BWzuQw-r.js → Sidebar-Bi7elIRO.js} +2 -2
  72. package/dist/core/{Sidebar-BWzuQw-r.js.map → Sidebar-Bi7elIRO.js.map} +1 -1
  73. package/dist/core/Sidebar.js +1 -1
  74. package/dist/core/{Slider-Dxcryk5j.js → Slider-CW11kjMv.js} +2 -2
  75. package/dist/core/{Slider-Dxcryk5j.js.map → Slider-CW11kjMv.js.map} +1 -1
  76. package/dist/core/Slider.js +1 -1
  77. package/dist/core/{Stepper-SDJM-Jju.js → Stepper-CLfy0_gZ.js} +3 -3
  78. package/dist/core/{Stepper-SDJM-Jju.js.map → Stepper-CLfy0_gZ.js.map} +1 -1
  79. package/dist/core/Stepper.js +1 -1
  80. package/dist/core/{Tabs-B4HRqGuB.js → Tabs-DBqWn9j9.js} +2 -2
  81. package/dist/core/{Tabs-B4HRqGuB.js.map → Tabs-DBqWn9j9.js.map} +1 -1
  82. package/dist/core/Tabs.js +1 -1
  83. package/dist/core/{TagInput-CcuMIlmi.js → TagInput-YieWARAt.js} +4 -4
  84. package/dist/core/{TagInput-CcuMIlmi.js.map → TagInput-YieWARAt.js.map} +1 -1
  85. package/dist/core/TagInput.js +1 -1
  86. package/dist/core/{TextArea-Ufou1zw1.js → TextArea-CLLK5k18.js} +2 -2
  87. package/dist/core/{TextArea-Ufou1zw1.js.map → TextArea-CLLK5k18.js.map} +1 -1
  88. package/dist/core/TextArea.js +1 -1
  89. package/dist/core/{TextInput-BaiDGrKw.js → TextInput-Bc2YpcvM.js} +3 -3
  90. package/dist/core/{TextInput-BaiDGrKw.js.map → TextInput-Bc2YpcvM.js.map} +1 -1
  91. package/dist/core/TextInput.js +1 -1
  92. package/dist/core/{ThemeContext-nYSJ_G6L.js → ThemeContext-zE_shsx6.js} +3 -3
  93. package/dist/{next/ThemeContext-nYSJ_G6L.js.map → core/ThemeContext-zE_shsx6.js.map} +1 -1
  94. package/dist/core/ThemeProvider.js +3 -3
  95. package/dist/core/{Timeline-BRLd8boJ.js → Timeline-5mzFplzB.js} +2 -2
  96. package/dist/core/{Timeline-BRLd8boJ.js.map → Timeline-5mzFplzB.js.map} +1 -1
  97. package/dist/core/Timeline.js +1 -1
  98. package/dist/core/{Toggle-DL0Nhwgr.js → Toggle-DCK1KtP5.js} +2 -2
  99. package/dist/core/{Toggle-DL0Nhwgr.js.map → Toggle-DCK1KtP5.js.map} +1 -1
  100. package/dist/core/Toggle.js +1 -1
  101. package/dist/core/{Toolbar-fSghH1_-.js → Toolbar-DLgQqPBh.js} +3 -3
  102. package/dist/core/{Toolbar-fSghH1_-.js.map → Toolbar-DLgQqPBh.js.map} +1 -1
  103. package/dist/core/Toolbar.js +1 -1
  104. package/dist/core/{Tooltip-wKNLA3ua.js → Tooltip-Dua_3tqJ.js} +2 -2
  105. package/dist/core/{Tooltip-wKNLA3ua.js.map → Tooltip-Dua_3tqJ.js.map} +1 -1
  106. package/dist/core/Tooltip.js +1 -1
  107. package/dist/core/Typography-D0hPzK5Y.js.map +1 -1
  108. package/dist/core/Typography-DdTiWRgQ.cjs.map +1 -1
  109. package/dist/core/index.cjs.js +8481 -1
  110. package/dist/core/index.cjs.js.map +1 -1
  111. package/dist/core/index.js +8517 -37
  112. package/dist/core/index.js.map +1 -1
  113. package/dist/next/{Avatar-iZKOY9MH.cjs → Avatar-DL_juTQA.cjs} +3 -3
  114. package/dist/next/{Avatar-iZKOY9MH.cjs.map → Avatar-DL_juTQA.cjs.map} +1 -1
  115. package/dist/next/{Avatar-CiFxswSP.js → Avatar-nnjhILk-.js} +4 -4
  116. package/dist/next/{Avatar-CiFxswSP.js.map → Avatar-nnjhILk-.js.map} +1 -1
  117. package/dist/next/Avatar.cjs.js +1 -1
  118. package/dist/next/Avatar.js +1 -1
  119. package/dist/next/{Badge-WP2DFssv.js → Badge-uyqxj7ag.js} +2 -2
  120. package/dist/next/{Badge-WP2DFssv.js.map → Badge-uyqxj7ag.js.map} +1 -1
  121. package/dist/next/Badge.js +1 -1
  122. package/dist/next/{Breadcrumbs-CV5iM8BP.cjs → Breadcrumbs-CuvOmgFe.cjs} +3 -3
  123. package/dist/next/{Breadcrumbs-CV5iM8BP.cjs.map → Breadcrumbs-CuvOmgFe.cjs.map} +1 -1
  124. package/dist/next/{Breadcrumbs-B60a5DUy.js → Breadcrumbs-D0AmJB4U.js} +4 -4
  125. package/dist/next/{Breadcrumbs-B60a5DUy.js.map → Breadcrumbs-D0AmJB4U.js.map} +1 -1
  126. package/dist/next/Breadcrumbs.cjs.js +1 -1
  127. package/dist/next/Breadcrumbs.js +1 -1
  128. package/dist/next/{Button-DMCOgi4K.cjs → Button-BZmph-Qr.cjs} +2 -2
  129. package/dist/next/{Button-DMCOgi4K.cjs.map → Button-BZmph-Qr.cjs.map} +1 -1
  130. package/dist/next/{Button-BfgUzkgN.js → Button-DWpImTmr.js} +3 -3
  131. package/dist/next/{Button-BfgUzkgN.js.map → Button-DWpImTmr.js.map} +1 -1
  132. package/dist/next/Button.cjs.js +1 -1
  133. package/dist/next/Button.js +1 -1
  134. package/dist/next/{Card-CSFC7mpW.js → Card-DnZOsQLP.js} +5 -5
  135. package/dist/next/{Card-CSFC7mpW.js.map → Card-DnZOsQLP.js.map} +1 -1
  136. package/dist/next/{Card-0Pm8Vjjn.cjs → Card-oPTXIvsb.cjs} +4 -4
  137. package/dist/next/{Card-0Pm8Vjjn.cjs.map → Card-oPTXIvsb.cjs.map} +1 -1
  138. package/dist/next/Card.cjs.js +1 -1
  139. package/dist/next/Card.js +1 -1
  140. package/dist/next/CheckBox.js +1 -1
  141. package/dist/next/{Checkbox-BlWHxhjw.js → Checkbox-CRg5oEdB.js} +2 -2
  142. package/dist/next/{Checkbox-BlWHxhjw.js.map → Checkbox-CRg5oEdB.js.map} +1 -1
  143. package/dist/next/{Chip-CuaKFQku.js → Chip-Cg7khsSn.js} +3 -3
  144. package/dist/next/{Chip-CuaKFQku.js.map → Chip-Cg7khsSn.js.map} +1 -1
  145. package/dist/next/{Chip-CB1mcRA1.cjs → Chip-DpMTNARP.cjs} +2 -2
  146. package/dist/next/{Chip-CB1mcRA1.cjs.map → Chip-DpMTNARP.cjs.map} +1 -1
  147. package/dist/next/Chip.cjs.js +1 -1
  148. package/dist/next/Chip.js +1 -1
  149. package/dist/next/{CommandPalette-BQEJG5yN.cjs → CommandPalette-BvjlLE14.cjs} +2 -2
  150. package/dist/next/{CommandPalette-BQEJG5yN.cjs.map → CommandPalette-BvjlLE14.cjs.map} +1 -1
  151. package/dist/next/{CommandPalette-Cxx3Ey9J.js → CommandPalette-D6R9_gmo.js} +3 -3
  152. package/dist/next/{CommandPalette-Cxx3Ey9J.js.map → CommandPalette-D6R9_gmo.js.map} +1 -1
  153. package/dist/next/CommandPalette.cjs.js +1 -1
  154. package/dist/next/CommandPalette.js +1 -1
  155. package/dist/next/{DateTimePicker-CdPvr6Mc.js → DateTimePicker-DB2exnHd.js} +2 -2
  156. package/dist/next/{DateTimePicker-CdPvr6Mc.js.map → DateTimePicker-DB2exnHd.js.map} +1 -1
  157. package/dist/next/DateTimePicker.js +1 -1
  158. package/dist/next/{Dropdown-79ZIBUjB.js → Dropdown-B7PgWHlY.js} +3 -3
  159. package/dist/next/{Dropdown-79ZIBUjB.js.map → Dropdown-B7PgWHlY.js.map} +1 -1
  160. package/dist/next/{Dropdown-BfvCn_20.cjs → Dropdown-kQLhr7_M.cjs} +2 -2
  161. package/dist/next/{Dropdown-BfvCn_20.cjs.map → Dropdown-kQLhr7_M.cjs.map} +1 -1
  162. package/dist/next/Dropdown.cjs.js +1 -1
  163. package/dist/next/Dropdown.js +1 -1
  164. package/dist/next/{EmptyState-Dy1Xeyzp.cjs → EmptyState-BH1X81TH.cjs} +2 -2
  165. package/dist/next/{EmptyState-Dy1Xeyzp.cjs.map → EmptyState-BH1X81TH.cjs.map} +1 -1
  166. package/dist/next/{EmptyState-oXCSBosz.js → EmptyState-DCCDQWOQ.js} +3 -3
  167. package/dist/next/{EmptyState-oXCSBosz.js.map → EmptyState-DCCDQWOQ.js.map} +1 -1
  168. package/dist/next/EmptyState.cjs.js +1 -1
  169. package/dist/next/EmptyState.js +1 -1
  170. package/dist/next/{FileUpload-qiY8YpDz.js → FileUpload-BQW5ol7P.js} +5 -5
  171. package/dist/next/{FileUpload-qiY8YpDz.js.map → FileUpload-BQW5ol7P.js.map} +1 -1
  172. package/dist/next/{FileUpload-C1DVXFK7.cjs → FileUpload-C9Ke2cTs.cjs} +3 -3
  173. package/dist/next/{FileUpload-C1DVXFK7.cjs.map → FileUpload-C9Ke2cTs.cjs.map} +1 -1
  174. package/dist/next/FileUpload.cjs.js +1 -1
  175. package/dist/next/FileUpload.js +1 -1
  176. package/dist/next/{Footer-DIPBB0is.js → Footer-Dl_wQwsb.js} +7 -7
  177. package/dist/next/{Footer-DIPBB0is.js.map → Footer-Dl_wQwsb.js.map} +1 -1
  178. package/dist/next/{Footer-4L7pu4Gp.cjs → Footer-i9rgxATK.cjs} +4 -4
  179. package/dist/next/{Footer-4L7pu4Gp.cjs.map → Footer-i9rgxATK.cjs.map} +1 -1
  180. package/dist/next/Footer.cjs.js +1 -1
  181. package/dist/next/Footer.js +1 -1
  182. package/dist/next/{IconButton-C4OC99ig.cjs → IconButton-4ySBEhn1.cjs} +2 -2
  183. package/dist/next/{IconButton-C4OC99ig.cjs.map → IconButton-4ySBEhn1.cjs.map} +1 -1
  184. package/dist/next/{IconButton-CNiln4Qf.js → IconButton-BWw3WPaS.js} +3 -3
  185. package/dist/next/{IconButton-CNiln4Qf.js.map → IconButton-BWw3WPaS.js.map} +1 -1
  186. package/dist/next/IconButton.cjs.js +1 -1
  187. package/dist/next/IconButton.js +1 -1
  188. package/dist/next/{MessagePopup-BscnzqBa.js → MessagePopup-DIrdAeyg.js} +3 -3
  189. package/dist/next/{MessagePopup-BscnzqBa.js.map → MessagePopup-DIrdAeyg.js.map} +1 -1
  190. package/dist/next/{MessagePopup-lIFn7LZ2.cjs → MessagePopup-D_gZy6eH.cjs} +3 -3
  191. package/dist/next/{MessagePopup-lIFn7LZ2.cjs.map → MessagePopup-D_gZy6eH.cjs.map} +1 -1
  192. package/dist/next/MessagePopup.cjs.js +1 -1
  193. package/dist/next/MessagePopup.js +1 -1
  194. package/dist/next/{MetricBox-Br-_66aB.js → MetricBox-D9-RmZoy.js} +2 -2
  195. package/dist/next/{MetricBox-Br-_66aB.js.map → MetricBox-D9-RmZoy.js.map} +1 -1
  196. package/dist/next/MetricBox.js +1 -1
  197. package/dist/next/{Modal-Baxb-_FV.cjs → Modal-D7hNuMII.cjs} +5 -5
  198. package/dist/next/Modal-D7hNuMII.cjs.map +1 -0
  199. package/dist/next/{Modal-ClsOP_6R.js → Modal-Dre8TMtr.js} +5 -5
  200. package/dist/next/Modal-Dre8TMtr.js.map +1 -0
  201. package/dist/next/Modal.cjs.js +1 -1
  202. package/dist/next/Modal.js +1 -1
  203. package/dist/next/{NavBar-BXnGlk49.cjs → NavBar-d-Hx7gkg.cjs} +3 -3
  204. package/dist/next/{NavBar-BXnGlk49.cjs.map → NavBar-d-Hx7gkg.cjs.map} +1 -1
  205. package/dist/next/{NavBar-Bmf1C-io.js → NavBar-dpbPYT0w.js} +3 -3
  206. package/dist/next/{NavBar-Bmf1C-io.js.map → NavBar-dpbPYT0w.js.map} +1 -1
  207. package/dist/next/NavBar.cjs.js +1 -1
  208. package/dist/next/NavBar.js +1 -1
  209. package/dist/next/{NotificationCenter-BrXxvcLm.js → NotificationCenter-BrAzv2oD.js} +3 -3
  210. package/dist/next/{NotificationCenter-BrXxvcLm.js.map → NotificationCenter-BrAzv2oD.js.map} +1 -1
  211. package/dist/next/{NotificationCenter-XcbhUqkh.cjs → NotificationCenter-JIX-pouI.cjs} +3 -3
  212. package/dist/next/{NotificationCenter-XcbhUqkh.cjs.map → NotificationCenter-JIX-pouI.cjs.map} +1 -1
  213. package/dist/next/NotificationCenter.cjs.js +1 -1
  214. package/dist/next/NotificationCenter.js +1 -1
  215. package/dist/next/{Pager-Dq-KkMmi.js → Pager-DFKfUn1s.js} +4 -4
  216. package/dist/next/{Pager-Dq-KkMmi.js.map → Pager-DFKfUn1s.js.map} +1 -1
  217. package/dist/next/{Pager-DesOcELM.cjs → Pager-DcibmVu1.cjs} +3 -3
  218. package/dist/next/{Pager-DesOcELM.cjs.map → Pager-DcibmVu1.cjs.map} +1 -1
  219. package/dist/next/Pager.cjs.js +1 -1
  220. package/dist/next/Pager.js +1 -1
  221. package/dist/next/{PopOver-Dp_vC53_.js → PopOver-CUON_Abe.js} +2 -2
  222. package/dist/next/{PopOver-Dp_vC53_.js.map → PopOver-CUON_Abe.js.map} +1 -1
  223. package/dist/next/PopOver.js +1 -1
  224. package/dist/next/{ProgressBar-Bf_ZzYzI.js → ProgressBar-CMYDs8uL.js} +2 -2
  225. package/dist/next/{ProgressBar-Bf_ZzYzI.js.map → ProgressBar-CMYDs8uL.js.map} +1 -1
  226. package/dist/next/ProgressBar.js +1 -1
  227. package/dist/next/{Select-DPL__SwJ.js → Select-b8fO1q2K.js} +2 -2
  228. package/dist/next/{Select-DPL__SwJ.js.map → Select-b8fO1q2K.js.map} +1 -1
  229. package/dist/next/Select.js +1 -1
  230. package/dist/next/{Sidebar-CWjyCeQj.js → Sidebar-BwW51HwF.js} +4 -4
  231. package/dist/next/{Sidebar-CWjyCeQj.js.map → Sidebar-BwW51HwF.js.map} +1 -1
  232. package/dist/next/{Sidebar-BXmF-Nl2.cjs → Sidebar-U5BQKtKR.cjs} +3 -3
  233. package/dist/next/{Sidebar-BXmF-Nl2.cjs.map → Sidebar-U5BQKtKR.cjs.map} +1 -1
  234. package/dist/next/Sidebar.cjs.js +1 -1
  235. package/dist/next/Sidebar.js +1 -1
  236. package/dist/next/{Slider-BC9XlsEQ.js → Slider-DOGkUQYT.js} +2 -2
  237. package/dist/next/{Slider-BC9XlsEQ.js.map → Slider-DOGkUQYT.js.map} +1 -1
  238. package/dist/next/Slider.js +1 -1
  239. package/dist/next/{Stepper-P9DL0HZW.cjs → Stepper-C0cNzpY8.cjs} +2 -2
  240. package/dist/next/{Stepper-P9DL0HZW.cjs.map → Stepper-C0cNzpY8.cjs.map} +1 -1
  241. package/dist/next/{Stepper-CTd99d_F.js → Stepper-CSh2wccK.js} +3 -3
  242. package/dist/next/{Stepper-CTd99d_F.js.map → Stepper-CSh2wccK.js.map} +1 -1
  243. package/dist/next/Stepper.cjs.js +1 -1
  244. package/dist/next/Stepper.js +1 -1
  245. package/dist/next/{Tabs-tZjEVd-U.js → Tabs-Dors0bVs.js} +2 -2
  246. package/dist/next/{Tabs-tZjEVd-U.js.map → Tabs-Dors0bVs.js.map} +1 -1
  247. package/dist/next/Tabs.js +1 -1
  248. package/dist/next/{TagInput-CXvw8ogs.js → TagInput-V3zvXcNq.js} +4 -4
  249. package/dist/next/{TagInput-CXvw8ogs.js.map → TagInput-V3zvXcNq.js.map} +1 -1
  250. package/dist/next/{TagInput-DldSDmHu.cjs → TagInput-ceV9Jjqe.cjs} +3 -3
  251. package/dist/next/{TagInput-DldSDmHu.cjs.map → TagInput-ceV9Jjqe.cjs.map} +1 -1
  252. package/dist/next/TagInput.cjs.js +1 -1
  253. package/dist/next/TagInput.js +1 -1
  254. package/dist/next/{TextArea-CWscnEZW.js → TextArea-BSO1_gaS.js} +2 -2
  255. package/dist/next/{TextArea-CWscnEZW.js.map → TextArea-BSO1_gaS.js.map} +1 -1
  256. package/dist/next/TextArea.js +1 -1
  257. package/dist/next/{TextInput-cfBWD6de.cjs → TextInput-7nN8g78V.cjs} +2 -2
  258. package/dist/next/{TextInput-cfBWD6de.cjs.map → TextInput-7nN8g78V.cjs.map} +1 -1
  259. package/dist/next/{TextInput-3ZD3ccXf.js → TextInput-yUHEWbdK.js} +3 -3
  260. package/dist/next/{TextInput-3ZD3ccXf.js.map → TextInput-yUHEWbdK.js.map} +1 -1
  261. package/dist/next/TextInput.cjs.js +1 -1
  262. package/dist/next/TextInput.js +1 -1
  263. package/dist/next/{ThemeContext-nYSJ_G6L.js → ThemeContext-zE_shsx6.js} +3 -3
  264. package/dist/{core/ThemeContext-nYSJ_G6L.js.map → next/ThemeContext-zE_shsx6.js.map} +1 -1
  265. package/dist/next/ThemeProvider.js +3 -3
  266. package/dist/next/{Timeline-Bd6k_2az.js → Timeline-BTsKMULd.js} +2 -2
  267. package/dist/next/{Timeline-Bd6k_2az.js.map → Timeline-BTsKMULd.js.map} +1 -1
  268. package/dist/next/Timeline.js +1 -1
  269. package/dist/next/{Toggle-Bl8weXv8.js → Toggle-BomUbOZa.js} +2 -2
  270. package/dist/next/{Toggle-Bl8weXv8.js.map → Toggle-BomUbOZa.js.map} +1 -1
  271. package/dist/next/Toggle.js +1 -1
  272. package/dist/next/{Toolbar-DyzNvwQv.js → Toolbar-Be-YQqmX.js} +3 -3
  273. package/dist/next/{Toolbar-DyzNvwQv.js.map → Toolbar-Be-YQqmX.js.map} +1 -1
  274. package/dist/next/{Toolbar-s0krbHKU.cjs → Toolbar-roQbIEcD.cjs} +2 -2
  275. package/dist/next/{Toolbar-s0krbHKU.cjs.map → Toolbar-roQbIEcD.cjs.map} +1 -1
  276. package/dist/next/Toolbar.cjs.js +1 -1
  277. package/dist/next/Toolbar.js +1 -1
  278. package/dist/next/{Tooltip-Ba5YWT7r.js → Tooltip-lxpnIfpO.js} +2 -2
  279. package/dist/next/{Tooltip-Ba5YWT7r.js.map → Tooltip-lxpnIfpO.js.map} +1 -1
  280. package/dist/next/Tooltip.js +1 -1
  281. package/dist/next/Typography-B6VNZtxH.cjs.map +1 -1
  282. package/dist/next/Typography-BdS7h4Eq.js.map +1 -1
  283. package/dist/next/{image-B9PuwflE.js → image-CvorlI3C.js} +76 -24
  284. package/dist/next/image-CvorlI3C.js.map +1 -0
  285. package/dist/next/{image-Bo_vHlt1.cjs → image-DuTgdWOV.cjs} +76 -24
  286. package/dist/next/image-DuTgdWOV.cjs.map +1 -0
  287. package/dist/next/index.cjs.js +8501 -21
  288. package/dist/next/index.cjs.js.map +1 -1
  289. package/dist/next/index.js +8518 -38
  290. package/dist/next/index.js.map +1 -1
  291. package/dist/next/{link-CyxHztrS.js → link-4NcriBFB.js} +57 -15
  292. package/dist/next/link-4NcriBFB.js.map +1 -0
  293. package/dist/next/{link-B1N-q38H.cjs → link-CenftYXJ.cjs} +56 -14
  294. package/dist/next/link-CenftYXJ.cjs.map +1 -0
  295. package/dist/next/{navigation-C2hD8Jlk.js → navigation-BCeRD3ib.js} +2128 -87
  296. package/dist/next/navigation-BCeRD3ib.js.map +1 -0
  297. package/dist/next/{navigation-C3npGZmO.cjs → navigation-DtjMH66C.cjs} +2128 -87
  298. package/dist/next/navigation-DtjMH66C.cjs.map +1 -0
  299. package/dist/tsconfig.build.tsbuildinfo +1 -1
  300. package/dist/types/components/Modal/Modal.types.d.ts +3 -3
  301. package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
  302. package/dist/types/components/Pager/Pager.types.d.ts +2 -2
  303. package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
  304. package/dist/types/components/Pager/core/Pager.d.ts +2 -2
  305. package/dist/types/components/Pager/core/Pager.d.ts.map +1 -1
  306. package/dist/types/components/Pager/next/Pager.d.ts +2 -2
  307. package/dist/types/components/Pager/next/Pager.d.ts.map +1 -1
  308. package/dist/types/components/Typography/Typography.types.d.ts +2 -2
  309. package/dist/types/components/Typography/Typography.types.d.ts.map +1 -1
  310. package/dist/types/components/Typography/core/Typography.d.ts +1 -2
  311. package/dist/types/components/Typography/core/Typography.d.ts.map +1 -1
  312. package/dist/types/components/Typography/next/Typography.d.ts +1 -2
  313. package/dist/types/components/Typography/next/Typography.d.ts.map +1 -1
  314. package/dist/types/generated-docs/Accordion.props.d.ts +7 -0
  315. package/dist/types/generated-docs/Accordion.props.d.ts.map +1 -0
  316. package/dist/types/generated-docs/Avatar.props.d.ts +7 -0
  317. package/dist/types/generated-docs/Avatar.props.d.ts.map +1 -0
  318. package/dist/types/generated-docs/Badge.props.d.ts +7 -0
  319. package/dist/types/generated-docs/Badge.props.d.ts.map +1 -0
  320. package/dist/types/generated-docs/Breadcrumbs.props.d.ts +7 -0
  321. package/dist/types/generated-docs/Breadcrumbs.props.d.ts.map +1 -0
  322. package/dist/types/generated-docs/Button.props.d.ts +7 -0
  323. package/dist/types/generated-docs/Button.props.d.ts.map +1 -0
  324. package/dist/types/generated-docs/Card.props.d.ts +7 -0
  325. package/dist/types/generated-docs/Card.props.d.ts.map +1 -0
  326. package/dist/types/generated-docs/CheckBox.props.d.ts +7 -0
  327. package/dist/types/generated-docs/CheckBox.props.d.ts.map +1 -0
  328. package/dist/types/generated-docs/Chip.props.d.ts +7 -0
  329. package/dist/types/generated-docs/Chip.props.d.ts.map +1 -0
  330. package/dist/types/generated-docs/ChipGroup.props.d.ts +7 -0
  331. package/dist/types/generated-docs/ChipGroup.props.d.ts.map +1 -0
  332. package/dist/types/generated-docs/CircularProgress.props.d.ts +7 -0
  333. package/dist/types/generated-docs/CircularProgress.props.d.ts.map +1 -0
  334. package/dist/types/generated-docs/ColorPicker.props.d.ts +7 -0
  335. package/dist/types/generated-docs/ColorPicker.props.d.ts.map +1 -0
  336. package/dist/types/generated-docs/CommandPalette.props.d.ts +7 -0
  337. package/dist/types/generated-docs/CommandPalette.props.d.ts.map +1 -0
  338. package/dist/types/generated-docs/DataTable.props.d.ts +7 -0
  339. package/dist/types/generated-docs/DataTable.props.d.ts.map +1 -0
  340. package/dist/types/generated-docs/DateTimePicker.props.d.ts +7 -0
  341. package/dist/types/generated-docs/DateTimePicker.props.d.ts.map +1 -0
  342. package/dist/types/generated-docs/Divider.props.d.ts +7 -0
  343. package/dist/types/generated-docs/Divider.props.d.ts.map +1 -0
  344. package/dist/types/generated-docs/Dropdown.props.d.ts +7 -0
  345. package/dist/types/generated-docs/Dropdown.props.d.ts.map +1 -0
  346. package/dist/types/generated-docs/EmptyState.props.d.ts +7 -0
  347. package/dist/types/generated-docs/EmptyState.props.d.ts.map +1 -0
  348. package/dist/types/generated-docs/FileUpload.props.d.ts +7 -0
  349. package/dist/types/generated-docs/FileUpload.props.d.ts.map +1 -0
  350. package/dist/types/generated-docs/Footer.props.d.ts +7 -0
  351. package/dist/types/generated-docs/Footer.props.d.ts.map +1 -0
  352. package/dist/types/generated-docs/FormGroup.props.d.ts +7 -0
  353. package/dist/types/generated-docs/FormGroup.props.d.ts.map +1 -0
  354. package/dist/types/generated-docs/IconButton.props.d.ts +7 -0
  355. package/dist/types/generated-docs/IconButton.props.d.ts.map +1 -0
  356. package/dist/types/generated-docs/MarkdownRenderer.props.d.ts +7 -0
  357. package/dist/types/generated-docs/MarkdownRenderer.props.d.ts.map +1 -0
  358. package/dist/types/generated-docs/MessagePopup.props.d.ts +7 -0
  359. package/dist/types/generated-docs/MessagePopup.props.d.ts.map +1 -0
  360. package/dist/types/generated-docs/MetricBox.props.d.ts +7 -0
  361. package/dist/types/generated-docs/MetricBox.props.d.ts.map +1 -0
  362. package/dist/types/generated-docs/Modal.props.d.ts +7 -0
  363. package/dist/types/generated-docs/Modal.props.d.ts.map +1 -0
  364. package/dist/types/generated-docs/NavBar.props.d.ts +7 -0
  365. package/dist/types/generated-docs/NavBar.props.d.ts.map +1 -0
  366. package/dist/types/generated-docs/NotificationCenter.props.d.ts +7 -0
  367. package/dist/types/generated-docs/NotificationCenter.props.d.ts.map +1 -0
  368. package/dist/types/generated-docs/Pager.props.d.ts +7 -0
  369. package/dist/types/generated-docs/Pager.props.d.ts.map +1 -0
  370. package/dist/types/generated-docs/Popover.props.d.ts +7 -0
  371. package/dist/types/generated-docs/Popover.props.d.ts.map +1 -0
  372. package/dist/types/generated-docs/ProgressBar.props.d.ts +7 -0
  373. package/dist/types/generated-docs/ProgressBar.props.d.ts.map +1 -0
  374. package/dist/types/generated-docs/RadioButton.props.d.ts +7 -0
  375. package/dist/types/generated-docs/RadioButton.props.d.ts.map +1 -0
  376. package/dist/types/generated-docs/Rating.props.d.ts +7 -0
  377. package/dist/types/generated-docs/Rating.props.d.ts.map +1 -0
  378. package/dist/types/generated-docs/ScrollToTop.props.d.ts +7 -0
  379. package/dist/types/generated-docs/ScrollToTop.props.d.ts.map +1 -0
  380. package/dist/types/generated-docs/Select.props.d.ts +7 -0
  381. package/dist/types/generated-docs/Select.props.d.ts.map +1 -0
  382. package/dist/types/generated-docs/Sidebar.props.d.ts +7 -0
  383. package/dist/types/generated-docs/Sidebar.props.d.ts.map +1 -0
  384. package/dist/types/generated-docs/Skeleton.props.d.ts +7 -0
  385. package/dist/types/generated-docs/Skeleton.props.d.ts.map +1 -0
  386. package/dist/types/generated-docs/Slider.props.d.ts +7 -0
  387. package/dist/types/generated-docs/Slider.props.d.ts.map +1 -0
  388. package/dist/types/generated-docs/Spinner.props.d.ts +7 -0
  389. package/dist/types/generated-docs/Spinner.props.d.ts.map +1 -0
  390. package/dist/types/generated-docs/Stepper.props.d.ts +7 -0
  391. package/dist/types/generated-docs/Stepper.props.d.ts.map +1 -0
  392. package/dist/types/generated-docs/Tabs.props.d.ts +7 -0
  393. package/dist/types/generated-docs/Tabs.props.d.ts.map +1 -0
  394. package/dist/types/generated-docs/TagInput.props.d.ts +7 -0
  395. package/dist/types/generated-docs/TagInput.props.d.ts.map +1 -0
  396. package/dist/types/generated-docs/TextArea.props.d.ts +7 -0
  397. package/dist/types/generated-docs/TextArea.props.d.ts.map +1 -0
  398. package/dist/types/generated-docs/TextInput.props.d.ts +7 -0
  399. package/dist/types/generated-docs/TextInput.props.d.ts.map +1 -0
  400. package/dist/types/generated-docs/Timeline.props.d.ts +7 -0
  401. package/dist/types/generated-docs/Timeline.props.d.ts.map +1 -0
  402. package/dist/types/generated-docs/Toggle.props.d.ts +7 -0
  403. package/dist/types/generated-docs/Toggle.props.d.ts.map +1 -0
  404. package/dist/types/generated-docs/Toolbar.props.d.ts +7 -0
  405. package/dist/types/generated-docs/Toolbar.props.d.ts.map +1 -0
  406. package/dist/types/generated-docs/Tooltip.props.d.ts +7 -0
  407. package/dist/types/generated-docs/Tooltip.props.d.ts.map +1 -0
  408. package/dist/types/generated-docs/Typography.props.d.ts +7 -0
  409. package/dist/types/generated-docs/Typography.props.d.ts.map +1 -0
  410. package/dist/types/generated-docs/index.d.ts +54 -0
  411. package/dist/types/generated-docs/index.d.ts.map +1 -0
  412. package/dist/types/generated-docs/types.d.ts +20 -0
  413. package/dist/types/generated-docs/types.d.ts.map +1 -0
  414. package/dist/types/index.core.d.ts +1 -0
  415. package/dist/types/index.core.d.ts.map +1 -1
  416. package/dist/types/index.next.d.ts +1 -0
  417. package/dist/types/index.next.d.ts.map +1 -1
  418. package/package.json +14 -2
  419. package/dist/core/Modal-DVz_GNOL.js.map +0 -1
  420. package/dist/core/Modal-DhpY3Kt6.cjs.map +0 -1
  421. package/dist/next/Modal-Baxb-_FV.cjs.map +0 -1
  422. package/dist/next/Modal-ClsOP_6R.js.map +0 -1
  423. package/dist/next/image-B9PuwflE.js.map +0 -1
  424. package/dist/next/image-Bo_vHlt1.cjs.map +0 -1
  425. package/dist/next/link-B1N-q38H.cjs.map +0 -1
  426. package/dist/next/link-CyxHztrS.js.map +0 -1
  427. package/dist/next/navigation-C2hD8Jlk.js.map +0 -1
  428. package/dist/next/navigation-C3npGZmO.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar-BXmF-Nl2.cjs","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/next/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\nimport { ChevronDownIcon } from \"@/Icons\";\r\nimport { BaseSidebarProps, SidebarLink } from \"./Sidebar.types\";\r\n\r\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\r\n links,\r\n classMap,\r\n LinkComponent = \"a\",\r\n isLinkActive,\r\n hasActiveChild,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n showFooter = false,\r\n footerLinks,\r\n footerVersion,\r\n outline = false,\r\n className = \"\",\r\n \"data-testid\": testId = \"sidebar\",\r\n \"aria-label\": ariaLabel = \"Sidebar navigation\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n footerAriaLabel = \"Sidebar footer\",\r\n footerAriaLabelledBy,\r\n getExpandButtonAriaLabel,\r\n getExpandButtonAriaDescription,\r\n ...rest\r\n}) => {\r\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\r\n\r\n const idsRef = useRef<Record<string, string>>({});\r\n const seqRef = useRef(0);\r\n\r\n const idFor = (label: string) => {\r\n if (!idsRef.current[label]) {\r\n const slug = label\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9_-]/g, \"\");\r\n idsRef.current[label] = `${testId}-section-${slug}-${seqRef.current++}`;\r\n }\r\n return idsRef.current[label];\r\n };\r\n\r\n useEffect(() => {\r\n const next: Record<string, boolean> = {};\r\n\r\n const walk = (nodes: SidebarLink[]): boolean => {\r\n for (const node of nodes) {\r\n if (node.children?.length) {\r\n const childIsActive =\r\n hasActiveChild?.(node) ??\r\n node.children.some(\r\n (child) =>\r\n (isLinkActive?.(child) ?? false) ||\r\n (!!child.children?.length && walk(child.children)),\r\n );\r\n\r\n if (childIsActive) {\r\n next[node.label] = true;\r\n }\r\n }\r\n }\r\n\r\n return nodes.some(\r\n (node) =>\r\n (isLinkActive?.(node) ?? false) ||\r\n (!!node.children?.length && walk(node.children)),\r\n );\r\n };\r\n\r\n walk(links);\r\n setOpenItems((prev) => ({ ...prev, ...next }));\r\n }, [links, isLinkActive, hasActiveChild]);\r\n\r\n const toggleItem = (key: string) =>\r\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\r\n\r\n const containerClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n className,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n ),\r\n [classMap, className, theme, state, outline, rounding, shadow],\r\n );\r\n\r\n const renderLinks = (items: SidebarLink[], isChild = false) => (\r\n <ul\r\n className={combineClassNames(\r\n classMap.list,\r\n isChild && classMap.childList,\r\n )}\r\n data-testid={`${testId}-list`}\r\n >\r\n {items.map((link, idx) => {\r\n const {\r\n label,\r\n href,\r\n children,\r\n icon,\r\n \"aria-label\": linkAriaLabel,\r\n \"aria-description\": linkAriaDescription,\r\n \"aria-disabled\": linkAriaDisabled,\r\n } = link;\r\n\r\n const key = `${label}-${idx}`;\r\n\r\n const isActive = isLinkActive?.(link) ?? false;\r\n const containsActiveChild =\r\n hasActiveChild?.(link) ??\r\n !!children?.some(\r\n (child) =>\r\n (isLinkActive?.(child) ?? false) ||\r\n (child.children?.length && (hasActiveChild?.(child) ?? false)),\r\n );\r\n\r\n const isOpen = !!openItems[label];\r\n const sectionId = idFor(label);\r\n const buttonId = `${sectionId}-button`;\r\n const panelId = `${sectionId}-panel`;\r\n\r\n return (\r\n <li\r\n key={key}\r\n className={classMap.item}\r\n data-testid={`${testId}-listItem`}\r\n >\r\n {children && children.length > 0 ? (\r\n <>\r\n <button\r\n type=\"button\"\r\n id={buttonId}\r\n className={combineClassNames(\r\n classMap.link,\r\n (isActive || isOpen || containsActiveChild) &&\r\n classMap.active,\r\n )}\r\n onClick={() => toggleItem(label)}\r\n aria-expanded={isOpen}\r\n aria-controls={panelId}\r\n aria-label={\r\n getExpandButtonAriaLabel?.(link, isOpen) ?? linkAriaLabel\r\n }\r\n aria-description={\r\n getExpandButtonAriaDescription?.(link, isOpen) ??\r\n linkAriaDescription\r\n }\r\n aria-disabled={linkAriaDisabled || undefined}\r\n data-testid={`${testId}-expandItemButton`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n <span data-testid={`${testId}-expandItemLabel`}>{label}</span>\r\n <ChevronDownIcon\r\n className={combineClassNames(\r\n classMap.chevron,\r\n isOpen && classMap.chevronOpen,\r\n )}\r\n aria-hidden=\"true\"\r\n focusable={false}\r\n data-testid={`${testId}-expandIcon`}\r\n />\r\n </button>\r\n\r\n <div\r\n id={panelId}\r\n className={combineClassNames(\r\n classMap.submenu,\r\n isOpen && classMap.submenuOpen,\r\n )}\r\n role=\"group\"\r\n aria-labelledby={buttonId}\r\n hidden={!isOpen}\r\n data-testid={`${testId}-subMenu`}\r\n >\r\n {renderLinks(children, true)}\r\n </div>\r\n </>\r\n ) : href ? (\r\n <LinkComponent\r\n href={href}\r\n className={combineClassNames(\r\n classMap.link,\r\n isChild && classMap.childLink,\r\n isActive && classMap.active,\r\n )}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-label={linkAriaLabel}\r\n aria-description={linkAriaDescription}\r\n aria-disabled={linkAriaDisabled || undefined}\r\n data-testid={`${testId}-sidebarLink`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </LinkComponent>\r\n ) : (\r\n <span\r\n className={combineClassNames(\r\n classMap.link,\r\n isChild && classMap.childLink,\r\n )}\r\n aria-label={linkAriaLabel}\r\n aria-description={linkAriaDescription}\r\n aria-disabled={linkAriaDisabled || undefined}\r\n data-testid={`${testId}-sidebarLabel`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </span>\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n\r\n return (\r\n <nav\r\n className={containerClasses}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <div className={classMap.nav}>{renderLinks(links)}</div>\r\n\r\n {showFooter && (\r\n <footer\r\n className={classMap.footer}\r\n aria-label={footerAriaLabelledBy ? undefined : footerAriaLabel}\r\n aria-labelledby={footerAriaLabelledBy}\r\n data-testid={`${testId}-footer`}\r\n >\r\n {footerLinks?.map(\r\n (\r\n {\r\n label,\r\n href,\r\n icon,\r\n \"aria-label\": footerLinkAriaLabel,\r\n \"aria-description\": footerLinkAriaDescription,\r\n \"aria-disabled\": footerLinkAriaDisabled,\r\n },\r\n i,\r\n ) => (\r\n <LinkComponent\r\n key={`${label}-${i}`}\r\n href={href}\r\n className={classMap.footerLink}\r\n aria-label={footerLinkAriaLabel}\r\n aria-description={footerLinkAriaDescription}\r\n aria-disabled={footerLinkAriaDisabled || undefined}\r\n data-testid={`${testId}-footerLink`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </LinkComponent>\r\n ),\r\n )}\r\n {footerVersion && (\r\n <span\r\n className={classMap.footerVersion}\r\n data-testid={`${testId}-footerVersion`}\r\n >\r\n {footerVersion}\r\n </span>\r\n )}\r\n </footer>\r\n )}\r\n </nav>\r\n );\r\n};\r\n\r\nSidebarBase.displayName = \"SidebarBase\";\r\nexport default SidebarBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport SidebarBase from \"../SidebarBase\";\r\nimport styles from \"./Sidebar.module.scss\";\r\nimport { SidebarLink, SidebarProps } from \"../Sidebar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst isDescendantPath = (parentPath: string, currentPath: string): boolean => {\r\n const parent = normalizePath(parentPath);\r\n const current = normalizePath(currentPath);\r\n\r\n if (parent === \"/\") return current === \"/\";\r\n return current === parent || current.startsWith(`${parent}/`);\r\n};\r\n\r\nconst isActiveRecursive = (\r\n link: SidebarLink,\r\n matcher: (link: SidebarLink) => boolean,\r\n): boolean => {\r\n if (matcher(link)) return true;\r\n return !!link.children?.some((child) => isActiveRecursive(child, matcher));\r\n};\r\n\r\nconst Sidebar: React.FC<SidebarProps> = ({\r\n links,\r\n isLinkActive: consumerIsLinkActive,\r\n hasActiveChild: consumerHasActiveChild,\r\n ...rest\r\n}) => {\r\n const pathname = usePathname() || \"/\";\r\n\r\n const defaultIsLinkActive = (link: SidebarLink): boolean => {\r\n if (!link.href) return false;\r\n\r\n if (link.children?.length) {\r\n return isDescendantPath(link.href, pathname);\r\n }\r\n\r\n return normalizePath(link.href) === normalizePath(pathname);\r\n };\r\n\r\n const resolvedIsLinkActive = consumerIsLinkActive ?? defaultIsLinkActive;\r\n\r\n const defaultHasActiveChild = (link: SidebarLink): boolean =>\r\n !!link.children?.some((child) =>\r\n isActiveRecursive(child, resolvedIsLinkActive),\r\n );\r\n\r\n const resolvedHasActiveChild =\r\n consumerHasActiveChild ?? defaultHasActiveChild;\r\n\r\n return (\r\n <SidebarBase\r\n links={links}\r\n classMap={styles}\r\n LinkComponent={Link}\r\n isLinkActive={resolvedIsLinkActive}\r\n hasActiveChild={resolvedHasActiveChild}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nSidebar.displayName = \"Sidebar\";\r\nexport default Sidebar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","footerVersion","outline","useState","useRef","useEffect","_a","useMemo","combineClassNames","capitalize","jsx","link","icon","jsxs","Fragment","ChevronDownIcon","usePathname","Link"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar-U5BQKtKR.cjs","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/next/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\nimport { ChevronDownIcon } from \"@/Icons\";\r\nimport { BaseSidebarProps, SidebarLink } from \"./Sidebar.types\";\r\n\r\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\r\n links,\r\n classMap,\r\n LinkComponent = \"a\",\r\n isLinkActive,\r\n hasActiveChild,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n showFooter = false,\r\n footerLinks,\r\n footerVersion,\r\n outline = false,\r\n className = \"\",\r\n \"data-testid\": testId = \"sidebar\",\r\n \"aria-label\": ariaLabel = \"Sidebar navigation\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n footerAriaLabel = \"Sidebar footer\",\r\n footerAriaLabelledBy,\r\n getExpandButtonAriaLabel,\r\n getExpandButtonAriaDescription,\r\n ...rest\r\n}) => {\r\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\r\n\r\n const idsRef = useRef<Record<string, string>>({});\r\n const seqRef = useRef(0);\r\n\r\n const idFor = (label: string) => {\r\n if (!idsRef.current[label]) {\r\n const slug = label\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9_-]/g, \"\");\r\n idsRef.current[label] = `${testId}-section-${slug}-${seqRef.current++}`;\r\n }\r\n return idsRef.current[label];\r\n };\r\n\r\n useEffect(() => {\r\n const next: Record<string, boolean> = {};\r\n\r\n const walk = (nodes: SidebarLink[]): boolean => {\r\n for (const node of nodes) {\r\n if (node.children?.length) {\r\n const childIsActive =\r\n hasActiveChild?.(node) ??\r\n node.children.some(\r\n (child) =>\r\n (isLinkActive?.(child) ?? false) ||\r\n (!!child.children?.length && walk(child.children)),\r\n );\r\n\r\n if (childIsActive) {\r\n next[node.label] = true;\r\n }\r\n }\r\n }\r\n\r\n return nodes.some(\r\n (node) =>\r\n (isLinkActive?.(node) ?? false) ||\r\n (!!node.children?.length && walk(node.children)),\r\n );\r\n };\r\n\r\n walk(links);\r\n setOpenItems((prev) => ({ ...prev, ...next }));\r\n }, [links, isLinkActive, hasActiveChild]);\r\n\r\n const toggleItem = (key: string) =>\r\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\r\n\r\n const containerClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n className,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n ),\r\n [classMap, className, theme, state, outline, rounding, shadow],\r\n );\r\n\r\n const renderLinks = (items: SidebarLink[], isChild = false) => (\r\n <ul\r\n className={combineClassNames(\r\n classMap.list,\r\n isChild && classMap.childList,\r\n )}\r\n data-testid={`${testId}-list`}\r\n >\r\n {items.map((link, idx) => {\r\n const {\r\n label,\r\n href,\r\n children,\r\n icon,\r\n \"aria-label\": linkAriaLabel,\r\n \"aria-description\": linkAriaDescription,\r\n \"aria-disabled\": linkAriaDisabled,\r\n } = link;\r\n\r\n const key = `${label}-${idx}`;\r\n\r\n const isActive = isLinkActive?.(link) ?? false;\r\n const containsActiveChild =\r\n hasActiveChild?.(link) ??\r\n !!children?.some(\r\n (child) =>\r\n (isLinkActive?.(child) ?? false) ||\r\n (child.children?.length && (hasActiveChild?.(child) ?? false)),\r\n );\r\n\r\n const isOpen = !!openItems[label];\r\n const sectionId = idFor(label);\r\n const buttonId = `${sectionId}-button`;\r\n const panelId = `${sectionId}-panel`;\r\n\r\n return (\r\n <li\r\n key={key}\r\n className={classMap.item}\r\n data-testid={`${testId}-listItem`}\r\n >\r\n {children && children.length > 0 ? (\r\n <>\r\n <button\r\n type=\"button\"\r\n id={buttonId}\r\n className={combineClassNames(\r\n classMap.link,\r\n (isActive || isOpen || containsActiveChild) &&\r\n classMap.active,\r\n )}\r\n onClick={() => toggleItem(label)}\r\n aria-expanded={isOpen}\r\n aria-controls={panelId}\r\n aria-label={\r\n getExpandButtonAriaLabel?.(link, isOpen) ?? linkAriaLabel\r\n }\r\n aria-description={\r\n getExpandButtonAriaDescription?.(link, isOpen) ??\r\n linkAriaDescription\r\n }\r\n aria-disabled={linkAriaDisabled || undefined}\r\n data-testid={`${testId}-expandItemButton`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n <span data-testid={`${testId}-expandItemLabel`}>{label}</span>\r\n <ChevronDownIcon\r\n className={combineClassNames(\r\n classMap.chevron,\r\n isOpen && classMap.chevronOpen,\r\n )}\r\n aria-hidden=\"true\"\r\n focusable={false}\r\n data-testid={`${testId}-expandIcon`}\r\n />\r\n </button>\r\n\r\n <div\r\n id={panelId}\r\n className={combineClassNames(\r\n classMap.submenu,\r\n isOpen && classMap.submenuOpen,\r\n )}\r\n role=\"group\"\r\n aria-labelledby={buttonId}\r\n hidden={!isOpen}\r\n data-testid={`${testId}-subMenu`}\r\n >\r\n {renderLinks(children, true)}\r\n </div>\r\n </>\r\n ) : href ? (\r\n <LinkComponent\r\n href={href}\r\n className={combineClassNames(\r\n classMap.link,\r\n isChild && classMap.childLink,\r\n isActive && classMap.active,\r\n )}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-label={linkAriaLabel}\r\n aria-description={linkAriaDescription}\r\n aria-disabled={linkAriaDisabled || undefined}\r\n data-testid={`${testId}-sidebarLink`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </LinkComponent>\r\n ) : (\r\n <span\r\n className={combineClassNames(\r\n classMap.link,\r\n isChild && classMap.childLink,\r\n )}\r\n aria-label={linkAriaLabel}\r\n aria-description={linkAriaDescription}\r\n aria-disabled={linkAriaDisabled || undefined}\r\n data-testid={`${testId}-sidebarLabel`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </span>\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n\r\n return (\r\n <nav\r\n className={containerClasses}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <div className={classMap.nav}>{renderLinks(links)}</div>\r\n\r\n {showFooter && (\r\n <footer\r\n className={classMap.footer}\r\n aria-label={footerAriaLabelledBy ? undefined : footerAriaLabel}\r\n aria-labelledby={footerAriaLabelledBy}\r\n data-testid={`${testId}-footer`}\r\n >\r\n {footerLinks?.map(\r\n (\r\n {\r\n label,\r\n href,\r\n icon,\r\n \"aria-label\": footerLinkAriaLabel,\r\n \"aria-description\": footerLinkAriaDescription,\r\n \"aria-disabled\": footerLinkAriaDisabled,\r\n },\r\n i,\r\n ) => (\r\n <LinkComponent\r\n key={`${label}-${i}`}\r\n href={href}\r\n className={classMap.footerLink}\r\n aria-label={footerLinkAriaLabel}\r\n aria-description={footerLinkAriaDescription}\r\n aria-disabled={footerLinkAriaDisabled || undefined}\r\n data-testid={`${testId}-footerLink`}\r\n >\r\n {icon && <span className={classMap.icon}>{icon}</span>}\r\n {label}\r\n </LinkComponent>\r\n ),\r\n )}\r\n {footerVersion && (\r\n <span\r\n className={classMap.footerVersion}\r\n data-testid={`${testId}-footerVersion`}\r\n >\r\n {footerVersion}\r\n </span>\r\n )}\r\n </footer>\r\n )}\r\n </nav>\r\n );\r\n};\r\n\r\nSidebarBase.displayName = \"SidebarBase\";\r\nexport default SidebarBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport SidebarBase from \"../SidebarBase\";\r\nimport styles from \"./Sidebar.module.scss\";\r\nimport { SidebarLink, SidebarProps } from \"../Sidebar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst isDescendantPath = (parentPath: string, currentPath: string): boolean => {\r\n const parent = normalizePath(parentPath);\r\n const current = normalizePath(currentPath);\r\n\r\n if (parent === \"/\") return current === \"/\";\r\n return current === parent || current.startsWith(`${parent}/`);\r\n};\r\n\r\nconst isActiveRecursive = (\r\n link: SidebarLink,\r\n matcher: (link: SidebarLink) => boolean,\r\n): boolean => {\r\n if (matcher(link)) return true;\r\n return !!link.children?.some((child) => isActiveRecursive(child, matcher));\r\n};\r\n\r\nconst Sidebar: React.FC<SidebarProps> = ({\r\n links,\r\n isLinkActive: consumerIsLinkActive,\r\n hasActiveChild: consumerHasActiveChild,\r\n ...rest\r\n}) => {\r\n const pathname = usePathname() || \"/\";\r\n\r\n const defaultIsLinkActive = (link: SidebarLink): boolean => {\r\n if (!link.href) return false;\r\n\r\n if (link.children?.length) {\r\n return isDescendantPath(link.href, pathname);\r\n }\r\n\r\n return normalizePath(link.href) === normalizePath(pathname);\r\n };\r\n\r\n const resolvedIsLinkActive = consumerIsLinkActive ?? defaultIsLinkActive;\r\n\r\n const defaultHasActiveChild = (link: SidebarLink): boolean =>\r\n !!link.children?.some((child) =>\r\n isActiveRecursive(child, resolvedIsLinkActive),\r\n );\r\n\r\n const resolvedHasActiveChild =\r\n consumerHasActiveChild ?? defaultHasActiveChild;\r\n\r\n return (\r\n <SidebarBase\r\n links={links}\r\n classMap={styles}\r\n LinkComponent={Link}\r\n isLinkActive={resolvedIsLinkActive}\r\n hasActiveChild={resolvedHasActiveChild}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nSidebar.displayName = \"Sidebar\";\r\nexport default Sidebar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","footerVersion","outline","useState","useRef","useEffect","_a","useMemo","combineClassNames","capitalize","jsx","link","icon","jsxs","Fragment","ChevronDownIcon","usePathname","Link"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Sidebar = require("./Sidebar-BXmF-Nl2.cjs");
2
+ const Sidebar = require("./Sidebar-U5BQKtKR.cjs");
3
3
  module.exports = Sidebar.Sidebar;
4
4
  //# sourceMappingURL=Sidebar.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { S } from "./Sidebar-CWjyCeQj.js";
1
+ import { S } from "./Sidebar-BwW51HwF.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
- import { a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme, c as getDefaultSize } from "./boreal-style-config-DsaRlxmw.js";
5
+ import { c as getDefaultSize, a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme } from "./boreal-style-config-DsaRlxmw.js";
6
6
  const noScroll = "_noScroll_1rhfd_109";
7
7
  const errorMessage = "_errorMessage_1rhfd_110";
8
8
  const loadingContainer = "_loadingContainer_1rhfd_111";
@@ -205,4 +205,4 @@ Slider.displayName = "Slider";
205
205
  export {
206
206
  Slider as S
207
207
  };
208
- //# sourceMappingURL=Slider-BC9XlsEQ.js.map
208
+ //# sourceMappingURL=Slider-DOGkUQYT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slider-BC9XlsEQ.js","sources":["../../src/components/Slider/SliderBase.tsx","../../src/components/Slider/next/Slider.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport { SliderProps } from \"./Slider.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst SliderBase: React.FC<\r\n SliderProps & { classMap: Record<string, string> }\r\n> = ({\r\n value,\r\n onChange,\r\n onValueChange,\r\n id,\r\n name,\r\n min = 0,\r\n max = 100,\r\n step = 1,\r\n label,\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n showValue = true,\r\n className = \"\",\r\n disabled = false,\r\n required = false,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-valuetext\": ariaValueText,\r\n \"aria-valuemin\": ariaValueMin,\r\n \"aria-valuemax\": ariaValueMax,\r\n \"aria-valuenow\": ariaValueNow,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-orientation\": ariaOrientation = \"horizontal\",\r\n \"data-testid\": testId = \"slider\",\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const inputId = id || `${testId}-input-${uid}`;\r\n const labelId = label ? `${testId}-label-${uid}` : undefined;\r\n const valueId = showValue ? `${testId}-value-${uid}` : undefined;\r\n\r\n const safeMin = Number.isFinite(min) ? Number(min) : 0;\r\n const safeMax = Number.isFinite(max) ? Number(max) : 100;\r\n const safeStep = step > 0 ? step : 1;\r\n const clamped = Math.min(safeMax, Math.max(safeMin, Number(value)));\r\n\r\n const containerClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[size],\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className,\r\n ),\r\n [classMap, size, theme, state, className, shadow, rounding],\r\n );\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const numeric = Number(e.target.value);\r\n onChange?.(e);\r\n onValueChange?.(numeric);\r\n };\r\n\r\n const computedAriaLabelledBy = label\r\n ? [labelId, ariaLabelledBy].filter(Boolean).join(\" \")\r\n : ariaLabelledBy;\r\n\r\n const computedAriaDescribedBy =\r\n [ariaDescribedBy, showValue ? valueId : undefined]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n const computedAriaInvalid =\r\n ariaInvalid !== undefined\r\n ? ariaInvalid\r\n : state === \"error\"\r\n ? true\r\n : undefined;\r\n\r\n const computedAriaRequired =\r\n ariaRequired !== undefined ? ariaRequired : required ? true : undefined;\r\n\r\n return (\r\n <div className={containerClasses} data-testid={`${testId}-container`}>\r\n {label && (\r\n <label\r\n id={labelId}\r\n htmlFor={inputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-label`}\r\n >\r\n {label}\r\n </label>\r\n )}\r\n\r\n <div className={classMap.wrapper} data-testid={`${testId}-wrapper`}>\r\n <input\r\n id={inputId}\r\n name={name}\r\n type=\"range\"\r\n className={classMap.slider}\r\n value={clamped}\r\n onChange={handleChange}\r\n min={safeMin}\r\n max={safeMax}\r\n step={safeStep}\r\n disabled={disabled}\r\n required={required}\r\n aria-label={\r\n !computedAriaLabelledBy ? ariaLabel || \"Slider\" : undefined\r\n }\r\n aria-labelledby={computedAriaLabelledBy || undefined}\r\n aria-describedby={computedAriaDescribedBy}\r\n aria-valuetext={ariaValueText}\r\n aria-valuemin={ariaValueMin ?? safeMin}\r\n aria-valuemax={ariaValueMax ?? safeMax}\r\n aria-valuenow={ariaValueNow ?? clamped}\r\n aria-invalid={computedAriaInvalid}\r\n aria-required={computedAriaRequired}\r\n aria-orientation={ariaOrientation}\r\n data-testid={testId}\r\n {...rest}\r\n />\r\n\r\n {showValue && (\r\n <output\r\n id={valueId}\r\n className={classMap.value}\r\n htmlFor={inputId}\r\n data-testid={`${testId}-value`}\r\n >\r\n {clamped}\r\n </output>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nSliderBase.displayName = \"SliderBase\";\r\nexport default SliderBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Slider.module.scss\";\r\nimport { SliderProps } from \"../Slider.types\";\r\nimport SliderBase from \"../SliderBase\";\r\n\r\nconst Slider: React.FC<SliderProps> = (props) => {\r\n return <SliderBase {...props} classMap={styles} />;\r\n};\r\nSlider.displayName = \"Slider\";\r\nexport default Slider;\r\n"],"names":["value","label"],"mappings":"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"}
1
+ {"version":3,"file":"Slider-DOGkUQYT.js","sources":["../../src/components/Slider/SliderBase.tsx","../../src/components/Slider/next/Slider.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport { SliderProps } from \"./Slider.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst SliderBase: React.FC<\r\n SliderProps & { classMap: Record<string, string> }\r\n> = ({\r\n value,\r\n onChange,\r\n onValueChange,\r\n id,\r\n name,\r\n min = 0,\r\n max = 100,\r\n step = 1,\r\n label,\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n showValue = true,\r\n className = \"\",\r\n disabled = false,\r\n required = false,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-valuetext\": ariaValueText,\r\n \"aria-valuemin\": ariaValueMin,\r\n \"aria-valuemax\": ariaValueMax,\r\n \"aria-valuenow\": ariaValueNow,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-orientation\": ariaOrientation = \"horizontal\",\r\n \"data-testid\": testId = \"slider\",\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const inputId = id || `${testId}-input-${uid}`;\r\n const labelId = label ? `${testId}-label-${uid}` : undefined;\r\n const valueId = showValue ? `${testId}-value-${uid}` : undefined;\r\n\r\n const safeMin = Number.isFinite(min) ? Number(min) : 0;\r\n const safeMax = Number.isFinite(max) ? Number(max) : 100;\r\n const safeStep = step > 0 ? step : 1;\r\n const clamped = Math.min(safeMax, Math.max(safeMin, Number(value)));\r\n\r\n const containerClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[size],\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className,\r\n ),\r\n [classMap, size, theme, state, className, shadow, rounding],\r\n );\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const numeric = Number(e.target.value);\r\n onChange?.(e);\r\n onValueChange?.(numeric);\r\n };\r\n\r\n const computedAriaLabelledBy = label\r\n ? [labelId, ariaLabelledBy].filter(Boolean).join(\" \")\r\n : ariaLabelledBy;\r\n\r\n const computedAriaDescribedBy =\r\n [ariaDescribedBy, showValue ? valueId : undefined]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n const computedAriaInvalid =\r\n ariaInvalid !== undefined\r\n ? ariaInvalid\r\n : state === \"error\"\r\n ? true\r\n : undefined;\r\n\r\n const computedAriaRequired =\r\n ariaRequired !== undefined ? ariaRequired : required ? true : undefined;\r\n\r\n return (\r\n <div className={containerClasses} data-testid={`${testId}-container`}>\r\n {label && (\r\n <label\r\n id={labelId}\r\n htmlFor={inputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-label`}\r\n >\r\n {label}\r\n </label>\r\n )}\r\n\r\n <div className={classMap.wrapper} data-testid={`${testId}-wrapper`}>\r\n <input\r\n id={inputId}\r\n name={name}\r\n type=\"range\"\r\n className={classMap.slider}\r\n value={clamped}\r\n onChange={handleChange}\r\n min={safeMin}\r\n max={safeMax}\r\n step={safeStep}\r\n disabled={disabled}\r\n required={required}\r\n aria-label={\r\n !computedAriaLabelledBy ? ariaLabel || \"Slider\" : undefined\r\n }\r\n aria-labelledby={computedAriaLabelledBy || undefined}\r\n aria-describedby={computedAriaDescribedBy}\r\n aria-valuetext={ariaValueText}\r\n aria-valuemin={ariaValueMin ?? safeMin}\r\n aria-valuemax={ariaValueMax ?? safeMax}\r\n aria-valuenow={ariaValueNow ?? clamped}\r\n aria-invalid={computedAriaInvalid}\r\n aria-required={computedAriaRequired}\r\n aria-orientation={ariaOrientation}\r\n data-testid={testId}\r\n {...rest}\r\n />\r\n\r\n {showValue && (\r\n <output\r\n id={valueId}\r\n className={classMap.value}\r\n htmlFor={inputId}\r\n data-testid={`${testId}-value`}\r\n >\r\n {clamped}\r\n </output>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nSliderBase.displayName = \"SliderBase\";\r\nexport default SliderBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Slider.module.scss\";\r\nimport { SliderProps } from \"../Slider.types\";\r\nimport SliderBase from \"../SliderBase\";\r\n\r\nconst Slider: React.FC<SliderProps> = (props) => {\r\n return <SliderBase {...props} classMap={styles} />;\r\n};\r\nSlider.displayName = \"Slider\";\r\nexport default Slider;\r\n"],"names":["value","label"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,aAEF,CAAC;AAAA,EACH,OAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAAC;AAAA,EACA,OAAO,eAAA;AAAA,EACP,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,QAAQ,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,oBAAoB,kBAAkB;AAAA,EACtC,eAAe,SAAS;AAAA,EACxB;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,MAAM,MAAA;AAEZ,QAAM,UAAU,MAAM,GAAG,MAAM,UAAU,GAAG;AAC5C,QAAM,UAAUA,SAAQ,GAAG,MAAM,UAAU,GAAG,KAAK;AACnD,QAAM,UAAU,YAAY,GAAG,MAAM,UAAU,GAAG,KAAK;AAEvD,QAAM,UAAU,OAAO,SAAS,GAAG,IAAI,OAAO,GAAG,IAAI;AACrD,QAAM,UAAU,OAAO,SAAS,GAAG,IAAI,OAAO,GAAG,IAAI;AACrD,QAAM,WAAW,OAAO,IAAI,OAAO;AACnC,QAAM,UAAU,KAAK,IAAI,SAAS,KAAK,IAAI,SAAS,OAAOD,MAAK,CAAC,CAAC;AAElE,QAAM,mBAAmB;AAAA,IACvB,MACE;AAAA,MACE,SAAS;AAAA,MACT,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,MAAM,OAAO,OAAO,WAAW,QAAQ,QAAQ;AAAA,EAAA;AAG5D,QAAM,eAAe,CAAC,MAA2C;AAC/D,UAAM,UAAU,OAAO,EAAE,OAAO,KAAK;AACrC,yCAAW;AACX,mDAAgB;AAAA,EAClB;AAEA,QAAM,yBAAyBC,SAC3B,CAAC,SAAS,cAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,IAClD;AAEJ,QAAM,0BACJ,CAAC,iBAAiB,YAAY,UAAU,MAAS,EAC9C,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAElB,QAAM,sBACJ,gBAAgB,SACZ,cACA,UAAU,UACR,OACA;AAER,QAAM,uBACJ,iBAAiB,SAAY,eAAe,WAAW,OAAO;AAEhE,8BACG,OAAA,EAAI,WAAW,kBAAkB,eAAa,GAAG,MAAM,cACrD,UAAA;AAAA,IAAAA,UACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,eAAa,GAAG,MAAM;AAAA,QAErB,UAAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIL,qBAAC,SAAI,WAAW,SAAS,SAAS,eAAa,GAAG,MAAM,YACtD,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ;AAAA,UACA,MAAK;AAAA,UACL,WAAW,SAAS;AAAA,UACpB,OAAO;AAAA,UACP,UAAU;AAAA,UACV,KAAK;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA,cACE,CAAC,yBAAyB,aAAa,WAAW;AAAA,UAEpD,mBAAiB,0BAA0B;AAAA,UAC3C,oBAAkB;AAAA,UAClB,kBAAgB;AAAA,UAChB,iBAAe,gBAAgB;AAAA,UAC/B,iBAAe,gBAAgB;AAAA,UAC/B,iBAAe,gBAAgB;AAAA,UAC/B,gBAAc;AAAA,UACd,iBAAe;AAAA,UACf,oBAAkB;AAAA,UAClB,eAAa;AAAA,UACZ,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAGL,aACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,WAAW,SAAS;AAAA,UACpB,SAAS;AAAA,UACT,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,EAAA,CAEJ;AAAA,EAAA,GACF;AAEJ;AAEA,WAAW,cAAc;AClJzB,MAAM,SAAgC,CAAC,UAAU;AAC/C,SAAO,oBAAC,YAAA,EAAY,GAAG,OAAO,UAAU,QAAQ;AAClD;AACA,OAAO,cAAc;"}
@@ -1,4 +1,4 @@
1
- import { S } from "./Slider-BC9XlsEQ.js";
1
+ import { S } from "./Slider-DOGkUQYT.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -3,7 +3,7 @@ const require$$2 = require("react/jsx-runtime");
3
3
  const classNames = require("./classNames-BcWMx052.cjs");
4
4
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
5
5
  ;/* empty css */
6
- const IconButton = require("./IconButton-C4OC99ig.cjs");
6
+ const IconButton = require("./IconButton-4ySBEhn1.cjs");
7
7
  const noScroll = "_noScroll_1sq82_109";
8
8
  const errorMessage = "_errorMessage_1sq82_110";
9
9
  const loadingContainer = "_loadingContainer_1sq82_111";
@@ -195,4 +195,4 @@ StepperBase.displayName = "StepperBase";
195
195
  const Stepper = (props) => /* @__PURE__ */ require$$2.jsx(StepperBase, { ...props, classMap: styles, IconButtonComponent: IconButton.IconButton });
196
196
  Stepper.displayName = "Stepper";
197
197
  exports.Stepper = Stepper;
198
- //# sourceMappingURL=Stepper-P9DL0HZW.cjs.map
198
+ //# sourceMappingURL=Stepper-C0cNzpY8.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper-P9DL0HZW.cjs","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/next/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { StepperBaseProps } from \"./Stepper.types\";\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n groupLabel = \"Progress Stepper\",\r\n getStepAriaLabel,\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const fallbackGroupLabelId = `${testId}-label`;\r\n\r\n const resolvedAriaLabelledBy = ariaLabelledBy\r\n ? ariaLabelledBy\r\n : !ariaLabel\r\n ? fallbackGroupLabelId\r\n : undefined;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className,\r\n )}\r\n role=\"list\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n {!ariaLabel && !ariaLabelledBy && (\r\n <span id={fallbackGroupLabelId} className=\"sr_only\">\r\n {groupLabel}\r\n </span>\r\n )}\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const isInteractive = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n\r\n const defaultStepLabel = `Step ${index + 1} of ${stepCount}: ${step.label}${\r\n isActive ? \", current step\" : isCompleted ? \", completed\" : \"\"\r\n }`;\r\n\r\n const stepAriaLabel = getStepAriaLabel\r\n ? getStepAriaLabel(step, index, stepCount, isActive, isCompleted)\r\n : defaultStepLabel;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\",\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={stepAriaLabel}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled ? true : undefined}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={isInteractive ? 0 : -1}\r\n onClick={() => {\r\n if (!isDisabled) {\r\n onStepClick?.(index);\r\n }\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepperBase.displayName = \"StepperBase\";\r\nexport default StepperBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Stepper.module.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport { IconButton } from \"@/index.next\";\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={styles} IconButtonComponent={IconButton} />\r\n);\r\nStepper.displayName = \"Stepper\";\r\nexport default Stepper;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultShadow","getDefaultRounding","jsxs","combineClassNames","jsx","step","IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"Stepper-C0cNzpY8.cjs","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/next/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { StepperBaseProps } from \"./Stepper.types\";\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n groupLabel = \"Progress Stepper\",\r\n getStepAriaLabel,\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const fallbackGroupLabelId = `${testId}-label`;\r\n\r\n const resolvedAriaLabelledBy = ariaLabelledBy\r\n ? ariaLabelledBy\r\n : !ariaLabel\r\n ? fallbackGroupLabelId\r\n : undefined;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className,\r\n )}\r\n role=\"list\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n {!ariaLabel && !ariaLabelledBy && (\r\n <span id={fallbackGroupLabelId} className=\"sr_only\">\r\n {groupLabel}\r\n </span>\r\n )}\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const isInteractive = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n\r\n const defaultStepLabel = `Step ${index + 1} of ${stepCount}: ${step.label}${\r\n isActive ? \", current step\" : isCompleted ? \", completed\" : \"\"\r\n }`;\r\n\r\n const stepAriaLabel = getStepAriaLabel\r\n ? getStepAriaLabel(step, index, stepCount, isActive, isCompleted)\r\n : defaultStepLabel;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\",\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={stepAriaLabel}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled ? true : undefined}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={isInteractive ? 0 : -1}\r\n onClick={() => {\r\n if (!isDisabled) {\r\n onStepClick?.(index);\r\n }\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepperBase.displayName = \"StepperBase\";\r\nexport default StepperBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Stepper.module.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport { IconButton } from \"@/index.next\";\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={styles} IconButtonComponent={IconButton} />\r\n);\r\nStepper.displayName = \"Stepper\";\r\nexport default Stepper;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultShadow","getDefaultRounding","jsxs","combineClassNames","jsx","step","IconButton"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
3
- import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-DsaRlxmw.js";
3
+ import { d as getDefaultTheme, c as getDefaultSize, b as getDefaultShadow, a as getDefaultRounding } from "./boreal-style-config-DsaRlxmw.js";
4
4
  /* empty css */
5
- import { I as IconButton } from "./IconButton-CNiln4Qf.js";
5
+ import { I as IconButton } from "./IconButton-BWw3WPaS.js";
6
6
  const noScroll = "_noScroll_1sq82_109";
7
7
  const errorMessage = "_errorMessage_1sq82_110";
8
8
  const loadingContainer = "_loadingContainer_1sq82_111";
@@ -196,4 +196,4 @@ Stepper.displayName = "Stepper";
196
196
  export {
197
197
  Stepper as S
198
198
  };
199
- //# sourceMappingURL=Stepper-CTd99d_F.js.map
199
+ //# sourceMappingURL=Stepper-CSh2wccK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper-CTd99d_F.js","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/next/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { StepperBaseProps } from \"./Stepper.types\";\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n groupLabel = \"Progress Stepper\",\r\n getStepAriaLabel,\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const fallbackGroupLabelId = `${testId}-label`;\r\n\r\n const resolvedAriaLabelledBy = ariaLabelledBy\r\n ? ariaLabelledBy\r\n : !ariaLabel\r\n ? fallbackGroupLabelId\r\n : undefined;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className,\r\n )}\r\n role=\"list\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n {!ariaLabel && !ariaLabelledBy && (\r\n <span id={fallbackGroupLabelId} className=\"sr_only\">\r\n {groupLabel}\r\n </span>\r\n )}\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const isInteractive = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n\r\n const defaultStepLabel = `Step ${index + 1} of ${stepCount}: ${step.label}${\r\n isActive ? \", current step\" : isCompleted ? \", completed\" : \"\"\r\n }`;\r\n\r\n const stepAriaLabel = getStepAriaLabel\r\n ? getStepAriaLabel(step, index, stepCount, isActive, isCompleted)\r\n : defaultStepLabel;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\",\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={stepAriaLabel}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled ? true : undefined}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={isInteractive ? 0 : -1}\r\n onClick={() => {\r\n if (!isDisabled) {\r\n onStepClick?.(index);\r\n }\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepperBase.displayName = \"StepperBase\";\r\nexport default StepperBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Stepper.module.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport { IconButton } from \"@/index.next\";\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={styles} IconButtonComponent={IconButton} />\r\n);\r\nStepper.displayName = \"Stepper\";\r\nexport default Stepper;\r\n"],"names":["step"],"mappings":"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"}
1
+ {"version":3,"file":"Stepper-CSh2wccK.js","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/next/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { StepperBaseProps } from \"./Stepper.types\";\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n groupLabel = \"Progress Stepper\",\r\n getStepAriaLabel,\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const fallbackGroupLabelId = `${testId}-label`;\r\n\r\n const resolvedAriaLabelledBy = ariaLabelledBy\r\n ? ariaLabelledBy\r\n : !ariaLabel\r\n ? fallbackGroupLabelId\r\n : undefined;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className,\r\n )}\r\n role=\"list\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n {!ariaLabel && !ariaLabelledBy && (\r\n <span id={fallbackGroupLabelId} className=\"sr_only\">\r\n {groupLabel}\r\n </span>\r\n )}\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const isInteractive = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n\r\n const defaultStepLabel = `Step ${index + 1} of ${stepCount}: ${step.label}${\r\n isActive ? \", current step\" : isCompleted ? \", completed\" : \"\"\r\n }`;\r\n\r\n const stepAriaLabel = getStepAriaLabel\r\n ? getStepAriaLabel(step, index, stepCount, isActive, isCompleted)\r\n : defaultStepLabel;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\",\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={stepAriaLabel}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled ? true : undefined}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={isInteractive ? 0 : -1}\r\n onClick={() => {\r\n if (!isDisabled) {\r\n onStepClick?.(index);\r\n }\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepperBase.displayName = \"StepperBase\";\r\nexport default StepperBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Stepper.module.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport { IconButton } from \"@/index.next\";\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={styles} IconButtonComponent={IconButton} />\r\n);\r\nStepper.displayName = \"Stepper\";\r\nexport default Stepper;\r\n"],"names":["step"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Stepper = require("./Stepper-P9DL0HZW.cjs");
2
+ const Stepper = require("./Stepper-C0cNzpY8.cjs");
3
3
  module.exports = Stepper.Stepper;
4
4
  //# sourceMappingURL=Stepper.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { S } from "./Stepper-CTd99d_F.js";
1
+ import { S } from "./Stepper-CSh2wccK.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo, useState, useRef, useEffect } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
- import { d as getDefaultTheme, c as getDefaultSize, b as getDefaultShadow, a as getDefaultRounding } from "./boreal-style-config-DsaRlxmw.js";
5
+ import { a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme, c as getDefaultSize } from "./boreal-style-config-DsaRlxmw.js";
6
6
  const tabs_container = "_tabs_container_1kzsw_85";
7
7
  const tabs = "_tabs_1kzsw_85";
8
8
  const icon = "_icon_1kzsw_109";
@@ -262,4 +262,4 @@ Tabs.displayName = "Tabs";
262
262
  export {
263
263
  Tabs as T
264
264
  };
265
- //# sourceMappingURL=Tabs-tZjEVd-U.js.map
265
+ //# sourceMappingURL=Tabs-Dors0bVs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs-tZjEVd-U.js","sources":["../../src/components/Tabs/TabsBase.tsx","../../src/components/Tabs/next/Tabs.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState, useId } from \"react\";\r\nimport { BaseTabsProps } from \"./Tabs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\ntype Dir = 1 | -1;\r\n\r\nconst getClass = (\r\n classMap: Record<string, string>,\r\n keys: string[],\r\n): string | undefined => {\r\n for (const k of keys) {\r\n const v = classMap[k];\r\n if (typeof v === \"string\" && v.length > 0) return v;\r\n }\r\n return undefined;\r\n};\r\n\r\nconst TabsBase: React.FC<BaseTabsProps> = ({\r\n tabs,\r\n defaultIndex = 0,\r\n value,\r\n onChange,\r\n \"aria-label\": ariaLabel = \"Tabs\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-live\": ariaLive,\r\n tabListId,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n orientation = \"horizontal\",\r\n activationMode = \"auto\",\r\n idBase,\r\n \"data-testid\": testId = \"tabs\",\r\n classMap,\r\n}) => {\r\n const uid = useId();\r\n\r\n const baseId = useMemo<string>(() => {\r\n return idBase ?? `${testId}-${uid}`;\r\n }, [idBase, testId, uid]);\r\n\r\n const isControlled: boolean = typeof value === \"number\";\r\n\r\n const [uncontrolledIndex, setUncontrolledIndex] =\r\n useState<number>(defaultIndex);\r\n\r\n const activeIndex: number = isControlled\r\n ? (value as number)\r\n : uncontrolledIndex;\r\n\r\n const [focusIndex, setFocusIndex] = useState<number>(defaultIndex);\r\n\r\n const tabRefs = useRef<(HTMLButtonElement | null)[]>([]);\r\n\r\n useEffect(() => {\r\n const current = activationMode === \"manual\" ? focusIndex : activeIndex;\r\n\r\n tabRefs.current.forEach((el, i) => {\r\n if (!el) return;\r\n el.setAttribute(\"tabindex\", i === current ? \"0\" : \"-1\");\r\n });\r\n\r\n tabRefs.current[current]?.focus();\r\n }, [activeIndex, focusIndex, activationMode]);\r\n\r\n useEffect(() => {\r\n if (isControlled) setFocusIndex(activeIndex);\r\n }, [activeIndex, isControlled]);\r\n\r\n const containerClassNames = useMemo(() => {\r\n const containerClass =\r\n getClass(classMap, [\"container\", \"tabsContainer\", \"tabs_container\"]) ??\r\n \"\";\r\n const themeClass = classMap[theme] ?? \"\";\r\n const stateClass = state ? (classMap[state] ?? \"\") : \"\";\r\n const sizeClass = classMap[size] ?? \"\";\r\n\r\n return combineClassNames(\r\n containerClass,\r\n themeClass,\r\n stateClass,\r\n sizeClass,\r\n className,\r\n );\r\n }, [classMap, theme, state, size, className]);\r\n\r\n const tabBaseClassNames = useMemo(() => {\r\n const tabClass = getClass(classMap, [\"tab\", \"tabs_tab\"]) ?? \"\";\r\n const shadowClass = shadow\r\n ? (classMap[`shadow${capitalize(shadow)}`] ??\r\n classMap[`tabs_shadow-${capitalize(shadow)}`])\r\n : \"\";\r\n const roundingClass = rounding\r\n ? (classMap[`round${capitalize(rounding)}`] ??\r\n classMap[`tabs_round-${capitalize(rounding)}`])\r\n : \"\";\r\n\r\n return combineClassNames(tabClass, shadowClass, roundingClass);\r\n }, [classMap, shadow, rounding]);\r\n\r\n const activeClass = useMemo(() => {\r\n return getClass(classMap, [\"active\", \"tabs_active\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const disabledClass = useMemo(() => {\r\n return getClass(classMap, [\"disabled\", \"tabs_disabled\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const iconClass = useMemo(() => {\r\n return getClass(classMap, [\"icon\", \"tabs_icon\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const tabListClass = useMemo(() => {\r\n return getClass(classMap, [\"tabs\", \"tabs\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const isDisabled = (index: number): boolean => Boolean(tabs[index]?.disabled);\r\n\r\n const nextEnabled = (start: number, dir: Dir): number => {\r\n const len = tabs.length;\r\n let i = start;\r\n\r\n for (let n = 0; n < len; n++) {\r\n i = (i + dir + len) % len;\r\n if (!isDisabled(i)) return i;\r\n }\r\n\r\n return start;\r\n };\r\n\r\n const activate = (index: number): void => {\r\n if (isDisabled(index)) return;\r\n\r\n if (!isControlled) setUncontrolledIndex(index);\r\n onChange?.(index);\r\n };\r\n\r\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n const horiz = orientation === \"horizontal\";\r\n const { key } = event;\r\n\r\n let newFocus = focusIndex;\r\n\r\n if (horiz && key === \"ArrowRight\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, 1);\r\n } else if (horiz && key === \"ArrowLeft\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, -1);\r\n } else if (!horiz && key === \"ArrowDown\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, 1);\r\n } else if (!horiz && key === \"ArrowUp\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, -1);\r\n } else if (key === \"Home\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(-1, 1);\r\n } else if (key === \"End\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(0, -1);\r\n } else if (\r\n activationMode === \"manual\" &&\r\n (key === \"Enter\" || key === \" \")\r\n ) {\r\n event.preventDefault();\r\n if (!isDisabled(focusIndex)) activate(focusIndex);\r\n return;\r\n } else {\r\n return;\r\n }\r\n\r\n setFocusIndex(newFocus);\r\n if (activationMode === \"auto\") activate(newFocus);\r\n };\r\n\r\n return (\r\n <div className={containerClassNames} data-testid={testId}>\r\n <div\r\n id={tabListId}\r\n className={tabListClass}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-live={ariaLive}\r\n role=\"tablist\"\r\n aria-orientation={orientation}\r\n onKeyDown={onKeyDown}\r\n data-testid={`${testId}-tablist`}\r\n >\r\n {tabs.map((tab, index) => {\r\n const Icon = tab.icon;\r\n const isActive = index === activeIndex;\r\n const disabled = isDisabled(index);\r\n const generatedTabId = `${baseId}-tab-${index}`;\r\n const tabId = tab.id ?? generatedTabId;\r\n return (\r\n <button\r\n key={`${tab.label}-${index}`}\r\n ref={(el) => {\r\n tabRefs.current[index] = el;\r\n }}\r\n className={combineClassNames(\r\n tabBaseClassNames,\r\n isActive && activeClass,\r\n disabled && disabledClass,\r\n )}\r\n role=\"tab\"\r\n type=\"button\"\r\n aria-selected={isActive}\r\n aria-label={tab[\"aria-label\"]}\r\n aria-describedby={tab[\"aria-describedby\"]}\r\n id={tabId}\r\n aria-disabled={disabled || undefined}\r\n onClick={() => {\r\n if (disabled) return;\r\n setFocusIndex(index);\r\n activate(index);\r\n }}\r\n data-testid={`${testId}-tab-${index}`}\r\n >\r\n {Icon && (\r\n <span\r\n className={iconClass}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon-${index}`}\r\n >\r\n <Icon />\r\n </span>\r\n )}\r\n {tab.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTabsBase.displayName = \"TabsBase\";\r\nexport default TabsBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Tabs.module.scss\";\r\nimport TabsBase from \"../TabsBase\";\r\nimport { TabsProps } from \"../Tabs.types\";\r\n\r\nconst Tabs: React.FC<TabsProps> = (props) => {\r\n return <TabsBase {...props} classMap={styles} />;\r\n};\r\nTabs.displayName = \"Tabs\";\r\nexport default Tabs;\r\n"],"names":["tabs","tab"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs-Dors0bVs.js","sources":["../../src/components/Tabs/TabsBase.tsx","../../src/components/Tabs/next/Tabs.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState, useId } from \"react\";\r\nimport { BaseTabsProps } from \"./Tabs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\ntype Dir = 1 | -1;\r\n\r\nconst getClass = (\r\n classMap: Record<string, string>,\r\n keys: string[],\r\n): string | undefined => {\r\n for (const k of keys) {\r\n const v = classMap[k];\r\n if (typeof v === \"string\" && v.length > 0) return v;\r\n }\r\n return undefined;\r\n};\r\n\r\nconst TabsBase: React.FC<BaseTabsProps> = ({\r\n tabs,\r\n defaultIndex = 0,\r\n value,\r\n onChange,\r\n \"aria-label\": ariaLabel = \"Tabs\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-live\": ariaLive,\r\n tabListId,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n orientation = \"horizontal\",\r\n activationMode = \"auto\",\r\n idBase,\r\n \"data-testid\": testId = \"tabs\",\r\n classMap,\r\n}) => {\r\n const uid = useId();\r\n\r\n const baseId = useMemo<string>(() => {\r\n return idBase ?? `${testId}-${uid}`;\r\n }, [idBase, testId, uid]);\r\n\r\n const isControlled: boolean = typeof value === \"number\";\r\n\r\n const [uncontrolledIndex, setUncontrolledIndex] =\r\n useState<number>(defaultIndex);\r\n\r\n const activeIndex: number = isControlled\r\n ? (value as number)\r\n : uncontrolledIndex;\r\n\r\n const [focusIndex, setFocusIndex] = useState<number>(defaultIndex);\r\n\r\n const tabRefs = useRef<(HTMLButtonElement | null)[]>([]);\r\n\r\n useEffect(() => {\r\n const current = activationMode === \"manual\" ? focusIndex : activeIndex;\r\n\r\n tabRefs.current.forEach((el, i) => {\r\n if (!el) return;\r\n el.setAttribute(\"tabindex\", i === current ? \"0\" : \"-1\");\r\n });\r\n\r\n tabRefs.current[current]?.focus();\r\n }, [activeIndex, focusIndex, activationMode]);\r\n\r\n useEffect(() => {\r\n if (isControlled) setFocusIndex(activeIndex);\r\n }, [activeIndex, isControlled]);\r\n\r\n const containerClassNames = useMemo(() => {\r\n const containerClass =\r\n getClass(classMap, [\"container\", \"tabsContainer\", \"tabs_container\"]) ??\r\n \"\";\r\n const themeClass = classMap[theme] ?? \"\";\r\n const stateClass = state ? (classMap[state] ?? \"\") : \"\";\r\n const sizeClass = classMap[size] ?? \"\";\r\n\r\n return combineClassNames(\r\n containerClass,\r\n themeClass,\r\n stateClass,\r\n sizeClass,\r\n className,\r\n );\r\n }, [classMap, theme, state, size, className]);\r\n\r\n const tabBaseClassNames = useMemo(() => {\r\n const tabClass = getClass(classMap, [\"tab\", \"tabs_tab\"]) ?? \"\";\r\n const shadowClass = shadow\r\n ? (classMap[`shadow${capitalize(shadow)}`] ??\r\n classMap[`tabs_shadow-${capitalize(shadow)}`])\r\n : \"\";\r\n const roundingClass = rounding\r\n ? (classMap[`round${capitalize(rounding)}`] ??\r\n classMap[`tabs_round-${capitalize(rounding)}`])\r\n : \"\";\r\n\r\n return combineClassNames(tabClass, shadowClass, roundingClass);\r\n }, [classMap, shadow, rounding]);\r\n\r\n const activeClass = useMemo(() => {\r\n return getClass(classMap, [\"active\", \"tabs_active\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const disabledClass = useMemo(() => {\r\n return getClass(classMap, [\"disabled\", \"tabs_disabled\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const iconClass = useMemo(() => {\r\n return getClass(classMap, [\"icon\", \"tabs_icon\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const tabListClass = useMemo(() => {\r\n return getClass(classMap, [\"tabs\", \"tabs\"]) ?? \"\";\r\n }, [classMap]);\r\n\r\n const isDisabled = (index: number): boolean => Boolean(tabs[index]?.disabled);\r\n\r\n const nextEnabled = (start: number, dir: Dir): number => {\r\n const len = tabs.length;\r\n let i = start;\r\n\r\n for (let n = 0; n < len; n++) {\r\n i = (i + dir + len) % len;\r\n if (!isDisabled(i)) return i;\r\n }\r\n\r\n return start;\r\n };\r\n\r\n const activate = (index: number): void => {\r\n if (isDisabled(index)) return;\r\n\r\n if (!isControlled) setUncontrolledIndex(index);\r\n onChange?.(index);\r\n };\r\n\r\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n const horiz = orientation === \"horizontal\";\r\n const { key } = event;\r\n\r\n let newFocus = focusIndex;\r\n\r\n if (horiz && key === \"ArrowRight\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, 1);\r\n } else if (horiz && key === \"ArrowLeft\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, -1);\r\n } else if (!horiz && key === \"ArrowDown\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, 1);\r\n } else if (!horiz && key === \"ArrowUp\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(focusIndex, -1);\r\n } else if (key === \"Home\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(-1, 1);\r\n } else if (key === \"End\") {\r\n event.preventDefault();\r\n newFocus = nextEnabled(0, -1);\r\n } else if (\r\n activationMode === \"manual\" &&\r\n (key === \"Enter\" || key === \" \")\r\n ) {\r\n event.preventDefault();\r\n if (!isDisabled(focusIndex)) activate(focusIndex);\r\n return;\r\n } else {\r\n return;\r\n }\r\n\r\n setFocusIndex(newFocus);\r\n if (activationMode === \"auto\") activate(newFocus);\r\n };\r\n\r\n return (\r\n <div className={containerClassNames} data-testid={testId}>\r\n <div\r\n id={tabListId}\r\n className={tabListClass}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-live={ariaLive}\r\n role=\"tablist\"\r\n aria-orientation={orientation}\r\n onKeyDown={onKeyDown}\r\n data-testid={`${testId}-tablist`}\r\n >\r\n {tabs.map((tab, index) => {\r\n const Icon = tab.icon;\r\n const isActive = index === activeIndex;\r\n const disabled = isDisabled(index);\r\n const generatedTabId = `${baseId}-tab-${index}`;\r\n const tabId = tab.id ?? generatedTabId;\r\n return (\r\n <button\r\n key={`${tab.label}-${index}`}\r\n ref={(el) => {\r\n tabRefs.current[index] = el;\r\n }}\r\n className={combineClassNames(\r\n tabBaseClassNames,\r\n isActive && activeClass,\r\n disabled && disabledClass,\r\n )}\r\n role=\"tab\"\r\n type=\"button\"\r\n aria-selected={isActive}\r\n aria-label={tab[\"aria-label\"]}\r\n aria-describedby={tab[\"aria-describedby\"]}\r\n id={tabId}\r\n aria-disabled={disabled || undefined}\r\n onClick={() => {\r\n if (disabled) return;\r\n setFocusIndex(index);\r\n activate(index);\r\n }}\r\n data-testid={`${testId}-tab-${index}`}\r\n >\r\n {Icon && (\r\n <span\r\n className={iconClass}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon-${index}`}\r\n >\r\n <Icon />\r\n </span>\r\n )}\r\n {tab.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTabsBase.displayName = \"TabsBase\";\r\nexport default TabsBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Tabs.module.scss\";\r\nimport TabsBase from \"../TabsBase\";\r\nimport { TabsProps } from \"../Tabs.types\";\r\n\r\nconst Tabs: React.FC<TabsProps> = (props) => {\r\n return <TabsBase {...props} classMap={styles} />;\r\n};\r\nTabs.displayName = \"Tabs\";\r\nexport default Tabs;\r\n"],"names":["tabs","tab"],"mappings":"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"}
package/dist/next/Tabs.js CHANGED
@@ -1,4 +1,4 @@
1
- import { T } from "./Tabs-tZjEVd-U.js";
1
+ import { T } from "./Tabs-Dors0bVs.js";
2
2
  export {
3
3
  T as default
4
4
  };
@@ -1,12 +1,12 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  /* empty css */
3
- import { I as IconButton } from "./IconButton-CNiln4Qf.js";
4
- import { T as TextInput } from "./TextInput-3ZD3ccXf.js";
3
+ import { I as IconButton } from "./IconButton-BWw3WPaS.js";
4
+ import { T as TextInput } from "./TextInput-yUHEWbdK.js";
5
5
  import { useId, useState, useRef, useEffect, useMemo } from "react";
6
6
  import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
7
7
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
8
8
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
9
- import { c as getDefaultSize, d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
9
+ import { d as getDefaultTheme, c as getDefaultSize, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
10
10
  const noScroll = "_noScroll_1vvv7_109";
11
11
  const errorMessage = "_errorMessage_1vvv7_110";
12
12
  const loadingContainer = "_loadingContainer_1vvv7_111";
@@ -386,4 +386,4 @@ TagInput.displayName = "TagInput";
386
386
  export {
387
387
  TagInput as T
388
388
  };
389
- //# sourceMappingURL=TagInput-CXvw8ogs.js.map
389
+ //# sourceMappingURL=TagInput-V3zvXcNq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TagInput-CXvw8ogs.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/next/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./TagInput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst EMPTY_TAGS: string[] = [];\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = EMPTY_TAGS,\r\n \"aria-label\": ariaLabel = \"Tag Input\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-description\":\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n inputAriaLabel = \"Add new tag\",\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n suggestionsAriaLabel = \"Tag suggestions\",\r\n removeTagButtonLabel = \"Remove tag\",\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n idBase,\r\n \"data-testid\": testId = \"tag-input\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const baseId = idBase || testId || `tag-input-${uid}`;\r\n\r\n const inputId = `${baseId}-input`;\r\n const descId = `${baseId}-desc`;\r\n const labelId = `${baseId}-label`;\r\n const listboxId = `${baseId}-listbox`;\r\n const statusId = `${baseId}-status`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [internalTags, setInternalTags] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n useEffect(() => {\r\n setInternalTags((prev) => {\r\n if (\r\n prev.length === tags.length &&\r\n prev.every((tag, index) => tag === tags[index])\r\n ) {\r\n return prev;\r\n }\r\n\r\n return tags;\r\n });\r\n }, [tags]);\r\n\r\n const tagList = internalTags;\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const emitChange = (updated: string[]): void => {\r\n setInternalTags(updated);\r\n onChange?.(updated);\r\n };\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n\r\n const updated = [...tagList, newTag];\r\n emitChange(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n emitChange(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const clearSuggestions = (): void => {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length,\r\n );\r\n return;\r\n }\r\n\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n clearSuggestions();\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n ),\r\n [classMap, theme, state, size],\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string): void => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n clearSuggestions();\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n const groupDescribedBy = [descId, statusId, ariaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n const inputDescribedBy = [descId, statusId, inputAriaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy || labelId}\r\n aria-describedby={groupDescribedBy || undefined}\r\n data-testid={testId}\r\n >\r\n {!ariaLabelledBy && (\r\n <label id={labelId} className=\"sr_only\">\r\n {ariaLabel}\r\n </label>\r\n )}\r\n\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`${removeTagButtonLabel} ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n disabled={false}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(val: string) => setInputValue(val)}\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label={inputAriaLabelledBy ? undefined : inputAriaLabel}\r\n aria-labelledby={inputAriaLabelledBy}\r\n aria-describedby={inputDescribedBy || undefined}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label={suggestionsAriaLabel}\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\"),\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./TagInput.module.scss\";\r\nimport { IconButton, TextInput } from \"@/index.next\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../TagInput.types\";\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={styles}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\nTagInput.displayName = \"TagInput\";\r\nexport default TagInput;\r\n"],"names":["IconButton","TextInput","tag"],"mappings":"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"}
1
+ {"version":3,"file":"TagInput-V3zvXcNq.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/next/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./TagInput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst EMPTY_TAGS: string[] = [];\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = EMPTY_TAGS,\r\n \"aria-label\": ariaLabel = \"Tag Input\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-description\":\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n inputAriaLabel = \"Add new tag\",\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n suggestionsAriaLabel = \"Tag suggestions\",\r\n removeTagButtonLabel = \"Remove tag\",\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n idBase,\r\n \"data-testid\": testId = \"tag-input\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const baseId = idBase || testId || `tag-input-${uid}`;\r\n\r\n const inputId = `${baseId}-input`;\r\n const descId = `${baseId}-desc`;\r\n const labelId = `${baseId}-label`;\r\n const listboxId = `${baseId}-listbox`;\r\n const statusId = `${baseId}-status`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [internalTags, setInternalTags] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n useEffect(() => {\r\n setInternalTags((prev) => {\r\n if (\r\n prev.length === tags.length &&\r\n prev.every((tag, index) => tag === tags[index])\r\n ) {\r\n return prev;\r\n }\r\n\r\n return tags;\r\n });\r\n }, [tags]);\r\n\r\n const tagList = internalTags;\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const emitChange = (updated: string[]): void => {\r\n setInternalTags(updated);\r\n onChange?.(updated);\r\n };\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n\r\n const updated = [...tagList, newTag];\r\n emitChange(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n emitChange(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const clearSuggestions = (): void => {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length,\r\n );\r\n return;\r\n }\r\n\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n clearSuggestions();\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n ),\r\n [classMap, theme, state, size],\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string): void => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n clearSuggestions();\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n const groupDescribedBy = [descId, statusId, ariaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n const inputDescribedBy = [descId, statusId, inputAriaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy || labelId}\r\n aria-describedby={groupDescribedBy || undefined}\r\n data-testid={testId}\r\n >\r\n {!ariaLabelledBy && (\r\n <label id={labelId} className=\"sr_only\">\r\n {ariaLabel}\r\n </label>\r\n )}\r\n\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`${removeTagButtonLabel} ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n disabled={false}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(val: string) => setInputValue(val)}\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label={inputAriaLabelledBy ? undefined : inputAriaLabel}\r\n aria-labelledby={inputAriaLabelledBy}\r\n aria-describedby={inputDescribedBy || undefined}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label={suggestionsAriaLabel}\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\"),\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./TagInput.module.scss\";\r\nimport { IconButton, TextInput } from \"@/index.next\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../TagInput.types\";\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={styles}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\nTagInput.displayName = \"TagInput\";\r\nexport default TagInput;\r\n"],"names":["IconButton","TextInput","tag"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  const require$$2 = require("react/jsx-runtime");
3
3
  ;/* empty css */
4
- const IconButton = require("./IconButton-C4OC99ig.cjs");
5
- const TextInput = require("./TextInput-cfBWD6de.cjs");
4
+ const IconButton = require("./IconButton-4ySBEhn1.cjs");
5
+ const TextInput = require("./TextInput-7nN8g78V.cjs");
6
6
  const React = require("react");
7
7
  const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
8
8
  const classNames = require("./classNames-BcWMx052.cjs");
@@ -385,4 +385,4 @@ const TagInput = (props) => {
385
385
  };
386
386
  TagInput.displayName = "TagInput";
387
387
  exports.TagInput = TagInput;
388
- //# sourceMappingURL=TagInput-DldSDmHu.cjs.map
388
+ //# sourceMappingURL=TagInput-ceV9Jjqe.cjs.map