boreal-ui 0.0.39 → 0.0.41

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 (461) hide show
  1. package/dist/core/{Badge-DOn6E2bS.cjs → Badge-CyGz8K5W.cjs} +4 -1
  2. package/dist/core/Badge-CyGz8K5W.cjs.map +1 -0
  3. package/dist/core/{Badge-Dpjq6lUF.js → Badge-DnE8lt7-.js} +4 -1
  4. package/dist/core/Badge-DnE8lt7-.js.map +1 -0
  5. package/dist/core/Badge.cjs.js +1 -1
  6. package/dist/core/Badge.js +1 -1
  7. package/dist/core/{Card-D-GQwaUJ.js → Card-CbGHr_tX.js} +6 -5
  8. package/dist/core/Card-CbGHr_tX.js.map +1 -0
  9. package/dist/core/{Card-DftqfPue.cjs → Card-De2epy0R.cjs} +6 -5
  10. package/dist/core/Card-De2epy0R.cjs.map +1 -0
  11. package/dist/core/Card.cjs.js +1 -1
  12. package/dist/core/Card.js +1 -1
  13. package/dist/core/{Chip-D4vbSudX.js → Chip-BjbtoFKm.js} +2 -2
  14. package/dist/core/{Chip-D4vbSudX.js.map → Chip-BjbtoFKm.js.map} +1 -1
  15. package/dist/core/{Chip-CWsfLyyU.cjs → Chip-c2mN7R-R.cjs} +2 -2
  16. package/dist/core/{Chip-CWsfLyyU.cjs.map → Chip-c2mN7R-R.cjs.map} +1 -1
  17. package/dist/core/Chip.cjs.js +1 -1
  18. package/dist/core/Chip.js +1 -1
  19. package/dist/core/{CommandPalette-CXKBDCbP.cjs → CommandPalette-CPhVbQAc.cjs} +2 -2
  20. package/dist/core/{CommandPalette-CXKBDCbP.cjs.map → CommandPalette-CPhVbQAc.cjs.map} +1 -1
  21. package/dist/core/{CommandPalette-N556smLj.js → CommandPalette-Df69KRv4.js} +2 -2
  22. package/dist/core/{CommandPalette-N556smLj.js.map → CommandPalette-Df69KRv4.js.map} +1 -1
  23. package/dist/core/CommandPalette.cjs.js +1 -1
  24. package/dist/core/CommandPalette.js +1 -1
  25. package/dist/core/{Dropdown-CwofYHjq.js → Dropdown-CR3xr5K-.js} +2 -2
  26. package/dist/core/{Dropdown-CwofYHjq.js.map → Dropdown-CR3xr5K-.js.map} +1 -1
  27. package/dist/core/{Dropdown-DvwHouyC.cjs → Dropdown-CjPfU1K-.cjs} +2 -2
  28. package/dist/core/{Dropdown-DvwHouyC.cjs.map → Dropdown-CjPfU1K-.cjs.map} +1 -1
  29. package/dist/core/Dropdown.cjs.js +1 -1
  30. package/dist/core/Dropdown.js +1 -1
  31. package/dist/core/{FileUpload-Du7vDDdf.cjs → FileUpload-BJ3RJxT3.cjs} +3 -3
  32. package/dist/core/{FileUpload-Du7vDDdf.cjs.map → FileUpload-BJ3RJxT3.cjs.map} +1 -1
  33. package/dist/core/{FileUpload-Q8aDsaFs.js → FileUpload-C0eHx1h8.js} +3 -3
  34. package/dist/core/{FileUpload-Q8aDsaFs.js.map → FileUpload-C0eHx1h8.js.map} +1 -1
  35. package/dist/core/FileUpload.cjs.js +1 -1
  36. package/dist/core/FileUpload.js +1 -1
  37. package/dist/core/{Footer-DMOA1W7N.cjs → Footer-CYIUIgV1.cjs} +3 -3
  38. package/dist/core/Footer-CYIUIgV1.cjs.map +1 -0
  39. package/dist/core/{Footer-zO4RGjCl.js → Footer-D9RimHx9.js} +3 -3
  40. package/dist/core/Footer-D9RimHx9.js.map +1 -0
  41. package/dist/core/Footer.cjs.js +1 -1
  42. package/dist/core/Footer.js +1 -1
  43. package/dist/core/{FormGroup-C2TWC17P.cjs → FormGroup-Cit_2_Wo.cjs} +5 -8
  44. package/dist/core/FormGroup-Cit_2_Wo.cjs.map +1 -0
  45. package/dist/core/{FormGroup-tSK_NN0-.js → FormGroup-DDZ1D_CI.js} +5 -8
  46. package/dist/core/FormGroup-DDZ1D_CI.js.map +1 -0
  47. package/dist/core/FormGroup.cjs.js +1 -1
  48. package/dist/core/FormGroup.js +1 -1
  49. package/dist/core/{IconButton-_lxTppua.js → IconButton-BMZhwYXB.js} +2 -2
  50. package/dist/core/IconButton-BMZhwYXB.js.map +1 -0
  51. package/dist/core/{IconButton-CR9bTZoJ.cjs → IconButton-Bio6Azm-.cjs} +2 -2
  52. package/dist/core/IconButton-Bio6Azm-.cjs.map +1 -0
  53. package/dist/core/IconButton.cjs.js +1 -1
  54. package/dist/core/IconButton.js +1 -1
  55. package/dist/core/{MarkdownRenderer-LUXCa_a8.cjs → MarkdownRenderer-Bn6vcfSd.cjs} +3 -2
  56. package/dist/core/MarkdownRenderer-Bn6vcfSd.cjs.map +1 -0
  57. package/dist/core/{MarkdownRenderer-B1LmmpZm.js → MarkdownRenderer-Co787hku.js} +3 -2
  58. package/dist/core/MarkdownRenderer-Co787hku.js.map +1 -0
  59. package/dist/core/MarkdownRenderer.cjs.js +1 -1
  60. package/dist/core/MarkdownRenderer.js +1 -1
  61. package/dist/core/MessagePopUp.cjs.js +1 -1
  62. package/dist/core/MessagePopUp.js +1 -1
  63. package/dist/core/{MessagePopup-BlbPMecd.js → MessagePopup-B3lEfar7.js} +2 -2
  64. package/dist/core/{MessagePopup-BlbPMecd.js.map → MessagePopup-B3lEfar7.js.map} +1 -1
  65. package/dist/core/{MessagePopup-hxloT7aK.cjs → MessagePopup-CtdpuRFv.cjs} +2 -2
  66. package/dist/core/{MessagePopup-hxloT7aK.cjs.map → MessagePopup-CtdpuRFv.cjs.map} +1 -1
  67. package/dist/core/{MetricBox-Dh911MS2.js → MetricBox-CPug-nxo.js} +11 -2
  68. package/dist/core/MetricBox-CPug-nxo.js.map +1 -0
  69. package/dist/core/{MetricBox-BcOdQM-l.cjs → MetricBox-DVo4UUQv.cjs} +11 -2
  70. package/dist/core/MetricBox-DVo4UUQv.cjs.map +1 -0
  71. package/dist/core/MetricBox.cjs.js +1 -1
  72. package/dist/core/MetricBox.js +1 -1
  73. package/dist/core/{Modal-D1G1Csp9.js → Modal-DFhYDYb9.js} +2 -2
  74. package/dist/core/{Modal-D1G1Csp9.js.map → Modal-DFhYDYb9.js.map} +1 -1
  75. package/dist/core/{Modal-D-ZoA_xx.cjs → Modal-FB4mTmQW.cjs} +2 -2
  76. package/dist/core/{Modal-D-ZoA_xx.cjs.map → Modal-FB4mTmQW.cjs.map} +1 -1
  77. package/dist/core/Modal.cjs.js +1 -1
  78. package/dist/core/Modal.js +1 -1
  79. package/dist/core/{NotificationCenter-BrUNpJAx.js → NotificationCenter-DLCzWNve.js} +2 -2
  80. package/dist/core/{NotificationCenter-BrUNpJAx.js.map → NotificationCenter-DLCzWNve.js.map} +1 -1
  81. package/dist/core/{NotificationCenter-Dqwu2Z6s.cjs → NotificationCenter-DfOOEt9N.cjs} +2 -2
  82. package/dist/core/{NotificationCenter-Dqwu2Z6s.cjs.map → NotificationCenter-DfOOEt9N.cjs.map} +1 -1
  83. package/dist/core/NotificationCenter.cjs.js +1 -1
  84. package/dist/core/NotificationCenter.js +1 -1
  85. package/dist/core/{Pager-CZF6O7rq.js → Pager-DBHI7yRW.js} +2 -2
  86. package/dist/core/{Pager-CZF6O7rq.js.map → Pager-DBHI7yRW.js.map} +1 -1
  87. package/dist/core/{Pager-C_SG4CIc.cjs → Pager-Dv6D3kXa.cjs} +2 -2
  88. package/dist/core/{Pager-C_SG4CIc.cjs.map → Pager-Dv6D3kXa.cjs.map} +1 -1
  89. package/dist/core/Pager.cjs.js +1 -1
  90. package/dist/core/Pager.js +1 -1
  91. package/dist/core/{Skeleton-Cwn3_gc7.js → Skeleton-BjpQHG5i.js} +2 -2
  92. package/dist/core/{Skeleton-Cwn3_gc7.js.map → Skeleton-BjpQHG5i.js.map} +1 -1
  93. package/dist/core/{Skeleton-BLVD5mDI.cjs → Skeleton-tetAZCSl.cjs} +2 -2
  94. package/dist/core/{Skeleton-BLVD5mDI.cjs.map → Skeleton-tetAZCSl.cjs.map} +1 -1
  95. package/dist/core/Skeleton.cjs.js +1 -1
  96. package/dist/core/Skeleton.js +1 -1
  97. package/dist/core/{Spinner-D81UG24n.js → Spinner-D1CHbKYU.js} +2 -2
  98. package/dist/core/Spinner-D1CHbKYU.js.map +1 -0
  99. package/dist/core/{Spinner-CEIk_hpT.cjs → Spinner-JTcQ_d4T.cjs} +2 -2
  100. package/dist/core/Spinner-JTcQ_d4T.cjs.map +1 -0
  101. package/dist/core/Spinner.cjs.js +1 -1
  102. package/dist/core/Spinner.js +1 -1
  103. package/dist/core/{Stepper-Cjb7ckXo.js → Stepper-C6xjvhZJ.js} +2 -2
  104. package/dist/core/{Stepper-Cjb7ckXo.js.map → Stepper-C6xjvhZJ.js.map} +1 -1
  105. package/dist/core/{Stepper-BuCLqbtQ.cjs → Stepper-JNVBVHc3.cjs} +2 -2
  106. package/dist/core/{Stepper-BuCLqbtQ.cjs.map → Stepper-JNVBVHc3.cjs.map} +1 -1
  107. package/dist/core/Stepper.cjs.js +1 -1
  108. package/dist/core/Stepper.js +1 -1
  109. package/dist/core/TagInput.cjs.js +1 -1
  110. package/dist/core/TagInput.js +1 -1
  111. package/dist/core/{Taginput-DgbxDttA.cjs → Taginput-BXCxdLf0.cjs} +3 -3
  112. package/dist/core/{Taginput-DgbxDttA.cjs.map → Taginput-BXCxdLf0.cjs.map} +1 -1
  113. package/dist/core/{Taginput-CKekAR72.js → Taginput-CoxxwLXg.js} +3 -3
  114. package/dist/core/{Taginput-CKekAR72.js.map → Taginput-CoxxwLXg.js.map} +1 -1
  115. package/dist/core/{TextInput-DFOjxri2.cjs → TextInput-DYALlUc_.cjs} +2 -2
  116. package/dist/core/{TextInput-DFOjxri2.cjs.map → TextInput-DYALlUc_.cjs.map} +1 -1
  117. package/dist/core/{TextInput-7kV66ccj.js → TextInput-qw-jAx_3.js} +2 -2
  118. package/dist/core/{TextInput-7kV66ccj.js.map → TextInput-qw-jAx_3.js.map} +1 -1
  119. package/dist/core/TextInput.cjs.js +1 -1
  120. package/dist/core/TextInput.js +1 -1
  121. package/dist/core/{style.css → boreal-ui.css} +6976 -6974
  122. package/dist/core/index.cjs.js +20 -20
  123. package/dist/core/index.js +20 -20
  124. package/dist/next/{Accordion-DKNh8FaP.cjs → Accordion-BPWTEHym.cjs} +50 -50
  125. package/dist/next/{Accordion-DKNh8FaP.cjs.map → Accordion-BPWTEHym.cjs.map} +1 -1
  126. package/dist/next/{Accordion-BkiAI6vY.js → Accordion-DY243Bq9.js} +50 -50
  127. package/dist/next/{Accordion-BkiAI6vY.js.map → Accordion-DY243Bq9.js.map} +1 -1
  128. package/dist/next/Accordion.cjs.js +1 -1
  129. package/dist/next/Accordion.js +1 -1
  130. package/dist/next/{Avatar-ijMVfQpY.js → Avatar-B-Ws4Ueo.js} +42 -42
  131. package/dist/next/{Avatar-ijMVfQpY.js.map → Avatar-B-Ws4Ueo.js.map} +1 -1
  132. package/dist/next/{Avatar-Ctm74prt.cjs → Avatar-B9sMyRWr.cjs} +42 -42
  133. package/dist/next/{Avatar-Ctm74prt.cjs.map → Avatar-B9sMyRWr.cjs.map} +1 -1
  134. package/dist/next/Avatar.cjs.js +1 -1
  135. package/dist/next/Avatar.js +1 -1
  136. package/dist/next/{Badge-k6Dk5S_p.js → Badge-BZNYm0IU.js} +34 -31
  137. package/dist/next/Badge-BZNYm0IU.js.map +1 -0
  138. package/dist/next/{Badge-DbmM5wGc.cjs → Badge-dTyh833r.cjs} +34 -31
  139. package/dist/next/Badge-dTyh833r.cjs.map +1 -0
  140. package/dist/next/Badge.cjs.js +1 -1
  141. package/dist/next/Badge.js +1 -1
  142. package/dist/next/{Breadcrumbs-CWv3TrV_.js → Breadcrumbs-BPWmV24h.js} +39 -39
  143. package/dist/next/{Breadcrumbs-CWv3TrV_.js.map → Breadcrumbs-BPWmV24h.js.map} +1 -1
  144. package/dist/next/{Breadcrumbs-BrH6_8Kt.cjs → Breadcrumbs-BcXj2PgR.cjs} +39 -39
  145. package/dist/next/{Breadcrumbs-BrH6_8Kt.cjs.map → Breadcrumbs-BcXj2PgR.cjs.map} +1 -1
  146. package/dist/next/Breadcrumbs.cjs.js +1 -1
  147. package/dist/next/Breadcrumbs.js +1 -1
  148. package/dist/next/{Button-D8Kff8sN.cjs → Button-B1Fh4G0_.cjs} +47 -47
  149. package/dist/next/{Button-D8Kff8sN.cjs.map → Button-B1Fh4G0_.cjs.map} +1 -1
  150. package/dist/next/{Button-BjY7f3mw.js → Button-uZ3xTOOt.js} +47 -47
  151. package/dist/next/{Button-BjY7f3mw.js.map → Button-uZ3xTOOt.js.map} +1 -1
  152. package/dist/next/Button.cjs.js +1 -1
  153. package/dist/next/Button.js +1 -1
  154. package/dist/next/{Card-DhxLw6XZ.js → Card-B_qtwaqj.js} +68 -67
  155. package/dist/next/Card-B_qtwaqj.js.map +1 -0
  156. package/dist/next/{Card-BFmGnvxN.cjs → Card-CqXJPdqV.cjs} +68 -67
  157. package/dist/next/Card-CqXJPdqV.cjs.map +1 -0
  158. package/dist/next/Card.cjs.js +1 -1
  159. package/dist/next/Card.js +1 -1
  160. package/dist/next/CheckBox.cjs.js +1 -1
  161. package/dist/next/CheckBox.js +1 -1
  162. package/dist/next/{Checkbox-DVr6H6mN.js → Checkbox-BJ0rBZLF.js} +44 -44
  163. package/dist/next/{Checkbox-DVr6H6mN.js.map → Checkbox-BJ0rBZLF.js.map} +1 -1
  164. package/dist/next/{Checkbox-B-y0lEjJ.cjs → Checkbox-Ch7osD3y.cjs} +44 -44
  165. package/dist/next/{Checkbox-B-y0lEjJ.cjs.map → Checkbox-Ch7osD3y.cjs.map} +1 -1
  166. package/dist/next/{Chip-C8ayWG9-.js → Chip-BB3Awc2g.js} +51 -51
  167. package/dist/next/{Chip-C8ayWG9-.js.map → Chip-BB3Awc2g.js.map} +1 -1
  168. package/dist/next/{Chip-C4-KUcHh.cjs → Chip-DzFaUPed.cjs} +51 -51
  169. package/dist/next/{Chip-C4-KUcHh.cjs.map → Chip-DzFaUPed.cjs.map} +1 -1
  170. package/dist/next/Chip.cjs.js +1 -1
  171. package/dist/next/Chip.js +1 -1
  172. package/dist/next/{CircularProgress-Cz9G0WeQ.js → CircularProgress-BUqdguII.js} +37 -37
  173. package/dist/next/{CircularProgress-Cz9G0WeQ.js.map → CircularProgress-BUqdguII.js.map} +1 -1
  174. package/dist/next/{CircularProgress-UhpLA94q.cjs → CircularProgress-Cp2pGFmc.cjs} +37 -37
  175. package/dist/next/{CircularProgress-UhpLA94q.cjs.map → CircularProgress-Cp2pGFmc.cjs.map} +1 -1
  176. package/dist/next/CircularProgress.cjs.js +1 -1
  177. package/dist/next/CircularProgress.js +1 -1
  178. package/dist/next/{ColorPicker-DvgeIT_p.cjs → ColorPicker-BHtO2mbU.cjs} +38 -38
  179. package/dist/next/{ColorPicker-DvgeIT_p.cjs.map → ColorPicker-BHtO2mbU.cjs.map} +1 -1
  180. package/dist/next/{ColorPicker-1naDOGhp.js → ColorPicker-ChWOekWP.js} +38 -38
  181. package/dist/next/{ColorPicker-1naDOGhp.js.map → ColorPicker-ChWOekWP.js.map} +1 -1
  182. package/dist/next/ColorPicker.cjs.js +1 -1
  183. package/dist/next/ColorPicker.js +1 -1
  184. package/dist/next/{CommandPalette-ypXbi8zW.cjs → CommandPalette-BT9X_yL0.cjs} +42 -42
  185. package/dist/next/{CommandPalette-ypXbi8zW.cjs.map → CommandPalette-BT9X_yL0.cjs.map} +1 -1
  186. package/dist/next/{CommandPalette-XP4v5FE6.js → CommandPalette-DEf12Et3.js} +42 -42
  187. package/dist/next/{CommandPalette-XP4v5FE6.js.map → CommandPalette-DEf12Et3.js.map} +1 -1
  188. package/dist/next/CommandPalette.cjs.js +1 -1
  189. package/dist/next/CommandPalette.js +1 -1
  190. package/dist/next/{DataTable-jUelgv2H.js → DataTable-CnvOkZrU.js} +40 -40
  191. package/dist/next/{DataTable-jUelgv2H.js.map → DataTable-CnvOkZrU.js.map} +1 -1
  192. package/dist/next/{DataTable-jq0suGoA.cjs → DataTable-DQ1QRyZw.cjs} +40 -40
  193. package/dist/next/{DataTable-jq0suGoA.cjs.map → DataTable-DQ1QRyZw.cjs.map} +1 -1
  194. package/dist/next/DataTable.cjs.js +1 -1
  195. package/dist/next/DataTable.js +1 -1
  196. package/dist/next/{DateTimePicker-D5gEfxvd.cjs → DateTimePicker-2M4AJJXm.cjs} +46 -46
  197. package/dist/next/{DateTimePicker-D5gEfxvd.cjs.map → DateTimePicker-2M4AJJXm.cjs.map} +1 -1
  198. package/dist/next/{DateTimePicker-BTm6T3-E.js → DateTimePicker-IvBWNgkK.js} +46 -46
  199. package/dist/next/{DateTimePicker-BTm6T3-E.js.map → DateTimePicker-IvBWNgkK.js.map} +1 -1
  200. package/dist/next/DateTimePicker.cjs.js +1 -1
  201. package/dist/next/DateTimePicker.js +1 -1
  202. package/dist/next/{Divider-BYKFFi3a.js → Divider-BCCzNbAE.js} +28 -28
  203. package/dist/next/{Divider-BYKFFi3a.js.map → Divider-BCCzNbAE.js.map} +1 -1
  204. package/dist/next/{Divider-CczNc7mx.cjs → Divider-ByDYa4v6.cjs} +28 -28
  205. package/dist/next/{Divider-CczNc7mx.cjs.map → Divider-ByDYa4v6.cjs.map} +1 -1
  206. package/dist/next/Divider.cjs.js +1 -1
  207. package/dist/next/Divider.js +1 -1
  208. package/dist/next/{Dropdown-yaMx19im.cjs → Dropdown-DEdk2QjS.cjs} +22 -22
  209. package/dist/next/{Dropdown-yaMx19im.cjs.map → Dropdown-DEdk2QjS.cjs.map} +1 -1
  210. package/dist/next/{Dropdown-CJGb6wyQ.js → Dropdown-qdxH-NQR.js} +22 -22
  211. package/dist/next/{Dropdown-CJGb6wyQ.js.map → Dropdown-qdxH-NQR.js.map} +1 -1
  212. package/dist/next/Dropdown.cjs.js +1 -1
  213. package/dist/next/Dropdown.js +1 -1
  214. package/dist/next/{EmptyState-DIymA2cZ.js → EmptyState-BNzFHAk3.js} +31 -31
  215. package/dist/next/{EmptyState-DIymA2cZ.js.map → EmptyState-BNzFHAk3.js.map} +1 -1
  216. package/dist/next/{EmptyState-CGPIGpz2.cjs → EmptyState-CXyx1WlG.cjs} +31 -31
  217. package/dist/next/{EmptyState-CGPIGpz2.cjs.map → EmptyState-CXyx1WlG.cjs.map} +1 -1
  218. package/dist/next/EmptyState.cjs.js +1 -1
  219. package/dist/next/EmptyState.js +1 -1
  220. package/dist/next/{FileUpload-CIued3w1.js → FileUpload-DBSXPL55.js} +52 -52
  221. package/dist/next/{FileUpload-CIued3w1.js.map → FileUpload-DBSXPL55.js.map} +1 -1
  222. package/dist/next/{FileUpload-MVXOV0j9.cjs → FileUpload-DwlqapHn.cjs} +52 -52
  223. package/dist/next/{FileUpload-MVXOV0j9.cjs.map → FileUpload-DwlqapHn.cjs.map} +1 -1
  224. package/dist/next/FileUpload.cjs.js +1 -1
  225. package/dist/next/FileUpload.js +1 -1
  226. package/dist/next/{Footer-DAZLz11H.cjs → Footer-BxrsmJyY.cjs} +45 -45
  227. package/dist/next/Footer-BxrsmJyY.cjs.map +1 -0
  228. package/dist/next/{Footer-BSEbf6CL.js → Footer-CP_PaLon.js} +45 -45
  229. package/dist/next/Footer-CP_PaLon.js.map +1 -0
  230. package/dist/next/Footer.cjs.js +1 -1
  231. package/dist/next/Footer.js +1 -1
  232. package/dist/next/{FormGroup-DbUqgg_b.js → FormGroup-QfUhtyhx.js} +34 -37
  233. package/dist/next/FormGroup-QfUhtyhx.js.map +1 -0
  234. package/dist/next/{FormGroup-6Ss6pNqV.cjs → FormGroup-U3EwnB0M.cjs} +34 -37
  235. package/dist/next/FormGroup-U3EwnB0M.cjs.map +1 -0
  236. package/dist/next/FormGroup.cjs.js +1 -1
  237. package/dist/next/FormGroup.js +1 -1
  238. package/dist/next/{IconButton-VSz8qAIg.cjs → IconButton-2l-_HOMB.cjs} +31 -31
  239. package/dist/next/IconButton-2l-_HOMB.cjs.map +1 -0
  240. package/dist/next/{IconButton-qQljwBB2.js → IconButton-BTUFKRZt.js} +31 -31
  241. package/dist/next/IconButton-BTUFKRZt.js.map +1 -0
  242. package/dist/next/IconButton.cjs.js +1 -1
  243. package/dist/next/IconButton.js +1 -1
  244. package/dist/next/{MarkdownRenderer-B7lwemDw.js → MarkdownRenderer-B8_D0j7d.js} +14 -13
  245. package/dist/next/{MarkdownRenderer-B7lwemDw.js.map → MarkdownRenderer-B8_D0j7d.js.map} +1 -1
  246. package/dist/next/{MarkdownRenderer-BvfBDz9X.cjs → MarkdownRenderer-l6hdKOt0.cjs} +14 -13
  247. package/dist/next/{MarkdownRenderer-BvfBDz9X.cjs.map → MarkdownRenderer-l6hdKOt0.cjs.map} +1 -1
  248. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  249. package/dist/next/MarkdownRenderer.js +1 -1
  250. package/dist/next/MessagePopUp.cjs.js +1 -1
  251. package/dist/next/MessagePopUp.js +1 -1
  252. package/dist/next/{MessagePopup-B5OaSUBr.js → MessagePopup-N2n3NvgX.js} +19 -19
  253. package/dist/next/{MessagePopup-B5OaSUBr.js.map → MessagePopup-N2n3NvgX.js.map} +1 -1
  254. package/dist/next/{MessagePopup-BQ4OFvwo.cjs → MessagePopup-PB3e2lTg.cjs} +19 -19
  255. package/dist/next/{MessagePopup-BQ4OFvwo.cjs.map → MessagePopup-PB3e2lTg.cjs.map} +1 -1
  256. package/dist/next/{MetricBox-Dl3iruBZ.js → MetricBox-BjdAzOrZ.js} +57 -48
  257. package/dist/next/MetricBox-BjdAzOrZ.js.map +1 -0
  258. package/dist/next/{MetricBox-BylPOvoO.cjs → MetricBox-C3B6Bkcb.cjs} +57 -48
  259. package/dist/next/MetricBox-C3B6Bkcb.cjs.map +1 -0
  260. package/dist/next/MetricBox.cjs.js +1 -1
  261. package/dist/next/MetricBox.js +1 -1
  262. package/dist/next/{Modal-CevpqeOy.cjs → Modal-DHTrvNfc.cjs} +17 -17
  263. package/dist/next/{Modal-CevpqeOy.cjs.map → Modal-DHTrvNfc.cjs.map} +1 -1
  264. package/dist/next/{Modal-BARibygG.js → Modal-QTq5IcKa.js} +17 -17
  265. package/dist/next/{Modal-BARibygG.js.map → Modal-QTq5IcKa.js.map} +1 -1
  266. package/dist/next/Modal.cjs.js +1 -1
  267. package/dist/next/Modal.js +1 -1
  268. package/dist/next/{NavBar-C5FBdZT6.cjs → NavBar-Ds_02bAe.cjs} +40 -40
  269. package/dist/next/{NavBar-C5FBdZT6.cjs.map → NavBar-Ds_02bAe.cjs.map} +1 -1
  270. package/dist/next/{NavBar-Bucpo8_3.js → NavBar-v_ckzQIo.js} +40 -40
  271. package/dist/next/{NavBar-Bucpo8_3.js.map → NavBar-v_ckzQIo.js.map} +1 -1
  272. package/dist/next/NavBar.cjs.js +1 -1
  273. package/dist/next/NavBar.js +1 -1
  274. package/dist/next/{NotificationCenter-BD58bbOZ.cjs → NotificationCenter-DbYxpoy6.cjs} +43 -43
  275. package/dist/next/{NotificationCenter-BD58bbOZ.cjs.map → NotificationCenter-DbYxpoy6.cjs.map} +1 -1
  276. package/dist/next/{NotificationCenter-CSwbscYh.js → NotificationCenter-DxK09uJd.js} +43 -43
  277. package/dist/next/{NotificationCenter-CSwbscYh.js.map → NotificationCenter-DxK09uJd.js.map} +1 -1
  278. package/dist/next/NotificationCenter.cjs.js +1 -1
  279. package/dist/next/NotificationCenter.js +1 -1
  280. package/dist/next/{Pager-B-xaM28_.cjs → Pager-BU5RjNwR.cjs} +7 -7
  281. package/dist/next/{Pager-B-xaM28_.cjs.map → Pager-BU5RjNwR.cjs.map} +1 -1
  282. package/dist/next/{Pager-DWzCtb2Q.js → Pager-CtzyTqIl.js} +7 -7
  283. package/dist/next/{Pager-DWzCtb2Q.js.map → Pager-CtzyTqIl.js.map} +1 -1
  284. package/dist/next/Pager.cjs.js +1 -1
  285. package/dist/next/Pager.js +1 -1
  286. package/dist/next/{PopOver-QAYHaYcd.js → PopOver-CmPp9PkL.js} +40 -40
  287. package/dist/next/{PopOver-QAYHaYcd.js.map → PopOver-CmPp9PkL.js.map} +1 -1
  288. package/dist/next/{PopOver-Dp4eqN8G.cjs → PopOver-ixERZLpM.cjs} +40 -40
  289. package/dist/next/{PopOver-Dp4eqN8G.cjs.map → PopOver-ixERZLpM.cjs.map} +1 -1
  290. package/dist/next/PopOver.cjs.js +1 -1
  291. package/dist/next/PopOver.js +1 -1
  292. package/dist/next/{ProgressBar-BrO0fvaM.js → ProgressBar-BoU2HJv3.js} +42 -42
  293. package/dist/next/{ProgressBar-BrO0fvaM.js.map → ProgressBar-BoU2HJv3.js.map} +1 -1
  294. package/dist/next/{ProgressBar-DfXSlpKX.cjs → ProgressBar-C6zKbiq5.cjs} +42 -42
  295. package/dist/next/{ProgressBar-DfXSlpKX.cjs.map → ProgressBar-C6zKbiq5.cjs.map} +1 -1
  296. package/dist/next/ProgressBar.cjs.js +1 -1
  297. package/dist/next/ProgressBar.js +1 -1
  298. package/dist/next/{RadioButton-6cb-ZRjy.cjs → RadioButton-BCu934Uo.cjs} +38 -38
  299. package/dist/next/{RadioButton-6cb-ZRjy.cjs.map → RadioButton-BCu934Uo.cjs.map} +1 -1
  300. package/dist/next/{RadioButton-Dz_e0WUT.js → RadioButton-C14Rsx9o.js} +38 -38
  301. package/dist/next/{RadioButton-Dz_e0WUT.js.map → RadioButton-C14Rsx9o.js.map} +1 -1
  302. package/dist/next/RadioButton.cjs.js +1 -1
  303. package/dist/next/RadioButton.js +1 -1
  304. package/dist/next/{Rating-C4pqzKNQ.cjs → Rating-C9BgQANc.cjs} +34 -34
  305. package/dist/next/{Rating-C4pqzKNQ.cjs.map → Rating-C9BgQANc.cjs.map} +1 -1
  306. package/dist/next/{Rating-DbQ61tMY.js → Rating-aheV3uZJ.js} +34 -34
  307. package/dist/next/{Rating-DbQ61tMY.js.map → Rating-aheV3uZJ.js.map} +1 -1
  308. package/dist/next/Rating.cjs.js +1 -1
  309. package/dist/next/Rating.js +1 -1
  310. package/dist/next/{STT-CCzJFcVP.js → STT-CFFr1_Ls.js} +14 -14
  311. package/dist/next/{STT-CCzJFcVP.js.map → STT-CFFr1_Ls.js.map} +1 -1
  312. package/dist/next/{STT-C6kV0zwW.cjs → STT-GyAuX3-m.cjs} +14 -14
  313. package/dist/next/{STT-C6kV0zwW.cjs.map → STT-GyAuX3-m.cjs.map} +1 -1
  314. package/dist/next/ScrollToTop.cjs.js +1 -1
  315. package/dist/next/ScrollToTop.js +1 -1
  316. package/dist/next/{Select-CZivQIlV.js → Select-CPwU0IV9.js} +32 -32
  317. package/dist/next/{Select-CZivQIlV.js.map → Select-CPwU0IV9.js.map} +1 -1
  318. package/dist/next/{Select-CSAN6B98.cjs → Select-Dgcy2vVe.cjs} +32 -32
  319. package/dist/next/{Select-CSAN6B98.cjs.map → Select-Dgcy2vVe.cjs.map} +1 -1
  320. package/dist/next/Select.cjs.js +1 -1
  321. package/dist/next/Select.js +1 -1
  322. package/dist/next/{Sidebar-BVeRWv61.js → Sidebar-CJ4VrQIW.js} +38 -38
  323. package/dist/next/{Sidebar-BVeRWv61.js.map → Sidebar-CJ4VrQIW.js.map} +1 -1
  324. package/dist/next/{Sidebar-DcDJjNrK.cjs → Sidebar-DajVSn82.cjs} +38 -38
  325. package/dist/next/{Sidebar-DcDJjNrK.cjs.map → Sidebar-DajVSn82.cjs.map} +1 -1
  326. package/dist/next/Sidebar.cjs.js +1 -1
  327. package/dist/next/Sidebar.js +1 -1
  328. package/dist/next/{Skeleton-rSW1X4hk.js → Skeleton-D8C29p3K.js} +27 -27
  329. package/dist/next/{Skeleton-rSW1X4hk.js.map → Skeleton-D8C29p3K.js.map} +1 -1
  330. package/dist/next/{Skeleton-JgU17y-3.cjs → Skeleton-Dmz7m0dj.cjs} +27 -27
  331. package/dist/next/{Skeleton-JgU17y-3.cjs.map → Skeleton-Dmz7m0dj.cjs.map} +1 -1
  332. package/dist/next/Skeleton.cjs.js +1 -1
  333. package/dist/next/Skeleton.js +1 -1
  334. package/dist/next/{Slider-CdSPPw1x.js → Slider-BOAgWYkH.js} +43 -43
  335. package/dist/next/{Slider-CdSPPw1x.js.map → Slider-BOAgWYkH.js.map} +1 -1
  336. package/dist/next/{Slider-B8e96nMm.cjs → Slider-DQM9nV1P.cjs} +43 -43
  337. package/dist/next/{Slider-B8e96nMm.cjs.map → Slider-DQM9nV1P.cjs.map} +1 -1
  338. package/dist/next/Slider.cjs.js +1 -1
  339. package/dist/next/Slider.js +1 -1
  340. package/dist/next/{Spinner-B89FhxVt.cjs → Spinner-0GZngKjG.cjs} +38 -38
  341. package/dist/next/Spinner-0GZngKjG.cjs.map +1 -0
  342. package/dist/next/{Spinner-ChiOXzru.js → Spinner-BFAOf4tt.js} +38 -38
  343. package/dist/next/Spinner-BFAOf4tt.js.map +1 -0
  344. package/dist/next/Spinner.cjs.js +1 -1
  345. package/dist/next/Spinner.js +1 -1
  346. package/dist/next/{Stepper-9uHSgp7y.js → Stepper-B03bz8wT.js} +40 -40
  347. package/dist/next/{Stepper-9uHSgp7y.js.map → Stepper-B03bz8wT.js.map} +1 -1
  348. package/dist/next/{Stepper-UwSloxRf.cjs → Stepper-XZSIlydV.cjs} +40 -40
  349. package/dist/next/{Stepper-UwSloxRf.cjs.map → Stepper-XZSIlydV.cjs.map} +1 -1
  350. package/dist/next/Stepper.cjs.js +1 -1
  351. package/dist/next/Stepper.js +1 -1
  352. package/dist/next/{Tabs-D2jqRrxR.cjs → Tabs-D8Efg8wn.cjs} +44 -44
  353. package/dist/next/{Tabs-D2jqRrxR.cjs.map → Tabs-D8Efg8wn.cjs.map} +1 -1
  354. package/dist/next/{Tabs-CvYx2xtH.js → Tabs-DmrS_FUa.js} +44 -44
  355. package/dist/next/{Tabs-CvYx2xtH.js.map → Tabs-DmrS_FUa.js.map} +1 -1
  356. package/dist/next/Tabs.cjs.js +1 -1
  357. package/dist/next/Tabs.js +1 -1
  358. package/dist/next/{TagInput-Dym0BPK1.cjs → TagInput-Bfjg9pZQ.cjs} +48 -48
  359. package/dist/next/{TagInput-Dym0BPK1.cjs.map → TagInput-Bfjg9pZQ.cjs.map} +1 -1
  360. package/dist/next/{TagInput-DUWgLslk.js → TagInput-CtYKwhEi.js} +48 -48
  361. package/dist/next/{TagInput-DUWgLslk.js.map → TagInput-CtYKwhEi.js.map} +1 -1
  362. package/dist/next/TagInput.cjs.js +1 -1
  363. package/dist/next/TagInput.js +1 -1
  364. package/dist/next/{TextArea-xg4t0Lzo.js → TextArea-n9HgwyJE.js} +25 -25
  365. package/dist/next/{TextArea-xg4t0Lzo.js.map → TextArea-n9HgwyJE.js.map} +1 -1
  366. package/dist/next/{TextArea-9AvILSCY.cjs → TextArea-rwkjK4Rf.cjs} +25 -25
  367. package/dist/next/{TextArea-9AvILSCY.cjs.map → TextArea-rwkjK4Rf.cjs.map} +1 -1
  368. package/dist/next/TextArea.cjs.js +1 -1
  369. package/dist/next/TextArea.js +1 -1
  370. package/dist/next/{TextInput-D9dzooMU.js → TextInput-ChmIMzj2.js} +26 -26
  371. package/dist/next/{TextInput-D9dzooMU.js.map → TextInput-ChmIMzj2.js.map} +1 -1
  372. package/dist/next/{TextInput-Cr0WjibW.cjs → TextInput-Z2izAjJj.cjs} +26 -26
  373. package/dist/next/{TextInput-Cr0WjibW.cjs.map → TextInput-Z2izAjJj.cjs.map} +1 -1
  374. package/dist/next/TextInput.cjs.js +1 -1
  375. package/dist/next/TextInput.js +1 -1
  376. package/dist/next/{Timeline-DXSXZumg.cjs → Timeline-3bNOgI6C.cjs} +28 -28
  377. package/dist/next/{Timeline-DXSXZumg.cjs.map → Timeline-3bNOgI6C.cjs.map} +1 -1
  378. package/dist/next/{Timeline-Cg0FWWVc.js → Timeline-9947mxJO.js} +28 -28
  379. package/dist/next/{Timeline-Cg0FWWVc.js.map → Timeline-9947mxJO.js.map} +1 -1
  380. package/dist/next/Timeline.cjs.js +1 -1
  381. package/dist/next/Timeline.js +1 -1
  382. package/dist/next/{Toggle-CnpONDwl.js → Toggle-C60HtU15.js} +30 -30
  383. package/dist/next/{Toggle-CnpONDwl.js.map → Toggle-C60HtU15.js.map} +1 -1
  384. package/dist/next/{Toggle-BNK7uC_N.cjs → Toggle-XcxNC4zl.cjs} +30 -30
  385. package/dist/next/{Toggle-BNK7uC_N.cjs.map → Toggle-XcxNC4zl.cjs.map} +1 -1
  386. package/dist/next/Toggle.cjs.js +1 -1
  387. package/dist/next/Toggle.js +1 -1
  388. package/dist/next/{Toolbar-DHUozW08.cjs → Toolbar-C45B_I44.cjs} +35 -35
  389. package/dist/next/{Toolbar-DHUozW08.cjs.map → Toolbar-C45B_I44.cjs.map} +1 -1
  390. package/dist/next/{Toolbar-007Q19jl.js → Toolbar-Dq1qqx4P.js} +35 -35
  391. package/dist/next/{Toolbar-007Q19jl.js.map → Toolbar-Dq1qqx4P.js.map} +1 -1
  392. package/dist/next/Toolbar.cjs.js +1 -1
  393. package/dist/next/Toolbar.js +1 -1
  394. package/dist/next/{Tooltip-2XEuDIAw.js → Tooltip-BHIA1zE1.js} +39 -39
  395. package/dist/next/{Tooltip-2XEuDIAw.js.map → Tooltip-BHIA1zE1.js.map} +1 -1
  396. package/dist/next/{Tooltip-FCqrcC7D.cjs → Tooltip-BXd5FXXv.cjs} +39 -39
  397. package/dist/next/{Tooltip-FCqrcC7D.cjs.map → Tooltip-BXd5FXXv.cjs.map} +1 -1
  398. package/dist/next/Tooltip.cjs.js +1 -1
  399. package/dist/next/Tooltip.js +1 -1
  400. package/dist/next/{style.css → boreal-ui.css} +9636 -9636
  401. package/dist/next/{image-VX9Ty9NQ.cjs → image-A4nTeRaX.cjs} +1079 -1025
  402. package/dist/next/image-A4nTeRaX.cjs.map +1 -0
  403. package/dist/next/{image-CEz9QtOW.js → image-BBS8QO15.js} +1083 -1029
  404. package/dist/next/image-BBS8QO15.js.map +1 -0
  405. package/dist/next/index.cjs.js +69 -69
  406. package/dist/next/index.js +69 -69
  407. package/dist/next/link-CxWP3aXr.js +3829 -0
  408. package/dist/next/link-CxWP3aXr.js.map +1 -0
  409. package/dist/next/link-lNk_lOdS.cjs +3828 -0
  410. package/dist/next/link-lNk_lOdS.cjs.map +1 -0
  411. package/dist/next/navigation-CZU71Pmb.cjs +2443 -0
  412. package/dist/next/navigation-CZU71Pmb.cjs.map +1 -0
  413. package/dist/next/navigation-DxXFNXZM.js +2444 -0
  414. package/dist/next/navigation-DxXFNXZM.js.map +1 -0
  415. package/dist/tsconfig.build.tsbuildinfo +1 -1
  416. package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
  417. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  418. package/dist/types/components/FormGroup/FormGroupBase.d.ts.map +1 -1
  419. package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
  420. package/dist/types/components/MetricBox/MetricBoxBase.d.ts.map +1 -1
  421. package/package.json +12 -11
  422. package/dist/core/Badge-DOn6E2bS.cjs.map +0 -1
  423. package/dist/core/Badge-Dpjq6lUF.js.map +0 -1
  424. package/dist/core/Card-D-GQwaUJ.js.map +0 -1
  425. package/dist/core/Card-DftqfPue.cjs.map +0 -1
  426. package/dist/core/Footer-DMOA1W7N.cjs.map +0 -1
  427. package/dist/core/Footer-zO4RGjCl.js.map +0 -1
  428. package/dist/core/FormGroup-C2TWC17P.cjs.map +0 -1
  429. package/dist/core/FormGroup-tSK_NN0-.js.map +0 -1
  430. package/dist/core/IconButton-CR9bTZoJ.cjs.map +0 -1
  431. package/dist/core/IconButton-_lxTppua.js.map +0 -1
  432. package/dist/core/MarkdownRenderer-B1LmmpZm.js.map +0 -1
  433. package/dist/core/MarkdownRenderer-LUXCa_a8.cjs.map +0 -1
  434. package/dist/core/MetricBox-BcOdQM-l.cjs.map +0 -1
  435. package/dist/core/MetricBox-Dh911MS2.js.map +0 -1
  436. package/dist/core/Spinner-CEIk_hpT.cjs.map +0 -1
  437. package/dist/core/Spinner-D81UG24n.js.map +0 -1
  438. package/dist/next/Badge-DbmM5wGc.cjs.map +0 -1
  439. package/dist/next/Badge-k6Dk5S_p.js.map +0 -1
  440. package/dist/next/Card-BFmGnvxN.cjs.map +0 -1
  441. package/dist/next/Card-DhxLw6XZ.js.map +0 -1
  442. package/dist/next/Footer-BSEbf6CL.js.map +0 -1
  443. package/dist/next/Footer-DAZLz11H.cjs.map +0 -1
  444. package/dist/next/FormGroup-6Ss6pNqV.cjs.map +0 -1
  445. package/dist/next/FormGroup-DbUqgg_b.js.map +0 -1
  446. package/dist/next/IconButton-VSz8qAIg.cjs.map +0 -1
  447. package/dist/next/IconButton-qQljwBB2.js.map +0 -1
  448. package/dist/next/MetricBox-BylPOvoO.cjs.map +0 -1
  449. package/dist/next/MetricBox-Dl3iruBZ.js.map +0 -1
  450. package/dist/next/Spinner-B89FhxVt.cjs.map +0 -1
  451. package/dist/next/Spinner-ChiOXzru.js.map +0 -1
  452. package/dist/next/image-CEz9QtOW.js.map +0 -1
  453. package/dist/next/image-VX9Ty9NQ.cjs.map +0 -1
  454. package/dist/next/link-Bik5xH00.js +0 -2878
  455. package/dist/next/link-Bik5xH00.js.map +0 -1
  456. package/dist/next/link-hxAaLm0Q.cjs +0 -2877
  457. package/dist/next/link-hxAaLm0Q.cjs.map +0 -1
  458. package/dist/next/navigation-DTwYCgCL.js +0 -1991
  459. package/dist/next/navigation-DTwYCgCL.js.map +0 -1
  460. package/dist/next/navigation-m012syo9.cjs +0 -1990
  461. package/dist/next/navigation-m012syo9.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePopup-hxloT7aK.cjs","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/core/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 { BaseMessagePopupProps } 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\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 cancelButtonRef = useRef<HTMLButtonElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\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 roots = Array.from(document.body.children);\r\n const restored: Array<HTMLElement> = [];\r\n roots.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n restored.push(el as HTMLElement);\r\n }\r\n });\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEscape);\r\n\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n restored.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!dialogRef.current) return;\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 const target =\r\n firstButtonRef.current ||\r\n cancelButtonRef.current ||\r\n (closeBtnRef.current as HTMLElement | null) ||\r\n focusablesRef.current[0];\r\n target?.focus?.();\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\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 (!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 ref={closeBtnRef}\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 type=\"button\"\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 ref={cancelButtonRef}\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\nBaseMessagePopup.displayName = \"BaseMessagePopup\";\r\nexport default BaseMessagePopup;\r\n","import React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopupBase\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport \"./MessagePopup.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopup.types\";\r\n\r\nconst classes = {\r\n wrapper: \"messagePopup\",\r\n content: \"messagePopup_popup_content\",\r\n close: \"messagePopup_close_button\",\r\n message: \"messagePopup_popupMessage\",\r\n actions: \"messagePopup_popupActions\",\r\n confirm: \"messagePopup_confirmBtn\",\r\n cancel: \"messagePopup_cancelBtn\",\r\n\r\n shadowNone: \"messagePopup_shadow-None\",\r\n shadowLight: \"messagePopup_shadow-Light\",\r\n shadowMedium: \"messagePopup_shadow-Medium\",\r\n shadowStrong: \"messagePopup_shadow-Strong\",\r\n shadowIntense: \"messagePopup_shadow-Intense\",\r\n\r\n roundNone: \"messagePopup_round-None\",\r\n roundSmall: \"messagePopup_round-Small\",\r\n roundMedium: \"messagePopup_round-Medium\",\r\n roundLarge: \"messagePopup_round-Large\",\r\n};\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={classes}\r\n />\r\n );\r\n};\r\nMessagePopUp.displayName = \"MessagePopUp\";\r\nexport default MessagePopUp;\r\n"],"names":["getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon","BaseMessagePopUp"],"mappings":"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"}
