boreal-ui 0.0.1 → 0.0.9

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 (311) hide show
  1. package/LICENSE +9 -0
  2. package/dist/core/Accordion-DOhvj3Ty.js.map +1 -1
  3. package/dist/core/Accordion-DQsSUVAE.cjs.map +1 -1
  4. package/dist/core/ArrowRightIcon-BYQv5XS8.js.map +1 -1
  5. package/dist/core/ArrowRightIcon-ClXQHGAD.cjs.map +1 -1
  6. package/dist/core/Avatar-B5aqfDZX.cjs.map +1 -1
  7. package/dist/core/Avatar-mhtrG5FT.js.map +1 -1
  8. package/dist/core/Badge-DfsFGYhY.js.map +1 -1
  9. package/dist/core/Badge-LyKc0uJG.cjs.map +1 -1
  10. package/dist/core/Breadcrumbs-DhioJUB9.js.map +1 -1
  11. package/dist/core/Breadcrumbs-xmUgcTXF.cjs.map +1 -1
  12. package/dist/core/Button-DEYbr8xW.js.map +1 -1
  13. package/dist/core/Button-wz_We8xU.cjs.map +1 -1
  14. package/dist/core/Card-DCxLBwi0.cjs.map +1 -1
  15. package/dist/core/Card-DKPk0zgQ.js.map +1 -1
  16. package/dist/core/Checkbox-BLBbE9Ww.js.map +1 -1
  17. package/dist/core/Checkbox-fVnseKGF.cjs.map +1 -1
  18. package/dist/core/Chip-7R6wAufO.js.map +1 -1
  19. package/dist/core/Chip-CNn0UvOB.cjs.map +1 -1
  20. package/dist/core/CircularProgress-B-N4px22.cjs.map +1 -1
  21. package/dist/core/CircularProgress-ClCxzsSz.js.map +1 -1
  22. package/dist/core/CloseIcon-C3eQm4EK.js.map +1 -1
  23. package/dist/core/CloseIcon-DSnN6ggf.cjs.map +1 -1
  24. package/dist/core/ColorPicker-BQiTjeqQ.js.map +1 -1
  25. package/dist/core/ColorPicker-DR9huYqs.cjs.map +1 -1
  26. package/dist/core/CommandPalette-CHOC0Z2m.js.map +1 -1
  27. package/dist/core/CommandPalette-XTi50U_E.cjs.map +1 -1
  28. package/dist/core/DataTable-DQU1WxPr.js.map +1 -1
  29. package/dist/core/DataTable-DZeVQIC0.cjs.map +1 -1
  30. package/dist/core/DateTimePicker-BtITiL_E.cjs.map +1 -1
  31. package/dist/core/DateTimePicker-O8khtyOu.js.map +1 -1
  32. package/dist/core/Divider-An2VsXog.js.map +1 -1
  33. package/dist/core/Divider-TtfSFBcp.cjs.map +1 -1
  34. package/dist/core/Dropdown-CL7TH2lJ.js.map +1 -1
  35. package/dist/core/Dropdown-CPsxvzTA.cjs.map +1 -1
  36. package/dist/core/EmptyState-BAaCfJzO.cjs.map +1 -1
  37. package/dist/core/EmptyState-Bd-es_rG.js.map +1 -1
  38. package/dist/core/FileUpload-Dv2cvYI2.cjs.map +1 -1
  39. package/dist/core/FileUpload-DxjQ2wnn.js.map +1 -1
  40. package/dist/core/Footer-B4Owy88y.cjs.map +1 -1
  41. package/dist/core/Footer-bKgKgU6L.js.map +1 -1
  42. package/dist/core/FormGroup-BXWYrYOK.cjs.map +1 -1
  43. package/dist/core/FormGroup-DS2tW-lC.js.map +1 -1
  44. package/dist/core/IconButton-B6cAP2hY.js.map +1 -1
  45. package/dist/core/IconButton-BxUXK-xn.cjs.map +1 -1
  46. package/dist/core/MarkdownRenderer-CQVfqnxf.js.map +1 -1
  47. package/dist/core/MarkdownRenderer-taVkZLE9.cjs.map +1 -1
  48. package/dist/core/MessagePopup-By89AGqE.js.map +1 -1
  49. package/dist/core/MessagePopup-OA1gjb8E.cjs.map +1 -1
  50. package/dist/core/MetricBox-D5Dl19d2.js.map +1 -1
  51. package/dist/core/MetricBox-DjE-rdp0.cjs.map +1 -1
  52. package/dist/core/Modal-BhQJOhWV.js.map +1 -1
  53. package/dist/core/Modal-CI2snbvk.cjs.map +1 -1
  54. package/dist/core/NavBar-BAHSDPtT.js.map +1 -1
  55. package/dist/core/NavBar-C5UMiYpA.cjs.map +1 -1
  56. package/dist/core/NotificationCenter-Bp7AqnTg.js.map +1 -1
  57. package/dist/core/NotificationCenter-DxaqoUD1.cjs.map +1 -1
  58. package/dist/core/Pager-2jW3cxx_.js.map +1 -1
  59. package/dist/core/Pager-ByVG_at-.cjs.map +1 -1
  60. package/dist/core/PopOver-DNqWcWjU.js.map +1 -1
  61. package/dist/core/PopOver-OijKNHZU.cjs.map +1 -1
  62. package/dist/core/ProgressBar-CuIHF5N0.js.map +1 -1
  63. package/dist/core/ProgressBar-PiSFvLwa.cjs.map +1 -1
  64. package/dist/core/RadioButton-DP8HSNZD.cjs.map +1 -1
  65. package/dist/core/RadioButton-DTPBlw1t.js.map +1 -1
  66. package/dist/core/Rating-Jx3DBFOd.cjs.map +1 -1
  67. package/dist/core/Rating-QF5O1MFS.js.map +1 -1
  68. package/dist/core/STT-D6L-amjZ.cjs.map +1 -1
  69. package/dist/core/STT-aXWWubSC.js.map +1 -1
  70. package/dist/core/Select-9F6p9ghR.cjs.map +1 -1
  71. package/dist/core/Select-C4a_4B87.js.map +1 -1
  72. package/dist/core/Skeleton-BniIVZmx.js.map +1 -1
  73. package/dist/core/Skeleton-CeMwLgnq.cjs.map +1 -1
  74. package/dist/core/Slider-DZycGDIY.cjs.map +1 -1
  75. package/dist/core/Slider-QEwgd0le.js.map +1 -1
  76. package/dist/core/Spinner-BTmQ7ZN9.cjs.map +1 -1
  77. package/dist/core/Spinner-DGF0pR7I.js.map +1 -1
  78. package/dist/core/Stepper-BkmPckKd.cjs.map +1 -1
  79. package/dist/core/Stepper-PjUFCUBG.js.map +1 -1
  80. package/dist/core/Tabs-DptKFvPK.cjs.map +1 -1
  81. package/dist/core/Tabs-gpyaJFUs.js.map +1 -1
  82. package/dist/core/Taginput-BMPHihSz.cjs.map +1 -1
  83. package/dist/core/Taginput-CrScreYL.js.map +1 -1
  84. package/dist/core/TextArea-B88b8dFf.js.map +1 -1
  85. package/dist/core/TextArea-CxJexFDv.cjs.map +1 -1
  86. package/dist/core/TextInput-8AbKEfUH.cjs.map +1 -1
  87. package/dist/core/TextInput-CtI8fsXR.js.map +1 -1
  88. package/dist/core/ThemeContext-Bo0vLczy.js.map +1 -1
  89. package/dist/core/ThemeContext-CtZXUeeU.cjs.map +1 -1
  90. package/dist/core/Timeline-D7fd8-u_.js.map +1 -1
  91. package/dist/core/Timeline-Dk0q-8BZ.cjs.map +1 -1
  92. package/dist/core/Toggle-CZftIdc3.js.map +1 -1
  93. package/dist/core/Toggle-v31rt4Ya.cjs.map +1 -1
  94. package/dist/core/Toolbar-94Pu5-SL.js.map +1 -1
  95. package/dist/core/Toolbar-Cg_ofRqY.cjs.map +1 -1
  96. package/dist/core/Tooltip-5SfsTZvz.cjs.map +1 -1
  97. package/dist/core/Tooltip-XfsZnGgV.js.map +1 -1
  98. package/dist/core/boreal-style-config-BILmxkZG.js.map +1 -1
  99. package/dist/core/boreal-style-config-Rr5d5Qts.cjs.map +1 -1
  100. package/dist/core/capitalize-C0TSQSPh.js.map +1 -1
  101. package/dist/core/capitalize-DoV-nOmN.cjs.map +1 -1
  102. package/dist/core/colorSchemes.cjs.js.map +1 -1
  103. package/dist/core/colorSchemes.js.map +1 -1
  104. package/dist/core/index.cjs.js.map +1 -1
  105. package/dist/core/index.js.map +1 -1
  106. package/dist/core/registerColorSheme-BPX0H7hl.js.map +1 -1
  107. package/dist/core/registerColorSheme-nhYu5hbY.cjs.map +1 -1
  108. package/dist/next/Accordion-BD-HsAos.cjs.map +1 -1
  109. package/dist/next/Accordion-Bu2IAjE6.js.map +1 -1
  110. package/dist/next/ArrowRightIcon-BVb75OpX.cjs.map +1 -1
  111. package/dist/next/ArrowRightIcon-BYQv5XS8.js.map +1 -1
  112. package/dist/next/{Avatar-B0KvtR9U.js → Avatar-B0vflpuy.js} +3 -3
  113. package/dist/next/{Avatar-B0KvtR9U.js.map → Avatar-B0vflpuy.js.map} +1 -1
  114. package/dist/next/{Avatar-s6BrkUFC.cjs → Avatar-DjuHvrMV.cjs} +3 -3
  115. package/dist/next/{Avatar-s6BrkUFC.cjs.map → Avatar-DjuHvrMV.cjs.map} +1 -1
  116. package/dist/next/Avatar.cjs.js +1 -1
  117. package/dist/next/Avatar.js +1 -1
  118. package/dist/next/Badge-CnKwIP4u.cjs.map +1 -1
  119. package/dist/next/Badge-WWxkzKOl.js.map +1 -1
  120. package/dist/next/{Breadcrumbs-DCPl_wHY.cjs → Breadcrumbs-0cJD4s9s.cjs} +3 -3
  121. package/dist/next/{Breadcrumbs-DCPl_wHY.cjs.map → Breadcrumbs-0cJD4s9s.cjs.map} +1 -1
  122. package/dist/next/{Breadcrumbs-BRfPnjv3.js → Breadcrumbs-liNC5ZzY.js} +3 -3
  123. package/dist/next/{Breadcrumbs-BRfPnjv3.js.map → Breadcrumbs-liNC5ZzY.js.map} +1 -1
  124. package/dist/next/Breadcrumbs.cjs.js +1 -1
  125. package/dist/next/Breadcrumbs.js +1 -1
  126. package/dist/next/{Button-BpVwB1WA.js → Button-CbX-VlK_.js} +2 -2
  127. package/dist/next/{Button-BpVwB1WA.js.map → Button-CbX-VlK_.js.map} +1 -1
  128. package/dist/next/{Button-DUh0L7vy.cjs → Button-WSFdkLsa.cjs} +2 -2
  129. package/dist/next/{Button-DUh0L7vy.cjs.map → Button-WSFdkLsa.cjs.map} +1 -1
  130. package/dist/next/Button.cjs.js +1 -1
  131. package/dist/next/Button.js +1 -1
  132. package/dist/next/{Card-BjYztK13.cjs → Card-BCYMEFyT.cjs} +4 -4
  133. package/dist/next/{Card-BjYztK13.cjs.map → Card-BCYMEFyT.cjs.map} +1 -1
  134. package/dist/next/{Card-RBCzxSIj.js → Card-DhdZiqdl.js} +4 -4
  135. package/dist/next/{Card-RBCzxSIj.js.map → Card-DhdZiqdl.js.map} +1 -1
  136. package/dist/next/Card.cjs.js +1 -1
  137. package/dist/next/Card.js +1 -1
  138. package/dist/next/Checkbox-COcqcXOD.cjs.map +1 -1
  139. package/dist/next/Checkbox-kWrAB9F7.js.map +1 -1
  140. package/dist/next/{Chip-BwyYgH0p.cjs → Chip-DJMY0KHl.cjs} +2 -2
  141. package/dist/next/{Chip-BwyYgH0p.cjs.map → Chip-DJMY0KHl.cjs.map} +1 -1
  142. package/dist/next/{Chip-YKbysMqv.js → Chip-DtHYUkJ4.js} +2 -2
  143. package/dist/next/{Chip-YKbysMqv.js.map → Chip-DtHYUkJ4.js.map} +1 -1
  144. package/dist/next/Chip.cjs.js +1 -1
  145. package/dist/next/Chip.js +1 -1
  146. package/dist/next/CircularProgress-CYo_VUG7.js.map +1 -1
  147. package/dist/next/CircularProgress-DXC_JBTG.cjs.map +1 -1
  148. package/dist/next/CloseIcon-7hy4qJ9o.cjs.map +1 -1
  149. package/dist/next/CloseIcon-C3eQm4EK.js.map +1 -1
  150. package/dist/next/ColorPicker-C-klUf3G.cjs.map +1 -1
  151. package/dist/next/ColorPicker-Ub3qNdeF.js.map +1 -1
  152. package/dist/next/{CommandPalette-Dm_njW12.js → CommandPalette-CEZwvLuu.js} +2 -2
  153. package/dist/next/{CommandPalette-Dm_njW12.js.map → CommandPalette-CEZwvLuu.js.map} +1 -1
  154. package/dist/next/{CommandPalette-BAxyNfRu.cjs → CommandPalette-Dp2pT5ot.cjs} +2 -2
  155. package/dist/next/{CommandPalette-BAxyNfRu.cjs.map → CommandPalette-Dp2pT5ot.cjs.map} +1 -1
  156. package/dist/next/CommandPalette.cjs.js +1 -1
  157. package/dist/next/CommandPalette.js +1 -1
  158. package/dist/next/DataTable-9JLEi0CK.cjs.map +1 -1
  159. package/dist/next/DataTable-D5ffcx-L.js.map +1 -1
  160. package/dist/next/DateTimePicker-C2-or1uL.js.map +1 -1
  161. package/dist/next/DateTimePicker-CoTQNBzD.cjs.map +1 -1
  162. package/dist/next/Divider-BlJMteki.cjs.map +1 -1
  163. package/dist/next/Divider-g7VS0Sbx.js.map +1 -1
  164. package/dist/next/{Dropdown-D2p7q140.cjs → Dropdown-BtbLZeZq.cjs} +2 -2
  165. package/dist/next/{Dropdown-D2p7q140.cjs.map → Dropdown-BtbLZeZq.cjs.map} +1 -1
  166. package/dist/next/{Dropdown-D-Jhdu_7.js → Dropdown-DyBmnKrz.js} +2 -2
  167. package/dist/next/{Dropdown-D-Jhdu_7.js.map → Dropdown-DyBmnKrz.js.map} +1 -1
  168. package/dist/next/Dropdown.cjs.js +1 -1
  169. package/dist/next/Dropdown.js +1 -1
  170. package/dist/next/{EmptyState-C6dGNF-O.js → EmptyState-CSEhZvTp.js} +2 -2
  171. package/dist/next/{EmptyState-C6dGNF-O.js.map → EmptyState-CSEhZvTp.js.map} +1 -1
  172. package/dist/next/{EmptyState-CBGawc9S.cjs → EmptyState-DUZQ2Qmn.cjs} +2 -2
  173. package/dist/next/{EmptyState-CBGawc9S.cjs.map → EmptyState-DUZQ2Qmn.cjs.map} +1 -1
  174. package/dist/next/EmptyState.cjs.js +1 -1
  175. package/dist/next/EmptyState.js +1 -1
  176. package/dist/next/{FileUpload-BOSrZhPq.js → FileUpload-CgPHe6Nn.js} +3 -3
  177. package/dist/next/{FileUpload-BOSrZhPq.js.map → FileUpload-CgPHe6Nn.js.map} +1 -1
  178. package/dist/next/{FileUpload-D65wKrsD.cjs → FileUpload-jh5iTgY-.cjs} +3 -3
  179. package/dist/next/{FileUpload-D65wKrsD.cjs.map → FileUpload-jh5iTgY-.cjs.map} +1 -1
  180. package/dist/next/FileUpload.cjs.js +1 -1
  181. package/dist/next/FileUpload.js +1 -1
  182. package/dist/next/{Footer-CdCqa4Pz.js → Footer-CQAWg2tl.js} +4 -4
  183. package/dist/next/{Footer-CdCqa4Pz.js.map → Footer-CQAWg2tl.js.map} +1 -1
  184. package/dist/next/{Footer-J5Q_SSa-.cjs → Footer-D2veQTa-.cjs} +4 -4
  185. package/dist/next/{Footer-J5Q_SSa-.cjs.map → Footer-D2veQTa-.cjs.map} +1 -1
  186. package/dist/next/Footer.cjs.js +1 -1
  187. package/dist/next/Footer.js +1 -1
  188. package/dist/next/FormGroup-BAtifQGH.cjs.map +1 -1
  189. package/dist/next/FormGroup-DuBfLAMv.js.map +1 -1
  190. package/dist/next/{IconButton-mY_E1gsn.cjs → IconButton-CNzF48hu.cjs} +2 -2
  191. package/dist/next/{IconButton-mY_E1gsn.cjs.map → IconButton-CNzF48hu.cjs.map} +1 -1
  192. package/dist/next/{IconButton-EbX_9a0k.js → IconButton-DFrFh0kg.js} +2 -2
  193. package/dist/next/{IconButton-EbX_9a0k.js.map → IconButton-DFrFh0kg.js.map} +1 -1
  194. package/dist/next/IconButton.cjs.js +1 -1
  195. package/dist/next/IconButton.js +1 -1
  196. package/dist/next/MarkdownRenderer-B-WThNR7.cjs.map +1 -1
  197. package/dist/next/MarkdownRenderer-CxJOetSp.js.map +1 -1
  198. package/dist/next/MessagePopUp.cjs.js +1 -1
  199. package/dist/next/MessagePopUp.js +1 -1
  200. package/dist/next/{MessagePopup-DuXLVt2z.cjs → MessagePopup-C-7N3vB0.cjs} +3 -3
  201. package/dist/next/{MessagePopup-DuXLVt2z.cjs.map → MessagePopup-C-7N3vB0.cjs.map} +1 -1
  202. package/dist/next/{MessagePopup-BL_Tp51e.js → MessagePopup-ClfrvxKq.js} +3 -3
  203. package/dist/next/{MessagePopup-BL_Tp51e.js.map → MessagePopup-ClfrvxKq.js.map} +1 -1
  204. package/dist/next/MetricBox-Dtkrwrtw.cjs.map +1 -1
  205. package/dist/next/MetricBox-rxFYolH_.js.map +1 -1
  206. package/dist/next/{Modal-DkAYQaOH.js → Modal-BZvTcgoM.js} +2 -2
  207. package/dist/next/{Modal-DkAYQaOH.js.map → Modal-BZvTcgoM.js.map} +1 -1
  208. package/dist/next/{Modal-Cr3uE4Wi.cjs → Modal-Bf7egMf2.cjs} +2 -2
  209. package/dist/next/{Modal-Cr3uE4Wi.cjs.map → Modal-Bf7egMf2.cjs.map} +1 -1
  210. package/dist/next/Modal.cjs.js +1 -1
  211. package/dist/next/Modal.js +1 -1
  212. package/dist/next/{NavBar-CyInu_3I.cjs → NavBar-CZtNDAdX.cjs} +103 -87
  213. package/dist/next/NavBar-CZtNDAdX.cjs.map +1 -0
  214. package/dist/next/{NavBar-CsrYdWSV.js → NavBar-DzRWv8W0.js} +103 -87
  215. package/dist/next/NavBar-DzRWv8W0.js.map +1 -0
  216. package/dist/next/NavBar.cjs.js +1 -1
  217. package/dist/next/NavBar.js +1 -1
  218. package/dist/next/{NotificationCenter-BGc41ims.js → NotificationCenter-BCXpVjHd.js} +3 -3
  219. package/dist/next/{NotificationCenter-BGc41ims.js.map → NotificationCenter-BCXpVjHd.js.map} +1 -1
  220. package/dist/next/{NotificationCenter-BTcM5bCY.cjs → NotificationCenter-DmcHIkOp.cjs} +3 -3
  221. package/dist/next/{NotificationCenter-BTcM5bCY.cjs.map → NotificationCenter-DmcHIkOp.cjs.map} +1 -1
  222. package/dist/next/NotificationCenter.cjs.js +1 -1
  223. package/dist/next/NotificationCenter.js +1 -1
  224. package/dist/next/{Pager-CRAgN3LJ.cjs → Pager-B81ecC4j.cjs} +3 -3
  225. package/dist/next/{Pager-CRAgN3LJ.cjs.map → Pager-B81ecC4j.cjs.map} +1 -1
  226. package/dist/next/{Pager-0B36P0k1.js → Pager-BqShs8_d.js} +3 -3
  227. package/dist/next/{Pager-0B36P0k1.js.map → Pager-BqShs8_d.js.map} +1 -1
  228. package/dist/next/Pager.cjs.js +1 -1
  229. package/dist/next/Pager.js +1 -1
  230. package/dist/next/PopOver-CHs0s9rp.cjs.map +1 -1
  231. package/dist/next/PopOver-pllmYvp6.js.map +1 -1
  232. package/dist/next/ProgressBar-Cvf0uNKW.cjs.map +1 -1
  233. package/dist/next/ProgressBar-D_fi1WW3.js.map +1 -1
  234. package/dist/next/RadioButton-BKS65jm9.js.map +1 -1
  235. package/dist/next/RadioButton-cXdUfJD2.cjs.map +1 -1
  236. package/dist/next/Rating-BjN0Sj0r.cjs.map +1 -1
  237. package/dist/next/Rating-Bs7oCe4w.js.map +1 -1
  238. package/dist/next/STT-Br81yPXp.js.map +1 -1
  239. package/dist/next/STT-C0q3yqiJ.cjs.map +1 -1
  240. package/dist/next/Select-DwWTQcCU.js.map +1 -1
  241. package/dist/next/Select-_f1aZuKO.cjs.map +1 -1
  242. package/dist/next/Skeleton-BWBHgsOM.js.map +1 -1
  243. package/dist/next/Skeleton-CMuXs5GO.cjs.map +1 -1
  244. package/dist/next/Slider-B5BJJyaD.js.map +1 -1
  245. package/dist/next/Slider-DbxNKdGq.cjs.map +1 -1
  246. package/dist/next/Spinner-BxvU43sx.js.map +1 -1
  247. package/dist/next/Spinner-Doh4Uft1.cjs.map +1 -1
  248. package/dist/next/{Stepper-DGbO-fUh.js → Stepper-5FojeYPE.js} +2 -2
  249. package/dist/next/{Stepper-DGbO-fUh.js.map → Stepper-5FojeYPE.js.map} +1 -1
  250. package/dist/next/{Stepper-CQaWoBJ2.cjs → Stepper-D2UYDRwT.cjs} +2 -2
  251. package/dist/next/{Stepper-CQaWoBJ2.cjs.map → Stepper-D2UYDRwT.cjs.map} +1 -1
  252. package/dist/next/Stepper.cjs.js +1 -1
  253. package/dist/next/Stepper.js +1 -1
  254. package/dist/next/Tabs-CNU0A_YY.js.map +1 -1
  255. package/dist/next/Tabs-DuZPFjen.cjs.map +1 -1
  256. package/dist/next/TagInput.cjs.js +1 -1
  257. package/dist/next/TagInput.js +1 -1
  258. package/dist/next/{Taginput-DAZs0PlQ.cjs → Taginput-BcNgwFOj.cjs} +3 -3
  259. package/dist/next/{Taginput-DAZs0PlQ.cjs.map → Taginput-BcNgwFOj.cjs.map} +1 -1
  260. package/dist/next/{Taginput-Bppb5ahN.js → Taginput-CdYMgcYY.js} +3 -3
  261. package/dist/next/{Taginput-Bppb5ahN.js.map → Taginput-CdYMgcYY.js.map} +1 -1
  262. package/dist/next/TextArea-CRo_5ZL_.cjs.map +1 -1
  263. package/dist/next/TextArea-W9ekr3ij.js.map +1 -1
  264. package/dist/next/{TextInput-DLROLZ7j.js → TextInput-DkNxrV4X.js} +2 -2
  265. package/dist/next/{TextInput-DLROLZ7j.js.map → TextInput-DkNxrV4X.js.map} +1 -1
  266. package/dist/next/{TextInput-D2cpcHhQ.cjs → TextInput-iQT-2lPj.cjs} +2 -2
  267. package/dist/next/{TextInput-D2cpcHhQ.cjs.map → TextInput-iQT-2lPj.cjs.map} +1 -1
  268. package/dist/next/TextInput.cjs.js +1 -1
  269. package/dist/next/TextInput.js +1 -1
  270. package/dist/next/ThemeContext-BNR3_OIq.cjs.map +1 -1
  271. package/dist/next/ThemeContext-Bo0vLczy.js.map +1 -1
  272. package/dist/next/Timeline-36_Qy1-m.cjs.map +1 -1
  273. package/dist/next/Timeline-EnwGQ4Mi.js.map +1 -1
  274. package/dist/next/Toggle-CU7I_vjc.cjs.map +1 -1
  275. package/dist/next/Toggle-R5pWM7gk.js.map +1 -1
  276. package/dist/next/{Toolbar-vNJ46DTU.js → Toolbar-B8AB6ADW.js} +2 -2
  277. package/dist/next/{Toolbar-vNJ46DTU.js.map → Toolbar-B8AB6ADW.js.map} +1 -1
  278. package/dist/next/{Toolbar-D05Q3wYG.cjs → Toolbar-BIruaq82.cjs} +2 -2
  279. package/dist/next/{Toolbar-D05Q3wYG.cjs.map → Toolbar-BIruaq82.cjs.map} +1 -1
  280. package/dist/next/Toolbar.cjs.js +1 -1
  281. package/dist/next/Toolbar.js +1 -1
  282. package/dist/next/Tooltip-DHhLeygn.cjs.map +1 -1
  283. package/dist/next/Tooltip-G3P0OyTP.js.map +1 -1
  284. package/dist/next/boreal-style-config-BILmxkZG.js.map +1 -1
  285. package/dist/next/boreal-style-config-Rr5d5Qts.cjs.map +1 -1
  286. package/dist/next/capitalize-C0TSQSPh.js.map +1 -1
  287. package/dist/next/capitalize-DoV-nOmN.cjs.map +1 -1
  288. package/dist/next/colorSchemes.cjs.js.map +1 -1
  289. package/dist/next/colorSchemes.js.map +1 -1
  290. package/dist/next/{image-Cs0ZR1Aj.js → image-CEz9QtOW.js} +3 -22
  291. package/dist/next/image-CEz9QtOW.js.map +1 -0
  292. package/dist/next/{image-C5jTmHeD.cjs → image-VX9Ty9NQ.cjs} +3 -22
  293. package/dist/next/image-VX9Ty9NQ.cjs.map +1 -0
  294. package/dist/next/index.cjs.js +20 -20
  295. package/dist/next/index.cjs.js.map +1 -1
  296. package/dist/next/index.js +21 -21
  297. package/dist/next/index.js.map +1 -1
  298. package/dist/next/{link-CX77u6b-.js → link-Bik5xH00.js} +15 -3
  299. package/dist/next/link-Bik5xH00.js.map +1 -0
  300. package/dist/next/{link-B8xgzNiC.cjs → link-hxAaLm0Q.cjs} +15 -3
  301. package/dist/next/link-hxAaLm0Q.cjs.map +1 -0
  302. package/dist/next/registerColorSheme-BPX0H7hl.js.map +1 -1
  303. package/dist/next/registerColorSheme-nhYu5hbY.cjs.map +1 -1
  304. package/dist/tsconfig.build.tsbuildinfo +1 -1
  305. package/package.json +3 -2
  306. package/dist/next/NavBar-CsrYdWSV.js.map +0 -1
  307. package/dist/next/NavBar-CyInu_3I.cjs.map +0 -1
  308. package/dist/next/image-C5jTmHeD.cjs.map +0 -1
  309. package/dist/next/image-Cs0ZR1Aj.js.map +0 -1
  310. package/dist/next/link-B8xgzNiC.cjs.map +0 -1
  311. package/dist/next/link-CX77u6b-.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton-EbX_9a0k.js","sources":["../../src/components/IconButton/IconButtonBase.tsx","../../src/components/IconButton/next/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { IconButtonProps } from \"./IconButton.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface IconButtonBaseProps extends IconButtonProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n}\r\n\r\nconst IconButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n IconButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n href,\r\n isExternal = false,\r\n onClick,\r\n onKeyDown,\r\n className = \"\",\r\n disabled = false,\r\n ariaLabel,\r\n title,\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n size = getDefaultSize(),\r\n loading = false,\r\n type = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n \"data-testid\": testId,\r\n tabIndex,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const label = ariaLabel || title || \"Icon button\";\r\n\r\n const classNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.iconButton,\r\n classMap[theme],\r\n classMap[state],\r\n size && classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, size, outline, disabled, className]\r\n );\r\n\r\n const sharedAria = {\r\n \"aria-label\": label,\r\n \"aria-disabled\": disabled || undefined,\r\n \"aria-busy\": loading || undefined,\r\n title,\r\n tabIndex: typeof tabIndex === \"number\" ? tabIndex : disabled ? -1 : 0,\r\n \"data-testid\": testId,\r\n };\r\n\r\n const iconContent = (\r\n <span className={classMap.buttonLabel}>\r\n {loading ? (\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n ) : (\r\n <Icon data-testid=\"icon-button-icon\" aria-hidden=\"true\" />\r\n )}\r\n </span>\r\n );\r\n\r\n if (href && !disabled && isExternal) {\r\n return (\r\n <a\r\n href={href}\r\n role=\"button\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </a>\r\n );\r\n }\r\n\r\n if (href && !disabled && !isExternal) {\r\n return (\r\n <LinkComponent\r\n href={href}\r\n role=\"button\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type={type}\r\n disabled={disabled}\r\n className={classNames}\r\n onClick={(e) => {\r\n if (!disabled) onClick?.(e);\r\n }}\r\n onKeyDown={(e) => {\r\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\r\n e.preventDefault();\r\n onClick?.(\r\n new MouseEvent(\"click\", {\r\n bubbles: true,\r\n }) as unknown as React.MouseEvent<HTMLElement>\r\n );\r\n }\r\n onKeyDown?.(e);\r\n }}\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nIconButtonBase.displayName = \"IconButtonBase\";\r\n\r\nexport default IconButtonBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./IconButton.module.scss\";\r\nimport IconButtonBase from \"../IconButtonBase\";\r\nimport { IconButtonProps } from \"../IconButton.types\";\r\n\r\nconst IconButton: React.FC<IconButtonProps> = (props) => (\r\n <IconButtonBase {...props} classMap={styles} LinkComponent={Link} />\r\n);\r\n\r\nexport default IconButton;\r\n"],"names":["disabled","outline"],"mappings":"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"}
