boreal-ui 0.0.76 → 0.0.78

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 (340) hide show
  1. package/README.md +0 -2
  2. package/dist/core/boreal-ui.css +13739 -30851
  3. package/dist/next/{Accordion-Bg8V6T38.js → Accordion-ez41BXtb.js} +73 -94
  4. package/dist/next/{Accordion-Bg8V6T38.js.map → Accordion-ez41BXtb.js.map} +1 -1
  5. package/dist/next/{Accordion-BEa1jxTt.cjs → Accordion-yvdIcWj9.cjs} +74 -95
  6. package/dist/next/{Accordion-BEa1jxTt.cjs.map → Accordion-yvdIcWj9.cjs.map} +1 -1
  7. package/dist/next/Accordion.cjs.js +1 -1
  8. package/dist/next/Accordion.css +593 -0
  9. package/dist/next/Accordion.js +1 -1
  10. package/dist/next/{Avatar-DL_juTQA.cjs → Avatar-C-Z-ZPt8.cjs} +82 -82
  11. package/dist/next/{Avatar-DL_juTQA.cjs.map → Avatar-C-Z-ZPt8.cjs.map} +1 -1
  12. package/dist/next/{Avatar-nnjhILk-.js → Avatar-DymaVXDv.js} +81 -81
  13. package/dist/next/{Avatar-nnjhILk-.js.map → Avatar-DymaVXDv.js.map} +1 -1
  14. package/dist/next/Avatar.cjs.js +1 -1
  15. package/dist/next/Avatar.css +444 -0
  16. package/dist/next/Avatar.js +1 -1
  17. package/dist/next/{Badge-DzcjI-JI.cjs → Badge-56GHYTQN.cjs} +2 -2
  18. package/dist/next/{Badge-DzcjI-JI.cjs.map → Badge-56GHYTQN.cjs.map} +1 -1
  19. package/dist/next/{Badge-uyqxj7ag.js → Badge-BqVwp5Qj.js} +2 -2
  20. package/dist/next/{Badge-uyqxj7ag.js.map → Badge-BqVwp5Qj.js.map} +1 -1
  21. package/dist/next/Badge.cjs.js +1 -1
  22. package/dist/next/Badge.css +640 -0
  23. package/dist/next/Badge.js +1 -1
  24. package/dist/next/{Breadcrumbs-CuvOmgFe.cjs → Breadcrumbs-33eZmvpJ.cjs} +3 -3
  25. package/dist/next/{Breadcrumbs-CuvOmgFe.cjs.map → Breadcrumbs-33eZmvpJ.cjs.map} +1 -1
  26. package/dist/next/{Breadcrumbs-D0AmJB4U.js → Breadcrumbs-eetAtAHU.js} +3 -3
  27. package/dist/next/{Breadcrumbs-D0AmJB4U.js.map → Breadcrumbs-eetAtAHU.js.map} +1 -1
  28. package/dist/next/Breadcrumbs.cjs.js +1 -1
  29. package/dist/next/Breadcrumbs.css +579 -0
  30. package/dist/next/Breadcrumbs.js +1 -1
  31. package/dist/next/{Button-BZmph-Qr.cjs → Button-CmH6HYjc.cjs} +42 -52
  32. package/dist/next/{Button-BZmph-Qr.cjs.map → Button-CmH6HYjc.cjs.map} +1 -1
  33. package/dist/next/{Button-DWpImTmr.js → Button-oSOXL3At.js} +41 -51
  34. package/dist/next/{Button-DWpImTmr.js.map → Button-oSOXL3At.js.map} +1 -1
  35. package/dist/next/Button.cjs.js +1 -1
  36. package/dist/next/Button.css +721 -0
  37. package/dist/next/Button.js +1 -1
  38. package/dist/next/{Card-DnZOsQLP.js → Card-CO--D_GK.js} +65 -75
  39. package/dist/next/{Card-DnZOsQLP.js.map → Card-CO--D_GK.js.map} +1 -1
  40. package/dist/next/{Card-oPTXIvsb.cjs → Card-o8DszZPj.cjs} +65 -75
  41. package/dist/next/{Card-oPTXIvsb.cjs.map → Card-o8DszZPj.cjs.map} +1 -1
  42. package/dist/next/Card.cjs.js +1 -1
  43. package/dist/next/Card.css +993 -0
  44. package/dist/next/Card.js +1 -1
  45. package/dist/next/CheckBox.cjs.js +1 -1
  46. package/dist/next/CheckBox.js +1 -1
  47. package/dist/next/{Checkbox-CRg5oEdB.js → Checkbox-KIXViPTB.js} +45 -55
  48. package/dist/next/{Checkbox-CRg5oEdB.js.map → Checkbox-KIXViPTB.js.map} +1 -1
  49. package/dist/next/{Checkbox-DXNxt-4b.cjs → Checkbox-UqOL3aqk.cjs} +45 -55
  50. package/dist/next/{Checkbox-DXNxt-4b.cjs.map → Checkbox-UqOL3aqk.cjs.map} +1 -1
  51. package/dist/next/Checkbox.css +756 -0
  52. package/dist/next/{Chip-DpMTNARP.cjs → Chip-BQv3NoJL.cjs} +47 -57
  53. package/dist/next/{Chip-DpMTNARP.cjs.map → Chip-BQv3NoJL.cjs.map} +1 -1
  54. package/dist/next/{Chip-Cg7khsSn.js → Chip-D-QH1huh.js} +47 -57
  55. package/dist/next/{Chip-Cg7khsSn.js.map → Chip-D-QH1huh.js.map} +1 -1
  56. package/dist/next/Chip.cjs.js +1 -1
  57. package/dist/next/Chip.css +598 -0
  58. package/dist/next/Chip.js +1 -1
  59. package/dist/next/{CircularProgress-CzFUYDX1.cjs → CircularProgress-BG83Q-uO.cjs} +33 -43
  60. package/dist/next/{CircularProgress-CzFUYDX1.cjs.map → CircularProgress-BG83Q-uO.cjs.map} +1 -1
  61. package/dist/next/{CircularProgress-Dn1VXFsq.js → CircularProgress-Bfanw-2S.js} +33 -43
  62. package/dist/next/{CircularProgress-Dn1VXFsq.js.map → CircularProgress-Bfanw-2S.js.map} +1 -1
  63. package/dist/next/CircularProgress.cjs.js +1 -1
  64. package/dist/next/CircularProgress.css +528 -0
  65. package/dist/next/CircularProgress.js +1 -1
  66. package/dist/next/{ColorPicker-CCzSZDjx.js → ColorPicker-BJfyM0Ay.js} +26 -47
  67. package/dist/next/{ColorPicker-CCzSZDjx.js.map → ColorPicker-BJfyM0Ay.js.map} +1 -1
  68. package/dist/next/{ColorPicker-ByPKPsMz.cjs → ColorPicker-DmubVH4p.cjs} +26 -47
  69. package/dist/next/{ColorPicker-ByPKPsMz.cjs.map → ColorPicker-DmubVH4p.cjs.map} +1 -1
  70. package/dist/next/ColorPicker.cjs.js +1 -1
  71. package/dist/next/ColorPicker.css +346 -0
  72. package/dist/next/ColorPicker.js +1 -1
  73. package/dist/next/{CommandPalette-D6R9_gmo.js → CommandPalette-CNaU5jTY.js} +38 -48
  74. package/dist/next/{CommandPalette-D6R9_gmo.js.map → CommandPalette-CNaU5jTY.js.map} +1 -1
  75. package/dist/next/{CommandPalette-BvjlLE14.cjs → CommandPalette-_Lpb0UOI.cjs} +38 -48
  76. package/dist/next/{CommandPalette-BvjlLE14.cjs.map → CommandPalette-_Lpb0UOI.cjs.map} +1 -1
  77. package/dist/next/CommandPalette.cjs.js +1 -1
  78. package/dist/next/CommandPalette.css +624 -0
  79. package/dist/next/CommandPalette.js +1 -1
  80. package/dist/next/{DataTable-Bt6D__oo.cjs → DataTable-BAwMYdQb.cjs} +29 -50
  81. package/dist/next/{DataTable-Bt6D__oo.cjs.map → DataTable-BAwMYdQb.cjs.map} +1 -1
  82. package/dist/next/{DataTable-CZj_U9rg.js → DataTable-F9mtABNi.js} +28 -49
  83. package/dist/next/{DataTable-CZj_U9rg.js.map → DataTable-F9mtABNi.js.map} +1 -1
  84. package/dist/next/DataTable.cjs.js +1 -1
  85. package/dist/next/DataTable.css +444 -0
  86. package/dist/next/DataTable.js +1 -1
  87. package/dist/next/{DateTimePicker-Cols3qxt.cjs → DateTimePicker-CU-b9irX.cjs} +34 -55
  88. package/dist/next/{DateTimePicker-Cols3qxt.cjs.map → DateTimePicker-CU-b9irX.cjs.map} +1 -1
  89. package/dist/next/{DateTimePicker-DB2exnHd.js → DateTimePicker-WVVLqcd9.js} +34 -55
  90. package/dist/next/{DateTimePicker-DB2exnHd.js.map → DateTimePicker-WVVLqcd9.js.map} +1 -1
  91. package/dist/next/DateTimePicker.cjs.js +1 -1
  92. package/dist/next/DateTimePicker.css +563 -0
  93. package/dist/next/DateTimePicker.js +1 -1
  94. package/dist/next/{Divider-Dr0xlon0.cjs → Divider-BGxUapmt.cjs} +16 -37
  95. package/dist/next/{Divider-Dr0xlon0.cjs.map → Divider-BGxUapmt.cjs.map} +1 -1
  96. package/dist/next/{Divider-DXGze_D2.js → Divider-BXSDTRTU.js} +16 -37
  97. package/dist/next/{Divider-DXGze_D2.js.map → Divider-BXSDTRTU.js.map} +1 -1
  98. package/dist/next/Divider.cjs.js +1 -1
  99. package/dist/next/Divider.css +248 -0
  100. package/dist/next/Divider.js +1 -1
  101. package/dist/next/{Dropdown-B7PgWHlY.js → Dropdown-B7vrHg0z.js} +3 -3
  102. package/dist/next/{Dropdown-B7PgWHlY.js.map → Dropdown-B7vrHg0z.js.map} +1 -1
  103. package/dist/next/{Dropdown-kQLhr7_M.cjs → Dropdown-CUYItZDk.cjs} +3 -3
  104. package/dist/next/{Dropdown-kQLhr7_M.cjs.map → Dropdown-CUYItZDk.cjs.map} +1 -1
  105. package/dist/next/Dropdown.cjs.js +1 -1
  106. package/dist/next/Dropdown.css +317 -0
  107. package/dist/next/Dropdown.js +1 -1
  108. package/dist/next/{EmptyState-DCCDQWOQ.js → EmptyState-MT9_qwrB.js} +44 -33
  109. package/dist/next/{EmptyState-DCCDQWOQ.js.map → EmptyState-MT9_qwrB.js.map} +1 -1
  110. package/dist/next/{EmptyState-BH1X81TH.cjs → EmptyState-sh7Vn6eC.cjs} +44 -33
  111. package/dist/next/{EmptyState-BH1X81TH.cjs.map → EmptyState-sh7Vn6eC.cjs.map} +1 -1
  112. package/dist/next/EmptyState.cjs.js +1 -1
  113. package/dist/next/EmptyState.css +663 -0
  114. package/dist/next/EmptyState.js +1 -1
  115. package/dist/next/{FileUpload-BQW5ol7P.js → FileUpload-Bvj5JEBv.js} +48 -58
  116. package/dist/next/{FileUpload-BQW5ol7P.js.map → FileUpload-Bvj5JEBv.js.map} +1 -1
  117. package/dist/next/{FileUpload-C9Ke2cTs.cjs → FileUpload-CD_i5Md2.cjs} +48 -58
  118. package/dist/next/{FileUpload-C9Ke2cTs.cjs.map → FileUpload-CD_i5Md2.cjs.map} +1 -1
  119. package/dist/next/FileUpload.cjs.js +1 -1
  120. package/dist/next/FileUpload.css +474 -0
  121. package/dist/next/FileUpload.js +1 -1
  122. package/dist/next/{Footer-Dl_wQwsb.js → Footer-Bdu_9H3p.js} +38 -48
  123. package/dist/next/{Footer-Dl_wQwsb.js.map → Footer-Bdu_9H3p.js.map} +1 -1
  124. package/dist/next/{Footer-i9rgxATK.cjs → Footer-DJjzgwpc.cjs} +38 -48
  125. package/dist/next/{Footer-i9rgxATK.cjs.map → Footer-DJjzgwpc.cjs.map} +1 -1
  126. package/dist/next/Footer.cjs.js +1 -1
  127. package/dist/next/Footer.css +493 -0
  128. package/dist/next/Footer.js +1 -1
  129. package/dist/next/{FormGroup-B4Xb3X61.cjs → FormGroup-BWJAlt3K.cjs} +28 -36
  130. package/dist/next/{FormGroup-B4Xb3X61.cjs.map → FormGroup-BWJAlt3K.cjs.map} +1 -1
  131. package/dist/next/{FormGroup-AHYiWnkX.js → FormGroup-QrGjujWn.js} +28 -36
  132. package/dist/next/{FormGroup-AHYiWnkX.js.map → FormGroup-QrGjujWn.js.map} +1 -1
  133. package/dist/next/FormGroup.cjs.js +1 -1
  134. package/dist/next/FormGroup.css +419 -0
  135. package/dist/next/FormGroup.js +1 -1
  136. package/dist/next/{IconButton-BWw3WPaS.js → IconButton-0JJ1aiqr.js} +2 -2
  137. package/dist/next/{IconButton-BWw3WPaS.js.map → IconButton-0JJ1aiqr.js.map} +1 -1
  138. package/dist/next/{IconButton-4ySBEhn1.cjs → IconButton-C66aQhKe.cjs} +2 -2
  139. package/dist/next/{IconButton-4ySBEhn1.cjs.map → IconButton-C66aQhKe.cjs.map} +1 -1
  140. package/dist/next/IconButton.cjs.js +1 -1
  141. package/dist/next/IconButton.css +570 -0
  142. package/dist/next/IconButton.js +1 -1
  143. package/dist/next/{MarkdownRenderer-CO_rlPOB.cjs → MarkdownRenderer-BQ1-Kd73.cjs} +25 -14
  144. package/dist/next/{MarkdownRenderer-CO_rlPOB.cjs.map → MarkdownRenderer-BQ1-Kd73.cjs.map} +1 -1
  145. package/dist/next/{MarkdownRenderer-CGnuIkVY.js → MarkdownRenderer-CmK00as_.js} +25 -14
  146. package/dist/next/{MarkdownRenderer-CGnuIkVY.js.map → MarkdownRenderer-CmK00as_.js.map} +1 -1
  147. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  148. package/dist/next/MarkdownRenderer.css +483 -0
  149. package/dist/next/MarkdownRenderer.js +1 -1
  150. package/dist/next/{MessagePopup-D_gZy6eH.cjs → MessagePopup-CizqwWmH.cjs} +4 -4
  151. package/dist/next/{MessagePopup-D_gZy6eH.cjs.map → MessagePopup-CizqwWmH.cjs.map} +1 -1
  152. package/dist/next/{MessagePopup-DIrdAeyg.js → MessagePopup-DLodDCIa.js} +4 -4
  153. package/dist/next/{MessagePopup-DIrdAeyg.js.map → MessagePopup-DLodDCIa.js.map} +1 -1
  154. package/dist/next/MessagePopup.cjs.js +1 -1
  155. package/dist/next/MessagePopup.css +296 -0
  156. package/dist/next/MessagePopup.js +1 -1
  157. package/dist/next/{MetricBox-CeONzyEu.cjs → MetricBox-C55LoIfn.cjs} +43 -53
  158. package/dist/next/{MetricBox-CeONzyEu.cjs.map → MetricBox-C55LoIfn.cjs.map} +1 -1
  159. package/dist/next/{MetricBox-D9-RmZoy.js → MetricBox-CHNmWcTq.js} +43 -53
  160. package/dist/next/{MetricBox-D9-RmZoy.js.map → MetricBox-CHNmWcTq.js.map} +1 -1
  161. package/dist/next/MetricBox.cjs.js +1 -1
  162. package/dist/next/MetricBox.css +635 -0
  163. package/dist/next/MetricBox.js +1 -1
  164. package/dist/next/{Modal-Dre8TMtr.js → Modal-BajWiIo7.js} +3 -3
  165. package/dist/next/{Modal-Dre8TMtr.js.map → Modal-BajWiIo7.js.map} +1 -1
  166. package/dist/next/{Modal-D7hNuMII.cjs → Modal-j59Cj0t1.cjs} +3 -3
  167. package/dist/next/{Modal-D7hNuMII.cjs.map → Modal-j59Cj0t1.cjs.map} +1 -1
  168. package/dist/next/Modal.cjs.js +1 -1
  169. package/dist/next/Modal.css +320 -0
  170. package/dist/next/Modal.js +1 -1
  171. package/dist/next/{NavBar-dpbPYT0w.js → NavBar-B0G7ZuqP.js} +33 -43
  172. package/dist/next/{NavBar-dpbPYT0w.js.map → NavBar-B0G7ZuqP.js.map} +1 -1
  173. package/dist/next/{NavBar-d-Hx7gkg.cjs → NavBar-Cd6FlBPY.cjs} +33 -43
  174. package/dist/next/{NavBar-d-Hx7gkg.cjs.map → NavBar-Cd6FlBPY.cjs.map} +1 -1
  175. package/dist/next/NavBar.cjs.js +1 -1
  176. package/dist/next/NavBar.css +498 -0
  177. package/dist/next/NavBar.js +1 -1
  178. package/dist/next/{NotificationCenter-BrAzv2oD.js → NotificationCenter-BDd4Zr8Y.js} +39 -49
  179. package/dist/next/{NotificationCenter-BrAzv2oD.js.map → NotificationCenter-BDd4Zr8Y.js.map} +1 -1
  180. package/dist/next/{NotificationCenter-JIX-pouI.cjs → NotificationCenter-obd1jF2n.cjs} +39 -49
  181. package/dist/next/{NotificationCenter-JIX-pouI.cjs.map → NotificationCenter-obd1jF2n.cjs.map} +1 -1
  182. package/dist/next/NotificationCenter.cjs.js +1 -1
  183. package/dist/next/NotificationCenter.css +475 -0
  184. package/dist/next/NotificationCenter.js +1 -1
  185. package/dist/next/{Pager-DcibmVu1.cjs → Pager-8dIVqCGz.cjs} +4 -4
  186. package/dist/next/{Pager-DcibmVu1.cjs.map → Pager-8dIVqCGz.cjs.map} +1 -1
  187. package/dist/next/{Pager-DFKfUn1s.js → Pager-C7n5x44P.js} +4 -4
  188. package/dist/next/{Pager-DFKfUn1s.js.map → Pager-C7n5x44P.js.map} +1 -1
  189. package/dist/next/Pager.cjs.js +1 -1
  190. package/dist/next/Pager.css +173 -0
  191. package/dist/next/Pager.js +1 -1
  192. package/dist/next/{PopOver-CpSdILYS.cjs → PopOver-D8BwV2PM.cjs} +36 -46
  193. package/dist/next/{PopOver-CpSdILYS.cjs.map → PopOver-D8BwV2PM.cjs.map} +1 -1
  194. package/dist/next/{PopOver-CUON_Abe.js → PopOver-Dmf41W2o.js} +36 -46
  195. package/dist/next/{PopOver-CUON_Abe.js.map → PopOver-Dmf41W2o.js.map} +1 -1
  196. package/dist/next/PopOver.cjs.js +1 -1
  197. package/dist/next/PopOver.css +417 -0
  198. package/dist/next/PopOver.js +1 -1
  199. package/dist/next/{ProgressBar-CMYDs8uL.js → ProgressBar-BgCHpDo8.js} +44 -54
  200. package/dist/next/{ProgressBar-CMYDs8uL.js.map → ProgressBar-BgCHpDo8.js.map} +1 -1
  201. package/dist/next/{ProgressBar-sg1jxDfy.cjs → ProgressBar-DUarHTA6.cjs} +44 -54
  202. package/dist/next/{ProgressBar-sg1jxDfy.cjs.map → ProgressBar-DUarHTA6.cjs.map} +1 -1
  203. package/dist/next/ProgressBar.cjs.js +1 -1
  204. package/dist/next/ProgressBar.css +441 -0
  205. package/dist/next/ProgressBar.js +1 -1
  206. package/dist/next/{RadioButton-z26U6POV.js → RadioButton-BN63UX0c.js} +34 -44
  207. package/dist/next/{RadioButton-z26U6POV.js.map → RadioButton-BN63UX0c.js.map} +1 -1
  208. package/dist/next/{RadioButton-X5L9U53Y.cjs → RadioButton-Dla9uVC6.cjs} +34 -44
  209. package/dist/next/{RadioButton-X5L9U53Y.cjs.map → RadioButton-Dla9uVC6.cjs.map} +1 -1
  210. package/dist/next/RadioButton.cjs.js +1 -1
  211. package/dist/next/RadioButton.css +454 -0
  212. package/dist/next/RadioButton.js +1 -1
  213. package/dist/next/{Rating-DXYBYXmx.cjs → Rating-B8A_4Z44.cjs} +30 -40
  214. package/dist/next/{Rating-DXYBYXmx.cjs.map → Rating-B8A_4Z44.cjs.map} +1 -1
  215. package/dist/next/{Rating-D6JEDvn4.js → Rating-CCZoQJEB.js} +30 -40
  216. package/dist/next/{Rating-D6JEDvn4.js.map → Rating-CCZoQJEB.js.map} +1 -1
  217. package/dist/next/Rating.cjs.js +1 -1
  218. package/dist/next/Rating.css +402 -0
  219. package/dist/next/Rating.js +1 -1
  220. package/dist/next/{ScrollToTop-Cw7LXubo.js → ScrollToTop-C7ThHvxg.js} +2 -2
  221. package/dist/next/{ScrollToTop-Cw7LXubo.js.map → ScrollToTop-C7ThHvxg.js.map} +1 -1
  222. package/dist/next/{ScrollToTop-CBRFQNC0.cjs → ScrollToTop-CJxWoVhg.cjs} +2 -2
  223. package/dist/next/{ScrollToTop-CBRFQNC0.cjs.map → ScrollToTop-CJxWoVhg.cjs.map} +1 -1
  224. package/dist/next/ScrollToTop.cjs.js +1 -1
  225. package/dist/next/ScrollToTop.css +215 -0
  226. package/dist/next/ScrollToTop.js +1 -1
  227. package/dist/next/{Select-DAD4xA1b.cjs → Select-CiyDDVhq.cjs} +2 -2
  228. package/dist/next/{Select-DAD4xA1b.cjs.map → Select-CiyDDVhq.cjs.map} +1 -1
  229. package/dist/next/{Select-b8fO1q2K.js → Select-D4bH7djH.js} +2 -2
  230. package/dist/next/{Select-b8fO1q2K.js.map → Select-D4bH7djH.js.map} +1 -1
  231. package/dist/next/Select.cjs.js +1 -1
  232. package/dist/next/Select.css +459 -0
  233. package/dist/next/Select.js +1 -1
  234. package/dist/next/{Sidebar-BwW51HwF.js → Sidebar-3dbu221x.js} +2 -2
  235. package/dist/next/{Sidebar-BwW51HwF.js.map → Sidebar-3dbu221x.js.map} +1 -1
  236. package/dist/next/{Sidebar-U5BQKtKR.cjs → Sidebar-DpUTsAza.cjs} +2 -2
  237. package/dist/next/{Sidebar-U5BQKtKR.cjs.map → Sidebar-DpUTsAza.cjs.map} +1 -1
  238. package/dist/next/Sidebar.cjs.js +1 -1
  239. package/dist/next/Sidebar.css +515 -0
  240. package/dist/next/Sidebar.js +1 -1
  241. package/dist/next/{Skeleton-N1-8bK7i.cjs → Skeleton-B0mlVpUX.cjs} +22 -32
  242. package/dist/next/{Skeleton-N1-8bK7i.cjs.map → Skeleton-B0mlVpUX.cjs.map} +1 -1
  243. package/dist/next/{Skeleton-Bk8l48-D.js → Skeleton-BiBul6J3.js} +21 -31
  244. package/dist/next/{Skeleton-Bk8l48-D.js.map → Skeleton-BiBul6J3.js.map} +1 -1
  245. package/dist/next/Skeleton.cjs.js +1 -1
  246. package/dist/next/Skeleton.css +288 -0
  247. package/dist/next/Skeleton.js +1 -1
  248. package/dist/next/{Slider-DOGkUQYT.js → Slider-B4G0kHQA.js} +38 -48
  249. package/dist/next/{Slider-DOGkUQYT.js.map → Slider-B4G0kHQA.js.map} +1 -1
  250. package/dist/next/{Slider-BPtajU2m.cjs → Slider-Cli7b9xm.cjs} +39 -49
  251. package/dist/next/{Slider-BPtajU2m.cjs.map → Slider-Cli7b9xm.cjs.map} +1 -1
  252. package/dist/next/Slider.cjs.js +1 -1
  253. package/dist/next/Slider.css +645 -0
  254. package/dist/next/Slider.js +1 -1
  255. package/dist/next/{Spinner-CmaoTjNr.cjs → Spinner-BSjLK_0H.cjs} +33 -43
  256. package/dist/next/{Spinner-CmaoTjNr.cjs.map → Spinner-BSjLK_0H.cjs.map} +1 -1
  257. package/dist/next/{Spinner-D7jfVZGm.js → Spinner-C9Xiao9p.js} +32 -42
  258. package/dist/next/{Spinner-D7jfVZGm.js.map → Spinner-C9Xiao9p.js.map} +1 -1
  259. package/dist/next/Spinner.cjs.js +1 -1
  260. package/dist/next/Spinner.css +390 -0
  261. package/dist/next/Spinner.js +1 -1
  262. package/dist/next/{Stepper-C0cNzpY8.cjs → Stepper-CpgJBKz7.cjs} +36 -46
  263. package/dist/next/{Stepper-C0cNzpY8.cjs.map → Stepper-CpgJBKz7.cjs.map} +1 -1
  264. package/dist/next/{Stepper-CSh2wccK.js → Stepper-em6Gl32O.js} +36 -46
  265. package/dist/next/{Stepper-CSh2wccK.js.map → Stepper-em6Gl32O.js.map} +1 -1
  266. package/dist/next/Stepper.cjs.js +1 -1
  267. package/dist/next/Stepper.css +404 -0
  268. package/dist/next/Stepper.js +1 -1
  269. package/dist/next/{Tabs-Dors0bVs.js → Tabs-B5GbuYuA.js} +2 -2
  270. package/dist/next/{Tabs-Dors0bVs.js.map → Tabs-B5GbuYuA.js.map} +1 -1
  271. package/dist/next/{Tabs-B6zeG5AB.cjs → Tabs-or9GGDS3.cjs} +2 -2
  272. package/dist/next/{Tabs-B6zeG5AB.cjs.map → Tabs-or9GGDS3.cjs.map} +1 -1
  273. package/dist/next/Tabs.cjs.js +1 -1
  274. package/dist/next/Tabs.css +407 -0
  275. package/dist/next/Tabs.js +1 -1
  276. package/dist/next/{TagInput-V3zvXcNq.js → TagInput-8nVGDluu.js} +44 -54
  277. package/dist/next/{TagInput-V3zvXcNq.js.map → TagInput-8nVGDluu.js.map} +1 -1
  278. package/dist/next/{TagInput-ceV9Jjqe.cjs → TagInput-DVmBv7Mn.cjs} +44 -54
  279. package/dist/next/{TagInput-ceV9Jjqe.cjs.map → TagInput-DVmBv7Mn.cjs.map} +1 -1
  280. package/dist/next/TagInput.cjs.js +1 -1
  281. package/dist/next/TagInput.css +521 -0
  282. package/dist/next/TagInput.js +1 -1
  283. package/dist/next/{TextArea-BXmbrq4-.cjs → TextArea-Bh0FdkP2.cjs} +2 -2
  284. package/dist/next/{TextArea-BXmbrq4-.cjs.map → TextArea-Bh0FdkP2.cjs.map} +1 -1
  285. package/dist/next/{TextArea-BSO1_gaS.js → TextArea-CQgoM2yj.js} +2 -2
  286. package/dist/next/{TextArea-BSO1_gaS.js.map → TextArea-CQgoM2yj.js.map} +1 -1
  287. package/dist/next/TextArea.cjs.js +1 -1
  288. package/dist/next/TextArea.css +450 -0
  289. package/dist/next/TextArea.js +1 -1
  290. package/dist/next/{TextInput-7nN8g78V.cjs → TextInput-BRl37zMW.cjs} +3 -3
  291. package/dist/next/{TextInput-7nN8g78V.cjs.map → TextInput-BRl37zMW.cjs.map} +1 -1
  292. package/dist/next/{TextInput-yUHEWbdK.js → TextInput-CKM34-yu.js} +3 -3
  293. package/dist/next/{TextInput-yUHEWbdK.js.map → TextInput-CKM34-yu.js.map} +1 -1
  294. package/dist/next/TextInput.cjs.js +1 -1
  295. package/dist/next/TextInput.css +438 -0
  296. package/dist/next/TextInput.js +1 -1
  297. package/dist/next/{Timeline-BTsKMULd.js → Timeline-BF_ru3Qq.js} +2 -2
  298. package/dist/next/{Timeline-BTsKMULd.js.map → Timeline-BF_ru3Qq.js.map} +1 -1
  299. package/dist/next/{Timeline-Dep_oZrh.cjs → Timeline-uKeDlojT.cjs} +2 -2
  300. package/dist/next/{Timeline-Dep_oZrh.cjs.map → Timeline-uKeDlojT.cjs.map} +1 -1
  301. package/dist/next/Timeline.cjs.js +1 -1
  302. package/dist/next/Timeline.css +455 -0
  303. package/dist/next/Timeline.js +1 -1
  304. package/dist/next/{Toggle-BomUbOZa.js → Toggle-CegN5JEB.js} +2 -2
  305. package/dist/next/{Toggle-BomUbOZa.js.map → Toggle-CegN5JEB.js.map} +1 -1
  306. package/dist/next/{Toggle-C9uZG3i5.cjs → Toggle-CfIi--aC.cjs} +2 -2
  307. package/dist/next/{Toggle-C9uZG3i5.cjs.map → Toggle-CfIi--aC.cjs.map} +1 -1
  308. package/dist/next/Toggle.cjs.js +1 -1
  309. package/dist/next/Toggle.css +464 -0
  310. package/dist/next/Toggle.js +1 -1
  311. package/dist/next/{Toolbar-Be-YQqmX.js → Toolbar-DqBlTLsk.js} +30 -40
  312. package/dist/next/{Toolbar-Be-YQqmX.js.map → Toolbar-DqBlTLsk.js.map} +1 -1
  313. package/dist/next/{Toolbar-roQbIEcD.cjs → Toolbar-DqsQznCj.cjs} +31 -41
  314. package/dist/next/{Toolbar-roQbIEcD.cjs.map → Toolbar-DqsQznCj.cjs.map} +1 -1
  315. package/dist/next/Toolbar.cjs.js +1 -1
  316. package/dist/next/Toolbar.css +367 -0
  317. package/dist/next/Toolbar.js +1 -1
  318. package/dist/next/{Tooltip-DVI61ebD.cjs → Tooltip-LnIFKvJC.cjs} +35 -45
  319. package/dist/next/{Tooltip-DVI61ebD.cjs.map → Tooltip-LnIFKvJC.cjs.map} +1 -1
  320. package/dist/next/{Tooltip-lxpnIfpO.js → Tooltip-o7L3wCNR.js} +34 -44
  321. package/dist/next/{Tooltip-lxpnIfpO.js.map → Tooltip-o7L3wCNR.js.map} +1 -1
  322. package/dist/next/Tooltip.cjs.js +1 -1
  323. package/dist/next/Tooltip.css +529 -0
  324. package/dist/next/Tooltip.js +1 -1
  325. package/dist/next/{Typography-B6VNZtxH.cjs → Typography-BAQ61z2R.cjs} +2 -2
  326. package/dist/next/{Typography-B6VNZtxH.cjs.map → Typography-BAQ61z2R.cjs.map} +1 -1
  327. package/dist/next/{Typography-BdS7h4Eq.js → Typography-BDswZ9eq.js} +2 -2
  328. package/dist/next/{Typography-BdS7h4Eq.js.map → Typography-BDswZ9eq.js.map} +1 -1
  329. package/dist/next/Typography.cjs.js +1 -1
  330. package/dist/next/Typography.css +294 -0
  331. package/dist/next/Typography.js +1 -1
  332. package/dist/next/globals.css +674 -0
  333. package/dist/next/index.cjs.js +66 -76
  334. package/dist/next/index.cjs.js.map +1 -1
  335. package/dist/next/index.css +241 -0
  336. package/dist/next/index.js +66 -76
  337. package/dist/next/index.js.map +1 -1
  338. package/package.json +10 -6
  339. package/dist/generated-docs/Typography.props.js +0 -204
  340. package/dist/next/boreal-ui.css +0 -36643
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-Dre8TMtr.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 useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } 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\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n title = \"Modal Dialog\",\r\n header,\r\n footer,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\r\n onClose,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n closeButtonAriaLabel = \"Close modal\",\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const fallbackLabelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\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 const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.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 (!isRendered || !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 const hasHeader = Boolean(header) || Boolean(title);\r\n const hasFooter = Boolean(footer);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && hasHeader ? fallbackLabelId : undefined);\r\n\r\n const shouldRenderFallbackLabel = resolvedAriaLabelledBy === fallbackLabelId;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n {shouldRenderFallbackLabel && (\r\n <h2 id={fallbackLabelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n {typeof title === \"string\" ? title : \"Modal Dialog\"}\r\n </h2>\r\n )}\r\n\r\n {hasHeader && (\r\n <div className={classMap.header} data-testid={`${testId}-header`}>\r\n <div className={classMap.headerContent}>\r\n {header ?? <div className={classMap.title}>{title}</div>}\r\n </div>\r\n\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n </div>\r\n )}\r\n\r\n {!hasHeader && (\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButtonFloating ?? classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n )}\r\n\r\n <div className={classMap.body} data-testid={`${testId}-body`}>\r\n {children}\r\n </div>\r\n\r\n {hasFooter && (\r\n <div className={classMap.footer} data-testid={`${testId}-footer`}>\r\n {footer}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\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\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["title","header","footer","IconButton","hidden"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-BajWiIo7.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 useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } 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\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n title = \"Modal Dialog\",\r\n header,\r\n footer,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\r\n onClose,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n closeButtonAriaLabel = \"Close modal\",\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const fallbackLabelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\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 const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.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 (!isRendered || !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 const hasHeader = Boolean(header) || Boolean(title);\r\n const hasFooter = Boolean(footer);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && hasHeader ? fallbackLabelId : undefined);\r\n\r\n const shouldRenderFallbackLabel = resolvedAriaLabelledBy === fallbackLabelId;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n {shouldRenderFallbackLabel && (\r\n <h2 id={fallbackLabelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n {typeof title === \"string\" ? title : \"Modal Dialog\"}\r\n </h2>\r\n )}\r\n\r\n {hasHeader && (\r\n <div className={classMap.header} data-testid={`${testId}-header`}>\r\n <div className={classMap.headerContent}>\r\n {header ?? <div className={classMap.title}>{title}</div>}\r\n </div>\r\n\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n </div>\r\n )}\r\n\r\n {!hasHeader && (\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButtonFloating ?? classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n )}\r\n\r\n <div className={classMap.body} data-testid={`${testId}-body`}>\r\n {children}\r\n </div>\r\n\r\n {hasFooter && (\r\n <div className={classMap.footer} data-testid={`${testId}-footer`}>\r\n {footer}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\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\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["title","header","footer","IconButton","hidden"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const require$$2 = require("react/jsx-runtime");
2
+ require('./globals.css');require('./Modal.css');const require$$2 = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const ReactDOM = require("react-dom");
5
5
  const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