1
+ {"version":3,"file":"MessagePopup-CtdpuRFv.cjs","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/core/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 { BaseMessagePopupProps } 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\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 cancelButtonRef = useRef<HTMLButtonElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\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 roots = Array.from(document.body.children);\r\n const restored: Array<HTMLElement> = [];\r\n roots.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n restored.push(el as HTMLElement);\r\n }\r\n });\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEscape);\r\n\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n restored.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!dialogRef.current) return;\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 const target =\r\n firstButtonRef.current ||\r\n cancelButtonRef.current ||\r\n (closeBtnRef.current as HTMLElement | null) ||\r\n focusablesRef.current[0];\r\n target?.focus?.();\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\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 (!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 ref={closeBtnRef}\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 type=\"button\"\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 ref={cancelButtonRef}\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\nBaseMessagePopup.displayName = \"BaseMessagePopup\";\r\nexport default BaseMessagePopup;\r\n","import React from \"react\";\r\nimport BaseMessagePopUp from \"../MessagePopupBase\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport \"./MessagePopup.scss\";\r\nimport { MessagePopUpProps } from \"../MessagePopup.types\";\r\n\r\nconst classes = {\r\n wrapper: \"messagePopup\",\r\n content: \"messagePopup_popup_content\",\r\n close: \"messagePopup_close_button\",\r\n message: \"messagePopup_popupMessage\",\r\n actions: \"messagePopup_popupActions\",\r\n confirm: \"messagePopup_confirmBtn\",\r\n cancel: \"messagePopup_cancelBtn\",\r\n\r\n shadowNone: \"messagePopup_shadow-None\",\r\n shadowLight: \"messagePopup_shadow-Light\",\r\n shadowMedium: \"messagePopup_shadow-Medium\",\r\n shadowStrong: \"messagePopup_shadow-Strong\",\r\n shadowIntense: \"messagePopup_shadow-Intense\",\r\n\r\n roundNone: \"messagePopup_round-None\",\r\n roundSmall: \"messagePopup_round-Small\",\r\n roundMedium: \"messagePopup_round-Medium\",\r\n roundLarge: \"messagePopup_round-Large\",\r\n};\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={classes}\r\n />\r\n );\r\n};\r\nMessagePopUp.displayName = \"MessagePopUp\";\r\nexport default MessagePopUp;\r\n"],"names":["getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon","BaseMessagePopUp"],"mappings":"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"}
@@ -36,6 +36,7 @@ const BaseMetricBox = ({
36
36
  ),
37
37
  [classMap, theme, state, size, align, outline, shadow, rounding, className]
38
38
  );