1
+ {"version":3,"file":"IconButton-DFrFh0kg.js","sources":["../../src/components/IconButton/IconButtonBase.tsx","../../src/components/IconButton/next/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { IconButtonProps } from \"./IconButton.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface IconButtonBaseProps extends IconButtonProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n}\r\n\r\nconst IconButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n IconButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n href,\r\n isExternal = false,\r\n onClick,\r\n onKeyDown,\r\n className = \"\",\r\n disabled = false,\r\n ariaLabel,\r\n title,\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n size = getDefaultSize(),\r\n loading = false,\r\n type = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n \"data-testid\": testId,\r\n tabIndex,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const label = ariaLabel || title || \"Icon button\";\r\n\r\n const classNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.iconButton,\r\n classMap[theme],\r\n classMap[state],\r\n size && classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, size, outline, disabled, className]\r\n );\r\n\r\n const sharedAria = {\r\n \"aria-label\": label,\r\n \"aria-disabled\": disabled || undefined,\r\n \"aria-busy\": loading || undefined,\r\n title,\r\n tabIndex: typeof tabIndex === \"number\" ? tabIndex : disabled ? -1 : 0,\r\n \"data-testid\": testId,\r\n };\r\n\r\n const iconContent = (\r\n <span className={classMap.buttonLabel}>\r\n {loading ? (\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n ) : (\r\n <Icon data-testid=\"icon-button-icon\" aria-hidden=\"true\" />\r\n )}\r\n </span>\r\n );\r\n\r\n if (href && !disabled && isExternal) {\r\n return (\r\n <a\r\n href={href}\r\n role=\"button\"\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </a>\r\n );\r\n }\r\n\r\n if (href && !disabled && !isExternal) {\r\n return (\r\n <LinkComponent\r\n href={href}\r\n role=\"button\"\r\n className={classNames}\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type={type}\r\n disabled={disabled}\r\n className={classNames}\r\n onClick={(e) => {\r\n if (!disabled) onClick?.(e);\r\n }}\r\n onKeyDown={(e) => {\r\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\r\n e.preventDefault();\r\n onClick?.(\r\n new MouseEvent(\"click\", {\r\n bubbles: true,\r\n }) as unknown as React.MouseEvent<HTMLElement>\r\n );\r\n }\r\n onKeyDown?.(e);\r\n }}\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n {...sharedAria}\r\n {...rest}\r\n >\r\n {iconContent}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nIconButtonBase.displayName = \"IconButtonBase\";\r\n\r\nexport default IconButtonBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./IconButton.module.scss\";\r\nimport IconButtonBase from \"../IconButtonBase\";\r\nimport { IconButtonProps } from \"../IconButton.types\";\r\n\r\nconst IconButton: React.FC<IconButtonProps> = (props) => (\r\n <IconButtonBase {...props} classMap={styles} LinkComponent={Link} />\r\n);\r\n\r\nexport default IconButton;\r\n"],"names":["disabled","outline"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const IconButton = require("./IconButton-mY_E1gsn.cjs");
2
+ const IconButton = require("./IconButton-CNzF48hu.cjs");
3
3
  module.exports = IconButton.IconButton;
4
4
  //# sourceMappingURL=IconButton.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { I } from "./IconButton-EbX_9a0k.js";
1
+ import { I } from "./IconButton-DFrFh0kg.js";
2
2
  export {
3
3
  I as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownRenderer-B-WThNR7.cjs","sources":["../../src/components/MarkdownRenderer/MarkdownRendererBase.tsx","../../src/components/MarkdownRenderer/next/MarkdownRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { marked } from \"marked\";\r\nimport { MarkdownRendererProps } from \"./MarkdownRenderer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMarkdownRendererProps extends MarkdownRendererProps {\r\n classMap: Record<string, string>;\r\n language?: string;\r\n}\r\n\r\nfunction sanitizeWithDOMParser(html: string): string {\r\n const doc = new DOMParser().parseFromString(html, \"text/html\");\r\n doc.querySelectorAll(\"script\").forEach((el) => el.remove());\r\n return doc.body.innerHTML;\r\n}\r\n\r\nconst BaseMarkdownRenderer: React.FC<BaseMarkdownRendererProps> = ({\r\n content,\r\n className = \"\",\r\n language = \"en\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"markdown-renderer\",\r\n classMap,\r\n}) => {\r\n const html = useMemo(() => {\r\n const trimmed = content.trim();\r\n if (!trimmed) return \"\";\r\n const raw = marked.parse(trimmed, { async: false }) as string;\r\n return sanitizeWithDOMParser(raw);\r\n }, [content]);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n 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 [classMap, rounding, shadow, className]\r\n );\r\n\r\n if (!html) {\r\n return (\r\n <div\r\n className={classMap.empty}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"No markdown content\"\r\n >\r\n <p>No content available.</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"Markdown content\"\r\n lang={language}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n );\r\n};\r\n\r\nexport default BaseMarkdownRenderer;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMarkdownRenderer from \"../MarkdownRendererBase\";\r\nimport styles from \"./MarkdownRenderer.module.scss\";\r\nimport { MarkdownRendererProps } from \"../MarkdownRenderer.types\";\r\n\r\nconst MarkdownRenderer: React.FC<MarkdownRendererProps> = (props) => {\r\n return <BaseMarkdownRenderer {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MarkdownRenderer;\r\n"],"names":["getDefaultRounding","getDefaultShadow","useMemo","marked","combineClassNames","capitalize","jsx"],"mappings":";;;;;;;AAeA,SAAS,sBAAsB,MAAsB;AACnD,QAAM,MAAM,IAAI,UAAA,EAAY,gBAAgB,MAAM,WAAW;AACzD,MAAA,iBAAiB,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAC1D,SAAO,IAAI,KAAK;AAClB;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAWA,kBAAAA,mBAAmB;AAAA,EAC9B,SAASC,kBAAAA,iBAAiB;AAAA,EAC1B,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACE,QAAA,OAAOC,MAAAA,QAAQ,MAAM;AACnB,UAAA,UAAU,QAAQ,KAAK;AACzB,QAAA,CAAC,QAAgB,QAAA;AACrB,UAAM,MAAMC,OAAAA,OAAO,MAAM,SAAS,EAAE,OAAO,OAAO;AAClD,WAAO,sBAAsB,GAAG;AAAA,EAAA,GAC/B,CAAC,OAAO,CAAC;AAEZ,QAAM,eAAeD,MAAA;AAAA,IACnB,MACEE,WAAA;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IACF;AAAA,IACF,CAAC,UAAU,UAAU,QAAQ,SAAS;AAAA,EACxC;AAEA,MAAI,CAAC,MAAM;AAEP,WAAAC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,SAAS;AAAA,QACpB,eAAa;AAAA,QACb,MAAK;AAAA,QACL,cAAW;AAAA,QAEX,UAAAA,2BAAAA,IAAC,OAAE,UAAqB,wBAAA,CAAA;AAAA,MAAA;AAAA,IAC1B;AAAA,EAAA;AAKF,SAAAA,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,eAAa;AAAA,MACb,MAAK;AAAA,MACL,cAAW;AAAA,MACX,MAAM;AAAA,MACN,yBAAyB,EAAE,QAAQ,KAAK;AAAA,IAAA;AAAA,EAC1C;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;AChEM,MAAA,mBAAoD,CAAC,UAAU;AACnE,SAAQA,2BAAAA,IAAA,sBAAA,EAAsB,GAAG,OAAO,UAAU,QAAQ;AAC5D;;"}
1
+ {"version":3,"file":"MarkdownRenderer-B-WThNR7.cjs","sources":["../../src/components/MarkdownRenderer/MarkdownRendererBase.tsx","../../src/components/MarkdownRenderer/next/MarkdownRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { marked } from \"marked\";\r\nimport { MarkdownRendererProps } from \"./MarkdownRenderer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMarkdownRendererProps extends MarkdownRendererProps {\r\n classMap: Record<string, string>;\r\n language?: string;\r\n}\r\n\r\nfunction sanitizeWithDOMParser(html: string): string {\r\n const doc = new DOMParser().parseFromString(html, \"text/html\");\r\n doc.querySelectorAll(\"script\").forEach((el) => el.remove());\r\n return doc.body.innerHTML;\r\n}\r\n\r\nconst BaseMarkdownRenderer: React.FC<BaseMarkdownRendererProps> = ({\r\n content,\r\n className = \"\",\r\n language = \"en\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"markdown-renderer\",\r\n classMap,\r\n}) => {\r\n const html = useMemo(() => {\r\n const trimmed = content.trim();\r\n if (!trimmed) return \"\";\r\n const raw = marked.parse(trimmed, { async: false }) as string;\r\n return sanitizeWithDOMParser(raw);\r\n }, [content]);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n 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 [classMap, rounding, shadow, className]\r\n );\r\n\r\n if (!html) {\r\n return (\r\n <div\r\n className={classMap.empty}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"No markdown content\"\r\n >\r\n <p>No content available.</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"Markdown content\"\r\n lang={language}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n );\r\n};\r\n\r\nexport default BaseMarkdownRenderer;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMarkdownRenderer from \"../MarkdownRendererBase\";\r\nimport styles from \"./MarkdownRenderer.module.scss\";\r\nimport { MarkdownRendererProps } from \"../MarkdownRenderer.types\";\r\n\r\nconst MarkdownRenderer: React.FC<MarkdownRendererProps> = (props) => {\r\n return <BaseMarkdownRenderer {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MarkdownRenderer;\r\n"],"names":["getDefaultRounding","getDefaultShadow","useMemo","marked","combineClassNames","capitalize","jsx"],"mappings":";;;;;;;AAeA,SAAS,sBAAsB,MAAsB;AACnD,QAAM,MAAM,IAAI,UAAA,EAAY,gBAAgB,MAAM,WAAW;AAC7D,MAAI,iBAAiB,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAC1D,SAAO,IAAI,KAAK;AAClB;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAWA,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACJ,QAAM,OAAOC,MAAAA,QAAQ,MAAM;AACzB,UAAM,UAAU,QAAQ,KAAA;AACxB,QAAI,CAAC,QAAS,QAAO;AACrB,UAAM,MAAMC,OAAAA,OAAO,MAAM,SAAS,EAAE,OAAO,OAAO;AAClD,WAAO,sBAAsB,GAAG;AAAA,EAClC,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,eAAeD,MAAAA;AAAAA,IACnB,MACEE,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,QAAQ,SAAS;AAAA,EAAA;AAGxC,MAAI,CAAC,MAAM;AACT,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,SAAS;AAAA,QACpB,eAAa;AAAA,QACb,MAAK;AAAA,QACL,cAAW;AAAA,QAEX,UAAAA,2BAAAA,IAAC,OAAE,UAAA,wBAAA,CAAqB;AAAA,MAAA;AAAA,IAAA;AAAA,EAG9B;AAEA,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,eAAa;AAAA,MACb,MAAK;AAAA,MACL,cAAW;AAAA,MACX,MAAM;AAAA,MACN,yBAAyB,EAAE,QAAQ,KAAA;AAAA,IAAK;AAAA,EAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;AChEA,MAAM,mBAAoD,CAAC,UAAU;AACnE,SAAOA,2BAAAA,IAAC,sBAAA,EAAsB,GAAG,OAAO,UAAU,QAAQ;AAC5D;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownRenderer-CxJOetSp.js","sources":["../../src/components/MarkdownRenderer/MarkdownRendererBase.tsx","../../src/components/MarkdownRenderer/next/MarkdownRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { marked } from \"marked\";\r\nimport { MarkdownRendererProps } from \"./MarkdownRenderer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMarkdownRendererProps extends MarkdownRendererProps {\r\n classMap: Record<string, string>;\r\n language?: string;\r\n}\r\n\r\nfunction sanitizeWithDOMParser(html: string): string {\r\n const doc = new DOMParser().parseFromString(html, \"text/html\");\r\n doc.querySelectorAll(\"script\").forEach((el) => el.remove());\r\n return doc.body.innerHTML;\r\n}\r\n\r\nconst BaseMarkdownRenderer: React.FC<BaseMarkdownRendererProps> = ({\r\n content,\r\n className = \"\",\r\n language = \"en\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"markdown-renderer\",\r\n classMap,\r\n}) => {\r\n const html = useMemo(() => {\r\n const trimmed = content.trim();\r\n if (!trimmed) return \"\";\r\n const raw = marked.parse(trimmed, { async: false }) as string;\r\n return sanitizeWithDOMParser(raw);\r\n }, [content]);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n 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 [classMap, rounding, shadow, className]\r\n );\r\n\r\n if (!html) {\r\n return (\r\n <div\r\n className={classMap.empty}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"No markdown content\"\r\n >\r\n <p>No content available.</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"Markdown content\"\r\n lang={language}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n );\r\n};\r\n\r\nexport default BaseMarkdownRenderer;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMarkdownRenderer from \"../MarkdownRendererBase\";\r\nimport styles from \"./MarkdownRenderer.module.scss\";\r\nimport { MarkdownRendererProps } from \"../MarkdownRenderer.types\";\r\n\r\nconst MarkdownRenderer: React.FC<MarkdownRendererProps> = (props) => {\r\n return <BaseMarkdownRenderer {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MarkdownRenderer;\r\n"],"names":[],"mappings":";;;;;;AAeA,SAAS,sBAAsB,MAAsB;AACnD,QAAM,MAAM,IAAI,UAAA,EAAY,gBAAgB,MAAM,WAAW;AACzD,MAAA,iBAAiB,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAC1D,SAAO,IAAI,KAAK;AAClB;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW,mBAAmB;AAAA,EAC9B,SAAS,iBAAiB;AAAA,EAC1B,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACE,QAAA,OAAO,QAAQ,MAAM;AACnB,UAAA,UAAU,QAAQ,KAAK;AACzB,QAAA,CAAC,QAAgB,QAAA;AACrB,UAAM,MAAM,OAAO,MAAM,SAAS,EAAE,OAAO,OAAO;AAClD,WAAO,sBAAsB,GAAG;AAAA,EAAA,GAC/B,CAAC,OAAO,CAAC;AAEZ,QAAM,eAAe;AAAA,IACnB,MACE;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IACF;AAAA,IACF,CAAC,UAAU,UAAU,QAAQ,SAAS;AAAA,EACxC;AAEA,MAAI,CAAC,MAAM;AAEP,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,SAAS;AAAA,QACpB,eAAa;AAAA,QACb,MAAK;AAAA,QACL,cAAW;AAAA,QAEX,UAAA,oBAAC,OAAE,UAAqB,wBAAA,CAAA;AAAA,MAAA;AAAA,IAC1B;AAAA,EAAA;AAKF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,eAAa;AAAA,MACb,MAAK;AAAA,MACL,cAAW;AAAA,MACX,MAAM;AAAA,MACN,yBAAyB,EAAE,QAAQ,KAAK;AAAA,IAAA;AAAA,EAC1C;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;AChEM,MAAA,mBAAoD,CAAC,UAAU;AACnE,SAAQ,oBAAA,sBAAA,EAAsB,GAAG,OAAO,UAAU,QAAQ;AAC5D;"}
1
+ {"version":3,"file":"MarkdownRenderer-CxJOetSp.js","sources":["../../src/components/MarkdownRenderer/MarkdownRendererBase.tsx","../../src/components/MarkdownRenderer/next/MarkdownRenderer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { marked } from \"marked\";\r\nimport { MarkdownRendererProps } from \"./MarkdownRenderer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMarkdownRendererProps extends MarkdownRendererProps {\r\n classMap: Record<string, string>;\r\n language?: string;\r\n}\r\n\r\nfunction sanitizeWithDOMParser(html: string): string {\r\n const doc = new DOMParser().parseFromString(html, \"text/html\");\r\n doc.querySelectorAll(\"script\").forEach((el) => el.remove());\r\n return doc.body.innerHTML;\r\n}\r\n\r\nconst BaseMarkdownRenderer: React.FC<BaseMarkdownRendererProps> = ({\r\n content,\r\n className = \"\",\r\n language = \"en\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"markdown-renderer\",\r\n classMap,\r\n}) => {\r\n const html = useMemo(() => {\r\n const trimmed = content.trim();\r\n if (!trimmed) return \"\";\r\n const raw = marked.parse(trimmed, { async: false }) as string;\r\n return sanitizeWithDOMParser(raw);\r\n }, [content]);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n 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 [classMap, rounding, shadow, className]\r\n );\r\n\r\n if (!html) {\r\n return (\r\n <div\r\n className={classMap.empty}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"No markdown content\"\r\n >\r\n <p>No content available.</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={testId}\r\n role=\"region\"\r\n aria-label=\"Markdown content\"\r\n lang={language}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n );\r\n};\r\n\r\nexport default BaseMarkdownRenderer;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMarkdownRenderer from \"../MarkdownRendererBase\";\r\nimport styles from \"./MarkdownRenderer.module.scss\";\r\nimport { MarkdownRendererProps } from \"../MarkdownRenderer.types\";\r\n\r\nconst MarkdownRenderer: React.FC<MarkdownRendererProps> = (props) => {\r\n return <BaseMarkdownRenderer {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MarkdownRenderer;\r\n"],"names":[],"mappings":";;;;;;AAeA,SAAS,sBAAsB,MAAsB;AACnD,QAAM,MAAM,IAAI,UAAA,EAAY,gBAAgB,MAAM,WAAW;AAC7D,MAAI,iBAAiB,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ;AAC1D,SAAO,IAAI,KAAK;AAClB;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACJ,QAAM,OAAO,QAAQ,MAAM;AACzB,UAAM,UAAU,QAAQ,KAAA;AACxB,QAAI,CAAC,QAAS,QAAO;AACrB,UAAM,MAAM,OAAO,MAAM,SAAS,EAAE,OAAO,OAAO;AAClD,WAAO,sBAAsB,GAAG;AAAA,EAClC,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,eAAe;AAAA,IACnB,MACE;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,QAAQ,SAAS;AAAA,EAAA;AAGxC,MAAI,CAAC,MAAM;AACT,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,SAAS;AAAA,QACpB,eAAa;AAAA,QACb,MAAK;AAAA,QACL,cAAW;AAAA,QAEX,UAAA,oBAAC,OAAE,UAAA,wBAAA,CAAqB;AAAA,MAAA;AAAA,IAAA;AAAA,EAG9B;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,eAAa;AAAA,MACb,MAAK;AAAA,MACL,cAAW;AAAA,MACX,MAAM;AAAA,MACN,yBAAyB,EAAE,QAAQ,KAAA;AAAA,IAAK;AAAA,EAAA;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;AChEA,MAAM,mBAAoD,CAAC,UAAU;AACnE,SAAO,oBAAC,sBAAA,EAAsB,GAAG,OAAO,UAAU,QAAQ;AAC5D;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const MessagePopup = require("./MessagePopup-DuXLVt2z.cjs");
2
+ const MessagePopup = require("./MessagePopup-C-7N3vB0.cjs");
3
3
  module.exports = MessagePopup.MessagePopup;
4
4
  //# sourceMappingURL=MessagePopUp.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { M } from "./MessagePopup-BL_Tp51e.js";
1
+ import { M } from "./MessagePopup-ClfrvxKq.js";
2
2
  export {
3
3
  M as default
4
4
  };
@@ -6,8 +6,8 @@ const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
6
6
  const classNames = require("./classNames-BcWMx052.cjs");
7
7
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
8
8
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
9
- const Button = require("./Button-DUh0L7vy.cjs");
10
- const IconButton = require("./IconButton-mY_E1gsn.cjs");
9
+ const Button = require("./Button-WSFdkLsa.cjs");
10
+ const IconButton = require("./IconButton-CNzF48hu.cjs");
11
11
  const BaseMessagePopup = ({
12
12
  message: message2,
13
13
  onClose,
@@ -198,4 +198,4 @@ const MessagePopup = (props) => {
198
198
  );
199
199
  };
200
200
  exports.MessagePopup = MessagePopup;
201
- //# sourceMappingURL=MessagePopup-DuXLVt2z.cjs.map
201
+ //# sourceMappingURL=MessagePopup-C-7N3vB0.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePopup-DuXLVt2z.cjs","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/next/MessagePopup.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopupProps } from \"./MessagePopup.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopupProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopup from \"../MessagePopupBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopupProps } from \"../MessagePopup.types\";\r\n\r\nconst MessagePopup: React.FC<MessagePopupProps> = (props) => {\r\n return (\r\n <BaseMessagePopup\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopup;\r\n"],"names":["message","getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"MessagePopup-C-7N3vB0.cjs","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/next/MessagePopup.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopupProps } from \"./MessagePopup.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopupProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopup from \"../MessagePopupBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopupProps } from \"../MessagePopup.types\";\r\n\r\nconst MessagePopup: React.FC<MessagePopupProps> = (props) => {\r\n return (\r\n <BaseMessagePopup\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopup;\r\n"],"names":["message","getDefaultRounding","getDefaultShadow","Button","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":";;;;;;;;;;AAuBA,MAAM,mBAAoD,CAAC;AAAA,EACzD,SAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmBC,kBAAAA,mBAAA;AAAA,EACnB,WAAWA,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe,SAAS;AAAA,EACxB,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAA6B,IAAI;AAC3E,QAAM,YAAYC,MAAAA,OAAuB,IAAI;AAC7C,QAAM,iBAAiBA,MAAAA,OAA0B,IAAI;AACrD,QAAM,YAAYC,MAAAA,MAAA;AAElBC,QAAAA,UAAU,MAAM;AACd,iBAAa,IAAI;AACjB,QAAI,SAAS,SAAS,eAAe,cAAc;AACnD,QAAI,CAAC,QAAQ;AACX,eAAS,SAAS,cAAc,KAAK;AACrC,aAAO,KAAK;AACZ,eAAS,KAAK,YAAY,MAAM;AAAA,IAClC;AACA,qBAAiB,MAAM;AACvB,aAAS,KAAK,UAAU,IAAI,WAAW;AAEvC,UAAM,eAAe,CAAC,MAAgC;AACpD,UAAI,EAAE,QAAQ,SAAU,SAAA;AAAA,IAC1B;AAEA,aAAS,iBAAiB,WAAW,YAAY;AACjD,WAAO,MAAM;AACX,eAAS,KAAK,UAAU,OAAO,WAAW;AAC1C,eAAS,oBAAoB,WAAW,YAAY;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZA,QAAAA,UAAU,MAAM;AACd,eAAW,MAAM;;AACf,2BAAe,YAAf,mBAAwB;AAAA,IAC1B,GAAG,EAAE;AAAA,EACP,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,gBAAgB,CAAC,MAAqC;;AAC1D,QAAI,EAAE,QAAQ,MAAO;AAErB,UAAM,gBAAe,eAAU,YAAV,mBAAmB;AAAA,MACtC;AAAA;AAEF,QAAI,CAAC,gBAAgB,aAAa,WAAW,EAAG;AAEhD,UAAM,QAAQ,aAAa,CAAC;AAC5B,UAAM,OAAO,aAAa,aAAa,SAAS,CAAC;AAEjD,QAAI,EAAE,YAAY,SAAS,kBAAkB,OAAO;AAClD,QAAE,eAAA;AACF,WAAK,MAAA;AAAA,IACP,WAAW,CAAC,EAAE,YAAY,SAAS,kBAAkB,MAAM;AACzD,QAAE,eAAA;AACF,YAAM,MAAA;AAAA,IACR;AAAA,EACF;AAEA,MAAI,CAAC,aAAa,CAAC,cAAe,QAAO;AAEzC,QAAM,eAAeC,WAAAA;AAAAA,IACnB,SAAS;AAAA,IACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IACnD;AAAA,EAAA;AAGF,SAAO,SAAS;AAAA,IACdC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAK;AAAA,QACL,eAAa;AAAA,QAEb,UAAAC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,SAAS,CAAC,MAAM,EAAE,gBAAA;AAAA,YAClB,MAAK;AAAA,YACL,cAAW;AAAA,YACX,mBAAiB;AAAA,YACjB,UAAU;AAAA,YACV,KAAK;AAAA,YACL,WAAW;AAAA,YACX,eAAa,GAAG,MAAM;AAAA,YAEtB,UAAA;AAAA,cAAAD,2BAAAA;AAAAA,gBAACP;AAAA,gBAAA;AAAA,kBACC,WAAW,SAAS;AAAA,kBACpB,SAAS;AAAA,kBACT,cAAW;AAAA,kBACX,MAAMS,UAAAA;AAAAA,kBACN,OAAM;AAAA,kBACN,MAAK;AAAA,kBACL,eAAa,GAAG,MAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,cAExBF,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,IAAI;AAAA,kBACJ,WAAW,SAAS;AAAA,kBACpB,eAAa,GAAG,MAAM;AAAA,kBAErB,UAAAX;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEHY,2BAAAA,KAAC,SAAI,WAAW,SAAS,SAAS,eAAa,GAAG,MAAM,YACrD,UAAA;AAAA,gBAAA,aACCD,2BAAAA;AAAAA,kBAACR;AAAA,kBAAA;AAAA,oBACC,WAAW,SAAS;AAAA,oBACpB,OAAM;AAAA,oBACN,SAAS;AAAA,oBACT,KAAK;AAAA,oBACL,UAAU;AAAA,oBACV,MAAK;AAAA,oBACL,eAAa,GAAG,MAAM;AAAA,oBAErB,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGJ,YACCQ,2BAAAA;AAAAA,kBAACR;AAAA,kBAAA;AAAA,oBACC,WAAW,SAAS;AAAA,oBACpB,OAAM;AAAA,oBACN,SAAS;AAAA,oBACT,MAAK;AAAA,oBACL,eAAa,GAAG,MAAM;AAAA,oBAErB,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACH,EAAA,CAEJ;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAEF;AAAA,EAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA,MAAM,eAA4C,CAAC,UAAU;AAC3D,SACEQ,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MAAA,QACJR,OAAAA;AAAAA,MAAA,YACAC,WAAAA;AAAAA,MACA,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;;"}
@@ -5,8 +5,8 @@ import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
5
5
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
6
6
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
7
7
  import { a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
8
- import { B as Button } from "./Button-BpVwB1WA.js";
9
- import { I as IconButton } from "./IconButton-EbX_9a0k.js";
8
+ import { B as Button } from "./Button-CbX-VlK_.js";
9
+ import { I as IconButton } from "./IconButton-DFrFh0kg.js";
10
10
  const BaseMessagePopup = ({
11
11
  message: message2,
12
12
  onClose,
@@ -199,4 +199,4 @@ const MessagePopup = (props) => {
199
199
  export {
200
200
  MessagePopup as M
201
201
  };
202
- //# sourceMappingURL=MessagePopup-BL_Tp51e.js.map
202
+ //# sourceMappingURL=MessagePopup-ClfrvxKq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePopup-BL_Tp51e.js","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/next/MessagePopup.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopupProps } from \"./MessagePopup.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopupProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopup from \"../MessagePopupBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopupProps } from \"../MessagePopup.types\";\r\n\r\nconst MessagePopup: React.FC<MessagePopupProps> = (props) => {\r\n return (\r\n <BaseMessagePopup\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopup;\r\n"],"names":["message","Button","IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"MessagePopup-ClfrvxKq.js","sources":["../../src/components/MessagePopUp/MessagePopupBase.tsx","../../src/components/MessagePopUp/next/MessagePopup.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { MessagePopupProps } from \"./MessagePopup.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseMessagePopupProps extends MessagePopupProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseMessagePopup: React.FC<BaseMessagePopupProps> = ({\r\n message,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n controlsRounding = getDefaultRounding(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n confirmText = \"Confirm\",\r\n cancelText = \"Cancel\",\r\n className = \"\",\r\n \"data-testid\": testId = \"message-popup\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const firstButtonRef = useRef<HTMLButtonElement>(null);\r\n const messageId = useId();\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(\"popup-portal\");\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = \"popup-portal\";\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"no-scroll\");\r\n\r\n const handleEscape = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") onClose();\r\n };\r\n\r\n document.addEventListener(\"keydown\", handleEscape);\r\n return () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n document.removeEventListener(\"keydown\", handleEscape);\r\n };\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n firstButtonRef.current?.focus();\r\n }, 10);\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n const focusableEls = dialogRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const wrapperClass = combineClassNames(\r\n classMap.wrapper,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={wrapperClass}\r\n onClick={onClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.content}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={messageId}\r\n tabIndex={-1}\r\n ref={dialogRef}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-dialog`}\r\n >\r\n <IconButton\r\n className={classMap.close}\r\n onClick={onClose}\r\n aria-label=\"Close popup\"\r\n icon={CloseIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n data-testid={`${testId}-close`}\r\n />\r\n <h2\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </h2>\r\n <div className={classMap.actions} data-testid={`${testId}-actions`}>\r\n {onConfirm && (\r\n <Button\r\n className={classMap.confirm}\r\n state=\"success\"\r\n onClick={onConfirm}\r\n ref={firstButtonRef}\r\n rounding={controlsRounding}\r\n type=\"button\"\r\n data-testid={`${testId}-confirm`}\r\n >\r\n {confirmText}\r\n </Button>\r\n )}\r\n {onCancel && (\r\n <Button\r\n className={classMap.cancel}\r\n state=\"warning\"\r\n onClick={onCancel}\r\n type=\"button\"\r\n data-testid={`${testId}-cancel`}\r\n >\r\n {cancelText}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseMessagePopup;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMessagePopup from \"../MessagePopupBase\";\r\nimport { Button, IconButton } from \"../../../index.next\";\r\nimport styles from \"./MessagePopup.module.scss\";\r\nimport { MessagePopupProps } from \"../MessagePopup.types\";\r\n\r\nconst MessagePopup: React.FC<MessagePopupProps> = (props) => {\r\n return (\r\n <BaseMessagePopup\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default MessagePopup;\r\n"],"names":["message","Button","IconButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetricBox-Dtkrwrtw.cjs","sources":["../../src/components/MetricBox/MetricBoxBase.tsx","../../src/components/MetricBox/next/MetricBox.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { MetricBoxProps } 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\nexport interface BaseMetricBoxProps extends MetricBoxProps {\r\n classMap: Record<string, string>;\r\n}\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 titleId = `${testId}-title`;\r\n const valueId = `${testId}-value`;\r\n const subtextId = subtext ? `${testId}-subtext` : 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 return (\r\n <div\r\n className={wrapperClass}\r\n role=\"region\"\r\n aria-labelledby={titleId}\r\n aria-describedby={subtextId}\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 <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 <div\r\n id={valueId}\r\n className={classMap.value}\r\n data-testid={`${testId}-value`}\r\n aria-label={`${value} ${title}`}\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\nexport default BaseMetricBox;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMetricBox from \"../MetricBoxBase\";\r\nimport styles from \"./MetricBox.module.scss\";\r\nimport { MetricBoxProps } from \"../MetricBox.types\";\r\n\r\nconst MetricBox: React.FC<MetricBoxProps> = (props) => {\r\n return <BaseMetricBox {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MetricBox;\r\n"],"names":["title","value","subtext","getDefaultTheme","getDefaultShadow","getDefaultRounding","outline","getDefaultSize","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":";;;;;;AAeA,MAAM,gBAA8C,CAAC;AAAA,EACnD,OAAAA;AAAA,EACA,OAAAC;AAAA,EACA,MAAM;AAAA,EACN,SAAAC;AAAA,EACA,QAAQC,kBAAAA,gBAAgB;AAAA,EACxB,SAASC,kBAAAA,iBAAiB;AAAA,EAC1B,WAAWC,kBAAAA,mBAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,SAAAC,WAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAOC,kBAAAA,eAAe;AAAA,EACtB,YAAY;AAAA,EACZ,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACE,QAAA,UAAU,GAAG,MAAM;AACnB,QAAA,UAAU,GAAG,MAAM;AACzB,QAAM,YAAYL,WAAU,GAAG,MAAM,aAAa;AAElD,QAAM,eAAeM,MAAA;AAAA,IACnB,MACEC,WAAA;AAAA,MACE,SAAS;AAAA,MACTH,YAAW,SAAS;AAAA,MACpB,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAASI,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IACF;AAAA,IACF,CAAC,UAAU,OAAO,OAAO,MAAM,OAAOJ,UAAS,QAAQ,UAAU,SAAS;AAAA,EAC5E;AAGE,SAAAK,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,QACEC,2BAAAA,IAAA,OAAA,EAAI,WAAW,SAAS,MAAM,eAAa,GAAG,MAAM,SACnD,yCAAC,MAAK,EAAA,eAAY,QAAO,WAAU,QAAQ,CAAA,GAC7C;AAAA,QAGDD,2BAAA,KAAA,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,UAAAC,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAZ;AAAA,YAAA;AAAA,UACH;AAAA,UAEAY,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cACtB,cAAY,GAAGX,MAAK,IAAID,MAAK;AAAA,cAE5B,UAAAC;AAAA,YAAA;AAAA,UACH;AAAA,UAECC,YACCU,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAV;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAEJ,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFM,MAAA,YAAsC,CAAC,UAAU;AACrD,SAAQU,2BAAAA,IAAA,eAAA,EAAe,GAAG,OAAO,UAAU,QAAQ;AACrD;;"}
1
+ {"version":3,"file":"MetricBox-Dtkrwrtw.cjs","sources":["../../src/components/MetricBox/MetricBoxBase.tsx","../../src/components/MetricBox/next/MetricBox.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { MetricBoxProps } 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\nexport interface BaseMetricBoxProps extends MetricBoxProps {\r\n classMap: Record<string, string>;\r\n}\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 titleId = `${testId}-title`;\r\n const valueId = `${testId}-value`;\r\n const subtextId = subtext ? `${testId}-subtext` : 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 return (\r\n <div\r\n className={wrapperClass}\r\n role=\"region\"\r\n aria-labelledby={titleId}\r\n aria-describedby={subtextId}\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 <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 <div\r\n id={valueId}\r\n className={classMap.value}\r\n data-testid={`${testId}-value`}\r\n aria-label={`${value} ${title}`}\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\nexport default BaseMetricBox;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMetricBox from \"../MetricBoxBase\";\r\nimport styles from \"./MetricBox.module.scss\";\r\nimport { MetricBoxProps } from \"../MetricBox.types\";\r\n\r\nconst MetricBox: React.FC<MetricBoxProps> = (props) => {\r\n return <BaseMetricBox {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MetricBox;\r\n"],"names":["title","value","subtext","getDefaultTheme","getDefaultShadow","getDefaultRounding","outline","getDefaultSize","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":";;;;;;AAeA,MAAM,gBAA8C,CAAC;AAAA,EACnD,OAAAA;AAAA,EACA,OAAAC;AAAA,EACA,MAAM;AAAA,EACN,SAAAC;AAAA,EACA,QAAQC,kBAAAA,gBAAA;AAAA,EACR,SAASC,kBAAAA,iBAAA;AAAA,EACT,WAAWC,kBAAAA,mBAAA;AAAA,EACX,QAAQ;AAAA,EACR,SAAAC,WAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAOC,kBAAAA,eAAA;AAAA,EACP,YAAY;AAAA,EACZ,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACJ,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,YAAYL,WAAU,GAAG,MAAM,aAAa;AAElD,QAAM,eAAeM,MAAAA;AAAAA,IACnB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACTH,YAAW,SAAS;AAAA,MACpB,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAASI,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,OAAO,OAAO,MAAM,OAAOJ,UAAS,QAAQ,UAAU,SAAS;AAAA,EAAA;AAG5E,SACEK,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,QACCC,2BAAAA,IAAC,OAAA,EAAI,WAAW,SAAS,MAAM,eAAa,GAAG,MAAM,SACnD,yCAAC,MAAA,EAAK,eAAY,QAAO,WAAU,SAAQ,GAC7C;AAAA,QAGFD,2BAAAA,KAAC,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,UAAAC,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAZ;AAAA,YAAA;AAAA,UAAA;AAAA,UAGHY,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cACtB,cAAY,GAAGX,MAAK,IAAID,MAAK;AAAA,cAE5B,UAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAGFC,YACCU,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAV;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFA,MAAM,YAAsC,CAAC,UAAU;AACrD,SAAOU,2BAAAA,IAAC,eAAA,EAAe,GAAG,OAAO,UAAU,QAAQ;AACrD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MetricBox-rxFYolH_.js","sources":["../../src/components/MetricBox/MetricBoxBase.tsx","../../src/components/MetricBox/next/MetricBox.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { MetricBoxProps } 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\nexport interface BaseMetricBoxProps extends MetricBoxProps {\r\n classMap: Record<string, string>;\r\n}\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 titleId = `${testId}-title`;\r\n const valueId = `${testId}-value`;\r\n const subtextId = subtext ? `${testId}-subtext` : 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 return (\r\n <div\r\n className={wrapperClass}\r\n role=\"region\"\r\n aria-labelledby={titleId}\r\n aria-describedby={subtextId}\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 <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 <div\r\n id={valueId}\r\n className={classMap.value}\r\n data-testid={`${testId}-value`}\r\n aria-label={`${value} ${title}`}\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\nexport default BaseMetricBox;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMetricBox from \"../MetricBoxBase\";\r\nimport styles from \"./MetricBox.module.scss\";\r\nimport { MetricBoxProps } from \"../MetricBox.types\";\r\n\r\nconst MetricBox: React.FC<MetricBoxProps> = (props) => {\r\n return <BaseMetricBox {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MetricBox;\r\n"],"names":["title","value","subtext","outline"],"mappings":";;;;;AAeA,MAAM,gBAA8C,CAAC;AAAA,EACnD,OAAAA;AAAA,EACA,OAAAC;AAAA,EACA,MAAM;AAAA,EACN,SAAAC;AAAA,EACA,QAAQ,gBAAgB;AAAA,EACxB,SAAS,iBAAiB;AAAA,EAC1B,WAAW,mBAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,SAAAC,WAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAO,eAAe;AAAA,EACtB,YAAY;AAAA,EACZ,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACE,QAAA,UAAU,GAAG,MAAM;AACnB,QAAA,UAAU,GAAG,MAAM;AACzB,QAAM,YAAYD,WAAU,GAAG,MAAM,aAAa;AAElD,QAAM,eAAe;AAAA,IACnB,MACE;AAAA,MACE,SAAS;AAAA,MACTC,YAAW,SAAS;AAAA,MACpB,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IACF;AAAA,IACF,CAAC,UAAU,OAAO,OAAO,MAAM,OAAOA,UAAS,QAAQ,UAAU,SAAS;AAAA,EAC5E;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,QACE,oBAAA,OAAA,EAAI,WAAW,SAAS,MAAM,eAAa,GAAG,MAAM,SACnD,8BAAC,MAAK,EAAA,eAAY,QAAO,WAAU,QAAQ,CAAA,GAC7C;AAAA,QAGD,qBAAA,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAH;AAAA,YAAA;AAAA,UACH;AAAA,UAEA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cACtB,cAAY,GAAGC,MAAK,IAAID,MAAK;AAAA,cAE5B,UAAAC;AAAA,YAAA;AAAA,UACH;AAAA,UAECC,YACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAEJ,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFM,MAAA,YAAsC,CAAC,UAAU;AACrD,SAAQ,oBAAA,eAAA,EAAe,GAAG,OAAO,UAAU,QAAQ;AACrD;"}
1
+ {"version":3,"file":"MetricBox-rxFYolH_.js","sources":["../../src/components/MetricBox/MetricBoxBase.tsx","../../src/components/MetricBox/next/MetricBox.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { MetricBoxProps } 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\nexport interface BaseMetricBoxProps extends MetricBoxProps {\r\n classMap: Record<string, string>;\r\n}\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 titleId = `${testId}-title`;\r\n const valueId = `${testId}-value`;\r\n const subtextId = subtext ? `${testId}-subtext` : 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 return (\r\n <div\r\n className={wrapperClass}\r\n role=\"region\"\r\n aria-labelledby={titleId}\r\n aria-describedby={subtextId}\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 <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 <div\r\n id={valueId}\r\n className={classMap.value}\r\n data-testid={`${testId}-value`}\r\n aria-label={`${value} ${title}`}\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\nexport default BaseMetricBox;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseMetricBox from \"../MetricBoxBase\";\r\nimport styles from \"./MetricBox.module.scss\";\r\nimport { MetricBoxProps } from \"../MetricBox.types\";\r\n\r\nconst MetricBox: React.FC<MetricBoxProps> = (props) => {\r\n return <BaseMetricBox {...props} classMap={styles} />;\r\n};\r\n\r\nexport default MetricBox;\r\n"],"names":["title","value","subtext","outline"],"mappings":";;;;;AAeA,MAAM,gBAA8C,CAAC;AAAA,EACnD,OAAAA;AAAA,EACA,OAAAC;AAAA,EACA,MAAM;AAAA,EACN,SAAAC;AAAA,EACA,QAAQ,gBAAA;AAAA,EACR,SAAS,iBAAA;AAAA,EACT,WAAW,mBAAA;AAAA,EACX,QAAQ;AAAA,EACR,SAAAC,WAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAO,eAAA;AAAA,EACP,YAAY;AAAA,EACZ,eAAe,SAAS;AAAA,EACxB;AACF,MAAM;AACJ,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,YAAYD,WAAU,GAAG,MAAM,aAAa;AAElD,QAAM,eAAe;AAAA,IACnB,MACE;AAAA,MACE,SAAS;AAAA,MACTC,YAAW,SAAS;AAAA,MACpB,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,OAAO,OAAO,MAAM,OAAOA,UAAS,QAAQ,UAAU,SAAS;AAAA,EAAA;AAG5E,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,QACC,oBAAC,OAAA,EAAI,WAAW,SAAS,MAAM,eAAa,GAAG,MAAM,SACnD,8BAAC,MAAA,EAAK,eAAY,QAAO,WAAU,SAAQ,GAC7C;AAAA,QAGF,qBAAC,OAAA,EAAI,WAAW,SAAS,SACvB,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAH;AAAA,YAAA;AAAA,UAAA;AAAA,UAGH;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cACtB,cAAY,GAAGC,MAAK,IAAID,MAAK;AAAA,cAE5B,UAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAGFC,YACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAW,SAAS;AAAA,cACpB,eAAa,GAAG,MAAM;AAAA,cAErB,UAAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFA,MAAM,YAAsC,CAAC,UAAU;AACrD,SAAO,oBAAC,eAAA,EAAe,GAAG,OAAO,UAAU,QAAQ;AACrD;"}
@@ -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-EbX_9a0k.js";
8
+ import { I as IconButton } from "./IconButton-DFrFh0kg.js";
9
9
  const BaseModal = ({
10
10
  className = "",
11
11
  children,
@@ -175,4 +175,4 @@ const Modal = (props) => {
175
175
  export {
176
176
  Modal as M
177
177
  };
178
- //# sourceMappingURL=Modal-DkAYQaOH.js.map
178
+ //# sourceMappingURL=Modal-BZvTcgoM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-DkAYQaOH.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-BZvTcgoM.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
@@ -6,7 +6,7 @@ const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
6
6
  const classNames = require("./classNames-BcWMx052.cjs");
7
7
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
8
8
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
9
- const IconButton = require("./IconButton-mY_E1gsn.cjs");
9
+ const IconButton = require("./IconButton-CNzF48hu.cjs");
10
10
  const BaseModal = ({
11
11
  className = "",
12
12
  children,
@@ -174,4 +174,4 @@ const Modal = (props) => {
174
174
  return /* @__PURE__ */ require$$2.jsx(BaseModal, { ...props, IconButton: IconButton.IconButton, classMap: styles });
175
175
  };
176
176
  exports.Modal = Modal;
177
- //# sourceMappingURL=Modal-Cr3uE4Wi.cjs.map
177
+ //# sourceMappingURL=Modal-Bf7egMf2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-Cr3uE4Wi.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":";;;;;;;;;AAuBA,MAAM,YAAsC,CAAC;AAAA,EAC3C,YAAY;AAAA,EACZ;AAAA,EACA,WAAWA,kBAAAA,mBAAmB;AAAA,EAC9B,SAASC,kBAAAA,iBAAiB;AAAA,EAC1B;AAAA,EACA,eAAe,SAAS;AAAA,EACxB,YAAAC;AAAA,EACA;AAAA,EACA,WAAW;AACb,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,KAAK;AAChD,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAA6B,IAAI;AAErE,QAAA,WAAWC,aAAuB,IAAI;AACtC,QAAA,iBAAiBA,aAA0B,IAAI;AAErD,QAAM,KAAKC,MAAAA,MAAM;AACX,QAAA,UAAU,GAAG,EAAE;AACf,QAAA,SAAS,GAAG,EAAE;AAEpBC,QAAAA,UAAU,MAAM;AACd,iBAAa,IAAI;AACb,QAAA,SAAS,SAAS,eAAe,QAAQ;AAC7C,QAAI,CAAC,QAAQ;AACF,eAAA,SAAS,cAAc,KAAK;AACrC,aAAO,KAAK;AACH,eAAA,KAAK,YAAY,MAAM;AAAA,IAAA;AAElC,qBAAiB,MAAM;AACd,aAAA,KAAK,UAAU,IAAI,UAAU;AAEtC,WAAO,MAAM;AACF,eAAA,KAAK,UAAU,OAAO,UAAU;AAAA,IAC3C;AAAA,EAAA,GACC,CAAC,QAAQ,CAAC;AAEbA,QAAAA,UAAU,MAAM;AACd,QAAI,WAAW;AACb,4BAAsB,MAAM;AAC1B,qBAAa,IAAI;AACjB,mBAAW,MAAM;;AACf,yBAAS,YAAT,mBAAkB;AAAA,WACjB,EAAE;AAAA,MAAA,CACN;AAAA,IAAA;AAAA,EACH,GACC,CAAC,SAAS,CAAC;AAER,QAAA,gBAAgB,CAAC,MAAqC;AACtD,QAAA,EAAE,QAAQ,SAAkB,SAAA;AAChC,QAAI,EAAE,QAAQ,MAAO,WAAU,CAAC;AAAA,EAClC;AAEM,QAAA,YAAY,CAAC,MAAqB;;AAChC,UAAA,gBAAe,cAAS,YAAT,mBAAkB;AAAA,MACrC;AAAA;AAEF,QAAI,CAAC,gBAAgB,aAAa,WAAW,EAAG;AAE1C,UAAA,QAAQ,aAAa,CAAC;AAC5B,UAAM,OAAO,aAAa,aAAa,SAAS,CAAC;AAEjD,QAAI,EAAE,UAAU;AACV,UAAA,SAAS,kBAAkB,OAAO;AACpC,UAAE,eAAe;AACjB,aAAK,MAAM;AAAA,MAAA;AAAA,IACb,OACK;AACD,UAAA,SAAS,kBAAkB,MAAM;AACnC,UAAE,eAAe;AACjB,cAAM,MAAM;AAAA,MAAA;AAAA,IACd;AAAA,EAEJ;AAEA,QAAM,cAAc,MAAM;AACxB,iBAAa,KAAK;AACP,eAAA,MAAM,QAAQ,GAAG,GAAG;AAAA,EACjC;AAEA,MAAI,CAAC,aAAa,CAAC,cAAsB,QAAA;AAEzC,QAAM,mBAAmBC,WAAA;AAAA,IACvB,SAAS;AAAA,IACT;AAAA,IACA,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,EACrD;AAEA,SAAO,SAAS;AAAA,IACdC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWF,WAAA;AAAA,UACT,SAAS;AAAA,UACT,YAAY,SAAS,UAAU,SAAS;AAAA,QAC1C;AAAA,QACA,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAK;AAAA,QACL,cAAW;AAAA,QACX,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB,UAAU;AAAA,QACV,KAAK;AAAA,QACL,eAAa;AAAA,QAEb,UAAAG,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,eAAa,GAAG,MAAM;AAAA,YACtB,IAAI;AAAA,YAEJ,UAAA;AAAA,cAAAD,+BAAC,MAAG,EAAA,IAAI,SAAS,WAAU,WAAU,UAErC,gBAAA;AAAA,cAEAA,2BAAA;AAAA,gBAACP;AAAA,gBAAA;AAAA,kBACC,KAAK;AAAA,kBACL,WAAW,SAAS;AAAA,kBACpB,OAAM;AAAA,kBACN,MAAK;AAAA,kBACL,MAAMS,UAAA;AAAA,kBACN,cAAW;AAAA,kBACX,SAAS,CAAC,MAAwB;AAChC,sBAAE,gBAAgB;AACN,gCAAA;AAAA,kBACd;AAAA,kBACA,OAAM;AAAA,kBACN,eAAa,GAAG,MAAM;AAAA,gBAAA;AAAA,cACxB;AAAA,cAEC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJM,MAAA,QAA8B,CAAC,UAAU;AAC7C,wCAAQ,WAAW,EAAA,GAAG,OAAO,YAAAT,uBAAwB,UAAU,QAAQ;AACzE;;"}
1
+ {"version":3,"file":"Modal-Bf7egMf2.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/next/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { ModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BaseModalProps extends ModalProps {\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n portalId?: string;\r\n}\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onClose,\r\n \"data-testid\": testId = \"modal\",\r\n IconButton,\r\n classMap,\r\n portalId = \"widget-portal\",\r\n}) => {\r\n const [isMounted, setIsMounted] = useState(false);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n const firstFocusable = useRef<HTMLButtonElement>(null);\r\n\r\n const id = useId();\r\n const labelId = `${id}-label`;\r\n const descId = `${id}-desc`;\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n };\r\n }, [portalId]);\r\n\r\n useEffect(() => {\r\n if (isMounted) {\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n modalRef.current?.focus();\r\n }, 10);\r\n });\r\n }\r\n }, [isMounted]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === \"Escape\") onClose();\r\n if (e.key === \"Tab\") trapFocus(e);\r\n };\r\n\r\n const trapFocus = (e: KeyboardEvent) => {\r\n const focusableEls = modalRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\r\n );\r\n if (!focusableEls || focusableEls.length === 0) return;\r\n\r\n const first = focusableEls[0];\r\n const last = focusableEls[focusableEls.length - 1];\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n setIsVisible(false);\r\n setTimeout(() => onClose(), 200);\r\n };\r\n\r\n if (!isMounted || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden\r\n )}\r\n onClick={handleClose}\r\n onKeyDown={handleKeyDown}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n tabIndex={-1}\r\n ref={modalRef}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n data-testid={`${testId}-content`}\r\n id={descId}\r\n >\r\n <h2 id={labelId} className=\"sr-only\">\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={firstFocusable}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n aria-label=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default BaseModal;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport styles from \"./Modal.module.scss\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\n\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Modal = require("./Modal-Cr3uE4Wi.cjs");
2
+ const Modal = require("./Modal-Bf7egMf2.cjs");
3
3
  module.exports = Modal.Modal;
4
4
  //# sourceMappingURL=Modal.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { M } from "./Modal-DkAYQaOH.js";
1
+ import { M } from "./Modal-BZvTcgoM.js";
2
2
  export {
3
3
  M as default
4
4
  };