boreal-ui 0.0.25 → 0.0.27

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 (354) hide show
  1. package/dist/core/{Badge-DfsFGYhY.js → Badge-DUALACa_.js} +2 -2
  2. package/dist/core/Badge-DUALACa_.js.map +1 -0
  3. package/dist/core/{Badge-LyKc0uJG.cjs → Badge-DwjSTlvN.cjs} +2 -2
  4. package/dist/core/Badge-DwjSTlvN.cjs.map +1 -0
  5. package/dist/core/Badge.cjs.js +1 -1
  6. package/dist/core/Badge.js +1 -1
  7. package/dist/core/{Breadcrumbs-DhioJUB9.js → Breadcrumbs-BKx89feu.js} +3 -3
  8. package/dist/core/Breadcrumbs-BKx89feu.js.map +1 -0
  9. package/dist/core/{Breadcrumbs-xmUgcTXF.cjs → Breadcrumbs-DrfR3704.cjs} +3 -3
  10. package/dist/core/Breadcrumbs-DrfR3704.cjs.map +1 -0
  11. package/dist/core/Breadcrumbs.cjs.js +1 -1
  12. package/dist/core/Breadcrumbs.js +1 -1
  13. package/dist/core/{Button-wz_We8xU.cjs → Button-BnyCKkUs.cjs} +2 -2
  14. package/dist/core/Button-BnyCKkUs.cjs.map +1 -0
  15. package/dist/core/{Button-DEYbr8xW.js → Button-brEyEh7E.js} +2 -2
  16. package/dist/core/Button-brEyEh7E.js.map +1 -0
  17. package/dist/core/Button.cjs.js +1 -1
  18. package/dist/core/Button.js +1 -1
  19. package/dist/core/{Card-CaCboEwS.js → Card-Bae4H8tR.js} +3 -3
  20. package/dist/core/{Card-CaCboEwS.js.map → Card-Bae4H8tR.js.map} +1 -1
  21. package/dist/core/{Card-B8vnbUG9.cjs → Card-BsYXSByx.cjs} +3 -3
  22. package/dist/core/{Card-B8vnbUG9.cjs.map → Card-BsYXSByx.cjs.map} +1 -1
  23. package/dist/core/Card.cjs.js +1 -1
  24. package/dist/core/Card.js +1 -1
  25. package/dist/core/{Checkbox-BLBbE9Ww.js → Checkbox-BykCObI-.js} +2 -2
  26. package/dist/core/Checkbox-BykCObI-.js.map +1 -0
  27. package/dist/core/{Checkbox-fVnseKGF.cjs → Checkbox-Ye8jGIKV.cjs} +2 -2
  28. package/dist/core/Checkbox-Ye8jGIKV.cjs.map +1 -0
  29. package/dist/core/Checkbox.cjs.js +1 -1
  30. package/dist/core/Checkbox.js +1 -1
  31. package/dist/core/{Chip-M8cB2nXM.js → Chip-DjWJJ19V.js} +2 -2
  32. package/dist/core/{Chip-M8cB2nXM.js.map → Chip-DjWJJ19V.js.map} +1 -1
  33. package/dist/core/{Chip-BtQlcu8Z.cjs → Chip-JKvM6DlT.cjs} +2 -2
  34. package/dist/core/{Chip-BtQlcu8Z.cjs.map → Chip-JKvM6DlT.cjs.map} +1 -1
  35. package/dist/core/Chip.cjs.js +1 -1
  36. package/dist/core/Chip.js +1 -1
  37. package/dist/core/{CommandPalette-CHOC0Z2m.js → CommandPalette-PhWRjxbF.js} +2 -2
  38. package/dist/core/{CommandPalette-CHOC0Z2m.js.map → CommandPalette-PhWRjxbF.js.map} +1 -1
  39. package/dist/core/{CommandPalette-XTi50U_E.cjs → CommandPalette-XZ3MmC7j.cjs} +2 -2
  40. package/dist/core/{CommandPalette-XTi50U_E.cjs.map → CommandPalette-XZ3MmC7j.cjs.map} +1 -1
  41. package/dist/core/CommandPalette.cjs.js +1 -1
  42. package/dist/core/CommandPalette.js +1 -1
  43. package/dist/core/{Dropdown-CL7TH2lJ.js → Dropdown-CPKkSeq2.js} +2 -2
  44. package/dist/core/{Dropdown-CL7TH2lJ.js.map → Dropdown-CPKkSeq2.js.map} +1 -1
  45. package/dist/core/{Dropdown-CPsxvzTA.cjs → Dropdown-iTrhrEMO.cjs} +2 -2
  46. package/dist/core/{Dropdown-CPsxvzTA.cjs.map → Dropdown-iTrhrEMO.cjs.map} +1 -1
  47. package/dist/core/Dropdown.cjs.js +1 -1
  48. package/dist/core/Dropdown.js +1 -1
  49. package/dist/core/{EmptyState-BAaCfJzO.cjs → EmptyState-C0TYr_9h.cjs} +2 -2
  50. package/dist/core/{EmptyState-BAaCfJzO.cjs.map → EmptyState-C0TYr_9h.cjs.map} +1 -1
  51. package/dist/core/{EmptyState-Bd-es_rG.js → EmptyState-DHNuzYnG.js} +2 -2
  52. package/dist/core/{EmptyState-Bd-es_rG.js.map → EmptyState-DHNuzYnG.js.map} +1 -1
  53. package/dist/core/EmptyState.cjs.js +1 -1
  54. package/dist/core/EmptyState.js +1 -1
  55. package/dist/core/{FileUpload-DxjQ2wnn.js → FileUpload-BJu-5NKg.js} +3 -3
  56. package/dist/core/{FileUpload-DxjQ2wnn.js.map → FileUpload-BJu-5NKg.js.map} +1 -1
  57. package/dist/core/{FileUpload-Dv2cvYI2.cjs → FileUpload-CuJ8RYA7.cjs} +3 -3
  58. package/dist/core/{FileUpload-Dv2cvYI2.cjs.map → FileUpload-CuJ8RYA7.cjs.map} +1 -1
  59. package/dist/core/FileUpload.cjs.js +1 -1
  60. package/dist/core/FileUpload.js +1 -1
  61. package/dist/core/{Footer-Bi3OLtAi.js → Footer-CPg_4j5r.js} +3 -3
  62. package/dist/core/{Footer-Bi3OLtAi.js.map → Footer-CPg_4j5r.js.map} +1 -1
  63. package/dist/core/{Footer-CgPo0kjA.cjs → Footer-kLL_3Qc-.cjs} +3 -3
  64. package/dist/core/{Footer-CgPo0kjA.cjs.map → Footer-kLL_3Qc-.cjs.map} +1 -1
  65. package/dist/core/Footer.cjs.js +1 -1
  66. package/dist/core/Footer.js +1 -1
  67. package/dist/core/{IconButton-BxUXK-xn.cjs → IconButton-BADgP1DD.cjs} +2 -2
  68. package/dist/core/IconButton-BADgP1DD.cjs.map +1 -0
  69. package/dist/core/{IconButton-B6cAP2hY.js → IconButton-Dsw2M1s8.js} +2 -2
  70. package/dist/core/IconButton-Dsw2M1s8.js.map +1 -0
  71. package/dist/core/IconButton.cjs.js +1 -1
  72. package/dist/core/IconButton.js +1 -1
  73. package/dist/core/{MessagePopUp-CC7r9RHN.js → MessagePopUp--LfNe9F6.js} +3 -3
  74. package/dist/core/{MessagePopUp-CC7r9RHN.js.map → MessagePopUp--LfNe9F6.js.map} +1 -1
  75. package/dist/core/{MessagePopUp-BUS6ICem.cjs → MessagePopUp-D6rtyzX3.cjs} +3 -3
  76. package/dist/core/{MessagePopUp-BUS6ICem.cjs.map → MessagePopUp-D6rtyzX3.cjs.map} +1 -1
  77. package/dist/core/MessagePopUp.cjs.js +1 -1
  78. package/dist/core/MessagePopUp.js +1 -1
  79. package/dist/core/{Modal-CI2snbvk.cjs → Modal--5xg1kDj.cjs} +2 -2
  80. package/dist/core/{Modal-CI2snbvk.cjs.map → Modal--5xg1kDj.cjs.map} +1 -1
  81. package/dist/core/{Modal-BhQJOhWV.js → Modal-CYw6ZB5A.js} +2 -2
  82. package/dist/core/{Modal-BhQJOhWV.js.map → Modal-CYw6ZB5A.js.map} +1 -1
  83. package/dist/core/Modal.cjs.js +1 -1
  84. package/dist/core/Modal.js +1 -1
  85. package/dist/core/{NotificationCenter-Bp7AqnTg.js → NotificationCenter-C8acfI4Y.js} +3 -3
  86. package/dist/core/{NotificationCenter-Bp7AqnTg.js.map → NotificationCenter-C8acfI4Y.js.map} +1 -1
  87. package/dist/core/{NotificationCenter-DxaqoUD1.cjs → NotificationCenter-DdPqMwuQ.cjs} +3 -3
  88. package/dist/core/{NotificationCenter-DxaqoUD1.cjs.map → NotificationCenter-DdPqMwuQ.cjs.map} +1 -1
  89. package/dist/core/NotificationCenter.cjs.js +1 -1
  90. package/dist/core/NotificationCenter.js +1 -1
  91. package/dist/core/{Pager-2jW3cxx_.js → Pager-Dfaqg2oX.js} +3 -3
  92. package/dist/core/{Pager-2jW3cxx_.js.map → Pager-Dfaqg2oX.js.map} +1 -1
  93. package/dist/core/{Pager-ByVG_at-.cjs → Pager-DrKL8NGY.cjs} +3 -3
  94. package/dist/core/{Pager-ByVG_at-.cjs.map → Pager-DrKL8NGY.cjs.map} +1 -1
  95. package/dist/core/Pager.cjs.js +1 -1
  96. package/dist/core/Pager.js +1 -1
  97. package/dist/core/{Stepper-PjUFCUBG.js → Stepper-B-wTooCi.js} +2 -2
  98. package/dist/core/{Stepper-PjUFCUBG.js.map → Stepper-B-wTooCi.js.map} +1 -1
  99. package/dist/core/{Stepper-BkmPckKd.cjs → Stepper-CZ0lJwyQ.cjs} +2 -2
  100. package/dist/core/{Stepper-BkmPckKd.cjs.map → Stepper-CZ0lJwyQ.cjs.map} +1 -1
  101. package/dist/core/Stepper.cjs.js +1 -1
  102. package/dist/core/Stepper.js +1 -1
  103. package/dist/core/{TagInput-CrScreYL.js → TagInput-B3yI5CWh.js} +3 -3
  104. package/dist/core/{TagInput-CrScreYL.js.map → TagInput-B3yI5CWh.js.map} +1 -1
  105. package/dist/core/{TagInput-BMPHihSz.cjs → TagInput-DftgiPXn.cjs} +3 -3
  106. package/dist/core/{TagInput-BMPHihSz.cjs.map → TagInput-DftgiPXn.cjs.map} +1 -1
  107. package/dist/core/TagInput.cjs.js +1 -1
  108. package/dist/core/TagInput.js +1 -1
  109. package/dist/core/{TextArea-B0it55lO.js → TextArea-DrU4oCj0.js} +3 -3
  110. package/dist/core/TextArea-DrU4oCj0.js.map +1 -0
  111. package/dist/core/{TextArea-Dn9aynnY.cjs → TextArea-Nj-eO3Pv.cjs} +3 -3
  112. package/dist/core/TextArea-Nj-eO3Pv.cjs.map +1 -0
  113. package/dist/core/TextArea.cjs.js +1 -1
  114. package/dist/core/TextArea.js +1 -1
  115. package/dist/core/{TextInput-8AbKEfUH.cjs → TextInput-BP3o-iku.cjs} +2 -2
  116. package/dist/core/{TextInput-8AbKEfUH.cjs.map → TextInput-BP3o-iku.cjs.map} +1 -1
  117. package/dist/core/{TextInput-CtI8fsXR.js → TextInput-CXb9gNEa.js} +2 -2
  118. package/dist/core/{TextInput-CtI8fsXR.js.map → TextInput-CXb9gNEa.js.map} +1 -1
  119. package/dist/core/TextInput.cjs.js +1 -1
  120. package/dist/core/TextInput.js +1 -1
  121. package/dist/{next/ThemeContext-Bo0vLczy.js → core/ThemeContext-B-z-faEj.js} +30 -30
  122. package/dist/core/ThemeContext-B-z-faEj.js.map +1 -0
  123. package/dist/core/{ThemeContext-CtZXUeeU.cjs → ThemeContext-CtNdJ7LK.cjs} +29 -29
  124. package/dist/core/ThemeContext-CtNdJ7LK.cjs.map +1 -0
  125. package/dist/core/ThemeProvider.cjs.js +1 -1
  126. package/dist/core/ThemeProvider.js +1 -1
  127. package/dist/core/index.cjs.js +21 -21
  128. package/dist/core/index.js +21 -21
  129. package/dist/next/{Avatar-B3eTb_Xz.js → Avatar-CKByQz4V.js} +3 -3
  130. package/dist/next/{Avatar-B3eTb_Xz.js.map → Avatar-CKByQz4V.js.map} +1 -1
  131. package/dist/next/{Avatar-BX8mh_3b.cjs → Avatar-Cd_TqEqJ.cjs} +3 -3
  132. package/dist/next/{Avatar-BX8mh_3b.cjs.map → Avatar-Cd_TqEqJ.cjs.map} +1 -1
  133. package/dist/next/Avatar.cjs.js +1 -1
  134. package/dist/next/Avatar.js +1 -1
  135. package/dist/next/{Badge-d7iY-oiw.cjs → Badge-DUUW_Zp1.cjs} +2 -2
  136. package/dist/next/Badge-DUUW_Zp1.cjs.map +1 -0
  137. package/dist/next/{Badge-C4JwPL9J.js → Badge-DywmGB1E.js} +2 -2
  138. package/dist/next/Badge-DywmGB1E.js.map +1 -0
  139. package/dist/next/Badge.cjs.js +1 -1
  140. package/dist/next/Badge.js +1 -1
  141. package/dist/next/{Breadcrumbs-LfCnghHj.js → Breadcrumbs-CsQGqIFq.js} +4 -4
  142. package/dist/next/Breadcrumbs-CsQGqIFq.js.map +1 -0
  143. package/dist/next/{Breadcrumbs-CEHoh3s2.cjs → Breadcrumbs-pw9Ow6LT.cjs} +4 -4
  144. package/dist/next/Breadcrumbs-pw9Ow6LT.cjs.map +1 -0
  145. package/dist/next/Breadcrumbs.cjs.js +1 -1
  146. package/dist/next/Breadcrumbs.js +1 -1
  147. package/dist/next/{Button-Cw9aGFLo.cjs → Button-CksDHAGT.cjs} +3 -3
  148. package/dist/next/Button-CksDHAGT.cjs.map +1 -0
  149. package/dist/next/{Button-CDvdEOSq.js → Button-DUYFGciR.js} +3 -3
  150. package/dist/next/Button-DUYFGciR.js.map +1 -0
  151. package/dist/next/Button.cjs.js +1 -1
  152. package/dist/next/Button.js +1 -1
  153. package/dist/next/{Card-CaPhq4Ut.js → Card-DFKVGnWo.js} +4 -4
  154. package/dist/next/{Card-CaPhq4Ut.js.map → Card-DFKVGnWo.js.map} +1 -1
  155. package/dist/next/{Card-Bk3Kx1sY.cjs → Card-HHvgocCd.cjs} +4 -4
  156. package/dist/next/{Card-Bk3Kx1sY.cjs.map → Card-HHvgocCd.cjs.map} +1 -1
  157. package/dist/next/Card.cjs.js +1 -1
  158. package/dist/next/Card.js +1 -1
  159. package/dist/next/{Checkbox-CiHMrYmz.js → Checkbox-3k5UZ20q.js} +2 -2
  160. package/dist/next/Checkbox-3k5UZ20q.js.map +1 -0
  161. package/dist/next/{Checkbox-wdW0yOxr.cjs → Checkbox-CFz2oqPW.cjs} +2 -2
  162. package/dist/next/Checkbox-CFz2oqPW.cjs.map +1 -0
  163. package/dist/next/Checkbox.cjs.js +1 -1
  164. package/dist/next/Checkbox.js +1 -1
  165. package/dist/next/{Chip-CVEIkG-f.cjs → Chip-CPe_ATTn.cjs} +2 -2
  166. package/dist/next/{Chip-CVEIkG-f.cjs.map → Chip-CPe_ATTn.cjs.map} +1 -1
  167. package/dist/next/{Chip-06q10So-.js → Chip-DngJ3Nsm.js} +2 -2
  168. package/dist/next/{Chip-06q10So-.js.map → Chip-DngJ3Nsm.js.map} +1 -1
  169. package/dist/next/Chip.cjs.js +1 -1
  170. package/dist/next/Chip.js +1 -1
  171. package/dist/next/{CommandPalette-FO3S6xly.cjs → CommandPalette-BExinZ-y.cjs} +2 -2
  172. package/dist/next/{CommandPalette-FO3S6xly.cjs.map → CommandPalette-BExinZ-y.cjs.map} +1 -1
  173. package/dist/next/{CommandPalette-BvgDewF1.js → CommandPalette-BKamGmgu.js} +2 -2
  174. package/dist/next/{CommandPalette-BvgDewF1.js.map → CommandPalette-BKamGmgu.js.map} +1 -1
  175. package/dist/next/CommandPalette.cjs.js +1 -1
  176. package/dist/next/CommandPalette.js +1 -1
  177. package/dist/next/{Dropdown-C_B5tfQD.js → Dropdown-B2xAwrlF.js} +2 -2
  178. package/dist/next/{Dropdown-C_B5tfQD.js.map → Dropdown-B2xAwrlF.js.map} +1 -1
  179. package/dist/next/{Dropdown-Pjjqikm8.cjs → Dropdown-COJxJqzC.cjs} +2 -2
  180. package/dist/next/{Dropdown-Pjjqikm8.cjs.map → Dropdown-COJxJqzC.cjs.map} +1 -1
  181. package/dist/next/Dropdown.cjs.js +1 -1
  182. package/dist/next/Dropdown.js +1 -1
  183. package/dist/next/{EmptyState-Bo9W0BX5.js → EmptyState-DeYWnFaJ.js} +2 -2
  184. package/dist/next/{EmptyState-Bo9W0BX5.js.map → EmptyState-DeYWnFaJ.js.map} +1 -1
  185. package/dist/next/{EmptyState-DCjBopC6.cjs → EmptyState-DepuL2N8.cjs} +2 -2
  186. package/dist/next/{EmptyState-DCjBopC6.cjs.map → EmptyState-DepuL2N8.cjs.map} +1 -1
  187. package/dist/next/EmptyState.cjs.js +1 -1
  188. package/dist/next/EmptyState.js +1 -1
  189. package/dist/next/{FileUpload-BGK2Pg4X.js → FileUpload-C91Pd8t7.js} +3 -3
  190. package/dist/next/{FileUpload-BGK2Pg4X.js.map → FileUpload-C91Pd8t7.js.map} +1 -1
  191. package/dist/next/{FileUpload-DoMMMgwj.cjs → FileUpload-tiwkr7n-.cjs} +3 -3
  192. package/dist/next/{FileUpload-DoMMMgwj.cjs.map → FileUpload-tiwkr7n-.cjs.map} +1 -1
  193. package/dist/next/FileUpload.cjs.js +1 -1
  194. package/dist/next/FileUpload.js +1 -1
  195. package/dist/next/{Footer-EX62svri.cjs → Footer-BkA5H1MS.cjs} +5 -5
  196. package/dist/next/{Footer-EX62svri.cjs.map → Footer-BkA5H1MS.cjs.map} +1 -1
  197. package/dist/next/{Footer-CWUge4tr.js → Footer-BvTet1LG.js} +5 -5
  198. package/dist/next/{Footer-CWUge4tr.js.map → Footer-BvTet1LG.js.map} +1 -1
  199. package/dist/next/Footer.cjs.js +1 -1
  200. package/dist/next/Footer.js +1 -1
  201. package/dist/next/{IconButton-DxGzuz13.js → IconButton-BjZZm2hJ.js} +3 -3
  202. package/dist/next/IconButton-BjZZm2hJ.js.map +1 -0
  203. package/dist/next/{IconButton-1BW390eT.cjs → IconButton-DvfiteNA.cjs} +3 -3
  204. package/dist/next/IconButton-DvfiteNA.cjs.map +1 -0
  205. package/dist/next/IconButton.cjs.js +1 -1
  206. package/dist/next/IconButton.js +1 -1
  207. package/dist/next/{MessagePopUp-CRXKWJcY.cjs → MessagePopUp-8Jk_jkt_.cjs} +3 -3
  208. package/dist/next/{MessagePopUp-CRXKWJcY.cjs.map → MessagePopUp-8Jk_jkt_.cjs.map} +1 -1
  209. package/dist/next/{MessagePopUp-r4RzD_hc.js → MessagePopUp-DCP7uPnZ.js} +3 -3
  210. package/dist/next/{MessagePopUp-r4RzD_hc.js.map → MessagePopUp-DCP7uPnZ.js.map} +1 -1
  211. package/dist/next/MessagePopUp.cjs.js +1 -1
  212. package/dist/next/MessagePopUp.js +1 -1
  213. package/dist/next/{Modal-BUWht7j9.cjs → Modal-C2aLpohd.cjs} +2 -2
  214. package/dist/next/{Modal-BUWht7j9.cjs.map → Modal-C2aLpohd.cjs.map} +1 -1
  215. package/dist/next/{Modal-HVhtE6zt.js → Modal-DFnJUiOY.js} +2 -2
  216. package/dist/next/{Modal-HVhtE6zt.js.map → Modal-DFnJUiOY.js.map} +1 -1
  217. package/dist/next/Modal.cjs.js +1 -1
  218. package/dist/next/Modal.js +1 -1
  219. package/dist/next/{NavBar-CO4v6_28.cjs → NavBar-CqPh60CY.cjs} +3 -3
  220. package/dist/next/{NavBar-CO4v6_28.cjs.map → NavBar-CqPh60CY.cjs.map} +1 -1
  221. package/dist/next/{NavBar-CKo-nom2.js → NavBar-CtpkmbXJ.js} +3 -3
  222. package/dist/next/{NavBar-CKo-nom2.js.map → NavBar-CtpkmbXJ.js.map} +1 -1
  223. package/dist/next/NavBar.cjs.js +1 -1
  224. package/dist/next/NavBar.js +1 -1
  225. package/dist/next/{NotificationCenter-Bi6LJr55.cjs → NotificationCenter-ChaO0Xu5.cjs} +3 -3
  226. package/dist/next/{NotificationCenter-Bi6LJr55.cjs.map → NotificationCenter-ChaO0Xu5.cjs.map} +1 -1
  227. package/dist/next/{NotificationCenter-OqRd6YfC.js → NotificationCenter-ySBsv_F4.js} +3 -3
  228. package/dist/next/{NotificationCenter-OqRd6YfC.js.map → NotificationCenter-ySBsv_F4.js.map} +1 -1
  229. package/dist/next/NotificationCenter.cjs.js +1 -1
  230. package/dist/next/NotificationCenter.js +1 -1
  231. package/dist/next/{Pager-AgAN8E1P.js → Pager-BYY7KOKU.js} +3 -3
  232. package/dist/next/{Pager-AgAN8E1P.js.map → Pager-BYY7KOKU.js.map} +1 -1
  233. package/dist/next/{Pager-DCW208Vq.cjs → Pager-Bbbq04I_.cjs} +3 -3
  234. package/dist/next/{Pager-DCW208Vq.cjs.map → Pager-Bbbq04I_.cjs.map} +1 -1
  235. package/dist/next/Pager.cjs.js +1 -1
  236. package/dist/next/Pager.js +1 -1
  237. package/dist/next/{Sidebar-R1NSvWHu.js → Sidebar-CB2Lm-J-.js} +3 -3
  238. package/dist/next/{Sidebar-R1NSvWHu.js.map → Sidebar-CB2Lm-J-.js.map} +1 -1
  239. package/dist/next/{Sidebar-C_zefcbg.cjs → Sidebar-hBHcsbrg.cjs} +3 -3
  240. package/dist/next/{Sidebar-C_zefcbg.cjs.map → Sidebar-hBHcsbrg.cjs.map} +1 -1
  241. package/dist/next/Sidebar.cjs.js +1 -1
  242. package/dist/next/Sidebar.js +1 -1
  243. package/dist/next/{Stepper-JSC7kNUK.cjs → Stepper-DOdGXz4_.cjs} +2 -2
  244. package/dist/next/{Stepper-JSC7kNUK.cjs.map → Stepper-DOdGXz4_.cjs.map} +1 -1
  245. package/dist/next/{Stepper-DPIt2hlL.js → Stepper-tDpx2gnl.js} +2 -2
  246. package/dist/next/{Stepper-DPIt2hlL.js.map → Stepper-tDpx2gnl.js.map} +1 -1
  247. package/dist/next/Stepper.cjs.js +1 -1
  248. package/dist/next/Stepper.js +1 -1
  249. package/dist/next/{TagInput-DjHDSsny.js → TagInput-BqNnh1L9.js} +3 -3
  250. package/dist/next/{TagInput-DjHDSsny.js.map → TagInput-BqNnh1L9.js.map} +1 -1
  251. package/dist/next/{TagInput-BwoUWtRR.cjs → TagInput-DUD9_g1b.cjs} +3 -3
  252. package/dist/next/{TagInput-BwoUWtRR.cjs.map → TagInput-DUD9_g1b.cjs.map} +1 -1
  253. package/dist/next/TagInput.cjs.js +1 -1
  254. package/dist/next/TagInput.js +1 -1
  255. package/dist/next/{TextArea-BDYg--3P.js → TextArea-Bmkg-d0v.js} +3 -3
  256. package/dist/next/TextArea-Bmkg-d0v.js.map +1 -0
  257. package/dist/next/{TextArea-OVtBBpaP.cjs → TextArea-OpFozktU.cjs} +3 -3
  258. package/dist/next/TextArea-OpFozktU.cjs.map +1 -0
  259. package/dist/next/TextArea.cjs.js +1 -1
  260. package/dist/next/TextArea.js +1 -1
  261. package/dist/next/{TextInput-DXXcGZtq.js → TextInput-BQPtN14M.js} +2 -2
  262. package/dist/next/{TextInput-DXXcGZtq.js.map → TextInput-BQPtN14M.js.map} +1 -1
  263. package/dist/next/{TextInput--th5kygP.cjs → TextInput-k8U0_lSm.cjs} +2 -2
  264. package/dist/next/{TextInput--th5kygP.cjs.map → TextInput-k8U0_lSm.cjs.map} +1 -1
  265. package/dist/next/TextInput.cjs.js +1 -1
  266. package/dist/next/TextInput.js +1 -1
  267. package/dist/{core/ThemeContext-Bo0vLczy.js → next/ThemeContext-B-z-faEj.js} +30 -30
  268. package/dist/next/ThemeContext-B-z-faEj.js.map +1 -0
  269. package/dist/next/{ThemeContext-BNR3_OIq.cjs → ThemeContext-BHzkqvlv.cjs} +29 -29
  270. package/dist/next/ThemeContext-BHzkqvlv.cjs.map +1 -0
  271. package/dist/next/ThemeInitScript-CIctCIv1.js +385 -0
  272. package/dist/next/ThemeInitScript-CIctCIv1.js.map +1 -0
  273. package/dist/next/ThemeInitScript-DqO2SVvW.cjs +384 -0
  274. package/dist/next/ThemeInitScript-DqO2SVvW.cjs.map +1 -0
  275. package/dist/next/ThemeInitScript.cjs.js +4 -0
  276. package/dist/next/ThemeInitScript.cjs.js.map +1 -0
  277. package/dist/next/ThemeInitScript.js +5 -0
  278. package/dist/next/ThemeInitScript.js.map +1 -0
  279. package/dist/next/ThemeProvider.cjs.js +1 -1
  280. package/dist/next/ThemeProvider.js +1 -1
  281. package/dist/next/{Toolbar-DleUmVkR.cjs → Toolbar-Bu_meSGb.cjs} +2 -2
  282. package/dist/next/{Toolbar-DleUmVkR.cjs.map → Toolbar-Bu_meSGb.cjs.map} +1 -1
  283. package/dist/next/{Toolbar-Dme9QqMY.js → Toolbar-Dd6pf5wP.js} +2 -2
  284. package/dist/next/{Toolbar-Dme9QqMY.js.map → Toolbar-Dd6pf5wP.js.map} +1 -1
  285. package/dist/next/Toolbar.cjs.js +1 -1
  286. package/dist/next/Toolbar.js +1 -1
  287. package/dist/next/head-manager-context.shared-runtime-7_8Oqhy0.js +30 -0
  288. package/dist/next/head-manager-context.shared-runtime-7_8Oqhy0.js.map +1 -0
  289. package/dist/next/head-manager-context.shared-runtime-Cgj8ROpJ.cjs +29 -0
  290. package/dist/next/head-manager-context.shared-runtime-Cgj8ROpJ.cjs.map +1 -0
  291. package/dist/next/{image-VX9Ty9NQ.cjs → image-MEZ6sESv.cjs} +13 -35
  292. package/dist/next/image-MEZ6sESv.cjs.map +1 -0
  293. package/dist/next/{image-CEz9QtOW.js → image-h6PDRhrT.js} +4 -26
  294. package/dist/next/image-h6PDRhrT.js.map +1 -0
  295. package/dist/next/index.cjs.js +27 -25
  296. package/dist/next/index.cjs.js.map +1 -1
  297. package/dist/next/index.js +40 -38
  298. package/dist/next/index.js.map +1 -1
  299. package/dist/next/{link-Bik5xH00.js → link-BY93bHEw.js} +9 -92
  300. package/dist/next/link-BY93bHEw.js.map +1 -0
  301. package/dist/next/{link-hxAaLm0Q.cjs → link-Dyf-9ObB.cjs} +10 -93
  302. package/dist/next/link-Dyf-9ObB.cjs.map +1 -0
  303. package/dist/next/{navigation-m012syo9.cjs → navigation-CcfNESvg.cjs} +5 -4
  304. package/dist/next/{navigation-m012syo9.cjs.map → navigation-CcfNESvg.cjs.map} +1 -1
  305. package/dist/next/{navigation-DTwYCgCL.js → navigation-ChnNGxEG.js} +3 -2
  306. package/dist/next/{navigation-DTwYCgCL.js.map → navigation-ChnNGxEG.js.map} +1 -1
  307. package/dist/next/request-idle-callback-B3JHNaij.js +88 -0
  308. package/dist/next/request-idle-callback-B3JHNaij.js.map +1 -0
  309. package/dist/next/request-idle-callback-BIq6SiN0.cjs +87 -0
  310. package/dist/next/request-idle-callback-BIq6SiN0.cjs.map +1 -0
  311. package/dist/tsconfig.build.tsbuildinfo +1 -1
  312. package/dist/types/components/TextArea/TextArea.types.d.ts +1 -1
  313. package/dist/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  314. package/dist/types/context/ThemeContext.d.ts +3 -1
  315. package/dist/types/context/ThemeContext.d.ts.map +1 -1
  316. package/dist/types/context/ThemeContext.types.d.ts +6 -0
  317. package/dist/types/context/ThemeContext.types.d.ts.map +1 -1
  318. package/dist/types/context/ThemeInitScript.d.ts +3 -0
  319. package/dist/types/context/ThemeInitScript.d.ts.map +1 -0
  320. package/dist/types/index.next.d.ts +1 -0
  321. package/dist/types/index.next.d.ts.map +1 -1
  322. package/package.json +6 -1
  323. package/dist/core/Badge-DfsFGYhY.js.map +0 -1
  324. package/dist/core/Badge-LyKc0uJG.cjs.map +0 -1
  325. package/dist/core/Breadcrumbs-DhioJUB9.js.map +0 -1
  326. package/dist/core/Breadcrumbs-xmUgcTXF.cjs.map +0 -1
  327. package/dist/core/Button-DEYbr8xW.js.map +0 -1
  328. package/dist/core/Button-wz_We8xU.cjs.map +0 -1
  329. package/dist/core/Checkbox-BLBbE9Ww.js.map +0 -1
  330. package/dist/core/Checkbox-fVnseKGF.cjs.map +0 -1
  331. package/dist/core/IconButton-B6cAP2hY.js.map +0 -1
  332. package/dist/core/IconButton-BxUXK-xn.cjs.map +0 -1
  333. package/dist/core/TextArea-B0it55lO.js.map +0 -1
  334. package/dist/core/TextArea-Dn9aynnY.cjs.map +0 -1
  335. package/dist/core/ThemeContext-Bo0vLczy.js.map +0 -1
  336. package/dist/core/ThemeContext-CtZXUeeU.cjs.map +0 -1
  337. package/dist/next/Badge-C4JwPL9J.js.map +0 -1
  338. package/dist/next/Badge-d7iY-oiw.cjs.map +0 -1
  339. package/dist/next/Breadcrumbs-CEHoh3s2.cjs.map +0 -1
  340. package/dist/next/Breadcrumbs-LfCnghHj.js.map +0 -1
  341. package/dist/next/Button-CDvdEOSq.js.map +0 -1
  342. package/dist/next/Button-Cw9aGFLo.cjs.map +0 -1
  343. package/dist/next/Checkbox-CiHMrYmz.js.map +0 -1
  344. package/dist/next/Checkbox-wdW0yOxr.cjs.map +0 -1
  345. package/dist/next/IconButton-1BW390eT.cjs.map +0 -1
  346. package/dist/next/IconButton-DxGzuz13.js.map +0 -1
  347. package/dist/next/TextArea-BDYg--3P.js.map +0 -1
  348. package/dist/next/TextArea-OVtBBpaP.cjs.map +0 -1
  349. package/dist/next/ThemeContext-BNR3_OIq.cjs.map +0 -1
  350. package/dist/next/ThemeContext-Bo0vLczy.js.map +0 -1
  351. package/dist/next/image-CEz9QtOW.js.map +0 -1
  352. package/dist/next/image-VX9Ty9NQ.cjs.map +0 -1
  353. package/dist/next/link-Bik5xH00.js.map +0 -1
  354. package/dist/next/link-hxAaLm0Q.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Footer-EX62svri.cjs","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext } from \"react\";\r\nimport { getAllColorSchemes } from \"../../../../styles/colorSchemeRegistry\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport { RoundingType, ShadowType, StateType, ThemeType } from \"@/types/types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\n\r\ninterface ThemeSelectProps {\r\n theme?: ThemeType;\r\n shadow?: ShadowType;\r\n rounding?: RoundingType;\r\n \"data-testid\"?: string;\r\n state?: StateType;\r\n}\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n if (!themeContext) {\r\n throw new Error(\r\n \"ThemeContext is undefined. Make sure to wrap this component with ThemeProvider.\"\r\n );\r\n }\r\n\r\n const { selectedScheme, setSelectedScheme } = themeContext;\r\n const allSchemes = getAllColorSchemes();\r\n\r\n const options = allSchemes.map((scheme, index) => ({\r\n value: index.toString(),\r\n label: scheme.name,\r\n }));\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={`${testId}-select`}\r\n value={selectedScheme.toString()}\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(value as string, 10))\r\n }\r\n ariaLabel=\"Select Theme\"\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { JSX, useMemo } from \"react\";\r\nimport { FooterProps } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nexport interface BaseFooterProps extends FooterProps {\r\n IconButton: React.ComponentType<any>;\r\n ThemeSelect: React.ComponentType<any>;\r\n ImageComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n LinkWrapper?: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className?: string;\r\n [key: string]: any;\r\n }) => JSX.Element;\r\n}\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children }) => <a href={href}>{children}</a>,\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n classMap[`shadow${capitalize(shadow)}`],\r\n classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, className]\r\n );\r\n return (\r\n <footer\r\n className={footerClass}\r\n role=\"contentinfo\"\r\n aria-label=\"Footer\"\r\n data-testid={testId}\r\n >\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {logo &&\r\n (typeof logo === \"string\" ||\r\n (typeof logo === \"object\" && \"src\" in logo)) ? (\r\n <ImageComponent\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logo}\r\n alt=\"Logo\"\r\n height={20}\r\n width={20}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {logo}\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div className={classMap.left} data-testid={`${testId}-copyright`}>\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul role=\"list\">\r\n {links.map((link, i) => (\r\n <li key={i}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${link.label.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n aria-label=\"Theme selector container\"\r\n >\r\n <ThemeSelect theme={\"clear\"} shadow={\"none\"} />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <div\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n role=\"navigation\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={index}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["getDefaultTheme","getDefaultShadow","getDefaultRounding","useContext","ThemeContext","getAllColorSchemes","jsx","Select","links","logo","IconButton","useMemo","combineClassNames","capitalize","jsxs","link","social","Image","ThemeSelect","Link"],"mappings":"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"}