39
+ const valueLabel = title && value != null ? `${value} ${title}` : String(value ?? "");
39
40
  return /* @__PURE__ */ jsxs(
40
41
  "div",
41
42
  {
@@ -58,7 +59,15 @@ const BaseMetricBox = ({
58
59
  children: title
59
60
  }
60
61
  ),
61
- /* @__PURE__ */ jsx("div", { className: classMap.value, "data-testid": `${testId}-value`, children: value }),
62
+ /* @__PURE__ */ jsx(
63
+ "div",
64
+ {
65
+ className: classMap.value,
66
+ "data-testid": `${testId}-value`,
67
+ "aria-label": valueLabel,
68
+ children: value
69
+ }
70
+ ),
62
71
  subtext && /* @__PURE__ */ jsx(
63
72
  "div",
64
73
  {
@@ -115,4 +124,4 @@ MetricBox.displayName = "MetricBox";
115
124
  export {
116
125
  MetricBox as M
117
126
  };
118
- //# sourceMappingURL=MetricBox-Dh911MS2.js.map
127
+ //# sourceMappingURL=MetricBox-CPug-nxo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricBox-CPug-nxo.js","sources":["../../src/components/MetricBox/MetricBoxBase.tsx","../../src/components/MetricBox/core/MetricBox.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport { BaseMetricBoxProps } from \"./MetricBox.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseMetricBox: React.FC<BaseMetricBoxProps> = ({\r\n title,\r\n value,\r\n icon: Icon,\r\n subtext,\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n outline = false,\r\n align = \"center\",\r\n size = getDefaultSize(),\r\n className = \"\",\r\n \"data-testid\": testId = \"metric-box\",\r\n classMap,\r\n}) => {\r\n const uid = useId();\r\n const titleId = title ? `${testId}-title-${uid}` : undefined;\r\n const subtextId = subtext ? `${testId}-subtext-${uid}` : undefined;\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n outline && classMap.outline,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n classMap[align],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, theme, state, size, align, outline, shadow, rounding, className]\r\n );\r\n\r\n const valueLabel =\r\n title && value != null ? `${value} ${title}` : String(value ?? \"\");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n {...(title\r\n ? {\r\n role: \"region\",\r\n \"aria-labelledby\": titleId,\r\n \"aria-describedby\": subtextId,\r\n }\r\n : {})}\r\n data-testid={testId}\r\n >\r\n {Icon && (\r\n <div className={classMap.icon} data-testid={`${testId}-icon`}>\r\n <Icon aria-hidden={true} focusable={false} />\r\n </div>\r\n )}\r\n\r\n <div className={classMap.content}>\r\n {title && (\r\n <h3\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h3>\r\n )}\r\n\r\n <div\r\n className={classMap.value}\r\n data-testid={`${testId}-value`}\r\n aria-label={valueLabel}\r\n >\r\n {value}\r\n </div>\r\n\r\n {subtext && (\r\n <div\r\n id={subtextId}\r\n className={classMap.subtext}\r\n data-testid={`${testId}-subtext`}\r\n >\r\n {subtext}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nBaseMetricBox.displayName = \"BaseMetricBox\";\r\nexport default BaseMetricBox;\r\n","import React from \"react\";\r\nimport BaseMetricBox from \"../MetricBoxBase\";\r\nimport \"./MetricBox.scss\";\r\nimport { MetricBoxProps } from \"../MetricBox.types\";\r\n\r\nconst classes = {\r\n wrapper: \"metricBox\",\r\n outline: \"metricBox_outline\",\r\n\r\n primary: \"metricBox_primary\",\r\n secondary: \"metricBox_secondary\",\r\n tertiary: \"metricBox_tertiary\",\r\n quaternary: \"metricBox_quaternary\",\r\n\r\n success: \"metricBox_success\",\r\n error: \"metricBox_error\",\r\n warning: \"metricBox_warning\",\r\n\r\n clear: \"metricBox_clear\",\r\n\r\n xs: \"metricBox_xs\",\r\n small: \"metricBox_small\",\r\n medium: \"metricBox_medium\",\r\n large: \"metricBox_large\",\r\n xl: \"metricBox_xl\",\r\n\r\n left: \"metricBox_left\",\r\n center: \"metricBox_center\",\r\n right: \"metricBox_right\",\r\n\r\n shadowNone: \"metricBox_shadow-None\",\r\n shadowLight: \"metricBox_shadow-Light\",\r\n shadowMedium: \"metricBox_shadow-Medium\",\r\n shadowStrong: \"metricBox_shadow-Strong\",\r\n shadowIntense: \"metricBox_shadow-Intense\",\r\n\r\n roundNone: \"metricBox_round-None\",\r\n roundSmall: \"metricBox_round-Small\",\r\n roundMedium: \"metricBox_round-Medium\",\r\n roundLarge: \"metricBox_round-Large\",\r\n\r\n icon: \"metricBox_icon\",\r\n content: \"metricBox_content\",\r\n title: \"metricBox_title\",\r\n value: \"metricBox_value\",\r\n subtext: \"metricBox_subtext\",\r\n};\r\n\r\nconst MetricBox: React.FC<MetricBoxProps> = (props) => {\r\n return <BaseMetricBox {...props} classMap={classes} />;\r\n};\r\nMetricBox.displayName = \"MetricBox\";\r\nexport default MetricBox;\r\n"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ const BaseMetricBox = ({
37
37
  ),
38
38
  [classMap, theme, state, size, align, outline, shadow, rounding, className]
39
39
  );
40
+ const valueLabel = title && value != null ? `${value} ${title}` : String(value ?? "");
40
41
  return /* @__PURE__ */ jsxRuntime.jsxs(
41
42
  "div",
42
43
  {
@@ -59,7 +60,15 @@ const BaseMetricBox = ({
59
60
  children: title
60
61
  }
61
62
  ),
62
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: classMap.value, "data-testid": `${testId}-value`, children: value }),
63
+ /* @__PURE__ */ jsxRuntime.jsx(
64
+ "div",
65
+ {
66
+ className: classMap.value,
67
+ "data-testid": `${testId}-value`,
68
+ "aria-label": valueLabel,
69
+ children: value
70
+ }
71
+ ),
63
72
  subtext && /* @__PURE__ */ jsxRuntime.jsx(
64
73
  "div",
65
74
  {
@@ -114,4 +123,4 @@ const MetricBox = (props) => {
114
123
  };
115
124
  MetricBox.displayName = "MetricBox";
116
125
  exports.MetricBox = MetricBox;
117
- //# sourceMappingURL=MetricBox-BcOdQM-l.cjs.map
126
+ //# sourceMappingURL=MetricBox-DVo4UUQv.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricBox-DVo4UUQv.cjs","sources":["../../src/components/MetricBox/MetricBoxBase.tsx","../../src/components/MetricBox/core/MetricBox.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport { BaseMetricBoxProps } from \"./MetricBox.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseMetricBox: React.FC<BaseMetricBoxProps> = ({\r\n title,\r\n value,\r\n icon: Icon,\r\n subtext,\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n outline = false,\r\n align = \"center\",\r\n size = getDefaultSize(),\r\n className = \"\",\r\n \"data-testid\": testId = \"metric-box\",\r\n classMap,\r\n}) => {\r\n const uid = useId();\r\n const titleId = title ? `${testId}-title-${uid}` : undefined;\r\n const subtextId = subtext ? `${testId}-subtext-${uid}` : undefined;\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n outline && classMap.outline,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n classMap[align],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, theme, state, size, align, outline, shadow, rounding, className]\r\n );\r\n\r\n const valueLabel =\r\n title && value != null ? `${value} ${title}` : String(value ?? \"\");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n {...(title\r\n ? {\r\n role: \"region\",\r\n \"aria-labelledby\": titleId,\r\n \"aria-describedby\": subtextId,\r\n }\r\n : {})}\r\n data-testid={testId}\r\n >\r\n {Icon && (\r\n <div className={classMap.icon} data-testid={`${testId}-icon`}>\r\n <Icon aria-hidden={true} focusable={false} />\r\n </div>\r\n )}\r\n\r\n <div className={classMap.content}>\r\n {title && (\r\n <h3\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h3>\r\n )}\r\n\r\n <div\r\n className={classMap.value}\r\n data-testid={`${testId}-value`}\r\n aria-label={valueLabel}\r\n >\r\n {value}\r\n </div>\r\n\r\n {subtext && (\r\n <div\r\n id={subtextId}\r\n className={classMap.subtext}\r\n data-testid={`${testId}-subtext`}\r\n >\r\n {subtext}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nBaseMetricBox.displayName = \"BaseMetricBox\";\r\nexport default BaseMetricBox;\r\n","import React from \"react\";\r\nimport BaseMetricBox from \"../MetricBoxBase\";\r\nimport \"./MetricBox.scss\";\r\nimport { MetricBoxProps } from \"../MetricBox.types\";\r\n\r\nconst classes = {\r\n wrapper: \"metricBox\",\r\n outline: \"metricBox_outline\",\r\n\r\n primary: \"metricBox_primary\",\r\n secondary: \"metricBox_secondary\",\r\n tertiary: \"metricBox_tertiary\",\r\n quaternary: \"metricBox_quaternary\",\r\n\r\n success: \"metricBox_success\",\r\n error: \"metricBox_error\",\r\n warning: \"metricBox_warning\",\r\n\r\n clear: \"metricBox_clear\",\r\n\r\n xs: \"metricBox_xs\",\r\n small: \"metricBox_small\",\r\n medium: \"metricBox_medium\",\r\n large: \"metricBox_large\",\r\n xl: \"metricBox_xl\",\r\n\r\n left: \"metricBox_left\",\r\n center: \"metricBox_center\",\r\n right: \"metricBox_right\",\r\n\r\n shadowNone: \"metricBox_shadow-None\",\r\n shadowLight: \"metricBox_shadow-Light\",\r\n shadowMedium: \"metricBox_shadow-Medium\",\r\n shadowStrong: \"metricBox_shadow-Strong\",\r\n shadowIntense: \"metricBox_shadow-Intense\",\r\n\r\n roundNone: \"metricBox_round-None\",\r\n roundSmall: \"metricBox_round-Small\",\r\n roundMedium: \"metricBox_round-Medium\",\r\n roundLarge: \"metricBox_round-Large\",\r\n\r\n icon: \"metricBox_icon\",\r\n content: \"metricBox_content\",\r\n title: \"metricBox_title\",\r\n value: \"metricBox_value\",\r\n subtext: \"metricBox_subtext\",\r\n};\r\n\r\nconst MetricBox: React.FC<MetricBoxProps> = (props) => {\r\n return <BaseMetricBox {...props} classMap={classes} />;\r\n};\r\nMetricBox.displayName = \"MetricBox\";\r\nexport default MetricBox;\r\n"],"names":["getDefaultTheme","getDefaultShadow","getDefaultRounding","getDefaultSize","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const MetricBox = require("./MetricBox-BcOdQM-l.cjs");
2
+ const MetricBox = require("./MetricBox-DVo4UUQv.cjs");
3
3
  module.exports = MetricBox.MetricBox;
4
4
  //# sourceMappingURL=MetricBox.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { M } from "./MetricBox-Dh911MS2.js";
1
+ import { M } from "./MetricBox-CPug-nxo.js";
2
2
  export {
3
3
  M as default
4
4
  };
@@ -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-_lxTppua.js";
8
+ import { I as IconButton } from "./IconButton-BMZhwYXB.js";
9
9
  const BaseModal = ({
10
10
  className = "",
11
11
  children,
@@ -175,4 +175,4 @@ Modal.displayName = "Modal";
175
175
  export {
176
176
  Modal as M
177
177
  };
178
- //# sourceMappingURL=Modal-D1G1Csp9.js.map
178
+ //# sourceMappingURL=Modal-DFhYDYb9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-D1G1Csp9.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/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 { 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 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 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 labelId = `${uid}-label`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\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 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\") onClose();\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 };\r\n }, [portalId, onClose]);\r\n\r\n useEffect(() => {\r\n if (!isMounted) return;\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 }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\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 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 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-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\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 ariaLabel=\"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 type=\"button\"\r\n />\r\n\r\n {children}\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","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-DFhYDYb9.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/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 { 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 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 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 labelId = `${uid}-label`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\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 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\") onClose();\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 };\r\n }, [portalId, onClose]);\r\n\r\n useEffect(() => {\r\n if (!isMounted) return;\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 }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\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 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 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-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\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 ariaLabel=\"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 type=\"button\"\r\n />\r\n\r\n {children}\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","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
@@ -6,7 +6,7 @@ const CloseIcon = require("./CloseIcon-DSnN6ggf.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-CR9bTZoJ.cjs");
9
+ const IconButton = require("./IconButton-Bio6Azm-.cjs");
10
10
  const BaseModal = ({
11
11
  className = "",
12
12
  children,
@@ -174,4 +174,4 @@ const Modal = (props) => {
174
174
  };
175
175
  Modal.displayName = "Modal";
176
176
  exports.Modal = Modal;
177
- //# sourceMappingURL=Modal-D-ZoA_xx.cjs.map
177
+ //# sourceMappingURL=Modal-FB4mTmQW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-D-ZoA_xx.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/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 { 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 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 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 labelId = `${uid}-label`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\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 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\") onClose();\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 };\r\n }, [portalId, onClose]);\r\n\r\n useEffect(() => {\r\n if (!isMounted) return;\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 }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\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 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 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-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\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 ariaLabel=\"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 type=\"button\"\r\n />\r\n\r\n {children}\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","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\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-FB4mTmQW.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/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 { 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 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 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 labelId = `${uid}-label`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\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 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\") onClose();\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 };\r\n }, [portalId, onClose]);\r\n\r\n useEffect(() => {\r\n if (!isMounted) return;\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 }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\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 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 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-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\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 ariaLabel=\"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 type=\"button\"\r\n />\r\n\r\n {children}\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","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\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,4 +1,4 @@
1
1
  "use strict";
2
- const Modal = require("./Modal-D-ZoA_xx.cjs");
2
+ const Modal = require("./Modal-FB4mTmQW.cjs");
3
3
  module.exports = Modal.Modal;
4
4
  //# sourceMappingURL=Modal.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { M } from "./Modal-D1G1Csp9.js";
1
+ import { M } from "./Modal-DFhYDYb9.js";
2
2
  export {
3
3
  M as default
4
4
  };
@@ -6,7 +6,7 @@ import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
6
  import { a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
7
7
  /* empty css */
8
8
  import { B as Button } from "./Button-CC0Q_XPy.js";
9
- import { I as IconButton } from "./IconButton-_lxTppua.js";
9
+ import { I as IconButton } from "./IconButton-BMZhwYXB.js";
10
10
  var DefaultContext = {
11
11
  color: void 0,
12
12
  size: void 0,
@@ -373,4 +373,4 @@ export {
373
373
  NotificationCenter as N,
374
374
  themeIcons as t
375
375
  };
376
- //# sourceMappingURL=NotificationCenter-BrUNpJAx.js.map
376
+ //# sourceMappingURL=NotificationCenter-DLCzWNve.js.map