@@ -7,7 +7,7 @@ const classNames = require("./classNames-BcWMx052.cjs");
7
7
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
8
8
  const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
9
9
  ;/* empty css */
10
- const IconButton = require("./IconButton-4ySBEhn1.cjs");
10
+ const IconButton = require("./IconButton-C66aQhKe.cjs");
11
11
  const BaseModal = ({
12
12
  className = "",
13
13
  children,
@@ -255,4 +255,4 @@ const Modal = (props) => {
255
255
  };
256
256
  Modal.displayName = "Modal";
257
257
  exports.Modal = Modal;
258
- //# sourceMappingURL=Modal-D7hNuMII.cjs.map
258
+ //# sourceMappingURL=Modal-j59Cj0t1.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-D7hNuMII.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 useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } 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\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n title = \"Modal Dialog\",\r\n header,\r\n footer,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\r\n onClose,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n closeButtonAriaLabel = \"Close modal\",\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const fallbackLabelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\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 const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.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 (!isRendered || !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 const hasHeader = Boolean(header) || Boolean(title);\r\n const hasFooter = Boolean(footer);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && hasHeader ? fallbackLabelId : undefined);\r\n\r\n const shouldRenderFallbackLabel = resolvedAriaLabelledBy === fallbackLabelId;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n {shouldRenderFallbackLabel && (\r\n <h2 id={fallbackLabelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n {typeof title === \"string\" ? title : \"Modal Dialog\"}\r\n </h2>\r\n )}\r\n\r\n {hasHeader && (\r\n <div className={classMap.header} data-testid={`${testId}-header`}>\r\n <div className={classMap.headerContent}>\r\n {header ?? <div className={classMap.title}>{title}</div>}\r\n </div>\r\n\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n </div>\r\n )}\r\n\r\n {!hasHeader && (\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButtonFloating ?? classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n )}\r\n\r\n <div className={classMap.body} data-testid={`${testId}-body`}>\r\n {children}\r\n </div>\r\n\r\n {hasFooter && (\r\n <div className={classMap.footer} data-testid={`${testId}-footer`}>\r\n {footer}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\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\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["title","header","footer","getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useCallback","useEffect","hidden","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-j59Cj0t1.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 useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } 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\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n title = \"Modal Dialog\",\r\n header,\r\n footer,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\r\n onClose,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n closeButtonAriaLabel = \"Close modal\",\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const fallbackLabelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\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 const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.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 (!isRendered || !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 const hasHeader = Boolean(header) || Boolean(title);\r\n const hasFooter = Boolean(footer);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && hasHeader ? fallbackLabelId : undefined);\r\n\r\n const shouldRenderFallbackLabel = resolvedAriaLabelledBy === fallbackLabelId;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n {shouldRenderFallbackLabel && (\r\n <h2 id={fallbackLabelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n {typeof title === \"string\" ? title : \"Modal Dialog\"}\r\n </h2>\r\n )}\r\n\r\n {hasHeader && (\r\n <div className={classMap.header} data-testid={`${testId}-header`}>\r\n <div className={classMap.headerContent}>\r\n {header ?? <div className={classMap.title}>{title}</div>}\r\n </div>\r\n\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n </div>\r\n )}\r\n\r\n {!hasHeader && (\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButtonFloating ?? classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label={closeButtonAriaLabel}\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 type=\"button\"\r\n />\r\n )}\r\n\r\n <div className={classMap.body} data-testid={`${testId}-body`}>\r\n {children}\r\n </div>\r\n\r\n {hasFooter && (\r\n <div className={classMap.footer} data-testid={`${testId}-footer`}>\r\n {footer}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\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\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["title","header","footer","getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useCallback","useEffect","hidden","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Modal = require("./Modal-D7hNuMII.cjs");
2
+ const Modal = require("./Modal-j59Cj0t1.cjs");
3
3
  module.exports = Modal.Modal;
4
4
  //# sourceMappingURL=Modal.cjs.js.map
@@ -0,0 +1,320 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * ---------------------------------------------------------------------
4
+ * theme.scss
5
+ * ---------------------------------------------------------------------
6
+ * Global design tokens and theme configuration for the Boreal UI system.
7
+ * This file defines SCSS variables, maps, and constants for:
8
+ * - Colors (brand, background, feedback, text)
9
+ * - Fonts (families, sizes, weights)
10
+ * - Spacing
11
+ * - Border radii
12
+ * - Shadows
13
+ * - Transitions
14
+ * - Z-index layers
15
+ * - Thematic color maps
16
+ * - UI states (success, error, warning)
17
+ * - Rounding and shadow presets
18
+ *
19
+ * All variables support the `!default` flag to allow overrides via user-defined themes.
20
+ * ---------------------------------------------------------------------
21
+ *
22
+ * == Color Palette ==
23
+ * $primary-color – Brand primary color
24
+ * $secondary-color – Secondary accent color
25
+ * $tertiary-color – Alternate accent color
26
+ * $quaternary-color – Alternate accent color
27
+ * $background-color – Main background color (dark)
28
+ * $background-color-surface – Surface layer background (cards, modals)
29
+ * $error-color, $success-color, $warning-color – Feedback states
30
+ * $link-color – Link default color
31
+ * $link-hover-color – Link hover state
32
+ * $text-color, $text-color-light, $text-color-primary, $text-color-secondary – Text coloring
33
+ *
34
+ * == Typography ==
35
+ * $font-family-primary / secondary – Primary typefaces
36
+ * $font-size-xxs to $font-size-xxl – Font size scale
37
+ * $font-weight-light to bolder – Font weights
38
+ *
39
+ * == Spacing ==
40
+ * $spacing-xxs to $spacing-xl – Margin/padding utility scale
41
+ *
42
+ * == Border Radius ==
43
+ * $border-radius-xs to full – Border rounding presets
44
+ *
45
+ * == Shadows ==
46
+ * $box-shadow-light to intense – Shadow elevation levels
47
+ * $inverted-shadows – Shadows used on dark surfaces (e.g. modals)
48
+ *
49
+ * == Transitions ==
50
+ * $transition-fast / default / slow – Standard easing transitions
51
+ *
52
+ * == Z-Index Layers ==
53
+ * $z-index-drawer – For slide-out panels
54
+ * $z-index-modal – For modals and overlays
55
+ * $z-index-tooltip – Highest layer for tooltips and floating labels
56
+ *
57
+ * == Theme Map ==
58
+ * $themes: map of theme names (e.g. "primary", "secondary") to their visual styles
59
+ * - Each theme includes: bg, hover, text, border, text-hover
60
+ *
61
+ * == State Map ==
62
+ * $states: visual styles for UI feedback states (success, error, warning)
63
+ *
64
+ * == Rounding / Shadow Maps ==
65
+ * $rounding: key-value pairs for component rounding levels
66
+ * $shadow: key-value pairs for shadow levels
67
+ */
68
+ /**
69
+ * -----------------------------------------------------
70
+ * _breakpoints.scss
71
+ * -----------------------------------------------------
72
+ * These constants define the standard device-width breakpoints
73
+ * used in responsive media queries throughout the theme.
74
+ *
75
+ * - $breakpoint-xs: 320px (Extra small, portrait phones)
76
+ * - $breakpoint-sm: 480px (Small devices, larger phones)
77
+ * - $breakpoint-md: 768px (Medium devices, tablets)
78
+ * - $breakpoint-lg: 1024px (Large devices, desktops)
79
+ * - $breakpoint-xl: 1280px (Extra large desktops)
80
+ * - $breakpoint-xxl: 1536px (Widescreens, large monitors)
81
+ *
82
+ * $breakpoints map:
83
+ * Use this map to loop over breakpoints or access named values.
84
+ */
85
+ ._overlay_tnc4u_85 {
86
+ position: fixed;
87
+ inset: 0;
88
+ background-color: rgba(0, 0, 0, 0.5);
89
+ display: flex;
90
+ justify-content: center;
91
+ align-items: center;
92
+ z-index: 9999;
93
+ opacity: 0;
94
+ pointer-events: none;
95
+ transition: opacity 0.2s ease;
96
+ padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0) env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0);
97
+ }
98
+
99
+ ._content_tnc4u_99 {
100
+ background: var(--background-color-light);
101
+ color: var(--text-color-primary);
102
+ position: relative;
103
+ display: flex;
104
+ flex-direction: column;
105
+ transform: scale(0.95);
106
+ opacity: 0;
107
+ transition: transform 0.2s ease, opacity 0.2s ease;
108
+ width: 92%;
109
+ max-width: 560px;
110
+ max-height: 85vh;
111
+ overflow: hidden;
112
+ font-family: var(--font-family-body);
113
+ font-size: var(--font-size-body);
114
+ font-weight: var(--font-weight-body);
115
+ line-height: var(--line-height-body);
116
+ letter-spacing: var(--letter-spacing-body);
117
+ }
118
+ @media (width <= 479.98px) {
119
+ ._content_tnc4u_99 {
120
+ width: 90%;
121
+ max-width: 100%;
122
+ border-top-left-radius: var(--border-radius-lg);
123
+ border-top-right-radius: var(--border-radius-lg);
124
+ }
125
+ }
126
+ @media (min-width: 1024px) {
127
+ ._content_tnc4u_99 {
128
+ max-width: 720px;
129
+ }
130
+ }
131
+ ._content_tnc4u_99:focus-visible {
132
+ outline: 2px solid var(--focus-outline-color, var(--primary-color));
133
+ outline-offset: 4px;
134
+ border-radius: 8px;
135
+ }
136
+
137
+ ._header_tnc4u_137 {
138
+ display: flex;
139
+ align-items: flex-start;
140
+ justify-content: space-between;
141
+ gap: var(--spacing-md);
142
+ flex-shrink: 0;
143
+ padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-md);
144
+ border-bottom: 1px solid var(--border-color);
145
+ }
146
+ @media (width <= 479.98px) {
147
+ ._header_tnc4u_137 {
148
+ padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
149
+ }
150
+ }
151
+
152
+ ._headerContent_tnc4u_152 {
153
+ flex: 1;
154
+ min-width: 0;
155
+ }
156
+
157
+ ._title_tnc4u_157 {
158
+ margin: 0;
159
+ font-family: var(--font-family-heading);
160
+ font-size: var(--font-size-heading-sm, 1.25rem);
161
+ font-weight: var(--font-weight-heading, 700);
162
+ line-height: 1.2;
163
+ color: inherit;
164
+ }
165
+
166
+ ._body_tnc4u_166 {
167
+ flex: 1 1 auto;
168
+ min-height: 0;
169
+ overflow-y: auto;
170
+ padding: var(--spacing-lg) var(--spacing-xl);
171
+ }
172
+ @media (width <= 479.98px) {
173
+ ._body_tnc4u_166 {
174
+ padding: var(--spacing-md) var(--spacing-lg);
175
+ }
176
+ }
177
+
178
+ ._footer_tnc4u_178 {
179
+ display: flex;
180
+ align-items: center;
181
+ justify-content: flex-end;
182
+ gap: var(--spacing-sm);
183
+ flex-shrink: 0;
184
+ padding: var(--spacing-md) var(--spacing-xl) var(--spacing-lg);
185
+ border-top: 1px solid var(--border-color, rgba(255, 255, 255, 0.12));
186
+ }
187
+ @media (width <= 479.98px) {
188
+ ._footer_tnc4u_178 {
189
+ padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
190
+ }
191
+ }
192
+
193
+ ._closeButton_tnc4u_193 {
194
+ flex-shrink: 0;
195
+ border: none;
196
+ }
197
+
198
+ ._closeButtonFloating_tnc4u_198 {
199
+ position: absolute;
200
+ top: var(--spacing-sm);
201
+ right: var(--spacing-sm);
202
+ z-index: 2;
203
+ border: none;
204
+ }
205
+
206
+ ._srOnly_tnc4u_206 {
207
+ position: absolute;
208
+ width: 1px;
209
+ height: 1px;
210
+ padding: 0;
211
+ margin: -1px;
212
+ overflow: hidden;
213
+ clip: rect(0 0 0 0);
214
+ white-space: nowrap;
215
+ border: 0;
216
+ }
217
+
218
+ ._roundNone_tnc4u_218 {
219
+ border-radius: var(--border-radius-none);
220
+ }
221
+
222
+ ._roundSmall_tnc4u_222 {
223
+ border-radius: var(--border-radius-sm);
224
+ }
225
+
226
+ ._roundMedium_tnc4u_226 {
227
+ border-radius: var(--border-radius-md);
228
+ }
229
+
230
+ ._roundLarge_tnc4u_230 {
231
+ border-radius: var(--border-radius-lg);
232
+ }
233
+
234
+ ._roundFull_tnc4u_234 {
235
+ border-radius: var(--border-radius-full);
236
+ }
237
+
238
+ ._shadowNone_tnc4u_238 {
239
+ box-shadow: var(--box-shadow-none);
240
+ }
241
+
242
+ ._shadowLight_tnc4u_242 {
243
+ box-shadow: var(--box-shadow-light);
244
+ }
245
+
246
+ ._shadowMedium_tnc4u_246 {
247
+ box-shadow: var(--box-shadow-medium);
248
+ }
249
+
250
+ ._shadowStrong_tnc4u_250 {
251
+ box-shadow: var(--box-shadow-heavy);
252
+ }
253
+
254
+ ._shadowIntense_tnc4u_254 {
255
+ box-shadow: var(--box-shadow-intense);
256
+ }
257
+
258
+ ._visible_tnc4u_258 {
259
+ opacity: 1;
260
+ pointer-events: auto;
261
+ }
262
+ ._visible_tnc4u_258 ._content_tnc4u_99 {
263
+ opacity: 1;
264
+ transform: scale(1);
265
+ }
266
+ @media (width <= 479.98px) {
267
+ ._visible_tnc4u_258 ._content_tnc4u_99 {
268
+ transform: translateY(0);
269
+ }
270
+ }
271
+
272
+ ._hidden_tnc4u_272 {
273
+ opacity: 0;
274
+ pointer-events: none;
275
+ }
276
+ ._hidden_tnc4u_272 ._content_tnc4u_99 {
277
+ opacity: 0;
278
+ transform: scale(0.95);
279
+ }
280
+ @media (width <= 479.98px) {
281
+ ._hidden_tnc4u_272 ._content_tnc4u_99 {
282
+ transform: translateY(12px);
283
+ }
284
+ }
285
+
286
+ @media (prefers-reduced-motion: reduce) {
287
+ ._overlay_tnc4u_85,
288
+ ._content_tnc4u_99,
289
+ ._closeButton_tnc4u_193,
290
+ ._closeButtonFloating_tnc4u_198 {
291
+ transition: none !important;
292
+ }
293
+ }
294
+ @media (hover: none) {
295
+ ._closeButton_tnc4u_193:hover,
296
+ ._closeButtonFloating_tnc4u_198:hover {
297
+ transform: none;
298
+ }
299
+ }
300
+ @media (forced-colors: active) {
301
+ ._overlay_tnc4u_85 {
302
+ background: transparent;
303
+ }
304
+ ._content_tnc4u_99 {
305
+ background: Canvas;
306
+ color: CanvasText;
307
+ border: 1px solid ButtonText;
308
+ outline-color: Highlight;
309
+ }
310
+ ._header_tnc4u_137,
311
+ ._footer_tnc4u_178 {
312
+ border-color: ButtonText;
313
+ }
314
+ ._closeButton_tnc4u_193,
315
+ ._closeButtonFloating_tnc4u_198 {
316
+ color: ButtonText;
317
+ border: 1px solid ButtonText;
318
+ border-radius: 4px;
319
+ }
320
+ }
@@ -1,4 +1,4 @@
1
- import { M } from "./Modal-Dre8TMtr.js";
1
+ import { M } from "./Modal-BajWiIo7.js";
2
2
  export {
3
3
  M as default
4
4
  };