1
+ {"version":3,"file":"Footer-BkA5H1MS.cjs","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext } from \"react\";\r\nimport { getAllColorSchemes } from \"../../../../styles/colorSchemeRegistry\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport { RoundingType, ShadowType, StateType, ThemeType } from \"@/types/types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\n\r\ninterface ThemeSelectProps {\r\n theme?: ThemeType;\r\n shadow?: ShadowType;\r\n rounding?: RoundingType;\r\n \"data-testid\"?: string;\r\n state?: StateType;\r\n}\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n if (!themeContext) {\r\n throw new Error(\r\n \"ThemeContext is undefined. Make sure to wrap this component with ThemeProvider.\"\r\n );\r\n }\r\n\r\n const { selectedScheme, setSelectedScheme } = themeContext;\r\n const allSchemes = getAllColorSchemes();\r\n\r\n const options = allSchemes.map((scheme, index) => ({\r\n value: index.toString(),\r\n label: scheme.name,\r\n }));\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={`${testId}-select`}\r\n value={selectedScheme.toString()}\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(value as string, 10))\r\n }\r\n ariaLabel=\"Select Theme\"\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { JSX, useMemo } from \"react\";\r\nimport { FooterProps } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nexport interface BaseFooterProps extends FooterProps {\r\n IconButton: React.ComponentType<any>;\r\n ThemeSelect: React.ComponentType<any>;\r\n ImageComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n LinkWrapper?: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className?: string;\r\n [key: string]: any;\r\n }) => JSX.Element;\r\n}\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children }) => <a href={href}>{children}</a>,\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n classMap[`shadow${capitalize(shadow)}`],\r\n classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, className]\r\n );\r\n return (\r\n <footer\r\n className={footerClass}\r\n role=\"contentinfo\"\r\n aria-label=\"Footer\"\r\n data-testid={testId}\r\n >\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {logo &&\r\n (typeof logo === \"string\" ||\r\n (typeof logo === \"object\" && \"src\" in logo)) ? (\r\n <ImageComponent\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logo}\r\n alt=\"Logo\"\r\n height={20}\r\n width={20}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {logo}\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div className={classMap.left} data-testid={`${testId}-copyright`}>\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul role=\"list\">\r\n {links.map((link, i) => (\r\n <li key={i}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${link.label.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n aria-label=\"Theme selector container\"\r\n >\r\n <ThemeSelect theme={\"clear\"} shadow={\"none\"} />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <div\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n role=\"navigation\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={index}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["getDefaultTheme","getDefaultShadow","getDefaultRounding","useContext","ThemeContext","getAllColorSchemes","jsx","Select","links","logo","IconButton","useMemo","combineClassNames","capitalize","jsxs","link","social","Image","ThemeSelect","Link"],"mappings":"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"}
@@ -3,12 +3,12 @@ import { useContext, useMemo } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
- import { I as IconButton } from "./IconButton-DxGzuz13.js";
6
+ import { I as IconButton } from "./IconButton-BjZZm2hJ.js";
7
7
  import { g as getAllColorSchemes } from "./registerColorSheme-BPX0H7hl.js";
8
- import { a as ThemeContext } from "./ThemeContext-Bo0vLczy.js";
8
+ import { a as ThemeContext } from "./ThemeContext-B-z-faEj.js";
9
9
  import { S as Select } from "./Select-DXO2nK78.js";
10
- import { L as Link } from "./link-Bik5xH00.js";
11
- import { I as Image } from "./image-CEz9QtOW.js";
10
+ import { L as Link } from "./link-BY93bHEw.js";
11
+ import { I as Image } from "./image-h6PDRhrT.js";
12
12
  const UserThemeSettings = ({
13
13
  theme = getDefaultTheme(),
14
14
  shadow = getDefaultShadow(),
@@ -251,4 +251,4 @@ export {
251
251
  Footer as F,
252
252
  UserThemeSettings as U
253
253
  };
254
- //# sourceMappingURL=Footer-CWUge4tr.js.map
254
+ //# sourceMappingURL=Footer-BvTet1LG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer-CWUge4tr.js","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext } from \"react\";\r\nimport { getAllColorSchemes } from \"../../../../styles/colorSchemeRegistry\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport { RoundingType, ShadowType, StateType, ThemeType } from \"@/types/types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\n\r\ninterface ThemeSelectProps {\r\n theme?: ThemeType;\r\n shadow?: ShadowType;\r\n rounding?: RoundingType;\r\n \"data-testid\"?: string;\r\n state?: StateType;\r\n}\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n if (!themeContext) {\r\n throw new Error(\r\n \"ThemeContext is undefined. Make sure to wrap this component with ThemeProvider.\"\r\n );\r\n }\r\n\r\n const { selectedScheme, setSelectedScheme } = themeContext;\r\n const allSchemes = getAllColorSchemes();\r\n\r\n const options = allSchemes.map((scheme, index) => ({\r\n value: index.toString(),\r\n label: scheme.name,\r\n }));\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={`${testId}-select`}\r\n value={selectedScheme.toString()}\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(value as string, 10))\r\n }\r\n ariaLabel=\"Select Theme\"\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { JSX, useMemo } from \"react\";\r\nimport { FooterProps } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nexport interface BaseFooterProps extends FooterProps {\r\n IconButton: React.ComponentType<any>;\r\n ThemeSelect: React.ComponentType<any>;\r\n ImageComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n LinkWrapper?: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className?: string;\r\n [key: string]: any;\r\n }) => JSX.Element;\r\n}\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children }) => <a href={href}>{children}</a>,\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n classMap[`shadow${capitalize(shadow)}`],\r\n classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, className]\r\n );\r\n return (\r\n <footer\r\n className={footerClass}\r\n role=\"contentinfo\"\r\n aria-label=\"Footer\"\r\n data-testid={testId}\r\n >\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {logo &&\r\n (typeof logo === \"string\" ||\r\n (typeof logo === \"object\" && \"src\" in logo)) ? (\r\n <ImageComponent\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logo}\r\n alt=\"Logo\"\r\n height={20}\r\n width={20}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {logo}\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div className={classMap.left} data-testid={`${testId}-copyright`}>\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul role=\"list\">\r\n {links.map((link, i) => (\r\n <li key={i}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${link.label.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n aria-label=\"Theme selector container\"\r\n >\r\n <ThemeSelect theme={\"clear\"} shadow={\"none\"} />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <div\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n role=\"navigation\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={index}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["links","logo","IconButton","social","ThemeSelect"],"mappings":"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"}
1
+ {"version":3,"file":"Footer-BvTet1LG.js","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext } from \"react\";\r\nimport { getAllColorSchemes } from \"../../../../styles/colorSchemeRegistry\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport { RoundingType, ShadowType, StateType, ThemeType } from \"@/types/types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\n\r\ninterface ThemeSelectProps {\r\n theme?: ThemeType;\r\n shadow?: ShadowType;\r\n rounding?: RoundingType;\r\n \"data-testid\"?: string;\r\n state?: StateType;\r\n}\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n if (!themeContext) {\r\n throw new Error(\r\n \"ThemeContext is undefined. Make sure to wrap this component with ThemeProvider.\"\r\n );\r\n }\r\n\r\n const { selectedScheme, setSelectedScheme } = themeContext;\r\n const allSchemes = getAllColorSchemes();\r\n\r\n const options = allSchemes.map((scheme, index) => ({\r\n value: index.toString(),\r\n label: scheme.name,\r\n }));\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={`${testId}-select`}\r\n value={selectedScheme.toString()}\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(value as string, 10))\r\n }\r\n ariaLabel=\"Select Theme\"\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { JSX, useMemo } from \"react\";\r\nimport { FooterProps } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nexport interface BaseFooterProps extends FooterProps {\r\n IconButton: React.ComponentType<any>;\r\n ThemeSelect: React.ComponentType<any>;\r\n ImageComponent?: React.ElementType;\r\n classMap: Record<string, string>;\r\n LinkWrapper?: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className?: string;\r\n [key: string]: any;\r\n }) => JSX.Element;\r\n}\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children }) => <a href={href}>{children}</a>,\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n classMap[`shadow${capitalize(shadow)}`],\r\n classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, className]\r\n );\r\n return (\r\n <footer\r\n className={footerClass}\r\n role=\"contentinfo\"\r\n aria-label=\"Footer\"\r\n data-testid={testId}\r\n >\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {logo &&\r\n (typeof logo === \"string\" ||\r\n (typeof logo === \"object\" && \"src\" in logo)) ? (\r\n <ImageComponent\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logo}\r\n alt=\"Logo\"\r\n height={20}\r\n width={20}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n aria-label=\"Logo\"\r\n role=\"img\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {logo}\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div className={classMap.left} data-testid={`${testId}-copyright`}>\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul role=\"list\">\r\n {links.map((link, i) => (\r\n <li key={i}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${link.label.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n aria-label=\"Theme selector container\"\r\n >\r\n <ThemeSelect theme={\"clear\"} shadow={\"none\"} />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <div\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n role=\"navigation\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={index}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["links","logo","IconButton","social","ThemeSelect"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Footer = require("./Footer-EX62svri.cjs");
2
+ const Footer = require("./Footer-BkA5H1MS.cjs");
3
3
  module.exports = Footer.Footer;
4
4
  //# sourceMappingURL=Footer.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { F } from "./Footer-CWUge4tr.js";
1
+ import { F } from "./Footer-BvTet1LG.js";
2
2
  export {
3
3
  F as default
4
4
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { L as Link } from "./link-Bik5xH00.js";
2
+ import { L as Link } from "./link-BY93bHEw.js";
3
3
  import { forwardRef, useMemo } from "react";
4
4
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
@@ -92,7 +92,7 @@ const IconButtonBase = forwardRef(
92
92
  type = "button",
93
93
  classMap,
94
94
  LinkComponent = "a",
95
- "data-testid": testId,
95
+ "data-testid": testId = "icon-button",
96
96
  tabIndex,
97
97
  ...rest
98
98
  }, ref) => {
@@ -183,4 +183,4 @@ const IconButton = (props) => /* @__PURE__ */ jsx(IconButtonBase, { ...props, cl
183
183
  export {
184
184
  IconButton as I
185
185
  };
186
- //# sourceMappingURL=IconButton-DxGzuz13.js.map
186
+ //# sourceMappingURL=IconButton-BjZZm2hJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton-BjZZm2hJ.js","sources":["../../src/components/IconButton/IconButtonBase.tsx","../../src/components/IconButton/next/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { IconButtonProps } from \"./IconButton.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\nexport interface IconButtonBaseProps extends IconButtonProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n}\r\n\r\nconst IconButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n IconButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n href,\r\n isExternal = false,\r\n onClick,\r\n onKeyDown,\r\n className = \"\",\r\n disabled = false,\r\n ariaLabel,\r\n title,\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n size = getDefaultSize(),\r\n loading = false,\r\n type = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n \"data-testid\": testId = \"icon-button\",\r\n tabIndex,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const label = ariaLabel || title || \"Icon button\";\r\n\r\n const classNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.iconButton,\r\n classMap[theme],\r\n classMap[state],\r\n size && classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, size, outline, disabled, className]\r\n );\r\n\r\n const sharedAria = {\r\n \"aria-label\": label,\r\n \"aria-disabled\": disabled || undefined,\r\n \"aria-busy\": loading || undefined,\r\n title,\r\n tabIndex: typeof tabIndex === \"number\" ? tabIndex : disabled ? -1 : 0,\r\n \"data-testid\": testId,\r\n };\r\n\r\n const iconContent = (\r\n <span className={classMap.buttonLabel}>\r\n {loading ? (\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n ) : (\r\n <Icon data-testid=\"icon-button-icon\" aria-hidden=\"true\" />\r\n )}\r\n </span>\r\n );\r\n\r\n if (href && !disabled && isExternal) {\r\n return (\r\n <a\r\n href={href}\r\n role=\"button\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </a>\r\n );\r\n }\r\n\r\n if (href && !disabled && !isExternal) {\r\n return (\r\n <LinkComponent\r\n href={href}\r\n role=\"button\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type={type}\r\n disabled={disabled}\r\n className={classNames}\r\n onClick={(e) => {\r\n if (!disabled) onClick?.(e);\r\n }}\r\n onKeyDown={(e) => {\r\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\r\n e.preventDefault();\r\n onClick?.(\r\n new MouseEvent(\"click\", {\r\n bubbles: true,\r\n }) as unknown as React.MouseEvent<HTMLElement>\r\n );\r\n }\r\n onKeyDown?.(e);\r\n }}\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nIconButtonBase.displayName = \"IconButtonBase\";\r\n\r\nexport default IconButtonBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./IconButton.module.scss\";\r\nimport IconButtonBase from \"../IconButtonBase\";\r\nimport { IconButtonProps } from \"../IconButton.types\";\r\n\r\nconst IconButton: React.FC<IconButtonProps> = (props) => (\r\n <IconButtonBase {...props} classMap={styles} LinkComponent={Link} />\r\n);\r\n\r\nexport default IconButton;\r\n"],"names":["disabled","outline"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const require$$2 = require("react/jsx-runtime");
3
- const link = require("./link-hxAaLm0Q.cjs");
3
+ const link = require("./link-Dyf-9ObB.cjs");
4
4
  const React = require("react");
5
5
  const classNames = require("./classNames-BcWMx052.cjs");
6
6
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
@@ -93,7 +93,7 @@ const IconButtonBase = React.forwardRef(
93
93
  type = "button",
94
94
  classMap,
95
95
  LinkComponent = "a",
96
- "data-testid": testId,
96
+ "data-testid": testId = "icon-button",
97
97
  tabIndex,
98
98
  ...rest
99
99
  }, ref) => {
@@ -182,4 +182,4 @@ const IconButtonBase = React.forwardRef(
182
182
  IconButtonBase.displayName = "IconButtonBase";
183
183
  const IconButton = (props) => /* @__PURE__ */ require$$2.jsx(IconButtonBase, { ...props, classMap: styles, LinkComponent: link.Link });
184
184
  exports.IconButton = IconButton;
185
- //# sourceMappingURL=IconButton-1BW390eT.cjs.map
185
+ //# sourceMappingURL=IconButton-DvfiteNA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton-DvfiteNA.cjs","sources":["../../src/components/IconButton/IconButtonBase.tsx","../../src/components/IconButton/next/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { IconButtonProps } from \"./IconButton.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\nexport interface IconButtonBaseProps extends IconButtonProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n}\r\n\r\nconst IconButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n IconButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n href,\r\n isExternal = false,\r\n onClick,\r\n onKeyDown,\r\n className = \"\",\r\n disabled = false,\r\n ariaLabel,\r\n title,\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n size = getDefaultSize(),\r\n loading = false,\r\n type = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n \"data-testid\": testId = \"icon-button\",\r\n tabIndex,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const label = ariaLabel || title || \"Icon button\";\r\n\r\n const classNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.iconButton,\r\n classMap[theme],\r\n classMap[state],\r\n size && classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, size, outline, disabled, className]\r\n );\r\n\r\n const sharedAria = {\r\n \"aria-label\": label,\r\n \"aria-disabled\": disabled || undefined,\r\n \"aria-busy\": loading || undefined,\r\n title,\r\n tabIndex: typeof tabIndex === \"number\" ? tabIndex : disabled ? -1 : 0,\r\n \"data-testid\": testId,\r\n };\r\n\r\n const iconContent = (\r\n <span className={classMap.buttonLabel}>\r\n {loading ? (\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n ) : (\r\n <Icon data-testid=\"icon-button-icon\" aria-hidden=\"true\" />\r\n )}\r\n </span>\r\n );\r\n\r\n if (href && !disabled && isExternal) {\r\n return (\r\n <a\r\n href={href}\r\n role=\"button\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </a>\r\n );\r\n }\r\n\r\n if (href && !disabled && !isExternal) {\r\n return (\r\n <LinkComponent\r\n href={href}\r\n role=\"button\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type={type}\r\n disabled={disabled}\r\n className={classNames}\r\n onClick={(e) => {\r\n if (!disabled) onClick?.(e);\r\n }}\r\n onKeyDown={(e) => {\r\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\r\n e.preventDefault();\r\n onClick?.(\r\n new MouseEvent(\"click\", {\r\n bubbles: true,\r\n }) as unknown as React.MouseEvent<HTMLElement>\r\n );\r\n }\r\n onKeyDown?.(e);\r\n }}\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nIconButtonBase.displayName = \"IconButtonBase\";\r\n\r\nexport default IconButtonBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./IconButton.module.scss\";\r\nimport IconButtonBase from \"../IconButtonBase\";\r\nimport { IconButtonProps } from \"../IconButton.types\";\r\n\r\nconst IconButton: React.FC<IconButtonProps> = (props) => (\r\n <IconButtonBase {...props} classMap={styles} LinkComponent={Link} />\r\n);\r\n\r\nexport default IconButton;\r\n"],"names":["forwardRef","getDefaultTheme","disabled","outline","getDefaultRounding","getDefaultShadow","getDefaultSize","classNames","useMemo","combineClassNames","capitalize","jsx","Link"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const IconButton = require("./IconButton-1BW390eT.cjs");
2
+ const IconButton = require("./IconButton-DvfiteNA.cjs");
3
3
  module.exports = IconButton.IconButton;
4
4
  //# sourceMappingURL=IconButton.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { I } from "./IconButton-DxGzuz13.js";
1
+ import { I } from "./IconButton-BjZZm2hJ.js";
2
2
  export {
3
3
  I as default
4
4
  };
@@ -6,8 +6,8 @@ const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
6
6
  const classNames = require("./classNames-BcWMx052.cjs");
7
7
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
8
8
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
9
- const Button = require("./Button-Cw9aGFLo.cjs");
10
- const IconButton = require("./IconButton-1BW390eT.cjs");
9
+ const Button = require("./Button-CksDHAGT.cjs");
10
+ const IconButton = require("./IconButton-DvfiteNA.cjs");
11
11
  const BaseMessagePopup = ({
12
12
  message: message2,
13
13
  onClose,
@@ -198,4 +198,4 @@ const MessagePopUp = (props) => {
198
198
  );
199
199
  };
200
200
  exports.MessagePopUp = MessagePopUp;
201
- //# sourceMappingURL=MessagePopUp-CRXKWJcY.cjs.map
201
+ //# sourceMappingURL=MessagePopUp-8Jk_jkt_.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePopUp-CRXKWJcY.cjs","sources":["../../src/components/MessagePopUp/MessagePopUpBase.tsx","../../src/components/MessagePopUp/next/MessagePopUp.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopUpProps } from \"./MessagePopUp.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopUpProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopUpBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopUp.types\";\r\n\r\nconst MessagePopUp: React.FC<MessagePopUpProps> = (props) => {\r\n return (\r\n <BaseMessagePopUp\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopUp;\r\n"],"names":["message","getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon","BaseMessagePopUp"],"mappings":"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"}
1
+ {"version":3,"file":"MessagePopUp-8Jk_jkt_.cjs","sources":["../../src/components/MessagePopUp/MessagePopUpBase.tsx","../../src/components/MessagePopUp/next/MessagePopUp.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopUpProps } from \"./MessagePopUp.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopUpProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopUpBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopUp.types\";\r\n\r\nconst MessagePopUp: React.FC<MessagePopUpProps> = (props) => {\r\n return (\r\n <BaseMessagePopUp\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopUp;\r\n"],"names":["message","getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon","BaseMessagePopUp"],"mappings":"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"}
@@ -5,8 +5,8 @@ import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
5
5
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
6
6
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
7
7
  import { a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
8
- import { B as Button } from "./Button-CDvdEOSq.js";
9
- import { I as IconButton } from "./IconButton-DxGzuz13.js";
8
+ import { B as Button } from "./Button-DUYFGciR.js";
9
+ import { I as IconButton } from "./IconButton-BjZZm2hJ.js";
10
10
  const BaseMessagePopup = ({
11
11
  message: message2,
12
12
  onClose,
@@ -199,4 +199,4 @@ const MessagePopUp = (props) => {
199
199
  export {
200
200
  MessagePopUp as M
201
201
  };
202
- //# sourceMappingURL=MessagePopUp-r4RzD_hc.js.map
202
+ //# sourceMappingURL=MessagePopUp-DCP7uPnZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePopUp-r4RzD_hc.js","sources":["../../src/components/MessagePopUp/MessagePopUpBase.tsx","../../src/components/MessagePopUp/next/MessagePopUp.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopUpProps } from \"./MessagePopUp.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopUpProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopUpBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopUp.types\";\r\n\r\nconst MessagePopUp: React.FC<MessagePopUpProps> = (props) => {\r\n return (\r\n <BaseMessagePopUp\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopUp;\r\n"],"names":["message","Button","IconButton","BaseMessagePopUp"],"mappings":";;;;;;;;;AAuBA,MAAM,mBAAoD,CAAC;AAAA,EACzD,SAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB,mBAAA;AAAA,EACnB,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe,SAAS;AAAA,EACxB,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAA6B,IAAI;AAC3E,QAAM,YAAY,OAAuB,IAAI;AAC7C,QAAM,iBAAiB,OAA0B,IAAI;AACrD,QAAM,YAAY,MAAA;AAElB,YAAU,MAAM;AACd,iBAAa,IAAI;AACjB,QAAI,SAAS,SAAS,eAAe,cAAc;AACnD,QAAI,CAAC,QAAQ;AACX,eAAS,SAAS,cAAc,KAAK;AACrC,aAAO,KAAK;AACZ,eAAS,KAAK,YAAY,MAAM;AAAA,IAClC;AACA,qBAAiB,MAAM;AACvB,aAAS,KAAK,UAAU,IAAI,WAAW;AAEvC,UAAM,eAAe,CAAC,MAAgC;AACpD,UAAI,EAAE,QAAQ,SAAU,SAAA;AAAA,IAC1B;AAEA,aAAS,iBAAiB,WAAW,YAAY;AACjD,WAAO,MAAM;AACX,eAAS,KAAK,UAAU,OAAO,WAAW;AAC1C,eAAS,oBAAoB,WAAW,YAAY;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAU,MAAM;AACd,eAAW,MAAM;;AACf,2BAAe,YAAf,mBAAwB;AAAA,IAC1B,GAAG,EAAE;AAAA,EACP,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,gBAAgB,CAAC,MAAqC;;AAC1D,QAAI,EAAE,QAAQ,MAAO;AAErB,UAAM,gBAAe,eAAU,YAAV,mBAAmB;AAAA,MACtC;AAAA;AAEF,QAAI,CAAC,gBAAgB,aAAa,WAAW,EAAG;AAEhD,UAAM,QAAQ,aAAa,CAAC;AAC5B,UAAM,OAAO,aAAa,aAAa,SAAS,CAAC;AAEjD,QAAI,EAAE,YAAY,SAAS,kBAAkB,OAAO;AAClD,QAAE,eAAA;AACF,WAAK,MAAA;AAAA,IACP,WAAW,CAAC,EAAE,YAAY,SAAS,kBAAkB,MAAM;AACzD,QAAE,eAAA;AACF,YAAM,MAAA;AAAA,IACR;AAAA,EACF;AAEA,MAAI,CAAC,aAAa,CAAC,cAAe,QAAO;AAEzC,QAAM,eAAe;AAAA,IACnB,SAAS;AAAA,IACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,IACnD;AAAA,EAAA;AAGF,SAAO,SAAS;AAAA,IACd;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAK;AAAA,QACL,eAAa;AAAA,QAEb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,SAAS,CAAC,MAAM,EAAE,gBAAA;AAAA,YAClB,MAAK;AAAA,YACL,cAAW;AAAA,YACX,mBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,KAAK;AAAA,YACL,WAAW;AAAA,YACX,eAAa,GAAG,MAAM;AAAA,YAEtB,UAAA;AAAA,cAAA;AAAA,gBAACA;AAAA,gBAAA;AAAA,kBACC,WAAW,SAAS;AAAA,kBACpB,SAAS;AAAA,kBACT,cAAW;AAAA,kBACX,MAAM;AAAA,kBACN,OAAM;AAAA,kBACN,MAAK;AAAA,kBACL,eAAa,GAAG,MAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,cAExB;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,IAAI;AAAA,kBACJ,WAAW,SAAS;AAAA,kBACpB,eAAa,GAAG,MAAM;AAAA,kBAErB,UAAAF;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEH,qBAAC,SAAI,WAAW,SAAS,SAAS,eAAa,GAAG,MAAM,YACrD,UAAA;AAAA,gBAAA,aACC;AAAA,kBAACC;AAAA,kBAAA;AAAA,oBACC,WAAW,SAAS;AAAA,oBACpB,OAAM;AAAA,oBACN,SAAS;AAAA,oBACT,KAAK;AAAA,oBACL,UAAU;AAAA,oBACV,MAAK;AAAA,oBACL,eAAa,GAAG,MAAM;AAAA,oBAErB,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGJ,YACC;AAAA,kBAACA;AAAA,kBAAA;AAAA,oBACC,WAAW,SAAS;AAAA,oBACpB,OAAM;AAAA,oBACN,SAAS;AAAA,oBACT,MAAK;AAAA,oBACL,eAAa,GAAG,MAAM;AAAA,oBAErB,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACH,EAAA,CAEJ;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAEF;AAAA,EAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA,MAAM,eAA4C,CAAC,UAAU;AAC3D,SACE;AAAA,IAACE;AAAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
1
+ {"version":3,"file":"MessagePopUp-DCP7uPnZ.js","sources":["../../src/components/MessagePopUp/MessagePopUpBase.tsx","../../src/components/MessagePopUp/next/MessagePopUp.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopUpProps } from \"./MessagePopUp.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopUpProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopUpBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopUp.types\";\r\n\r\nconst MessagePopUp: React.FC<MessagePopUpProps> = (props) => {\r\n return (\r\n <BaseMessagePopUp\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopUp;\r\n"],"names":["message","Button","IconButton","BaseMessagePopUp"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const MessagePopUp = require("./MessagePopUp-CRXKWJcY.cjs");
2
+ const MessagePopUp = require("./MessagePopUp-8Jk_jkt_.cjs");
3
3
  module.exports = MessagePopUp.MessagePopUp;
4
4
  //# sourceMappingURL=MessagePopUp.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { M } from "./MessagePopUp-r4RzD_hc.js";
1
+ import { M } from "./MessagePopUp-DCP7uPnZ.js";
2
2
  export {
3
3
  M as default
4
4
  };
@@ -6,7 +6,7 @@ const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
6
6
  const classNames = require("./classNames-BcWMx052.cjs");
7
7
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
8
8
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
9
- const IconButton = require("./IconButton-1BW390eT.cjs");
9
+ const IconButton = require("./IconButton-DvfiteNA.cjs");
10
10
  const BaseModal = ({
11
11
  className = "",
12
12
  children,
@@ -174,4 +174,4 @@ const Modal = (props) => {
174
174
  return /* @__PURE__ */ require$$2.jsx(BaseModal, { ...props, IconButton: IconButton.IconButton, classMap: styles });
175
175
  };
176
176
  exports.Modal = Modal;
177
- //# sourceMappingURL=Modal-BUWht7j9.cjs.map
177
+ //# sourceMappingURL=Modal-C2aLpohd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-BUWht7j9.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-C2aLpohd.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
5
5
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
6
6
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
7
7
  import { a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
8
- import { I as IconButton } from "./IconButton-DxGzuz13.js";
8
+ import { I as IconButton } from "./IconButton-BjZZm2hJ.js";
9
9
  const BaseModal = ({
10
10
  className = "",
11
11
  children,
@@ -175,4 +175,4 @@ const Modal = (props) => {
175
175
  export {
176
176
  Modal as M
177
177
  };
178
- //# sourceMappingURL=Modal-HVhtE6zt.js.map
178
+ //# sourceMappingURL=Modal-DFnJUiOY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-HVhtE6zt.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-DFnJUiOY.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Modal = require("./Modal-BUWht7j9.cjs");
2
+ const Modal = require("./Modal-C2aLpohd.cjs");
3
3
  module.exports = Modal.Modal;
4
4
  //# sourceMappingURL=Modal.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { M } from "./Modal-HVhtE6zt.js";
1
+ import { M } from "./Modal-DFnJUiOY.js";
2
2
  export {
3
3
  M as default
4
4
  };
@@ -4,8 +4,8 @@ const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
6
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
7
- const link = require("./link-hxAaLm0Q.cjs");
8
- const navigation = require("./navigation-m012syo9.cjs");
7
+ const link = require("./link-Dyf-9ObB.cjs");
8
+ const navigation = require("./navigation-CcfNESvg.cjs");
9
9
  const BaseNavBar = ({
10
10
  items,
11
11
  currentPath,
@@ -169,4 +169,4 @@ const NavBar = ({
169
169
  );
170
170
  };
171
171
  exports.NavBar = NavBar;
172
- //# sourceMappingURL=NavBar-CO4v6_28.cjs.map
172
+ //# sourceMappingURL=NavBar-CqPh60CY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar-CO4v6_28.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { NavBarProps } from \"./NavBar.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseNavBarProps extends NavBarProps {\r\n currentPath: string;\r\n LinkWrapper: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className: string;\r\n isActive: boolean;\r\n testId: string;\r\n \"aria-current\"?: \"page\";\r\n }) => JSX.Element;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className,\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\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 return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n {items.map((item, index) => {\r\n const isActive = currentPath === item.path;\r\n\r\n console.log(\r\n \"Nav item className:\",\r\n combineClassNames(classMap.item, isActive && classMap.active)\r\n );\r\n\r\n return (\r\n <LinkWrapper\r\n key={`${item.label}-${index}`}\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap[\"item--active\"]\r\n )}\r\n testId={`${testId}-nav-item-${item.label.toLowerCase()}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span\r\n className={classMap.linkContent}\r\n style={{ display: \"flex\", alignItems: \"center\" }}\r\n >\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${item.label.toLowerCase()}`}\r\n >\r\n {item.icon}\r\n </span>\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n );\r\n })}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={resolvedPath || \"/\"}\r\n LinkWrapper={({ href, children, className, isActive, testId }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","item","jsxs","usePathname","Link"],"mappings":";;;;;;;;AAuBA,MAAM,aAAwC,CAAC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQA,kBAAAA,gBAAA;AAAA,EACR,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,eAAeC,MAAAA;AAAAA,IACnB,MAAMC,WAAAA,kBAAkB,SAAS,WAAW,SAAS,KAAK,GAAG,SAAS;AAAA,IACtE,CAAC,UAAU,KAAK;AAAA,EAAA;AAGlB,QAAM,YAAYD,MAAAA;AAAAA,IAChB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW;AAAA,MACX,eAAa,GAAG,MAAM;AAAA,MAErB,UAAA,MAAM,IAAI,CAACC,OAAM,UAAU;AAC1B,cAAM,WAAW,gBAAgBA,MAAK;AAEtC,gBAAQ;AAAA,UACN;AAAA,UACAH,WAAAA,kBAAkB,SAAS,MAAM,YAAY,SAAS,MAAM;AAAA,QAAA;AAG9D,eACEE,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAMC,MAAK;AAAA,YACX;AAAA,YACA,WAAWH,WAAAA;AAAAA,cACT;AAAA,cACA,YAAY,SAAS,cAAc;AAAA,YAAA;AAAA,YAErC,QAAQ,GAAG,MAAM,aAAaG,MAAK,MAAM,aAAa;AAAA,YACtD,gBAAc,WAAW,SAAS;AAAA,YAElC,UAAAC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,SAAS;AAAA,gBACpB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAA;AAAA,gBAEtC,UAAA;AAAA,kBAAAF,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAW,SAAS;AAAA,sBACpB,eAAY;AAAA,sBACZ,eAAa,GAAG,MAAM,aAAaC,MAAK,MAAM,aAAa;AAAA,sBAE1D,UAAAA,MAAK;AAAA,oBAAA;AAAA,kBAAA;AAAA,iDAEP,QAAA,EAAK,WAAW,SAAS,OAAQ,gBAAK,MAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/C;AAAA,UAtBK,GAAGA,MAAK,KAAK,IAAI,KAAK;AAAA,QAAA;AAAA,MAyBjC,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFA,MAAM,SAAwD,CAAC;AAAA,EAC7D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAWE,WAAAA,WAAAA,YAAA;AACjB,QAAM,eAAe,YAAY;AAEjC,SACEH,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,aAAa,gBAAgB;AAAA,MAC7B,aAAa,CAAC,EAAE,MAAM,UAAU,WAAW,UAAU,aACnDA,2BAAAA;AAAAA,QAACI,KAAAA;AAAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,gBAAc,WAAW,SAAS;AAAA,UAClC,eAAa;AAAA,UAEZ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGL,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;;"}
1
+ {"version":3,"file":"NavBar-CqPh60CY.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { NavBarProps } from \"./NavBar.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseNavBarProps extends NavBarProps {\r\n currentPath: string;\r\n LinkWrapper: (props: {\r\n href: string;\r\n children: React.ReactNode;\r\n className: string;\r\n isActive: boolean;\r\n testId: string;\r\n \"aria-current\"?: \"page\";\r\n }) => JSX.Element;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n currentPath,\r\n LinkWrapper,\r\n classMap,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className,\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme]\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\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 return (\r\n <nav\r\n role=\"navigation\"\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n {items.map((item, index) => {\r\n const isActive = currentPath === item.path;\r\n\r\n console.log(\r\n \"Nav item className:\",\r\n combineClassNames(classMap.item, isActive && classMap.active)\r\n );\r\n\r\n return (\r\n <LinkWrapper\r\n key={`${item.label}-${index}`}\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap[\"item--active\"]\r\n )}\r\n testId={`${testId}-nav-item-${item.label.toLowerCase()}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span\r\n className={classMap.linkContent}\r\n style={{ display: \"flex\", alignItems: \"center\" }}\r\n >\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${item.label.toLowerCase()}`}\r\n >\r\n {item.icon}\r\n </span>\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n );\r\n })}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps } from \"../NavBar.types\";\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n currentPath={resolvedPath || \"/\"}\r\n LinkWrapper={({ href, children, className, isActive, testId }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","item","jsxs","usePathname","Link"],"mappings":";;;;;;;;AAuBA,MAAM,aAAwC,CAAC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQA,kBAAAA,gBAAA;AAAA,EACR,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,eAAeC,MAAAA;AAAAA,IACnB,MAAMC,WAAAA,kBAAkB,SAAS,WAAW,SAAS,KAAK,GAAG,SAAS;AAAA,IACtE,CAAC,UAAU,KAAK;AAAA,EAAA;AAGlB,QAAM,YAAYD,MAAAA;AAAAA,IAChB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW;AAAA,MACX,eAAa,GAAG,MAAM;AAAA,MAErB,UAAA,MAAM,IAAI,CAACC,OAAM,UAAU;AAC1B,cAAM,WAAW,gBAAgBA,MAAK;AAEtC,gBAAQ;AAAA,UACN;AAAA,UACAH,WAAAA,kBAAkB,SAAS,MAAM,YAAY,SAAS,MAAM;AAAA,QAAA;AAG9D,eACEE,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAMC,MAAK;AAAA,YACX;AAAA,YACA,WAAWH,WAAAA;AAAAA,cACT;AAAA,cACA,YAAY,SAAS,cAAc;AAAA,YAAA;AAAA,YAErC,QAAQ,GAAG,MAAM,aAAaG,MAAK,MAAM,aAAa;AAAA,YACtD,gBAAc,WAAW,SAAS;AAAA,YAElC,UAAAC,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,SAAS;AAAA,gBACpB,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAA;AAAA,gBAEtC,UAAA;AAAA,kBAAAF,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAW,SAAS;AAAA,sBACpB,eAAY;AAAA,sBACZ,eAAa,GAAG,MAAM,aAAaC,MAAK,MAAM,aAAa;AAAA,sBAE1D,UAAAA,MAAK;AAAA,oBAAA;AAAA,kBAAA;AAAA,iDAEP,QAAA,EAAK,WAAW,SAAS,OAAQ,gBAAK,MAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/C;AAAA,UAtBK,GAAGA,MAAK,KAAK,IAAI,KAAK;AAAA,QAAA;AAAA,MAyBjC,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFA,MAAM,SAAwD,CAAC;AAAA,EAC7D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAWE,WAAAA,WAAAA,YAAA;AACjB,QAAM,eAAe,YAAY;AAEjC,SACEH,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,aAAa,gBAAgB;AAAA,MAC7B,aAAa,CAAC,EAAE,MAAM,UAAU,WAAW,UAAU,aACnDA,2BAAAA;AAAAA,QAACI,KAAAA;AAAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,gBAAc,WAAW,SAAS;AAAA,UAClC,eAAa;AAAA,UAEZ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGL,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;;"}