boreal-ui 0.0.62 → 0.0.63

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 (336) hide show
  1. package/dist/core/Modal-Bxr3hpdX.js.map +1 -1
  2. package/dist/core/Modal-FSXyuUVq.cjs.map +1 -1
  3. package/dist/core/{STT-Bdm78oOs.js → ScrollToTop-Bdm78oOs.js} +1 -1
  4. package/dist/core/ScrollToTop-Bdm78oOs.js.map +1 -0
  5. package/dist/core/{STT-DKOwe6z3.cjs → ScrollToTop-DKOwe6z3.cjs} +1 -1
  6. package/dist/core/ScrollToTop-DKOwe6z3.cjs.map +1 -0
  7. package/dist/core/ScrollToTop.cjs.js +2 -2
  8. package/dist/core/ScrollToTop.js +1 -1
  9. package/dist/core/Typography-CrSonr_W.cjs +177 -0
  10. package/dist/core/Typography-CrSonr_W.cjs.map +1 -0
  11. package/dist/core/Typography-DFXpv9CF.js +178 -0
  12. package/dist/core/Typography-DFXpv9CF.js.map +1 -0
  13. package/dist/core/Typography.cjs.js +4 -0
  14. package/dist/core/Typography.cjs.js.map +1 -0
  15. package/dist/core/Typography.js +5 -0
  16. package/dist/core/Typography.js.map +1 -0
  17. package/dist/core/boreal-ui.css +6328 -2654
  18. package/dist/core/index.cjs.js +4 -2
  19. package/dist/core/index.cjs.js.map +1 -1
  20. package/dist/core/index.js +19 -17
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/next/{Accordion-CSuvjzRd.js → Accordion-Dn_TH9Fi.js} +51 -51
  23. package/dist/next/{Accordion-CSuvjzRd.js.map → Accordion-Dn_TH9Fi.js.map} +1 -1
  24. package/dist/next/{Accordion-DJP5RUWz.cjs → Accordion-DwVQe79s.cjs} +51 -51
  25. package/dist/next/{Accordion-DJP5RUWz.cjs.map → Accordion-DwVQe79s.cjs.map} +1 -1
  26. package/dist/next/Accordion.cjs.js +1 -1
  27. package/dist/next/Accordion.js +1 -1
  28. package/dist/next/{Avatar-B24bFFqY.js → Avatar-D3l1T_H7.js} +40 -40
  29. package/dist/next/{Avatar-B24bFFqY.js.map → Avatar-D3l1T_H7.js.map} +1 -1
  30. package/dist/next/{Avatar-CPaxiA0r.cjs → Avatar-aNqEuazN.cjs} +40 -40
  31. package/dist/next/{Avatar-CPaxiA0r.cjs.map → Avatar-aNqEuazN.cjs.map} +1 -1
  32. package/dist/next/Avatar.cjs.js +1 -1
  33. package/dist/next/Avatar.js +1 -1
  34. package/dist/next/{Badge-BZNYm0IU.js → Badge-DxwCU8MI.js} +31 -31
  35. package/dist/next/{Badge-BZNYm0IU.js.map → Badge-DxwCU8MI.js.map} +1 -1
  36. package/dist/next/{Badge-dTyh833r.cjs → Badge-QK8EwBZC.cjs} +31 -31
  37. package/dist/next/{Badge-dTyh833r.cjs.map → Badge-QK8EwBZC.cjs.map} +1 -1
  38. package/dist/next/Badge.cjs.js +1 -1
  39. package/dist/next/Badge.js +1 -1
  40. package/dist/next/{Breadcrumbs-CqkrFb6w.cjs → Breadcrumbs-3XEDzKbm.cjs} +38 -38
  41. package/dist/next/{Breadcrumbs-CqkrFb6w.cjs.map → Breadcrumbs-3XEDzKbm.cjs.map} +1 -1
  42. package/dist/next/{Breadcrumbs-B8SQS1dq.js → Breadcrumbs-BsNWBc-h.js} +38 -38
  43. package/dist/next/{Breadcrumbs-B8SQS1dq.js.map → Breadcrumbs-BsNWBc-h.js.map} +1 -1
  44. package/dist/next/Breadcrumbs.cjs.js +1 -1
  45. package/dist/next/Breadcrumbs.js +1 -1
  46. package/dist/next/{Button-BQeFF7ZM.cjs → Button-BxKYm6hW.cjs} +46 -46
  47. package/dist/next/{Button-BQeFF7ZM.cjs.map → Button-BxKYm6hW.cjs.map} +1 -1
  48. package/dist/next/{Button-dzwAH8UY.js → Button-CbLs7Xb_.js} +46 -46
  49. package/dist/next/{Button-dzwAH8UY.js.map → Button-CbLs7Xb_.js.map} +1 -1
  50. package/dist/next/Button.cjs.js +1 -1
  51. package/dist/next/Button.js +1 -1
  52. package/dist/next/{Card-BSxPDuMD.js → Card--Vnbkx_t.js} +63 -65
  53. package/dist/next/{Card-BSxPDuMD.js.map → Card--Vnbkx_t.js.map} +1 -1
  54. package/dist/next/{Card-ChIJfojd.cjs → Card-F3Rcxsp7.cjs} +63 -65
  55. package/dist/next/{Card-ChIJfojd.cjs.map → Card-F3Rcxsp7.cjs.map} +1 -1
  56. package/dist/next/Card.cjs.js +1 -1
  57. package/dist/next/Card.js +1 -1
  58. package/dist/next/CheckBox.cjs.js +1 -1
  59. package/dist/next/CheckBox.js +1 -1
  60. package/dist/next/{Checkbox-DqVauJRe.js → Checkbox-DCP9e_zW.js} +44 -44
  61. package/dist/next/{Checkbox-DqVauJRe.js.map → Checkbox-DCP9e_zW.js.map} +1 -1
  62. package/dist/next/{Checkbox-Bzn99W2L.cjs → Checkbox-V_yJTGLJ.cjs} +44 -44
  63. package/dist/next/{Checkbox-Bzn99W2L.cjs.map → Checkbox-V_yJTGLJ.cjs.map} +1 -1
  64. package/dist/next/{Chip-DlTqvojt.cjs → Chip-DZJSDzXr.cjs} +51 -51
  65. package/dist/next/{Chip-DlTqvojt.cjs.map → Chip-DZJSDzXr.cjs.map} +1 -1
  66. package/dist/next/{Chip-DxeWWlBR.js → Chip-RMMKC89X.js} +51 -51
  67. package/dist/next/{Chip-DxeWWlBR.js.map → Chip-RMMKC89X.js.map} +1 -1
  68. package/dist/next/Chip.cjs.js +1 -1
  69. package/dist/next/Chip.js +1 -1
  70. package/dist/next/{CircularProgress-jQRdsbUh.cjs → CircularProgress-D7VkwZME.cjs} +37 -37
  71. package/dist/next/{CircularProgress-jQRdsbUh.cjs.map → CircularProgress-D7VkwZME.cjs.map} +1 -1
  72. package/dist/next/{CircularProgress-DpjGYo1M.js → CircularProgress-DDzPH1aF.js} +37 -37
  73. package/dist/next/{CircularProgress-DpjGYo1M.js.map → CircularProgress-DDzPH1aF.js.map} +1 -1
  74. package/dist/next/CircularProgress.cjs.js +1 -1
  75. package/dist/next/CircularProgress.js +1 -1
  76. package/dist/next/{ColorPicker-BSkwq1FF.cjs → ColorPicker-D5SYdLA9.cjs} +38 -38
  77. package/dist/next/{ColorPicker-BSkwq1FF.cjs.map → ColorPicker-D5SYdLA9.cjs.map} +1 -1
  78. package/dist/next/{ColorPicker-CE2KugMh.js → ColorPicker-llWz1lyd.js} +38 -38
  79. package/dist/next/{ColorPicker-CE2KugMh.js.map → ColorPicker-llWz1lyd.js.map} +1 -1
  80. package/dist/next/ColorPicker.cjs.js +1 -1
  81. package/dist/next/ColorPicker.js +1 -1
  82. package/dist/next/{CommandPalette-vI2ZNmpf.js → CommandPalette-BKXggOFe.js} +42 -42
  83. package/dist/next/{CommandPalette-vI2ZNmpf.js.map → CommandPalette-BKXggOFe.js.map} +1 -1
  84. package/dist/next/{CommandPalette-fqwvmrZI.cjs → CommandPalette-DVwb5WCx.cjs} +42 -42
  85. package/dist/next/{CommandPalette-fqwvmrZI.cjs.map → CommandPalette-DVwb5WCx.cjs.map} +1 -1
  86. package/dist/next/CommandPalette.cjs.js +1 -1
  87. package/dist/next/CommandPalette.js +1 -1
  88. package/dist/next/{DataTable-jVFfwGXs.cjs → DataTable-DdbfhIs4.cjs} +40 -40
  89. package/dist/next/{DataTable-jVFfwGXs.cjs.map → DataTable-DdbfhIs4.cjs.map} +1 -1
  90. package/dist/next/{DataTable-86qN3udf.js → DataTable-v0Tuwx7T.js} +40 -40
  91. package/dist/next/{DataTable-86qN3udf.js.map → DataTable-v0Tuwx7T.js.map} +1 -1
  92. package/dist/next/DataTable.cjs.js +1 -1
  93. package/dist/next/DataTable.js +1 -1
  94. package/dist/next/{DateTimePicker-CdmCGMbz.js → DateTimePicker-BBF5R9-X.js} +46 -46
  95. package/dist/next/{DateTimePicker-CdmCGMbz.js.map → DateTimePicker-BBF5R9-X.js.map} +1 -1
  96. package/dist/next/{DateTimePicker-4gNc9g_2.cjs → DateTimePicker-DVo9uK3q.cjs} +46 -46
  97. package/dist/next/{DateTimePicker-4gNc9g_2.cjs.map → DateTimePicker-DVo9uK3q.cjs.map} +1 -1
  98. package/dist/next/DateTimePicker.cjs.js +1 -1
  99. package/dist/next/DateTimePicker.js +1 -1
  100. package/dist/next/{Divider-2IaSI2OY.js → Divider-SOFRGXN4.js} +28 -28
  101. package/dist/next/{Divider-2IaSI2OY.js.map → Divider-SOFRGXN4.js.map} +1 -1
  102. package/dist/next/{Divider-CNpitvsk.cjs → Divider-qisY9Yx8.cjs} +28 -28
  103. package/dist/next/{Divider-CNpitvsk.cjs.map → Divider-qisY9Yx8.cjs.map} +1 -1
  104. package/dist/next/Divider.cjs.js +1 -1
  105. package/dist/next/Divider.js +1 -1
  106. package/dist/next/{Dropdown-IW2Ph6-e.cjs → Dropdown-BkgFTyAd.cjs} +22 -22
  107. package/dist/next/{Dropdown-IW2Ph6-e.cjs.map → Dropdown-BkgFTyAd.cjs.map} +1 -1
  108. package/dist/next/{Dropdown-BjxT8ivq.js → Dropdown-VXFj_bFP.js} +22 -22
  109. package/dist/next/{Dropdown-BjxT8ivq.js.map → Dropdown-VXFj_bFP.js.map} +1 -1
  110. package/dist/next/Dropdown.cjs.js +1 -1
  111. package/dist/next/Dropdown.js +1 -1
  112. package/dist/next/{EmptyState-DiMUF0-I.js → EmptyState-AM8RgRxl.js} +31 -31
  113. package/dist/next/{EmptyState-DiMUF0-I.js.map → EmptyState-AM8RgRxl.js.map} +1 -1
  114. package/dist/next/{EmptyState-DcFVTJQx.cjs → EmptyState-BbasdxVa.cjs} +31 -31
  115. package/dist/next/{EmptyState-DcFVTJQx.cjs.map → EmptyState-BbasdxVa.cjs.map} +1 -1
  116. package/dist/next/EmptyState.cjs.js +1 -1
  117. package/dist/next/EmptyState.js +1 -1
  118. package/dist/next/{FileUpload-DrlPc8gs.cjs → FileUpload-Cz5Cmf7D.cjs} +52 -52
  119. package/dist/next/{FileUpload-DrlPc8gs.cjs.map → FileUpload-Cz5Cmf7D.cjs.map} +1 -1
  120. package/dist/next/{FileUpload-Cd3-oT3u.js → FileUpload-vAtZJfmM.js} +52 -52
  121. package/dist/next/{FileUpload-Cd3-oT3u.js.map → FileUpload-vAtZJfmM.js.map} +1 -1
  122. package/dist/next/FileUpload.cjs.js +1 -1
  123. package/dist/next/FileUpload.js +1 -1
  124. package/dist/next/{Footer-Bbu5jH0b.js → Footer-BeALudhE.js} +42 -42
  125. package/dist/next/{Footer-Bbu5jH0b.js.map → Footer-BeALudhE.js.map} +1 -1
  126. package/dist/next/{Footer-CpONiW_q.cjs → Footer-CX_AJG0N.cjs} +42 -42
  127. package/dist/next/{Footer-CpONiW_q.cjs.map → Footer-CX_AJG0N.cjs.map} +1 -1
  128. package/dist/next/Footer.cjs.js +1 -1
  129. package/dist/next/Footer.js +1 -1
  130. package/dist/next/{FormGroup-VzRJhCle.cjs → FormGroup-ZIcoxpF7.cjs} +31 -31
  131. package/dist/next/{FormGroup-VzRJhCle.cjs.map → FormGroup-ZIcoxpF7.cjs.map} +1 -1
  132. package/dist/next/{FormGroup-BTt7jSKj.js → FormGroup-dDYVBjuL.js} +31 -31
  133. package/dist/next/{FormGroup-BTt7jSKj.js.map → FormGroup-dDYVBjuL.js.map} +1 -1
  134. package/dist/next/FormGroup.cjs.js +1 -1
  135. package/dist/next/FormGroup.js +1 -1
  136. package/dist/next/{IconButton-Ct3YtlG9.js → IconButton-Cl0mZxov.js} +30 -30
  137. package/dist/next/{IconButton-Ct3YtlG9.js.map → IconButton-Cl0mZxov.js.map} +1 -1
  138. package/dist/next/{IconButton-aF7cTy19.cjs → IconButton-D3MIvof0.cjs} +30 -30
  139. package/dist/next/{IconButton-aF7cTy19.cjs.map → IconButton-D3MIvof0.cjs.map} +1 -1
  140. package/dist/next/IconButton.cjs.js +1 -1
  141. package/dist/next/IconButton.js +1 -1
  142. package/dist/next/{MarkdownRenderer-l6hdKOt0.cjs → MarkdownRenderer-BxR_D4HC.cjs} +12 -12
  143. package/dist/next/{MarkdownRenderer-l6hdKOt0.cjs.map → MarkdownRenderer-BxR_D4HC.cjs.map} +1 -1
  144. package/dist/next/{MarkdownRenderer-B8_D0j7d.js → MarkdownRenderer-yVj97cUU.js} +12 -12
  145. package/dist/next/{MarkdownRenderer-B8_D0j7d.js.map → MarkdownRenderer-yVj97cUU.js.map} +1 -1
  146. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  147. package/dist/next/MarkdownRenderer.js +1 -1
  148. package/dist/next/{MessagePopup-dSo4y6lC.js → MessagePopup-Cb98cQsc.js} +22 -22
  149. package/dist/next/{MessagePopup-dSo4y6lC.js.map → MessagePopup-Cb98cQsc.js.map} +1 -1
  150. package/dist/next/{MessagePopup-DCWbLLx0.cjs → MessagePopup-CdGMtQjq.cjs} +22 -22
  151. package/dist/next/{MessagePopup-DCWbLLx0.cjs.map → MessagePopup-CdGMtQjq.cjs.map} +1 -1
  152. package/dist/next/MessagePopup.cjs.js +1 -1
  153. package/dist/next/MessagePopup.js +1 -1
  154. package/dist/next/{MetricBox-Cw1pBTxX.js → MetricBox-BgErSHJ2.js} +47 -47
  155. package/dist/next/{MetricBox-Cw1pBTxX.js.map → MetricBox-BgErSHJ2.js.map} +1 -1
  156. package/dist/next/{MetricBox-BLwnpI4m.cjs → MetricBox-DnKSec6I.cjs} +47 -47
  157. package/dist/next/{MetricBox-BLwnpI4m.cjs.map → MetricBox-DnKSec6I.cjs.map} +1 -1
  158. package/dist/next/MetricBox.cjs.js +1 -1
  159. package/dist/next/MetricBox.js +1 -1
  160. package/dist/next/{Modal-BykHn4WN.cjs → Modal-C2b5gSAI.cjs} +17 -17
  161. package/dist/next/{Modal-BykHn4WN.cjs.map → Modal-C2b5gSAI.cjs.map} +1 -1
  162. package/dist/next/{Modal-BaW3Kw7r.js → Modal-DIMVFaMZ.js} +17 -17
  163. package/dist/next/{Modal-BaW3Kw7r.js.map → Modal-DIMVFaMZ.js.map} +1 -1
  164. package/dist/next/Modal.cjs.js +1 -1
  165. package/dist/next/Modal.js +1 -1
  166. package/dist/next/{NavBar-DdGNHcf0.js → NavBar-B5mwxdyF.js} +37 -37
  167. package/dist/next/{NavBar-DdGNHcf0.js.map → NavBar-B5mwxdyF.js.map} +1 -1
  168. package/dist/next/{NavBar-Caubid_j.cjs → NavBar-MdBgi_nF.cjs} +37 -37
  169. package/dist/next/{NavBar-Caubid_j.cjs.map → NavBar-MdBgi_nF.cjs.map} +1 -1
  170. package/dist/next/NavBar.cjs.js +1 -1
  171. package/dist/next/NavBar.js +1 -1
  172. package/dist/next/{NotificationCenter-W6GGUvqi.cjs → NotificationCenter-Caz3jxdn.cjs} +43 -43
  173. package/dist/next/{NotificationCenter-W6GGUvqi.cjs.map → NotificationCenter-Caz3jxdn.cjs.map} +1 -1
  174. package/dist/next/{NotificationCenter-mqceyjiT.js → NotificationCenter-_XsQhE7s.js} +43 -43
  175. package/dist/next/{NotificationCenter-mqceyjiT.js.map → NotificationCenter-_XsQhE7s.js.map} +1 -1
  176. package/dist/next/NotificationCenter.cjs.js +1 -1
  177. package/dist/next/NotificationCenter.js +1 -1
  178. package/dist/next/{Pager-X9ylgT-Z.cjs → Pager-B8F1r2e2.cjs} +7 -7
  179. package/dist/next/{Pager-X9ylgT-Z.cjs.map → Pager-B8F1r2e2.cjs.map} +1 -1
  180. package/dist/next/{Pager-BcKZAgWA.js → Pager-DvKe6hJy.js} +7 -7
  181. package/dist/next/{Pager-BcKZAgWA.js.map → Pager-DvKe6hJy.js.map} +1 -1
  182. package/dist/next/Pager.cjs.js +1 -1
  183. package/dist/next/Pager.js +1 -1
  184. package/dist/next/{PopOver-wFG4sWoa.cjs → PopOver-DKO8mxAQ.cjs} +40 -40
  185. package/dist/next/{PopOver-wFG4sWoa.cjs.map → PopOver-DKO8mxAQ.cjs.map} +1 -1
  186. package/dist/next/{PopOver-BsLKgUHd.js → PopOver-RQs7wnzJ.js} +40 -40
  187. package/dist/next/{PopOver-BsLKgUHd.js.map → PopOver-RQs7wnzJ.js.map} +1 -1
  188. package/dist/next/PopOver.cjs.js +1 -1
  189. package/dist/next/PopOver.js +1 -1
  190. package/dist/next/{ProgressBar-Cd-4-rSv.cjs → ProgressBar-C2RB6irR.cjs} +56 -56
  191. package/dist/next/{ProgressBar-Cd-4-rSv.cjs.map → ProgressBar-C2RB6irR.cjs.map} +1 -1
  192. package/dist/next/{ProgressBar-Dvk8hhdp.js → ProgressBar-CpPnKp50.js} +56 -56
  193. package/dist/next/{ProgressBar-Dvk8hhdp.js.map → ProgressBar-CpPnKp50.js.map} +1 -1
  194. package/dist/next/ProgressBar.cjs.js +1 -1
  195. package/dist/next/ProgressBar.js +1 -1
  196. package/dist/next/{RadioButton-2Zfeqi3P.cjs → RadioButton-D0653S8V.cjs} +38 -38
  197. package/dist/next/{RadioButton-2Zfeqi3P.cjs.map → RadioButton-D0653S8V.cjs.map} +1 -1
  198. package/dist/next/{RadioButton-BQ3NCQAG.js → RadioButton-y2Gj8oA8.js} +38 -38
  199. package/dist/next/{RadioButton-BQ3NCQAG.js.map → RadioButton-y2Gj8oA8.js.map} +1 -1
  200. package/dist/next/RadioButton.cjs.js +1 -1
  201. package/dist/next/RadioButton.js +1 -1
  202. package/dist/next/{Rating-CqZxr01n.js → Rating-CdLx5K9F.js} +34 -34
  203. package/dist/next/{Rating-CqZxr01n.js.map → Rating-CdLx5K9F.js.map} +1 -1
  204. package/dist/next/{Rating-DB4le920.cjs → Rating-Dwl39FBy.cjs} +34 -34
  205. package/dist/next/{Rating-DB4le920.cjs.map → Rating-Dwl39FBy.cjs.map} +1 -1
  206. package/dist/next/Rating.cjs.js +1 -1
  207. package/dist/next/Rating.js +1 -1
  208. package/dist/next/{STT-GyAuX3-m.cjs → ScrollToTop-B_-WfAAW.cjs} +14 -14
  209. package/dist/next/ScrollToTop-B_-WfAAW.cjs.map +1 -0
  210. package/dist/next/{STT-CFFr1_Ls.js → ScrollToTop-goObm3qq.js} +14 -14
  211. package/dist/next/ScrollToTop-goObm3qq.js.map +1 -0
  212. package/dist/next/ScrollToTop.cjs.js +2 -2
  213. package/dist/next/ScrollToTop.js +1 -1
  214. package/dist/next/{Select-1sLV4ar_.js → Select-CItGjqiA.js} +31 -47
  215. package/dist/next/{Select-1sLV4ar_.js.map → Select-CItGjqiA.js.map} +1 -1
  216. package/dist/next/{Select-BDse5K69.cjs → Select-CY0pPJEK.cjs} +31 -47
  217. package/dist/next/{Select-BDse5K69.cjs.map → Select-CY0pPJEK.cjs.map} +1 -1
  218. package/dist/next/Select.cjs.js +1 -1
  219. package/dist/next/Select.js +1 -1
  220. package/dist/next/{Sidebar-CBC-Gu5d.cjs → Sidebar-CXu2pmRX.cjs} +47 -47
  221. package/dist/next/{Sidebar-CBC-Gu5d.cjs.map → Sidebar-CXu2pmRX.cjs.map} +1 -1
  222. package/dist/next/{Sidebar-oJzZMxwu.js → Sidebar-DIJSf6Np.js} +47 -47
  223. package/dist/next/{Sidebar-oJzZMxwu.js.map → Sidebar-DIJSf6Np.js.map} +1 -1
  224. package/dist/next/Sidebar.cjs.js +1 -1
  225. package/dist/next/Sidebar.js +1 -1
  226. package/dist/next/{Skeleton-DHBax5oj.cjs → Skeleton-B1CXIUtq.cjs} +26 -26
  227. package/dist/next/{Skeleton-DHBax5oj.cjs.map → Skeleton-B1CXIUtq.cjs.map} +1 -1
  228. package/dist/next/{Skeleton-Dwou3pCB.js → Skeleton-BrqgG8hs.js} +26 -26
  229. package/dist/next/{Skeleton-Dwou3pCB.js.map → Skeleton-BrqgG8hs.js.map} +1 -1
  230. package/dist/next/Skeleton.cjs.js +1 -1
  231. package/dist/next/Skeleton.js +1 -1
  232. package/dist/next/{Slider-BSakg4RQ.cjs → Slider-CIRshlPG.cjs} +43 -43
  233. package/dist/next/{Slider-BSakg4RQ.cjs.map → Slider-CIRshlPG.cjs.map} +1 -1
  234. package/dist/next/{Slider-CstOMrst.js → Slider-DsMR0_ku.js} +43 -43
  235. package/dist/next/{Slider-CstOMrst.js.map → Slider-DsMR0_ku.js.map} +1 -1
  236. package/dist/next/Slider.cjs.js +1 -1
  237. package/dist/next/Slider.js +1 -1
  238. package/dist/next/{Spinner-DVZyVEeg.js → Spinner-CJ-iu7ef.js} +37 -37
  239. package/dist/next/{Spinner-DVZyVEeg.js.map → Spinner-CJ-iu7ef.js.map} +1 -1
  240. package/dist/next/{Spinner-D5_K8_gk.cjs → Spinner-DmsSt_pC.cjs} +37 -37
  241. package/dist/next/{Spinner-D5_K8_gk.cjs.map → Spinner-DmsSt_pC.cjs.map} +1 -1
  242. package/dist/next/Spinner.cjs.js +1 -1
  243. package/dist/next/Spinner.js +1 -1
  244. package/dist/next/{Stepper-CdpHVysD.js → Stepper-COpAZ9L5.js} +40 -40
  245. package/dist/next/{Stepper-CdpHVysD.js.map → Stepper-COpAZ9L5.js.map} +1 -1
  246. package/dist/next/{Stepper-BhmLBil6.cjs → Stepper-DuwfXoUQ.cjs} +40 -40
  247. package/dist/next/{Stepper-BhmLBil6.cjs.map → Stepper-DuwfXoUQ.cjs.map} +1 -1
  248. package/dist/next/Stepper.cjs.js +1 -1
  249. package/dist/next/Stepper.js +1 -1
  250. package/dist/next/{Tabs-BEskeiYq.js → Tabs-B9ZCknnG.js} +29 -29
  251. package/dist/next/{Tabs-BEskeiYq.js.map → Tabs-B9ZCknnG.js.map} +1 -1
  252. package/dist/next/{Tabs-bFqyifwl.cjs → Tabs-DqeWKCtM.cjs} +29 -29
  253. package/dist/next/{Tabs-bFqyifwl.cjs.map → Tabs-DqeWKCtM.cjs.map} +1 -1
  254. package/dist/next/Tabs.cjs.js +1 -1
  255. package/dist/next/Tabs.js +1 -1
  256. package/dist/next/{TagInput-ZbxiqA8I.js → TagInput-Calu7rmv.js} +48 -48
  257. package/dist/next/{TagInput-ZbxiqA8I.js.map → TagInput-Calu7rmv.js.map} +1 -1
  258. package/dist/next/{TagInput-CkCJVyDW.cjs → TagInput-UXdEhgt6.cjs} +48 -48
  259. package/dist/next/{TagInput-CkCJVyDW.cjs.map → TagInput-UXdEhgt6.cjs.map} +1 -1
  260. package/dist/next/TagInput.cjs.js +1 -1
  261. package/dist/next/TagInput.js +1 -1
  262. package/dist/next/{TextArea-BHJx395o.js → TextArea-D1tyvK9I.js} +27 -27
  263. package/dist/next/{TextArea-BHJx395o.js.map → TextArea-D1tyvK9I.js.map} +1 -1
  264. package/dist/next/{TextArea-Bux5Ojjs.cjs → TextArea-DstXzsQz.cjs} +27 -27
  265. package/dist/next/{TextArea-Bux5Ojjs.cjs.map → TextArea-DstXzsQz.cjs.map} +1 -1
  266. package/dist/next/TextArea.cjs.js +1 -1
  267. package/dist/next/TextArea.js +1 -1
  268. package/dist/next/{TextInput-CKv7Umxo.cjs → TextInput-BnvakI1-.cjs} +26 -26
  269. package/dist/next/{TextInput-CKv7Umxo.cjs.map → TextInput-BnvakI1-.cjs.map} +1 -1
  270. package/dist/next/{TextInput-D0zTOb7y.js → TextInput-DgWD3y-H.js} +26 -26
  271. package/dist/next/{TextInput-D0zTOb7y.js.map → TextInput-DgWD3y-H.js.map} +1 -1
  272. package/dist/next/TextInput.cjs.js +1 -1
  273. package/dist/next/TextInput.js +1 -1
  274. package/dist/next/{Timeline-Dknnqv8w.cjs → Timeline-1gGPeWoc.cjs} +28 -28
  275. package/dist/next/{Timeline-Dknnqv8w.cjs.map → Timeline-1gGPeWoc.cjs.map} +1 -1
  276. package/dist/next/{Timeline-DOB2jvQw.js → Timeline-BJq3RTWG.js} +28 -28
  277. package/dist/next/{Timeline-DOB2jvQw.js.map → Timeline-BJq3RTWG.js.map} +1 -1
  278. package/dist/next/Timeline.cjs.js +1 -1
  279. package/dist/next/Timeline.js +1 -1
  280. package/dist/next/{Toggle-C60HtU15.js → Toggle-BDiAYcT4.js} +30 -30
  281. package/dist/next/{Toggle-C60HtU15.js.map → Toggle-BDiAYcT4.js.map} +1 -1
  282. package/dist/next/{Toggle-XcxNC4zl.cjs → Toggle-D_g5fvKG.cjs} +30 -30
  283. package/dist/next/{Toggle-XcxNC4zl.cjs.map → Toggle-D_g5fvKG.cjs.map} +1 -1
  284. package/dist/next/Toggle.cjs.js +1 -1
  285. package/dist/next/Toggle.js +1 -1
  286. package/dist/next/{Toolbar-D5g8LTqd.js → Toolbar-C9Zkjg6l.js} +35 -35
  287. package/dist/next/{Toolbar-D5g8LTqd.js.map → Toolbar-C9Zkjg6l.js.map} +1 -1
  288. package/dist/next/{Toolbar-DpFSAdjo.cjs → Toolbar-Dx_lsHnl.cjs} +35 -35
  289. package/dist/next/{Toolbar-DpFSAdjo.cjs.map → Toolbar-Dx_lsHnl.cjs.map} +1 -1
  290. package/dist/next/Toolbar.cjs.js +1 -1
  291. package/dist/next/Toolbar.js +1 -1
  292. package/dist/next/{Tooltip-JN0_utlO.cjs → Tooltip-BLWL7U26.cjs} +39 -39
  293. package/dist/next/{Tooltip-JN0_utlO.cjs.map → Tooltip-BLWL7U26.cjs.map} +1 -1
  294. package/dist/next/{Tooltip-DV6RnlTd.js → Tooltip-DO95QNH2.js} +39 -39
  295. package/dist/next/{Tooltip-DV6RnlTd.js.map → Tooltip-DO95QNH2.js.map} +1 -1
  296. package/dist/next/Tooltip.cjs.js +1 -1
  297. package/dist/next/Tooltip.js +1 -1
  298. package/dist/next/Typography-Dg4Vc3Tm.cjs +215 -0
  299. package/dist/next/Typography-Dg4Vc3Tm.cjs.map +1 -0
  300. package/dist/next/Typography-SgeXdVdI.js +216 -0
  301. package/dist/next/Typography-SgeXdVdI.js.map +1 -0
  302. package/dist/next/Typography.cjs.js +4 -0
  303. package/dist/next/Typography.cjs.js.map +1 -0
  304. package/dist/next/Typography.js +5 -0
  305. package/dist/next/Typography.js.map +1 -0
  306. package/dist/next/boreal-ui.css +9062 -5457
  307. package/dist/next/index.cjs.js +72 -70
  308. package/dist/next/index.cjs.js.map +1 -1
  309. package/dist/next/index.js +79 -77
  310. package/dist/next/index.js.map +1 -1
  311. package/dist/tsconfig.build.tsbuildinfo +1 -1
  312. package/dist/types/components/Modal/ModalBase.d.ts.map +1 -1
  313. package/dist/types/components/ScrollToTop/core/{STT.d.ts → ScrollToTop.d.ts} +1 -1
  314. package/dist/types/components/ScrollToTop/core/ScrollToTop.d.ts.map +1 -0
  315. package/dist/types/components/ScrollToTop/next/{STT.d.ts → ScrollToTop.d.ts} +1 -1
  316. package/dist/types/components/ScrollToTop/next/ScrollToTop.d.ts.map +1 -0
  317. package/dist/types/components/Typography/Typography.types.d.ts +28 -0
  318. package/dist/types/components/Typography/Typography.types.d.ts.map +1 -0
  319. package/dist/types/components/Typography/TypographyBase.d.ts +8 -0
  320. package/dist/types/components/Typography/TypographyBase.d.ts.map +1 -0
  321. package/dist/types/components/Typography/core/Typography.d.ts +6 -0
  322. package/dist/types/components/Typography/core/Typography.d.ts.map +1 -0
  323. package/dist/types/components/Typography/next/Typography.d.ts +5 -0
  324. package/dist/types/components/Typography/next/Typography.d.ts.map +1 -0
  325. package/dist/types/index.core.d.ts +2 -1
  326. package/dist/types/index.core.d.ts.map +1 -1
  327. package/dist/types/index.next.d.ts +2 -1
  328. package/dist/types/index.next.d.ts.map +1 -1
  329. package/dist/types/public.types.d.ts +1 -0
  330. package/package.json +68 -91
  331. package/dist/core/STT-Bdm78oOs.js.map +0 -1
  332. package/dist/core/STT-DKOwe6z3.cjs.map +0 -1
  333. package/dist/next/STT-CFFr1_Ls.js.map +0 -1
  334. package/dist/next/STT-GyAuX3-m.cjs.map +0 -1
  335. package/dist/types/components/ScrollToTop/core/STT.d.ts.map +0 -1
  336. package/dist/types/components/ScrollToTop/next/STT.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-Bxr3hpdX.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\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 [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const labelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isRendered || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n ariaLabel=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n type=\"button\"\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\r\nexport default BaseModal;\r\n","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-Bxr3hpdX.js","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\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 [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const labelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isRendered || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n ariaLabel=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n type=\"button\"\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\r\nexport default BaseModal;\r\n","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["IconButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal-FSXyuUVq.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\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 [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const labelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isRendered || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\r\n\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n ariaLabel=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n type=\"button\"\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\r\nexport default BaseModal;\r\n","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useCallback","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Modal-FSXyuUVq.cjs","sources":["../../src/components/Modal/ModalBase.tsx","../../src/components/Modal/core/Modal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useId,\r\n KeyboardEvent,\r\n useCallback,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { BaseModalProps } from \"./Modal.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseModal: React.FC<BaseModalProps> = ({\r\n className = \"\",\r\n children,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n open,\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 [isVisible, setIsVisible] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [isRendered, setIsRendered] = useState(false);\r\n\r\n const isControlled = typeof open === \"boolean\";\r\n const shouldBeOpen = isControlled ? open : true;\r\n const overlayRef = useRef<HTMLDivElement>(null);\r\n const dialogRef = useRef<HTMLDivElement>(null);\r\n const closeBtnRef = useRef<HTMLButtonElement>(null);\r\n const openerRef = useRef<HTMLElement | null>(null);\r\n const focusablesRef = useRef<HTMLElement[]>([]);\r\n\r\n const uid = useId();\r\n const labelId = `${uid}-label`;\r\n\r\n const handleClose = useCallback(() => {\r\n setIsVisible(false);\r\n window.setTimeout(() => onClose(), 200);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n openerRef.current = (document.activeElement as HTMLElement) ?? null;\r\n\r\n let portal = document.getElementById(portalId);\r\n if (!portal) {\r\n portal = document.createElement(\"div\");\r\n portal.id = portalId;\r\n document.body.appendChild(portal);\r\n }\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n const siblings = Array.from(document.body.children) as HTMLElement[];\r\n const hidden: HTMLElement[] = [];\r\n siblings.forEach((el) => {\r\n if (el !== portal && !el.hasAttribute(\"aria-hidden\")) {\r\n el.setAttribute(\"aria-hidden\", \"true\");\r\n hidden.push(el);\r\n }\r\n });\r\n\r\n const handleEsc = (e: globalThis.KeyboardEvent) => {\r\n if (e.key === \"Escape\") handleClose();\r\n };\r\n document.addEventListener(\"keydown\", handleEsc);\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n hidden.forEach((el) => el.removeAttribute(\"aria-hidden\"));\r\n openerRef.current?.focus?.();\r\n setPortalElement(null);\r\n };\r\n }, [isRendered, portalId, handleClose]);\r\n\r\n useEffect(() => {\r\n if (!isRendered) return;\r\n\r\n requestAnimationFrame(() => {\r\n setIsVisible(true);\r\n\r\n if (dialogRef.current) {\r\n focusablesRef.current = Array.from(\r\n dialogRef.current.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ).filter((el) => !el.hasAttribute(\"disabled\") && el.tabIndex !== -1);\r\n }\r\n\r\n (\r\n focusablesRef.current[0] ??\r\n closeBtnRef.current ??\r\n dialogRef.current\r\n )?.focus?.();\r\n });\r\n }, [isRendered]);\r\n\r\n useEffect(() => {\r\n if (shouldBeOpen) {\r\n setIsRendered(true);\r\n } else if (isControlled) {\r\n setIsVisible(false);\r\n const t = window.setTimeout(() => setIsRendered(false), 200);\r\n return () => window.clearTimeout(t);\r\n } else {\r\n setIsRendered(false);\r\n }\r\n }, [shouldBeOpen, isControlled]);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key !== \"Tab\") return;\r\n const list = focusablesRef.current;\r\n if (!list.length) return;\r\n\r\n const first = list[0];\r\n const last = list[list.length - 1];\r\n\r\n if (e.shiftKey && document.activeElement === first) {\r\n e.preventDefault();\r\n last.focus();\r\n } else if (!e.shiftKey && document.activeElement === last) {\r\n e.preventDefault();\r\n first.focus();\r\n }\r\n };\r\n\r\n if (!isRendered || !portalElement) return null;\r\n\r\n const contentClassName = combineClassNames(\r\n classMap.content,\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n ref={overlayRef}\r\n className={combineClassNames(\r\n classMap.overlay,\r\n isVisible ? classMap.visible : classMap.hidden,\r\n )}\r\n onClick={handleClose}\r\n role=\"presentation\"\r\n data-testid={testId}\r\n >\r\n <div\r\n ref={dialogRef}\r\n className={contentClassName}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={labelId}\r\n tabIndex={-1}\r\n onKeyDown={handleKeyDown}\r\n data-testid={`${testId}-content`}\r\n >\r\n <h2 id={labelId} className={classMap.srOnly ?? \"sr_only\"}>\r\n Modal Dialog\r\n </h2>\r\n <IconButton\r\n ref={closeBtnRef}\r\n className={classMap.closeButton}\r\n state=\"error\"\r\n size=\"small\"\r\n icon={CloseIcon}\r\n ariaLabel=\"Close modal\"\r\n onClick={(e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n handleClose();\r\n }}\r\n title=\"Close\"\r\n data-testid={`${testId}-close`}\r\n type=\"button\"\r\n />\r\n\r\n {children}\r\n </div>\r\n </div>,\r\n portalElement,\r\n );\r\n};\r\n\r\nBaseModal.displayName = \"BaseModal\";\r\nexport default BaseModal;\r\n","import React from \"react\";\r\nimport BaseModal from \"../ModalBase\";\r\nimport \"./Modal.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport { ModalProps } from \"../Modal.types\";\r\n\r\nconst classes = {\r\n overlay: \"modal_overlay\",\r\n visible: \"modal_visible\",\r\n hidden: \"modal_hidden\",\r\n content: \"modal_content\",\r\n closeButton: \"modal_close_button\",\r\n\r\n shadowNone: \"modal_shadow-None\",\r\n shadowLight: \"modal_shadow-Light\",\r\n shadowMedium: \"modal_shadow-Medium\",\r\n shadowStrong: \"modal_shadow-Strong\",\r\n shadowIntense: \"modal_shadow-Intense\",\r\n\r\n roundNone: \"modal_round-None\",\r\n roundSmall: \"modal_round-Small\",\r\n roundMedium: \"modal_round-Medium\",\r\n roundLarge: \"modal_round-Large\",\r\n};\r\n\r\nconst Modal: React.FC<ModalProps> = (props) => {\r\n return <BaseModal {...props} IconButton={IconButton} classMap={classes} />;\r\n};\r\nModal.displayName = \"Modal\";\r\nexport default Modal;\r\n"],"names":["getDefaultRounding","getDefaultShadow","IconButton","useState","useRef","useId","useCallback","useEffect","combineClassNames","capitalize","jsx","jsxs","CloseIcon"],"mappings":"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"}
@@ -118,4 +118,4 @@ ScrollToTopButton.displayName = "ScrollToTopButton";
118
118
  export {
119
119
  ScrollToTopButton as S
120
120
  };
121
- //# sourceMappingURL=STT-Bdm78oOs.js.map
121
+ //# sourceMappingURL=ScrollToTop-Bdm78oOs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTop-Bdm78oOs.js","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/core/ScrollToTop.tsx"],"sourcesContent":["const ArrowUpIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowUpIcon;\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { ScrollToTopBaseProps } from \"./ScrollToTop.types\";\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n className = \"\",\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n let ticking = false;\r\n\r\n const update = () => {\r\n setIsVisible(window.scrollY > offset);\r\n ticking = false;\r\n };\r\n\r\n const onScroll = () => {\r\n if (!ticking) {\r\n ticking = true;\r\n requestAnimationFrame(update);\r\n }\r\n };\r\n\r\n update();\r\n\r\n window.addEventListener(\"scroll\", onScroll, { passive: true });\r\n return () => window.removeEventListener(\"scroll\", onScroll);\r\n }, [offset]);\r\n\r\n const scrollToTop = () => {\r\n if (typeof window === \"undefined\") return;\r\n const prefersReduced = window.matchMedia?.(\r\n \"(prefers-reduced-motion: reduce)\"\r\n ).matches;\r\n window.scrollTo({ top: 0, behavior: prefersReduced ? \"auto\" : \"smooth\" });\r\n };\r\n\r\n const buttonClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.button,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n const iconClass = useMemo(() => combineClassNames(classMap.icon), [classMap]);\r\n\r\n return (\r\n <div\r\n className={combineClassNames(classMap.wrapper, className)}\r\n data-testid={testId}\r\n >\r\n {isVisible && (\r\n <button\r\n type=\"button\"\r\n onClick={scrollToTop}\r\n className={buttonClass}\r\n aria-label=\"Scroll to top\"\r\n title=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent\r\n className={iconClass}\r\n aria-hidden=\"true\"\r\n focusable={false}\r\n />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nScrollToTopBase.displayName = \"ScrollToTopBase\";\r\nexport default ScrollToTopBase;\r\n","import React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport \"./STT.scss\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\nimport { ScrollToTopProps } from \"../ScrollToTop.types\";\r\n\r\nconst classes = {\r\n wrapper: \"scrollToTop\",\r\n button: \"scrollToTop_button\",\r\n icon: \"scrollToTop_icon\",\r\n\r\n shadowNone: \"scrollToTop_shadow-None\",\r\n shadowLight: \"scrollToTop_shadow-Light\",\r\n shadowMedium: \"scrollToTop_shadow-Medium\",\r\n shadowStrong: \"scrollToTop_shadow-Strong\",\r\n shadowIntense: \"scrollToTop_shadow-Intense\",\r\n\r\n roundNone: \"scrollToTop_round-None\",\r\n roundSmall: \"scrollToTop_round-Small\",\r\n roundMedium: \"scrollToTop_round-Medium\",\r\n roundLarge: \"scrollToTop_round-Large\",\r\n};\r\n\r\nconst ScrollToTopButton: React.FC<ScrollToTopProps> = (props) => (\r\n <ScrollToTopBase {...props} classMap={classes} IconComponent={ArrowUpIcon} />\r\n);\r\nScrollToTopButton.displayName = \"ScrollToTopButton\";\r\nexport default ScrollToTopButton;\r\n"],"names":[],"mappings":";;;;;AAAA,MAAM,cAAuD,CAAC,UAC5D;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACTF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,YAAU,MAAM;AACd,QAAI,OAAO,WAAW,YAAa;AAEnC,QAAI,UAAU;AAEd,UAAM,SAAS,MAAM;AACnB,mBAAa,OAAO,UAAU,MAAM;AACpC,gBAAU;AAAA,IACZ;AAEA,UAAM,WAAW,MAAM;AACrB,UAAI,CAAC,SAAS;AACZ,kBAAU;AACV,8BAAsB,MAAM;AAAA,MAC9B;AAAA,IACF;AAEA,WAAA;AAEA,WAAO,iBAAiB,UAAU,UAAU,EAAE,SAAS,MAAM;AAC7D,WAAO,MAAM,OAAO,oBAAoB,UAAU,QAAQ;AAAA,EAC5D,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,cAAc,MAAM;;AACxB,QAAI,OAAO,WAAW,YAAa;AACnC,UAAM,kBAAiB,YAAO,eAAP;AAAA;AAAA,MACrB;AAAA,MACA;AACF,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,iBAAiB,SAAS,UAAU;AAAA,EAC1E;AAEA,QAAM,cAAc;AAAA,IAClB,MACE;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,QAAM,YAAY,QAAQ,MAAM,kBAAkB,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC;AAE5E,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,kBAAkB,SAAS,SAAS,SAAS;AAAA,MACxD,eAAa;AAAA,MAEZ,UAAA,aACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX,cAAW;AAAA,UACX,OAAM;AAAA,UACN,eAAa,GAAG,MAAM;AAAA,UAEtB,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,cACX,eAAY;AAAA,cACZ,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAIR;AAEA,gBAAgB,cAAc;AClF9B,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EAEN,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,oBAAgD,CAAC,UACrD,oBAAC,iBAAA,EAAiB,GAAG,OAAO,UAAU,SAAS,eAAe,YAAA,CAAa;AAE7E,kBAAkB,cAAc;"}
@@ -117,4 +117,4 @@ const classes = {
117
117
  const ScrollToTopButton = (props) => /* @__PURE__ */ jsxRuntime.jsx(ScrollToTopBase, { ...props, classMap: classes, IconComponent: ArrowUpIcon });
118
118
  ScrollToTopButton.displayName = "ScrollToTopButton";
119
119
  exports.ScrollToTopButton = ScrollToTopButton;
120
- //# sourceMappingURL=STT-DKOwe6z3.cjs.map
120
+ //# sourceMappingURL=ScrollToTop-DKOwe6z3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTop-DKOwe6z3.cjs","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/core/ScrollToTop.tsx"],"sourcesContent":["const ArrowUpIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowUpIcon;\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { ScrollToTopBaseProps } from \"./ScrollToTop.types\";\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n className = \"\",\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n let ticking = false;\r\n\r\n const update = () => {\r\n setIsVisible(window.scrollY > offset);\r\n ticking = false;\r\n };\r\n\r\n const onScroll = () => {\r\n if (!ticking) {\r\n ticking = true;\r\n requestAnimationFrame(update);\r\n }\r\n };\r\n\r\n update();\r\n\r\n window.addEventListener(\"scroll\", onScroll, { passive: true });\r\n return () => window.removeEventListener(\"scroll\", onScroll);\r\n }, [offset]);\r\n\r\n const scrollToTop = () => {\r\n if (typeof window === \"undefined\") return;\r\n const prefersReduced = window.matchMedia?.(\r\n \"(prefers-reduced-motion: reduce)\"\r\n ).matches;\r\n window.scrollTo({ top: 0, behavior: prefersReduced ? \"auto\" : \"smooth\" });\r\n };\r\n\r\n const buttonClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.button,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n const iconClass = useMemo(() => combineClassNames(classMap.icon), [classMap]);\r\n\r\n return (\r\n <div\r\n className={combineClassNames(classMap.wrapper, className)}\r\n data-testid={testId}\r\n >\r\n {isVisible && (\r\n <button\r\n type=\"button\"\r\n onClick={scrollToTop}\r\n className={buttonClass}\r\n aria-label=\"Scroll to top\"\r\n title=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent\r\n className={iconClass}\r\n aria-hidden=\"true\"\r\n focusable={false}\r\n />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nScrollToTopBase.displayName = \"ScrollToTopBase\";\r\nexport default ScrollToTopBase;\r\n","import React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport \"./STT.scss\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\nimport { ScrollToTopProps } from \"../ScrollToTop.types\";\r\n\r\nconst classes = {\r\n wrapper: \"scrollToTop\",\r\n button: \"scrollToTop_button\",\r\n icon: \"scrollToTop_icon\",\r\n\r\n shadowNone: \"scrollToTop_shadow-None\",\r\n shadowLight: \"scrollToTop_shadow-Light\",\r\n shadowMedium: \"scrollToTop_shadow-Medium\",\r\n shadowStrong: \"scrollToTop_shadow-Strong\",\r\n shadowIntense: \"scrollToTop_shadow-Intense\",\r\n\r\n roundNone: \"scrollToTop_round-None\",\r\n roundSmall: \"scrollToTop_round-Small\",\r\n roundMedium: \"scrollToTop_round-Medium\",\r\n roundLarge: \"scrollToTop_round-Large\",\r\n};\r\n\r\nconst ScrollToTopButton: React.FC<ScrollToTopProps> = (props) => (\r\n <ScrollToTopBase {...props} classMap={classes} IconComponent={ArrowUpIcon} />\r\n);\r\nScrollToTopButton.displayName = \"ScrollToTopButton\";\r\nexport default ScrollToTopButton;\r\n"],"names":["jsx","getDefaultRounding","getDefaultShadow","useState","useEffect","useMemo","combineClassNames","capitalize"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const STT = require("./STT-DKOwe6z3.cjs");
3
- module.exports = STT.ScrollToTopButton;
2
+ const ScrollToTop = require("./ScrollToTop-DKOwe6z3.cjs");
3
+ module.exports = ScrollToTop.ScrollToTopButton;
4
4
  //# sourceMappingURL=ScrollToTop.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { S } from "./STT-Bdm78oOs.js";
1
+ import { S } from "./ScrollToTop-Bdm78oOs.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const React = require("react");
4
+ const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
5
+ const classNames = require("./classNames-BcWMx052.cjs");
6
+ const DEFAULT_TAG_BY_VARIANT = {
7
+ display: "h1",
8
+ h1: "h1",
9
+ h2: "h2",
10
+ h3: "h3",
11
+ h4: "h4",
12
+ h5: "h5",
13
+ h6: "h6",
14
+ "body-lg": "p",
15
+ body: "p",
16
+ "body-sm": "p",
17
+ label: "span",
18
+ caption: "span",
19
+ overline: "span",
20
+ code: "code"
21
+ };
22
+ const variantClassMap = {
23
+ display: "display",
24
+ h1: "h1",
25
+ h2: "h2",
26
+ h3: "h3",
27
+ h4: "h4",
28
+ h5: "h5",
29
+ h6: "h6",
30
+ "body-lg": "bodyLg",
31
+ body: "body",
32
+ "body-sm": "bodySm",
33
+ label: "label",
34
+ caption: "caption",
35
+ overline: "overline",
36
+ code: "code"
37
+ };
38
+ const alignClassMap = {
39
+ left: "alignLeft",
40
+ center: "alignCenter",
41
+ right: "alignRight",
42
+ inherit: "alignInherit"
43
+ };
44
+ const weightClassMap = {
45
+ light: "weightLight",
46
+ normal: "weightNormal",
47
+ medium: "weightMedium",
48
+ bold: "weightBold",
49
+ bolder: "weightBolder",
50
+ inherit: "weightInherit"
51
+ };
52
+ const themeClassMap = {
53
+ primary: "primary",
54
+ secondary: "secondary",
55
+ tertiary: "tertiary",
56
+ quaternary: "quaternary",
57
+ clear: "clear",
58
+ success: "success",
59
+ warning: "warning",
60
+ error: "error",
61
+ inherit: "themeInherit"
62
+ };
63
+ function TypographyBase({
64
+ children,
65
+ variant = "body",
66
+ as,
67
+ align = "inherit",
68
+ weight = "inherit",
69
+ theme = borealStyleConfig.getDefaultTheme(),
70
+ italic = false,
71
+ underline = false,
72
+ truncate = false,
73
+ noWrap = false,
74
+ srOnly = false,
75
+ className,
76
+ style,
77
+ id,
78
+ title,
79
+ testId,
80
+ classMap: classMap2,
81
+ combineClassNames
82
+ }) {
83
+ const Component = as ?? DEFAULT_TAG_BY_VARIANT[variant];
84
+ const resolvedClassName = React.useMemo(
85
+ () => combineClassNames(
86
+ classMap2.typography,
87
+ classMap2[variantClassMap[variant]],
88
+ classMap2[alignClassMap[align]],
89
+ classMap2[weightClassMap[weight]],
90
+ classMap2[themeClassMap[theme]],
91
+ italic && classMap2.italic,
92
+ underline && classMap2.underline,
93
+ truncate && classMap2.truncate,
94
+ noWrap && classMap2.noWrap,
95
+ srOnly && `sr_only`,
96
+ className
97
+ ),
98
+ [
99
+ classMap2,
100
+ variant,
101
+ align,
102
+ weight,
103
+ theme,
104
+ italic,
105
+ underline,
106
+ truncate,
107
+ noWrap,
108
+ srOnly,
109
+ className,
110
+ combineClassNames
111
+ ]
112
+ );
113
+ return React.createElement(
114
+ Component,
115
+ {
116
+ id,
117
+ title,
118
+ style,
119
+ className: resolvedClassName,
120
+ "data-testid": testId ?? "typography"
121
+ },
122
+ children
123
+ );
124
+ }
125
+ TypographyBase.displayName = "TypographyBase";
126
+ const classMap = {
127
+ typography: "typography",
128
+ display: "typography_display",
129
+ h1: "typography_h1",
130
+ h2: "typography_h2",
131
+ h3: "typography_h3",
132
+ h4: "typography_h4",
133
+ h5: "typography_h5",
134
+ h6: "typography_h6",
135
+ bodyLg: "typography_body-lg",
136
+ body: "typography_body",
137
+ bodySm: "typography_body-sm",
138
+ label: "typography_label",
139
+ caption: "typography_caption",
140
+ overline: "typography_overline",
141
+ code: "typography_code",
142
+ alignLeft: "typography_align-left",
143
+ alignCenter: "typography_align-center",
144
+ alignRight: "typography_align-right",
145
+ alignInherit: "typography_align-inherit",
146
+ weightLight: "typography_weight-light",
147
+ weightNormal: "typography_weight-normal",
148
+ weightMedium: "typography_weight-medium",
149
+ weightBold: "typography_weight-bold",
150
+ weightBolder: "typography_weight-bolder",
151
+ weightInherit: "typography_weight-inherit",
152
+ primary: "typography_primary",
153
+ secondary: "typography_secondary",
154
+ tertiary: "typography_tertiary",
155
+ quaternary: "typography_quaternary",
156
+ clear: "typography_clear",
157
+ success: "typography_success",
158
+ warning: "typography_warning",
159
+ error: "typography_error",
160
+ themeInherit: "typography_theme-inherit",
161
+ italic: "typography_italic",
162
+ underline: "typography_underline",
163
+ truncate: "typography_truncate",
164
+ noWrap: "typography_no-wrap"
165
+ };
166
+ function Typography(props) {
167
+ return /* @__PURE__ */ jsxRuntime.jsx(
168
+ TypographyBase,
169
+ {
170
+ ...props,
171
+ classMap,
172
+ combineClassNames: classNames.combineClassNames
173
+ }
174
+ );
175
+ }
176
+ exports.Typography = Typography;
177
+ //# sourceMappingURL=Typography-CrSonr_W.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography-CrSonr_W.cjs","sources":["../../src/components/Typography/TypographyBase.tsx","../../src/components/Typography/core/Typography.tsx"],"sourcesContent":["import { createElement, JSX, useMemo } from \"react\";\r\nimport {\r\n TypographyAlign,\r\n TypographyBaseProps,\r\n TypographyTheme,\r\n TypographyVariant,\r\n TypographyWeight,\r\n} from \"./Typography.types\";\r\nimport { getDefaultTheme } from \"@/config/boreal-style-config\";\r\n\r\nconst DEFAULT_TAG_BY_VARIANT: Record<\r\n TypographyVariant,\r\n keyof JSX.IntrinsicElements\r\n> = {\r\n display: \"h1\",\r\n h1: \"h1\",\r\n h2: \"h2\",\r\n h3: \"h3\",\r\n h4: \"h4\",\r\n h5: \"h5\",\r\n h6: \"h6\",\r\n \"body-lg\": \"p\",\r\n body: \"p\",\r\n \"body-sm\": \"p\",\r\n label: \"span\",\r\n caption: \"span\",\r\n overline: \"span\",\r\n code: \"code\",\r\n};\r\n\r\nconst variantClassMap: Record<TypographyVariant, string> = {\r\n display: \"display\",\r\n h1: \"h1\",\r\n h2: \"h2\",\r\n h3: \"h3\",\r\n h4: \"h4\",\r\n h5: \"h5\",\r\n h6: \"h6\",\r\n \"body-lg\": \"bodyLg\",\r\n body: \"body\",\r\n \"body-sm\": \"bodySm\",\r\n label: \"label\",\r\n caption: \"caption\",\r\n overline: \"overline\",\r\n code: \"code\",\r\n};\r\n\r\nconst alignClassMap: Record<TypographyAlign, string> = {\r\n left: \"alignLeft\",\r\n center: \"alignCenter\",\r\n right: \"alignRight\",\r\n inherit: \"alignInherit\",\r\n};\r\n\r\nconst weightClassMap: Record<TypographyWeight, string> = {\r\n light: \"weightLight\",\r\n normal: \"weightNormal\",\r\n medium: \"weightMedium\",\r\n bold: \"weightBold\",\r\n bolder: \"weightBolder\",\r\n inherit: \"weightInherit\",\r\n};\r\n\r\nconst themeClassMap: Record<TypographyTheme, string> = {\r\n primary: \"primary\",\r\n secondary: \"secondary\",\r\n tertiary: \"tertiary\",\r\n quaternary: \"quaternary\",\r\n clear: \"clear\",\r\n success: \"success\",\r\n warning: \"warning\",\r\n error: \"error\",\r\n inherit: \"themeInherit\",\r\n};\r\n\r\nfunction TypographyBase({\r\n children,\r\n variant = \"body\",\r\n as,\r\n align = \"inherit\",\r\n weight = \"inherit\",\r\n theme = getDefaultTheme(),\r\n italic = false,\r\n underline = false,\r\n truncate = false,\r\n noWrap = false,\r\n srOnly = false,\r\n className,\r\n style,\r\n id,\r\n title,\r\n testId,\r\n classMap,\r\n combineClassNames,\r\n}: TypographyBaseProps): JSX.Element {\r\n const Component = as ?? DEFAULT_TAG_BY_VARIANT[variant];\r\n\r\n const resolvedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.typography,\r\n classMap[variantClassMap[variant]],\r\n classMap[alignClassMap[align]],\r\n classMap[weightClassMap[weight]],\r\n classMap[themeClassMap[theme]],\r\n italic && classMap.italic,\r\n underline && classMap.underline,\r\n truncate && classMap.truncate,\r\n noWrap && classMap.noWrap,\r\n srOnly && `sr_only`,\r\n className,\r\n ),\r\n [\r\n classMap,\r\n variant,\r\n align,\r\n weight,\r\n theme,\r\n italic,\r\n underline,\r\n truncate,\r\n noWrap,\r\n srOnly,\r\n className,\r\n combineClassNames,\r\n ],\r\n );\r\n\r\n return createElement(\r\n Component,\r\n {\r\n id,\r\n title,\r\n style,\r\n className: resolvedClassName,\r\n \"data-testid\": testId ?? \"typography\",\r\n },\r\n children,\r\n );\r\n}\r\n\r\nTypographyBase.displayName = \"TypographyBase\";\r\nexport default TypographyBase;\r\n","\"use client\";\r\n\r\nimport { JSX } from \"react\";\r\nimport TypographyBase from \"../TypographyBase\";\r\nimport { TypographyOwnProps } from \"../Typography.types\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\nimport \"./Typography.scss\";\r\n\r\nconst classMap = {\r\n typography: \"typography\",\r\n display: \"typography_display\",\r\n h1: \"typography_h1\",\r\n h2: \"typography_h2\",\r\n h3: \"typography_h3\",\r\n h4: \"typography_h4\",\r\n h5: \"typography_h5\",\r\n h6: \"typography_h6\",\r\n bodyLg: \"typography_body-lg\",\r\n body: \"typography_body\",\r\n bodySm: \"typography_body-sm\",\r\n label: \"typography_label\",\r\n caption: \"typography_caption\",\r\n overline: \"typography_overline\",\r\n code: \"typography_code\",\r\n alignLeft: \"typography_align-left\",\r\n alignCenter: \"typography_align-center\",\r\n alignRight: \"typography_align-right\",\r\n alignInherit: \"typography_align-inherit\",\r\n weightLight: \"typography_weight-light\",\r\n weightNormal: \"typography_weight-normal\",\r\n weightMedium: \"typography_weight-medium\",\r\n weightBold: \"typography_weight-bold\",\r\n weightBolder: \"typography_weight-bolder\",\r\n weightInherit: \"typography_weight-inherit\",\r\n primary: \"typography_primary\",\r\n secondary: \"typography_secondary\",\r\n tertiary: \"typography_tertiary\",\r\n quaternary: \"typography_quaternary\",\r\n clear: \"typography_clear\",\r\n success: \"typography_success\",\r\n warning: \"typography_warning\",\r\n error: \"typography_error\",\r\n themeInherit: \"typography_theme-inherit\",\r\n italic: \"typography_italic\",\r\n underline: \"typography_underline\",\r\n truncate: \"typography_truncate\",\r\n noWrap: \"typography_no-wrap\",\r\n};\r\n\r\nexport type TypographyProps = TypographyOwnProps;\r\n\r\nexport default function Typography(props: TypographyProps): JSX.Element {\r\n return (\r\n <TypographyBase\r\n {...props}\r\n classMap={classMap}\r\n combineClassNames={combineClassNames}\r\n />\r\n );\r\n}\r\n"],"names":["getDefaultTheme","classMap","useMemo","createElement","jsx","combineClassNames"],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMemo, createElement } from "react";
3
+ import { d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
4
+ import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
5
+ const DEFAULT_TAG_BY_VARIANT = {
6
+ display: "h1",
7
+ h1: "h1",
8
+ h2: "h2",
9
+ h3: "h3",
10
+ h4: "h4",
11
+ h5: "h5",
12
+ h6: "h6",
13
+ "body-lg": "p",
14
+ body: "p",
15
+ "body-sm": "p",
16
+ label: "span",
17
+ caption: "span",
18
+ overline: "span",
19
+ code: "code"
20
+ };
21
+ const variantClassMap = {
22
+ display: "display",
23
+ h1: "h1",
24
+ h2: "h2",
25
+ h3: "h3",
26
+ h4: "h4",
27
+ h5: "h5",
28
+ h6: "h6",
29
+ "body-lg": "bodyLg",
30
+ body: "body",
31
+ "body-sm": "bodySm",
32
+ label: "label",
33
+ caption: "caption",
34
+ overline: "overline",
35
+ code: "code"
36
+ };
37
+ const alignClassMap = {
38
+ left: "alignLeft",
39
+ center: "alignCenter",
40
+ right: "alignRight",
41
+ inherit: "alignInherit"
42
+ };
43
+ const weightClassMap = {
44
+ light: "weightLight",
45
+ normal: "weightNormal",
46
+ medium: "weightMedium",
47
+ bold: "weightBold",
48
+ bolder: "weightBolder",
49
+ inherit: "weightInherit"
50
+ };
51
+ const themeClassMap = {
52
+ primary: "primary",
53
+ secondary: "secondary",
54
+ tertiary: "tertiary",
55
+ quaternary: "quaternary",
56
+ clear: "clear",
57
+ success: "success",
58
+ warning: "warning",
59
+ error: "error",
60
+ inherit: "themeInherit"
61
+ };
62
+ function TypographyBase({
63
+ children,
64
+ variant = "body",
65
+ as,
66
+ align = "inherit",
67
+ weight = "inherit",
68
+ theme = getDefaultTheme(),
69
+ italic = false,
70
+ underline = false,
71
+ truncate = false,
72
+ noWrap = false,
73
+ srOnly = false,
74
+ className,
75
+ style,
76
+ id,
77
+ title,
78
+ testId,
79
+ classMap: classMap2,
80
+ combineClassNames: combineClassNames2
81
+ }) {
82
+ const Component = as ?? DEFAULT_TAG_BY_VARIANT[variant];
83
+ const resolvedClassName = useMemo(
84
+ () => combineClassNames2(
85
+ classMap2.typography,
86
+ classMap2[variantClassMap[variant]],
87
+ classMap2[alignClassMap[align]],
88
+ classMap2[weightClassMap[weight]],
89
+ classMap2[themeClassMap[theme]],
90
+ italic && classMap2.italic,
91
+ underline && classMap2.underline,
92
+ truncate && classMap2.truncate,
93
+ noWrap && classMap2.noWrap,
94
+ srOnly && `sr_only`,
95
+ className
96
+ ),
97
+ [
98
+ classMap2,
99
+ variant,
100
+ align,
101
+ weight,
102
+ theme,
103
+ italic,
104
+ underline,
105
+ truncate,
106
+ noWrap,
107
+ srOnly,
108
+ className,
109
+ combineClassNames2
110
+ ]
111
+ );
112
+ return createElement(
113
+ Component,
114
+ {
115
+ id,
116
+ title,
117
+ style,
118
+ className: resolvedClassName,
119
+ "data-testid": testId ?? "typography"
120
+ },
121
+ children
122
+ );
123
+ }
124
+ TypographyBase.displayName = "TypographyBase";
125
+ const classMap = {
126
+ typography: "typography",
127
+ display: "typography_display",
128
+ h1: "typography_h1",
129
+ h2: "typography_h2",
130
+ h3: "typography_h3",
131
+ h4: "typography_h4",
132
+ h5: "typography_h5",
133
+ h6: "typography_h6",
134
+ bodyLg: "typography_body-lg",
135
+ body: "typography_body",
136
+ bodySm: "typography_body-sm",
137
+ label: "typography_label",
138
+ caption: "typography_caption",
139
+ overline: "typography_overline",
140
+ code: "typography_code",
141
+ alignLeft: "typography_align-left",
142
+ alignCenter: "typography_align-center",
143
+ alignRight: "typography_align-right",
144
+ alignInherit: "typography_align-inherit",
145
+ weightLight: "typography_weight-light",
146
+ weightNormal: "typography_weight-normal",
147
+ weightMedium: "typography_weight-medium",
148
+ weightBold: "typography_weight-bold",
149
+ weightBolder: "typography_weight-bolder",
150
+ weightInherit: "typography_weight-inherit",
151
+ primary: "typography_primary",
152
+ secondary: "typography_secondary",
153
+ tertiary: "typography_tertiary",
154
+ quaternary: "typography_quaternary",
155
+ clear: "typography_clear",
156
+ success: "typography_success",
157
+ warning: "typography_warning",
158
+ error: "typography_error",
159
+ themeInherit: "typography_theme-inherit",
160
+ italic: "typography_italic",
161
+ underline: "typography_underline",
162
+ truncate: "typography_truncate",
163
+ noWrap: "typography_no-wrap"
164
+ };
165
+ function Typography(props) {
166
+ return /* @__PURE__ */ jsx(
167
+ TypographyBase,
168
+ {
169
+ ...props,
170
+ classMap,
171
+ combineClassNames
172
+ }
173
+ );
174
+ }
175
+ export {
176
+ Typography as T
177
+ };
178
+ //# sourceMappingURL=Typography-DFXpv9CF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography-DFXpv9CF.js","sources":["../../src/components/Typography/TypographyBase.tsx","../../src/components/Typography/core/Typography.tsx"],"sourcesContent":["import { createElement, JSX, useMemo } from \"react\";\r\nimport {\r\n TypographyAlign,\r\n TypographyBaseProps,\r\n TypographyTheme,\r\n TypographyVariant,\r\n TypographyWeight,\r\n} from \"./Typography.types\";\r\nimport { getDefaultTheme } from \"@/config/boreal-style-config\";\r\n\r\nconst DEFAULT_TAG_BY_VARIANT: Record<\r\n TypographyVariant,\r\n keyof JSX.IntrinsicElements\r\n> = {\r\n display: \"h1\",\r\n h1: \"h1\",\r\n h2: \"h2\",\r\n h3: \"h3\",\r\n h4: \"h4\",\r\n h5: \"h5\",\r\n h6: \"h6\",\r\n \"body-lg\": \"p\",\r\n body: \"p\",\r\n \"body-sm\": \"p\",\r\n label: \"span\",\r\n caption: \"span\",\r\n overline: \"span\",\r\n code: \"code\",\r\n};\r\n\r\nconst variantClassMap: Record<TypographyVariant, string> = {\r\n display: \"display\",\r\n h1: \"h1\",\r\n h2: \"h2\",\r\n h3: \"h3\",\r\n h4: \"h4\",\r\n h5: \"h5\",\r\n h6: \"h6\",\r\n \"body-lg\": \"bodyLg\",\r\n body: \"body\",\r\n \"body-sm\": \"bodySm\",\r\n label: \"label\",\r\n caption: \"caption\",\r\n overline: \"overline\",\r\n code: \"code\",\r\n};\r\n\r\nconst alignClassMap: Record<TypographyAlign, string> = {\r\n left: \"alignLeft\",\r\n center: \"alignCenter\",\r\n right: \"alignRight\",\r\n inherit: \"alignInherit\",\r\n};\r\n\r\nconst weightClassMap: Record<TypographyWeight, string> = {\r\n light: \"weightLight\",\r\n normal: \"weightNormal\",\r\n medium: \"weightMedium\",\r\n bold: \"weightBold\",\r\n bolder: \"weightBolder\",\r\n inherit: \"weightInherit\",\r\n};\r\n\r\nconst themeClassMap: Record<TypographyTheme, string> = {\r\n primary: \"primary\",\r\n secondary: \"secondary\",\r\n tertiary: \"tertiary\",\r\n quaternary: \"quaternary\",\r\n clear: \"clear\",\r\n success: \"success\",\r\n warning: \"warning\",\r\n error: \"error\",\r\n inherit: \"themeInherit\",\r\n};\r\n\r\nfunction TypographyBase({\r\n children,\r\n variant = \"body\",\r\n as,\r\n align = \"inherit\",\r\n weight = \"inherit\",\r\n theme = getDefaultTheme(),\r\n italic = false,\r\n underline = false,\r\n truncate = false,\r\n noWrap = false,\r\n srOnly = false,\r\n className,\r\n style,\r\n id,\r\n title,\r\n testId,\r\n classMap,\r\n combineClassNames,\r\n}: TypographyBaseProps): JSX.Element {\r\n const Component = as ?? DEFAULT_TAG_BY_VARIANT[variant];\r\n\r\n const resolvedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.typography,\r\n classMap[variantClassMap[variant]],\r\n classMap[alignClassMap[align]],\r\n classMap[weightClassMap[weight]],\r\n classMap[themeClassMap[theme]],\r\n italic && classMap.italic,\r\n underline && classMap.underline,\r\n truncate && classMap.truncate,\r\n noWrap && classMap.noWrap,\r\n srOnly && `sr_only`,\r\n className,\r\n ),\r\n [\r\n classMap,\r\n variant,\r\n align,\r\n weight,\r\n theme,\r\n italic,\r\n underline,\r\n truncate,\r\n noWrap,\r\n srOnly,\r\n className,\r\n combineClassNames,\r\n ],\r\n );\r\n\r\n return createElement(\r\n Component,\r\n {\r\n id,\r\n title,\r\n style,\r\n className: resolvedClassName,\r\n \"data-testid\": testId ?? \"typography\",\r\n },\r\n children,\r\n );\r\n}\r\n\r\nTypographyBase.displayName = \"TypographyBase\";\r\nexport default TypographyBase;\r\n","\"use client\";\r\n\r\nimport { JSX } from \"react\";\r\nimport TypographyBase from \"../TypographyBase\";\r\nimport { TypographyOwnProps } from \"../Typography.types\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\nimport \"./Typography.scss\";\r\n\r\nconst classMap = {\r\n typography: \"typography\",\r\n display: \"typography_display\",\r\n h1: \"typography_h1\",\r\n h2: \"typography_h2\",\r\n h3: \"typography_h3\",\r\n h4: \"typography_h4\",\r\n h5: \"typography_h5\",\r\n h6: \"typography_h6\",\r\n bodyLg: \"typography_body-lg\",\r\n body: \"typography_body\",\r\n bodySm: \"typography_body-sm\",\r\n label: \"typography_label\",\r\n caption: \"typography_caption\",\r\n overline: \"typography_overline\",\r\n code: \"typography_code\",\r\n alignLeft: \"typography_align-left\",\r\n alignCenter: \"typography_align-center\",\r\n alignRight: \"typography_align-right\",\r\n alignInherit: \"typography_align-inherit\",\r\n weightLight: \"typography_weight-light\",\r\n weightNormal: \"typography_weight-normal\",\r\n weightMedium: \"typography_weight-medium\",\r\n weightBold: \"typography_weight-bold\",\r\n weightBolder: \"typography_weight-bolder\",\r\n weightInherit: \"typography_weight-inherit\",\r\n primary: \"typography_primary\",\r\n secondary: \"typography_secondary\",\r\n tertiary: \"typography_tertiary\",\r\n quaternary: \"typography_quaternary\",\r\n clear: \"typography_clear\",\r\n success: \"typography_success\",\r\n warning: \"typography_warning\",\r\n error: \"typography_error\",\r\n themeInherit: \"typography_theme-inherit\",\r\n italic: \"typography_italic\",\r\n underline: \"typography_underline\",\r\n truncate: \"typography_truncate\",\r\n noWrap: \"typography_no-wrap\",\r\n};\r\n\r\nexport type TypographyProps = TypographyOwnProps;\r\n\r\nexport default function Typography(props: TypographyProps): JSX.Element {\r\n return (\r\n <TypographyBase\r\n {...props}\r\n classMap={classMap}\r\n combineClassNames={combineClassNames}\r\n />\r\n );\r\n}\r\n"],"names":["classMap","combineClassNames"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const Typography = require("./Typography-CrSonr_W.cjs");
3
+ module.exports = Typography.Typography;
4
+ //# sourceMappingURL=Typography.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,5 @@
1
+ import { T } from "./Typography-DFXpv9CF.js";
2
+ export {
3
+ T as default
4
+ };
5
+ //# sourceMappingURL=Typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}