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.
- package/dist/core/Modal-Bxr3hpdX.js.map +1 -1
- package/dist/core/Modal-FSXyuUVq.cjs.map +1 -1
- package/dist/core/{STT-Bdm78oOs.js → ScrollToTop-Bdm78oOs.js} +1 -1
- package/dist/core/ScrollToTop-Bdm78oOs.js.map +1 -0
- package/dist/core/{STT-DKOwe6z3.cjs → ScrollToTop-DKOwe6z3.cjs} +1 -1
- package/dist/core/ScrollToTop-DKOwe6z3.cjs.map +1 -0
- package/dist/core/ScrollToTop.cjs.js +2 -2
- package/dist/core/ScrollToTop.js +1 -1
- package/dist/core/Typography-CrSonr_W.cjs +177 -0
- package/dist/core/Typography-CrSonr_W.cjs.map +1 -0
- package/dist/core/Typography-DFXpv9CF.js +178 -0
- package/dist/core/Typography-DFXpv9CF.js.map +1 -0
- package/dist/core/Typography.cjs.js +4 -0
- package/dist/core/Typography.cjs.js.map +1 -0
- package/dist/core/Typography.js +5 -0
- package/dist/core/Typography.js.map +1 -0
- package/dist/core/boreal-ui.css +6328 -2654
- package/dist/core/index.cjs.js +4 -2
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +19 -17
- package/dist/core/index.js.map +1 -1
- package/dist/next/{Accordion-CSuvjzRd.js → Accordion-Dn_TH9Fi.js} +51 -51
- package/dist/next/{Accordion-CSuvjzRd.js.map → Accordion-Dn_TH9Fi.js.map} +1 -1
- package/dist/next/{Accordion-DJP5RUWz.cjs → Accordion-DwVQe79s.cjs} +51 -51
- package/dist/next/{Accordion-DJP5RUWz.cjs.map → Accordion-DwVQe79s.cjs.map} +1 -1
- package/dist/next/Accordion.cjs.js +1 -1
- package/dist/next/Accordion.js +1 -1
- package/dist/next/{Avatar-B24bFFqY.js → Avatar-D3l1T_H7.js} +40 -40
- package/dist/next/{Avatar-B24bFFqY.js.map → Avatar-D3l1T_H7.js.map} +1 -1
- package/dist/next/{Avatar-CPaxiA0r.cjs → Avatar-aNqEuazN.cjs} +40 -40
- package/dist/next/{Avatar-CPaxiA0r.cjs.map → Avatar-aNqEuazN.cjs.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Badge-BZNYm0IU.js → Badge-DxwCU8MI.js} +31 -31
- package/dist/next/{Badge-BZNYm0IU.js.map → Badge-DxwCU8MI.js.map} +1 -1
- package/dist/next/{Badge-dTyh833r.cjs → Badge-QK8EwBZC.cjs} +31 -31
- package/dist/next/{Badge-dTyh833r.cjs.map → Badge-QK8EwBZC.cjs.map} +1 -1
- package/dist/next/Badge.cjs.js +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-CqkrFb6w.cjs → Breadcrumbs-3XEDzKbm.cjs} +38 -38
- package/dist/next/{Breadcrumbs-CqkrFb6w.cjs.map → Breadcrumbs-3XEDzKbm.cjs.map} +1 -1
- package/dist/next/{Breadcrumbs-B8SQS1dq.js → Breadcrumbs-BsNWBc-h.js} +38 -38
- package/dist/next/{Breadcrumbs-B8SQS1dq.js.map → Breadcrumbs-BsNWBc-h.js.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-BQeFF7ZM.cjs → Button-BxKYm6hW.cjs} +46 -46
- package/dist/next/{Button-BQeFF7ZM.cjs.map → Button-BxKYm6hW.cjs.map} +1 -1
- package/dist/next/{Button-dzwAH8UY.js → Button-CbLs7Xb_.js} +46 -46
- package/dist/next/{Button-dzwAH8UY.js.map → Button-CbLs7Xb_.js.map} +1 -1
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-BSxPDuMD.js → Card--Vnbkx_t.js} +63 -65
- package/dist/next/{Card-BSxPDuMD.js.map → Card--Vnbkx_t.js.map} +1 -1
- package/dist/next/{Card-ChIJfojd.cjs → Card-F3Rcxsp7.cjs} +63 -65
- package/dist/next/{Card-ChIJfojd.cjs.map → Card-F3Rcxsp7.cjs.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.cjs.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/{Checkbox-DqVauJRe.js → Checkbox-DCP9e_zW.js} +44 -44
- package/dist/next/{Checkbox-DqVauJRe.js.map → Checkbox-DCP9e_zW.js.map} +1 -1
- package/dist/next/{Checkbox-Bzn99W2L.cjs → Checkbox-V_yJTGLJ.cjs} +44 -44
- package/dist/next/{Checkbox-Bzn99W2L.cjs.map → Checkbox-V_yJTGLJ.cjs.map} +1 -1
- package/dist/next/{Chip-DlTqvojt.cjs → Chip-DZJSDzXr.cjs} +51 -51
- package/dist/next/{Chip-DlTqvojt.cjs.map → Chip-DZJSDzXr.cjs.map} +1 -1
- package/dist/next/{Chip-DxeWWlBR.js → Chip-RMMKC89X.js} +51 -51
- package/dist/next/{Chip-DxeWWlBR.js.map → Chip-RMMKC89X.js.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CircularProgress-jQRdsbUh.cjs → CircularProgress-D7VkwZME.cjs} +37 -37
- package/dist/next/{CircularProgress-jQRdsbUh.cjs.map → CircularProgress-D7VkwZME.cjs.map} +1 -1
- package/dist/next/{CircularProgress-DpjGYo1M.js → CircularProgress-DDzPH1aF.js} +37 -37
- package/dist/next/{CircularProgress-DpjGYo1M.js.map → CircularProgress-DDzPH1aF.js.map} +1 -1
- package/dist/next/CircularProgress.cjs.js +1 -1
- package/dist/next/CircularProgress.js +1 -1
- package/dist/next/{ColorPicker-BSkwq1FF.cjs → ColorPicker-D5SYdLA9.cjs} +38 -38
- package/dist/next/{ColorPicker-BSkwq1FF.cjs.map → ColorPicker-D5SYdLA9.cjs.map} +1 -1
- package/dist/next/{ColorPicker-CE2KugMh.js → ColorPicker-llWz1lyd.js} +38 -38
- package/dist/next/{ColorPicker-CE2KugMh.js.map → ColorPicker-llWz1lyd.js.map} +1 -1
- package/dist/next/ColorPicker.cjs.js +1 -1
- package/dist/next/ColorPicker.js +1 -1
- package/dist/next/{CommandPalette-vI2ZNmpf.js → CommandPalette-BKXggOFe.js} +42 -42
- package/dist/next/{CommandPalette-vI2ZNmpf.js.map → CommandPalette-BKXggOFe.js.map} +1 -1
- package/dist/next/{CommandPalette-fqwvmrZI.cjs → CommandPalette-DVwb5WCx.cjs} +42 -42
- package/dist/next/{CommandPalette-fqwvmrZI.cjs.map → CommandPalette-DVwb5WCx.cjs.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{DataTable-jVFfwGXs.cjs → DataTable-DdbfhIs4.cjs} +40 -40
- package/dist/next/{DataTable-jVFfwGXs.cjs.map → DataTable-DdbfhIs4.cjs.map} +1 -1
- package/dist/next/{DataTable-86qN3udf.js → DataTable-v0Tuwx7T.js} +40 -40
- package/dist/next/{DataTable-86qN3udf.js.map → DataTable-v0Tuwx7T.js.map} +1 -1
- package/dist/next/DataTable.cjs.js +1 -1
- package/dist/next/DataTable.js +1 -1
- package/dist/next/{DateTimePicker-CdmCGMbz.js → DateTimePicker-BBF5R9-X.js} +46 -46
- package/dist/next/{DateTimePicker-CdmCGMbz.js.map → DateTimePicker-BBF5R9-X.js.map} +1 -1
- package/dist/next/{DateTimePicker-4gNc9g_2.cjs → DateTimePicker-DVo9uK3q.cjs} +46 -46
- package/dist/next/{DateTimePicker-4gNc9g_2.cjs.map → DateTimePicker-DVo9uK3q.cjs.map} +1 -1
- package/dist/next/DateTimePicker.cjs.js +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Divider-2IaSI2OY.js → Divider-SOFRGXN4.js} +28 -28
- package/dist/next/{Divider-2IaSI2OY.js.map → Divider-SOFRGXN4.js.map} +1 -1
- package/dist/next/{Divider-CNpitvsk.cjs → Divider-qisY9Yx8.cjs} +28 -28
- package/dist/next/{Divider-CNpitvsk.cjs.map → Divider-qisY9Yx8.cjs.map} +1 -1
- package/dist/next/Divider.cjs.js +1 -1
- package/dist/next/Divider.js +1 -1
- package/dist/next/{Dropdown-IW2Ph6-e.cjs → Dropdown-BkgFTyAd.cjs} +22 -22
- package/dist/next/{Dropdown-IW2Ph6-e.cjs.map → Dropdown-BkgFTyAd.cjs.map} +1 -1
- package/dist/next/{Dropdown-BjxT8ivq.js → Dropdown-VXFj_bFP.js} +22 -22
- package/dist/next/{Dropdown-BjxT8ivq.js.map → Dropdown-VXFj_bFP.js.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-DiMUF0-I.js → EmptyState-AM8RgRxl.js} +31 -31
- package/dist/next/{EmptyState-DiMUF0-I.js.map → EmptyState-AM8RgRxl.js.map} +1 -1
- package/dist/next/{EmptyState-DcFVTJQx.cjs → EmptyState-BbasdxVa.cjs} +31 -31
- package/dist/next/{EmptyState-DcFVTJQx.cjs.map → EmptyState-BbasdxVa.cjs.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-DrlPc8gs.cjs → FileUpload-Cz5Cmf7D.cjs} +52 -52
- package/dist/next/{FileUpload-DrlPc8gs.cjs.map → FileUpload-Cz5Cmf7D.cjs.map} +1 -1
- package/dist/next/{FileUpload-Cd3-oT3u.js → FileUpload-vAtZJfmM.js} +52 -52
- package/dist/next/{FileUpload-Cd3-oT3u.js.map → FileUpload-vAtZJfmM.js.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-Bbu5jH0b.js → Footer-BeALudhE.js} +42 -42
- package/dist/next/{Footer-Bbu5jH0b.js.map → Footer-BeALudhE.js.map} +1 -1
- package/dist/next/{Footer-CpONiW_q.cjs → Footer-CX_AJG0N.cjs} +42 -42
- package/dist/next/{Footer-CpONiW_q.cjs.map → Footer-CX_AJG0N.cjs.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{FormGroup-VzRJhCle.cjs → FormGroup-ZIcoxpF7.cjs} +31 -31
- package/dist/next/{FormGroup-VzRJhCle.cjs.map → FormGroup-ZIcoxpF7.cjs.map} +1 -1
- package/dist/next/{FormGroup-BTt7jSKj.js → FormGroup-dDYVBjuL.js} +31 -31
- package/dist/next/{FormGroup-BTt7jSKj.js.map → FormGroup-dDYVBjuL.js.map} +1 -1
- package/dist/next/FormGroup.cjs.js +1 -1
- package/dist/next/FormGroup.js +1 -1
- package/dist/next/{IconButton-Ct3YtlG9.js → IconButton-Cl0mZxov.js} +30 -30
- package/dist/next/{IconButton-Ct3YtlG9.js.map → IconButton-Cl0mZxov.js.map} +1 -1
- package/dist/next/{IconButton-aF7cTy19.cjs → IconButton-D3MIvof0.cjs} +30 -30
- package/dist/next/{IconButton-aF7cTy19.cjs.map → IconButton-D3MIvof0.cjs.map} +1 -1
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/{MarkdownRenderer-l6hdKOt0.cjs → MarkdownRenderer-BxR_D4HC.cjs} +12 -12
- package/dist/next/{MarkdownRenderer-l6hdKOt0.cjs.map → MarkdownRenderer-BxR_D4HC.cjs.map} +1 -1
- package/dist/next/{MarkdownRenderer-B8_D0j7d.js → MarkdownRenderer-yVj97cUU.js} +12 -12
- package/dist/next/{MarkdownRenderer-B8_D0j7d.js.map → MarkdownRenderer-yVj97cUU.js.map} +1 -1
- package/dist/next/MarkdownRenderer.cjs.js +1 -1
- package/dist/next/MarkdownRenderer.js +1 -1
- package/dist/next/{MessagePopup-dSo4y6lC.js → MessagePopup-Cb98cQsc.js} +22 -22
- package/dist/next/{MessagePopup-dSo4y6lC.js.map → MessagePopup-Cb98cQsc.js.map} +1 -1
- package/dist/next/{MessagePopup-DCWbLLx0.cjs → MessagePopup-CdGMtQjq.cjs} +22 -22
- package/dist/next/{MessagePopup-DCWbLLx0.cjs.map → MessagePopup-CdGMtQjq.cjs.map} +1 -1
- package/dist/next/MessagePopup.cjs.js +1 -1
- package/dist/next/MessagePopup.js +1 -1
- package/dist/next/{MetricBox-Cw1pBTxX.js → MetricBox-BgErSHJ2.js} +47 -47
- package/dist/next/{MetricBox-Cw1pBTxX.js.map → MetricBox-BgErSHJ2.js.map} +1 -1
- package/dist/next/{MetricBox-BLwnpI4m.cjs → MetricBox-DnKSec6I.cjs} +47 -47
- package/dist/next/{MetricBox-BLwnpI4m.cjs.map → MetricBox-DnKSec6I.cjs.map} +1 -1
- package/dist/next/MetricBox.cjs.js +1 -1
- package/dist/next/MetricBox.js +1 -1
- package/dist/next/{Modal-BykHn4WN.cjs → Modal-C2b5gSAI.cjs} +17 -17
- package/dist/next/{Modal-BykHn4WN.cjs.map → Modal-C2b5gSAI.cjs.map} +1 -1
- package/dist/next/{Modal-BaW3Kw7r.js → Modal-DIMVFaMZ.js} +17 -17
- package/dist/next/{Modal-BaW3Kw7r.js.map → Modal-DIMVFaMZ.js.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-DdGNHcf0.js → NavBar-B5mwxdyF.js} +37 -37
- package/dist/next/{NavBar-DdGNHcf0.js.map → NavBar-B5mwxdyF.js.map} +1 -1
- package/dist/next/{NavBar-Caubid_j.cjs → NavBar-MdBgi_nF.cjs} +37 -37
- package/dist/next/{NavBar-Caubid_j.cjs.map → NavBar-MdBgi_nF.cjs.map} +1 -1
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-W6GGUvqi.cjs → NotificationCenter-Caz3jxdn.cjs} +43 -43
- package/dist/next/{NotificationCenter-W6GGUvqi.cjs.map → NotificationCenter-Caz3jxdn.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-mqceyjiT.js → NotificationCenter-_XsQhE7s.js} +43 -43
- package/dist/next/{NotificationCenter-mqceyjiT.js.map → NotificationCenter-_XsQhE7s.js.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-X9ylgT-Z.cjs → Pager-B8F1r2e2.cjs} +7 -7
- package/dist/next/{Pager-X9ylgT-Z.cjs.map → Pager-B8F1r2e2.cjs.map} +1 -1
- package/dist/next/{Pager-BcKZAgWA.js → Pager-DvKe6hJy.js} +7 -7
- package/dist/next/{Pager-BcKZAgWA.js.map → Pager-DvKe6hJy.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{PopOver-wFG4sWoa.cjs → PopOver-DKO8mxAQ.cjs} +40 -40
- package/dist/next/{PopOver-wFG4sWoa.cjs.map → PopOver-DKO8mxAQ.cjs.map} +1 -1
- package/dist/next/{PopOver-BsLKgUHd.js → PopOver-RQs7wnzJ.js} +40 -40
- package/dist/next/{PopOver-BsLKgUHd.js.map → PopOver-RQs7wnzJ.js.map} +1 -1
- package/dist/next/PopOver.cjs.js +1 -1
- package/dist/next/PopOver.js +1 -1
- package/dist/next/{ProgressBar-Cd-4-rSv.cjs → ProgressBar-C2RB6irR.cjs} +56 -56
- package/dist/next/{ProgressBar-Cd-4-rSv.cjs.map → ProgressBar-C2RB6irR.cjs.map} +1 -1
- package/dist/next/{ProgressBar-Dvk8hhdp.js → ProgressBar-CpPnKp50.js} +56 -56
- package/dist/next/{ProgressBar-Dvk8hhdp.js.map → ProgressBar-CpPnKp50.js.map} +1 -1
- package/dist/next/ProgressBar.cjs.js +1 -1
- package/dist/next/ProgressBar.js +1 -1
- package/dist/next/{RadioButton-2Zfeqi3P.cjs → RadioButton-D0653S8V.cjs} +38 -38
- package/dist/next/{RadioButton-2Zfeqi3P.cjs.map → RadioButton-D0653S8V.cjs.map} +1 -1
- package/dist/next/{RadioButton-BQ3NCQAG.js → RadioButton-y2Gj8oA8.js} +38 -38
- package/dist/next/{RadioButton-BQ3NCQAG.js.map → RadioButton-y2Gj8oA8.js.map} +1 -1
- package/dist/next/RadioButton.cjs.js +1 -1
- package/dist/next/RadioButton.js +1 -1
- package/dist/next/{Rating-CqZxr01n.js → Rating-CdLx5K9F.js} +34 -34
- package/dist/next/{Rating-CqZxr01n.js.map → Rating-CdLx5K9F.js.map} +1 -1
- package/dist/next/{Rating-DB4le920.cjs → Rating-Dwl39FBy.cjs} +34 -34
- package/dist/next/{Rating-DB4le920.cjs.map → Rating-Dwl39FBy.cjs.map} +1 -1
- package/dist/next/Rating.cjs.js +1 -1
- package/dist/next/Rating.js +1 -1
- package/dist/next/{STT-GyAuX3-m.cjs → ScrollToTop-B_-WfAAW.cjs} +14 -14
- package/dist/next/ScrollToTop-B_-WfAAW.cjs.map +1 -0
- package/dist/next/{STT-CFFr1_Ls.js → ScrollToTop-goObm3qq.js} +14 -14
- package/dist/next/ScrollToTop-goObm3qq.js.map +1 -0
- package/dist/next/ScrollToTop.cjs.js +2 -2
- package/dist/next/ScrollToTop.js +1 -1
- package/dist/next/{Select-1sLV4ar_.js → Select-CItGjqiA.js} +31 -47
- package/dist/next/{Select-1sLV4ar_.js.map → Select-CItGjqiA.js.map} +1 -1
- package/dist/next/{Select-BDse5K69.cjs → Select-CY0pPJEK.cjs} +31 -47
- package/dist/next/{Select-BDse5K69.cjs.map → Select-CY0pPJEK.cjs.map} +1 -1
- package/dist/next/Select.cjs.js +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/{Sidebar-CBC-Gu5d.cjs → Sidebar-CXu2pmRX.cjs} +47 -47
- package/dist/next/{Sidebar-CBC-Gu5d.cjs.map → Sidebar-CXu2pmRX.cjs.map} +1 -1
- package/dist/next/{Sidebar-oJzZMxwu.js → Sidebar-DIJSf6Np.js} +47 -47
- package/dist/next/{Sidebar-oJzZMxwu.js.map → Sidebar-DIJSf6Np.js.map} +1 -1
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Skeleton-DHBax5oj.cjs → Skeleton-B1CXIUtq.cjs} +26 -26
- package/dist/next/{Skeleton-DHBax5oj.cjs.map → Skeleton-B1CXIUtq.cjs.map} +1 -1
- package/dist/next/{Skeleton-Dwou3pCB.js → Skeleton-BrqgG8hs.js} +26 -26
- package/dist/next/{Skeleton-Dwou3pCB.js.map → Skeleton-BrqgG8hs.js.map} +1 -1
- package/dist/next/Skeleton.cjs.js +1 -1
- package/dist/next/Skeleton.js +1 -1
- package/dist/next/{Slider-BSakg4RQ.cjs → Slider-CIRshlPG.cjs} +43 -43
- package/dist/next/{Slider-BSakg4RQ.cjs.map → Slider-CIRshlPG.cjs.map} +1 -1
- package/dist/next/{Slider-CstOMrst.js → Slider-DsMR0_ku.js} +43 -43
- package/dist/next/{Slider-CstOMrst.js.map → Slider-DsMR0_ku.js.map} +1 -1
- package/dist/next/Slider.cjs.js +1 -1
- package/dist/next/Slider.js +1 -1
- package/dist/next/{Spinner-DVZyVEeg.js → Spinner-CJ-iu7ef.js} +37 -37
- package/dist/next/{Spinner-DVZyVEeg.js.map → Spinner-CJ-iu7ef.js.map} +1 -1
- package/dist/next/{Spinner-D5_K8_gk.cjs → Spinner-DmsSt_pC.cjs} +37 -37
- package/dist/next/{Spinner-D5_K8_gk.cjs.map → Spinner-DmsSt_pC.cjs.map} +1 -1
- package/dist/next/Spinner.cjs.js +1 -1
- package/dist/next/Spinner.js +1 -1
- package/dist/next/{Stepper-CdpHVysD.js → Stepper-COpAZ9L5.js} +40 -40
- package/dist/next/{Stepper-CdpHVysD.js.map → Stepper-COpAZ9L5.js.map} +1 -1
- package/dist/next/{Stepper-BhmLBil6.cjs → Stepper-DuwfXoUQ.cjs} +40 -40
- package/dist/next/{Stepper-BhmLBil6.cjs.map → Stepper-DuwfXoUQ.cjs.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{Tabs-BEskeiYq.js → Tabs-B9ZCknnG.js} +29 -29
- package/dist/next/{Tabs-BEskeiYq.js.map → Tabs-B9ZCknnG.js.map} +1 -1
- package/dist/next/{Tabs-bFqyifwl.cjs → Tabs-DqeWKCtM.cjs} +29 -29
- package/dist/next/{Tabs-bFqyifwl.cjs.map → Tabs-DqeWKCtM.cjs.map} +1 -1
- package/dist/next/Tabs.cjs.js +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-ZbxiqA8I.js → TagInput-Calu7rmv.js} +48 -48
- package/dist/next/{TagInput-ZbxiqA8I.js.map → TagInput-Calu7rmv.js.map} +1 -1
- package/dist/next/{TagInput-CkCJVyDW.cjs → TagInput-UXdEhgt6.cjs} +48 -48
- package/dist/next/{TagInput-CkCJVyDW.cjs.map → TagInput-UXdEhgt6.cjs.map} +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextArea-BHJx395o.js → TextArea-D1tyvK9I.js} +27 -27
- package/dist/next/{TextArea-BHJx395o.js.map → TextArea-D1tyvK9I.js.map} +1 -1
- package/dist/next/{TextArea-Bux5Ojjs.cjs → TextArea-DstXzsQz.cjs} +27 -27
- package/dist/next/{TextArea-Bux5Ojjs.cjs.map → TextArea-DstXzsQz.cjs.map} +1 -1
- package/dist/next/TextArea.cjs.js +1 -1
- package/dist/next/TextArea.js +1 -1
- package/dist/next/{TextInput-CKv7Umxo.cjs → TextInput-BnvakI1-.cjs} +26 -26
- package/dist/next/{TextInput-CKv7Umxo.cjs.map → TextInput-BnvakI1-.cjs.map} +1 -1
- package/dist/next/{TextInput-D0zTOb7y.js → TextInput-DgWD3y-H.js} +26 -26
- package/dist/next/{TextInput-D0zTOb7y.js.map → TextInput-DgWD3y-H.js.map} +1 -1
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/{Timeline-Dknnqv8w.cjs → Timeline-1gGPeWoc.cjs} +28 -28
- package/dist/next/{Timeline-Dknnqv8w.cjs.map → Timeline-1gGPeWoc.cjs.map} +1 -1
- package/dist/next/{Timeline-DOB2jvQw.js → Timeline-BJq3RTWG.js} +28 -28
- package/dist/next/{Timeline-DOB2jvQw.js.map → Timeline-BJq3RTWG.js.map} +1 -1
- package/dist/next/Timeline.cjs.js +1 -1
- package/dist/next/Timeline.js +1 -1
- package/dist/next/{Toggle-C60HtU15.js → Toggle-BDiAYcT4.js} +30 -30
- package/dist/next/{Toggle-C60HtU15.js.map → Toggle-BDiAYcT4.js.map} +1 -1
- package/dist/next/{Toggle-XcxNC4zl.cjs → Toggle-D_g5fvKG.cjs} +30 -30
- package/dist/next/{Toggle-XcxNC4zl.cjs.map → Toggle-D_g5fvKG.cjs.map} +1 -1
- package/dist/next/Toggle.cjs.js +1 -1
- package/dist/next/Toggle.js +1 -1
- package/dist/next/{Toolbar-D5g8LTqd.js → Toolbar-C9Zkjg6l.js} +35 -35
- package/dist/next/{Toolbar-D5g8LTqd.js.map → Toolbar-C9Zkjg6l.js.map} +1 -1
- package/dist/next/{Toolbar-DpFSAdjo.cjs → Toolbar-Dx_lsHnl.cjs} +35 -35
- package/dist/next/{Toolbar-DpFSAdjo.cjs.map → Toolbar-Dx_lsHnl.cjs.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/{Tooltip-JN0_utlO.cjs → Tooltip-BLWL7U26.cjs} +39 -39
- package/dist/next/{Tooltip-JN0_utlO.cjs.map → Tooltip-BLWL7U26.cjs.map} +1 -1
- package/dist/next/{Tooltip-DV6RnlTd.js → Tooltip-DO95QNH2.js} +39 -39
- package/dist/next/{Tooltip-DV6RnlTd.js.map → Tooltip-DO95QNH2.js.map} +1 -1
- package/dist/next/Tooltip.cjs.js +1 -1
- package/dist/next/Tooltip.js +1 -1
- package/dist/next/Typography-Dg4Vc3Tm.cjs +215 -0
- package/dist/next/Typography-Dg4Vc3Tm.cjs.map +1 -0
- package/dist/next/Typography-SgeXdVdI.js +216 -0
- package/dist/next/Typography-SgeXdVdI.js.map +1 -0
- package/dist/next/Typography.cjs.js +4 -0
- package/dist/next/Typography.cjs.js.map +1 -0
- package/dist/next/Typography.js +5 -0
- package/dist/next/Typography.js.map +1 -0
- package/dist/next/boreal-ui.css +9062 -5457
- package/dist/next/index.cjs.js +72 -70
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +79 -77
- package/dist/next/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Modal/ModalBase.d.ts.map +1 -1
- package/dist/types/components/ScrollToTop/core/{STT.d.ts → ScrollToTop.d.ts} +1 -1
- package/dist/types/components/ScrollToTop/core/ScrollToTop.d.ts.map +1 -0
- package/dist/types/components/ScrollToTop/next/{STT.d.ts → ScrollToTop.d.ts} +1 -1
- package/dist/types/components/ScrollToTop/next/ScrollToTop.d.ts.map +1 -0
- package/dist/types/components/Typography/Typography.types.d.ts +28 -0
- package/dist/types/components/Typography/Typography.types.d.ts.map +1 -0
- package/dist/types/components/Typography/TypographyBase.d.ts +8 -0
- package/dist/types/components/Typography/TypographyBase.d.ts.map +1 -0
- package/dist/types/components/Typography/core/Typography.d.ts +6 -0
- package/dist/types/components/Typography/core/Typography.d.ts.map +1 -0
- package/dist/types/components/Typography/next/Typography.d.ts +5 -0
- package/dist/types/components/Typography/next/Typography.d.ts.map +1 -0
- package/dist/types/index.core.d.ts +2 -1
- package/dist/types/index.core.d.ts.map +1 -1
- package/dist/types/index.next.d.ts +2 -1
- package/dist/types/index.next.d.ts.map +1 -1
- package/dist/types/public.types.d.ts +1 -0
- package/package.json +68 -91
- package/dist/core/STT-Bdm78oOs.js.map +0 -1
- package/dist/core/STT-DKOwe6z3.cjs.map +0 -1
- package/dist/next/STT-CFFr1_Ls.js.map +0 -1
- package/dist/next/STT-GyAuX3-m.cjs.map +0 -1
- package/dist/types/components/ScrollToTop/core/STT.d.ts.map +0 -1
- 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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"}
|
|
@@ -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=
|
|
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":";;;;;;AAAA,MAAM,cAAuD,CAAC,UAC5DA,2BAAAA;AAAAA,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,UAAAA,2BAAAA;AAAAA,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,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,KAAK;AAEhDC,QAAAA,UAAU,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,cAAcC,MAAAA;AAAAA,IAClB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,QAAM,YAAYF,MAAAA,QAAQ,MAAMC,WAAAA,kBAAkB,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC;AAE5E,SACEN,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWM,WAAAA,kBAAkB,SAAS,SAAS,SAAS;AAAA,MACxD,eAAa;AAAA,MAEZ,UAAA,aACCN,2BAAAA;AAAAA,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,UAAAA,2BAAAA;AAAAA,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,UACrDA,2BAAAA,IAAC,iBAAA,EAAiB,GAAG,OAAO,UAAU,SAAS,eAAe,YAAA,CAAa;AAE7E,kBAAkB,cAAc;;"}
|
package/dist/core/ScrollToTop.js
CHANGED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Typography.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|