@@ -5,7 +5,7 @@ import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
5
  import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
6
6
  import { L as Link } from "./link-4NcriBFB.js";
7
7
  import { n as navigationExports } from "./navigation-BCeRD3ib.js";
8
- const slugify = (s) => s.toLowerCase().trim().replace(/\s+/g, "-").replace(/[^a-z0-9]/g, "");
8
+ import './NavBar.css';const slugify = (s) => s.toLowerCase().trim().replace(/\s+/g, "-").replace(/[^a-z0-9]/g, "");
9
9
  const BaseNavBar = ({
10
10
  items,
11
11
  LinkWrapper,
@@ -93,41 +93,31 @@ const BaseNavBar = ({
93
93
  );
94
94
  };
95
95
  BaseNavBar.displayName = "BaseNavBar";
96
- const noScroll = "_noScroll_1fbci_109";
97
- const errorMessage = "_errorMessage_1fbci_110";
98
- const loadingContainer = "_loadingContainer_1fbci_111";
99
- const hideScrollbar = "_hideScrollbar_1fbci_103";
100
- const sr_only = "_sr_only_1fbci_112";
101
- const container = "_container_1fbci_637";
102
- const primary = "_primary_1fbci_674";
103
- const item = "_item_1fbci_674";
104
- const item_active = "_item_active_1fbci_688";
105
- const secondary = "_secondary_1fbci_695";
106
- const tertiary = "_tertiary_1fbci_716";
107
- const quaternary = "_quaternary_1fbci_737";
108
- const clear = "_clear_1fbci_758";
109
- const list = "_list_1fbci_779";
110
- const linkContent = "_linkContent_1fbci_827";
111
- const icon = "_icon_1fbci_832";
112
- const label = "_label_1fbci_853";
113
- const roundNone = "_roundNone_1fbci_869";
114
- const roundSmall = "_roundSmall_1fbci_873";
115
- const roundMedium = "_roundMedium_1fbci_877";
116
- const roundLarge = "_roundLarge_1fbci_881";
117
- const roundFull = "_roundFull_1fbci_885";
118
- const shadowNone = "_shadowNone_1fbci_889";
119
- const shadowLight = "_shadowLight_1fbci_893";
120
- const shadowMedium = "_shadowMedium_1fbci_897";
121
- const shadowStrong = "_shadowStrong_1fbci_901";
122
- const shadowIntense = "_shadowIntense_1fbci_905";
123
- const spin = "_spin_1fbci_1";
124
- const pulse = "_pulse_1fbci_1";
96
+ const container = "_container_rp518_204";
97
+ const primary = "_primary_rp518_241";
98
+ const item = "_item_rp518_241";
99
+ const item_active = "_item_active_rp518_255";
100
+ const secondary = "_secondary_rp518_262";
101
+ const tertiary = "_tertiary_rp518_283";
102
+ const quaternary = "_quaternary_rp518_304";
103
+ const clear = "_clear_rp518_325";
104
+ const list = "_list_rp518_346";
105
+ const linkContent = "_linkContent_rp518_394";
106
+ const icon = "_icon_rp518_399";
107
+ const label = "_label_rp518_420";
108
+ const roundNone = "_roundNone_rp518_436";
109
+ const roundSmall = "_roundSmall_rp518_440";
110
+ const roundMedium = "_roundMedium_rp518_444";
111
+ const roundLarge = "_roundLarge_rp518_448";
112
+ const roundFull = "_roundFull_rp518_452";
113
+ const shadowNone = "_shadowNone_rp518_456";
114
+ const shadowLight = "_shadowLight_rp518_460";
115
+ const shadowMedium = "_shadowMedium_rp518_464";
116
+ const shadowStrong = "_shadowStrong_rp518_468";
117
+ const shadowIntense = "_shadowIntense_rp518_472";
118
+ const spin = "_spin_rp518_1";
119
+ const pulse = "_pulse_rp518_1";
125
120
  const styles = {
126
- noScroll,
127
- errorMessage,
128
- loadingContainer,
129
- hideScrollbar,
130
- sr_only,
131
121
  container,
132
122
  primary,
133
123
  item,
@@ -150,15 +140,15 @@ const styles = {
150
140
  shadowMedium,
151
141
  shadowStrong,
152
142
  shadowIntense,
153
- "fade-in": "_fade-in_1fbci_1",
154
- "slide-up": "_slide-up_1fbci_1",
155
- "spin-3d": "_spin-3d_1fbci_1",
143
+ "fade-in": "_fade-in_rp518_1",
144
+ "slide-up": "_slide-up_rp518_1",
145
+ "spin-3d": "_spin-3d_rp518_1",
156
146
  spin,
157
147
  pulse,
158
- "fade-in-up": "_fade-in-up_1fbci_1",
159
- "progress-grow": "_progress-grow_1fbci_1",
160
- "indeterminate-move": "_indeterminate-move_1fbci_1",
161
- "skeleton-loading": "_skeleton-loading_1fbci_1"
148
+ "fade-in-up": "_fade-in-up_rp518_1",
149
+ "progress-grow": "_progress-grow_rp518_1",
150
+ "indeterminate-move": "_indeterminate-move_rp518_1",
151
+ "skeleton-loading": "_skeleton-loading_rp518_1"
162
152
  };
163
153
  const normalizePath = (p) => p.endsWith("/") && p.length > 1 ? p.slice(0, -1) : p;
164
154
  const NavBar = ({
@@ -199,4 +189,4 @@ NavBar.displayName = "NavBar";
199
189
  export {
200
190
  NavBar as N
201
191
  };
202
- //# sourceMappingURL=NavBar-dpbPYT0w.js.map
192
+ //# sourceMappingURL=NavBar-B0G7ZuqP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar-dpbPYT0w.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\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\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n \"aria-label\": ariaLabel = \"Main navigation\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"list-aria-label\": listAriaLabel = \"Main navigation items\",\r\n getItemAriaLabel,\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\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 aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul\r\n className={classMap.list}\r\n aria-label={listAriaLabel}\r\n data-testid={`${testId}-nav-list`}\r\n >\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n const itemAriaLabel = getItemAriaLabel?.(item) ?? item.label;\r\n\r\n return (\r\n <li\r\n key={`${item.path}-${slug}`}\r\n className={classMap.listItem}\r\n data-testid={`${testId}-nav-list-item-${slug}`}\r\n >\r\n <LinkWrapper\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 data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-label={itemAriaLabel}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\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, NavItem } from \"../NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n isItemActive: consumerIsItemActive,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname ?? \"/\";\r\n\r\n const defaultIsItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(resolvedPath);\r\n\r\n const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={resolvedIsItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\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\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":["item","usePathname"],"mappings":"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"}
1
+ {"version":3,"file":"NavBar-B0G7ZuqP.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\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\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n \"aria-label\": ariaLabel = \"Main navigation\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"list-aria-label\": listAriaLabel = \"Main navigation items\",\r\n getItemAriaLabel,\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\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 aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul\r\n className={classMap.list}\r\n aria-label={listAriaLabel}\r\n data-testid={`${testId}-nav-list`}\r\n >\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n const itemAriaLabel = getItemAriaLabel?.(item) ?? item.label;\r\n\r\n return (\r\n <li\r\n key={`${item.path}-${slug}`}\r\n className={classMap.listItem}\r\n data-testid={`${testId}-nav-list-item-${slug}`}\r\n >\r\n <LinkWrapper\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 data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-label={itemAriaLabel}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\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, NavItem } from \"../NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n isItemActive: consumerIsItemActive,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname ?? \"/\";\r\n\r\n const defaultIsItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(resolvedPath);\r\n\r\n const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={resolvedIsItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\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\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":["item","usePathname"],"mappings":"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"}