boreal-ui 0.0.73 → 0.0.75
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/{Avatar-Ct2kXkNR.js → Avatar-CHatDRhp.js} +2 -2
- package/dist/core/{Avatar-Ct2kXkNR.js.map → Avatar-CHatDRhp.js.map} +1 -1
- package/dist/core/Avatar.js +1 -1
- package/dist/core/{Badge-BOd5dF4l.js → Badge-DwWiN50f.js} +2 -2
- package/dist/core/{Badge-BOd5dF4l.js.map → Badge-DwWiN50f.js.map} +1 -1
- package/dist/core/Badge.js +1 -1
- package/dist/core/{Breadcrumbs-C1Z59ffV.js → Breadcrumbs-kbOyaea6.js} +3 -3
- package/dist/core/{Breadcrumbs-C1Z59ffV.js.map → Breadcrumbs-kbOyaea6.js.map} +1 -1
- package/dist/core/Breadcrumbs.js +1 -1
- package/dist/core/{Button-IALg9VKr.js → Button-CneoIlVV.js} +2 -2
- package/dist/core/{Button-IALg9VKr.js.map → Button-CneoIlVV.js.map} +1 -1
- package/dist/core/Button.js +1 -1
- package/dist/core/{Card-dazG4EK1.js → Card-CZY1qzwZ.js} +4 -4
- package/dist/core/{Card-dazG4EK1.js.map → Card-CZY1qzwZ.js.map} +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/CheckBox.js +1 -1
- package/dist/core/{Checkbox-DmMDTc5Z.js → Checkbox-BuFcBJb9.js} +2 -2
- package/dist/core/{Checkbox-DmMDTc5Z.js.map → Checkbox-BuFcBJb9.js.map} +1 -1
- package/dist/core/{Chip-DSBIjvJZ.js → Chip-DoRSxZKk.js} +3 -3
- package/dist/core/{Chip-DSBIjvJZ.js.map → Chip-DoRSxZKk.js.map} +1 -1
- package/dist/core/Chip.js +1 -1
- package/dist/core/{CommandPalette-BBjIib6T.js → CommandPalette-0uVG4iR2.js} +3 -3
- package/dist/core/{CommandPalette-BBjIib6T.js.map → CommandPalette-0uVG4iR2.js.map} +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/{DateTimePicker-u2p4sBbR.js → DateTimePicker-wO_P5Ab1.js} +2 -2
- package/dist/core/{DateTimePicker-u2p4sBbR.js.map → DateTimePicker-wO_P5Ab1.js.map} +1 -1
- package/dist/core/DateTimePicker.js +1 -1
- package/dist/core/{Dropdown-BGJ8mGhg.js → Dropdown-BEPGhf-i.js} +3 -3
- package/dist/core/{Dropdown-BGJ8mGhg.js.map → Dropdown-BEPGhf-i.js.map} +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-CCSPIDo3.js → EmptyState-CM7nlKER.js} +3 -3
- package/dist/core/{EmptyState-CCSPIDo3.js.map → EmptyState-CM7nlKER.js.map} +1 -1
- package/dist/core/EmptyState.js +1 -1
- package/dist/core/{FileUpload-BWjOciA3.js → FileUpload-CPZetlXM.js} +5 -5
- package/dist/core/{FileUpload-BWjOciA3.js.map → FileUpload-CPZetlXM.js.map} +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{Footer-CkSzN_PI.js → Footer-Q_60pe6o.js} +5 -5
- package/dist/core/{Footer-CkSzN_PI.js.map → Footer-Q_60pe6o.js.map} +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{IconButton-ChJJCB4O.js → IconButton-By8zuXrs.js} +2 -2
- package/dist/core/{IconButton-ChJJCB4O.js.map → IconButton-By8zuXrs.js.map} +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/{MessagePopup-D6xuwdAv.js → MessagePopup-D6ljI_rQ.js} +3 -3
- package/dist/core/{MessagePopup-D6xuwdAv.js.map → MessagePopup-D6ljI_rQ.js.map} +1 -1
- package/dist/core/MessagePopup.js +1 -1
- package/dist/core/{MetricBox-BlkBoGCL.js → MetricBox-DTn2x1vz.js} +2 -2
- package/dist/core/{MetricBox-BlkBoGCL.js.map → MetricBox-DTn2x1vz.js.map} +1 -1
- package/dist/core/MetricBox.js +1 -1
- package/dist/core/{Modal-DhpY3Kt6.cjs → Modal-B9FXClBr.cjs} +4 -4
- package/dist/core/Modal-B9FXClBr.cjs.map +1 -0
- package/dist/core/{Modal-DVz_GNOL.js → Modal-CW8jt0lU.js} +5 -5
- package/dist/core/Modal-CW8jt0lU.js.map +1 -0
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NotificationCenter-MTRIDmMm.js → NotificationCenter-DA-WGPP9.js} +3 -3
- package/dist/core/{NotificationCenter-MTRIDmMm.js.map → NotificationCenter-DA-WGPP9.js.map} +1 -1
- package/dist/core/NotificationCenter.js +1 -1
- package/dist/core/{Pager-B2MEqAOV.js → Pager-B4hyIUdo.js} +4 -4
- package/dist/core/{Pager-B2MEqAOV.js.map → Pager-B4hyIUdo.js.map} +1 -1
- package/dist/core/Pager-wl7_umU4.cjs.map +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{PopOver-lRqOHUJg.js → PopOver-DCuqGQ_j.js} +2 -2
- package/dist/core/{PopOver-lRqOHUJg.js.map → PopOver-DCuqGQ_j.js.map} +1 -1
- package/dist/core/PopOver.js +1 -1
- package/dist/core/{ProgressBar-pVPs5lsA.js → ProgressBar-BxzX6yn1.js} +2 -2
- package/dist/core/{ProgressBar-pVPs5lsA.js.map → ProgressBar-BxzX6yn1.js.map} +1 -1
- package/dist/core/ProgressBar.js +1 -1
- package/dist/core/{Select-CeyJGftD.js → Select-BXIz5BbU.js} +2 -2
- package/dist/core/{Select-CeyJGftD.js.map → Select-BXIz5BbU.js.map} +1 -1
- package/dist/core/Select.js +1 -1
- package/dist/core/{Sidebar-BWzuQw-r.js → Sidebar-Bi7elIRO.js} +2 -2
- package/dist/core/{Sidebar-BWzuQw-r.js.map → Sidebar-Bi7elIRO.js.map} +1 -1
- package/dist/core/Sidebar.js +1 -1
- package/dist/core/{Slider-Dxcryk5j.js → Slider-CW11kjMv.js} +2 -2
- package/dist/core/{Slider-Dxcryk5j.js.map → Slider-CW11kjMv.js.map} +1 -1
- package/dist/core/Slider.js +1 -1
- package/dist/core/{Stepper-SDJM-Jju.js → Stepper-CLfy0_gZ.js} +3 -3
- package/dist/core/{Stepper-SDJM-Jju.js.map → Stepper-CLfy0_gZ.js.map} +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{Tabs-B4HRqGuB.js → Tabs-DBqWn9j9.js} +2 -2
- package/dist/core/{Tabs-B4HRqGuB.js.map → Tabs-DBqWn9j9.js.map} +1 -1
- package/dist/core/Tabs.js +1 -1
- package/dist/core/{TagInput-CcuMIlmi.js → TagInput-YieWARAt.js} +4 -4
- package/dist/core/{TagInput-CcuMIlmi.js.map → TagInput-YieWARAt.js.map} +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/{TextArea-Ufou1zw1.js → TextArea-CLLK5k18.js} +2 -2
- package/dist/core/{TextArea-Ufou1zw1.js.map → TextArea-CLLK5k18.js.map} +1 -1
- package/dist/core/TextArea.js +1 -1
- package/dist/core/{TextInput-BaiDGrKw.js → TextInput-Bc2YpcvM.js} +3 -3
- package/dist/core/{TextInput-BaiDGrKw.js.map → TextInput-Bc2YpcvM.js.map} +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/{ThemeContext-nYSJ_G6L.js → ThemeContext-zE_shsx6.js} +3 -3
- package/dist/{next/ThemeContext-nYSJ_G6L.js.map → core/ThemeContext-zE_shsx6.js.map} +1 -1
- package/dist/core/ThemeProvider.js +3 -3
- package/dist/core/{Timeline-BRLd8boJ.js → Timeline-5mzFplzB.js} +2 -2
- package/dist/core/{Timeline-BRLd8boJ.js.map → Timeline-5mzFplzB.js.map} +1 -1
- package/dist/core/Timeline.js +1 -1
- package/dist/core/{Toggle-DL0Nhwgr.js → Toggle-DCK1KtP5.js} +2 -2
- package/dist/core/{Toggle-DL0Nhwgr.js.map → Toggle-DCK1KtP5.js.map} +1 -1
- package/dist/core/Toggle.js +1 -1
- package/dist/core/{Toolbar-fSghH1_-.js → Toolbar-DLgQqPBh.js} +3 -3
- package/dist/core/{Toolbar-fSghH1_-.js.map → Toolbar-DLgQqPBh.js.map} +1 -1
- package/dist/core/Toolbar.js +1 -1
- package/dist/core/{Tooltip-wKNLA3ua.js → Tooltip-Dua_3tqJ.js} +2 -2
- package/dist/core/{Tooltip-wKNLA3ua.js.map → Tooltip-Dua_3tqJ.js.map} +1 -1
- package/dist/core/Tooltip.js +1 -1
- package/dist/core/Typography-D0hPzK5Y.js.map +1 -1
- package/dist/core/Typography-DdTiWRgQ.cjs.map +1 -1
- package/dist/core/index.cjs.js +8481 -1
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +8517 -37
- package/dist/core/index.js.map +1 -1
- package/dist/next/{Avatar-iZKOY9MH.cjs → Avatar-DL_juTQA.cjs} +3 -3
- package/dist/next/{Avatar-iZKOY9MH.cjs.map → Avatar-DL_juTQA.cjs.map} +1 -1
- package/dist/next/{Avatar-CiFxswSP.js → Avatar-nnjhILk-.js} +4 -4
- package/dist/next/{Avatar-CiFxswSP.js.map → Avatar-nnjhILk-.js.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Badge-WP2DFssv.js → Badge-uyqxj7ag.js} +2 -2
- package/dist/next/{Badge-WP2DFssv.js.map → Badge-uyqxj7ag.js.map} +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-CV5iM8BP.cjs → Breadcrumbs-CuvOmgFe.cjs} +3 -3
- package/dist/next/{Breadcrumbs-CV5iM8BP.cjs.map → Breadcrumbs-CuvOmgFe.cjs.map} +1 -1
- package/dist/next/{Breadcrumbs-B60a5DUy.js → Breadcrumbs-D0AmJB4U.js} +4 -4
- package/dist/next/{Breadcrumbs-B60a5DUy.js.map → Breadcrumbs-D0AmJB4U.js.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-DMCOgi4K.cjs → Button-BZmph-Qr.cjs} +2 -2
- package/dist/next/{Button-DMCOgi4K.cjs.map → Button-BZmph-Qr.cjs.map} +1 -1
- package/dist/next/{Button-BfgUzkgN.js → Button-DWpImTmr.js} +3 -3
- package/dist/next/{Button-BfgUzkgN.js.map → Button-DWpImTmr.js.map} +1 -1
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-CSFC7mpW.js → Card-DnZOsQLP.js} +5 -5
- package/dist/next/{Card-CSFC7mpW.js.map → Card-DnZOsQLP.js.map} +1 -1
- package/dist/next/{Card-0Pm8Vjjn.cjs → Card-oPTXIvsb.cjs} +4 -4
- package/dist/next/{Card-0Pm8Vjjn.cjs.map → Card-oPTXIvsb.cjs.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/{Checkbox-BlWHxhjw.js → Checkbox-CRg5oEdB.js} +2 -2
- package/dist/next/{Checkbox-BlWHxhjw.js.map → Checkbox-CRg5oEdB.js.map} +1 -1
- package/dist/next/{Chip-CuaKFQku.js → Chip-Cg7khsSn.js} +3 -3
- package/dist/next/{Chip-CuaKFQku.js.map → Chip-Cg7khsSn.js.map} +1 -1
- package/dist/next/{Chip-CB1mcRA1.cjs → Chip-DpMTNARP.cjs} +2 -2
- package/dist/next/{Chip-CB1mcRA1.cjs.map → Chip-DpMTNARP.cjs.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CommandPalette-BQEJG5yN.cjs → CommandPalette-BvjlLE14.cjs} +2 -2
- package/dist/next/{CommandPalette-BQEJG5yN.cjs.map → CommandPalette-BvjlLE14.cjs.map} +1 -1
- package/dist/next/{CommandPalette-Cxx3Ey9J.js → CommandPalette-D6R9_gmo.js} +3 -3
- package/dist/next/{CommandPalette-Cxx3Ey9J.js.map → CommandPalette-D6R9_gmo.js.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{DateTimePicker-CdPvr6Mc.js → DateTimePicker-DB2exnHd.js} +2 -2
- package/dist/next/{DateTimePicker-CdPvr6Mc.js.map → DateTimePicker-DB2exnHd.js.map} +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Dropdown-79ZIBUjB.js → Dropdown-B7PgWHlY.js} +3 -3
- package/dist/next/{Dropdown-79ZIBUjB.js.map → Dropdown-B7PgWHlY.js.map} +1 -1
- package/dist/next/{Dropdown-BfvCn_20.cjs → Dropdown-kQLhr7_M.cjs} +2 -2
- package/dist/next/{Dropdown-BfvCn_20.cjs.map → Dropdown-kQLhr7_M.cjs.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-Dy1Xeyzp.cjs → EmptyState-BH1X81TH.cjs} +2 -2
- package/dist/next/{EmptyState-Dy1Xeyzp.cjs.map → EmptyState-BH1X81TH.cjs.map} +1 -1
- package/dist/next/{EmptyState-oXCSBosz.js → EmptyState-DCCDQWOQ.js} +3 -3
- package/dist/next/{EmptyState-oXCSBosz.js.map → EmptyState-DCCDQWOQ.js.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-qiY8YpDz.js → FileUpload-BQW5ol7P.js} +5 -5
- package/dist/next/{FileUpload-qiY8YpDz.js.map → FileUpload-BQW5ol7P.js.map} +1 -1
- package/dist/next/{FileUpload-C1DVXFK7.cjs → FileUpload-C9Ke2cTs.cjs} +3 -3
- package/dist/next/{FileUpload-C1DVXFK7.cjs.map → FileUpload-C9Ke2cTs.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-DIPBB0is.js → Footer-Dl_wQwsb.js} +7 -7
- package/dist/next/{Footer-DIPBB0is.js.map → Footer-Dl_wQwsb.js.map} +1 -1
- package/dist/next/{Footer-4L7pu4Gp.cjs → Footer-i9rgxATK.cjs} +4 -4
- package/dist/next/{Footer-4L7pu4Gp.cjs.map → Footer-i9rgxATK.cjs.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{IconButton-C4OC99ig.cjs → IconButton-4ySBEhn1.cjs} +2 -2
- package/dist/next/{IconButton-C4OC99ig.cjs.map → IconButton-4ySBEhn1.cjs.map} +1 -1
- package/dist/next/{IconButton-CNiln4Qf.js → IconButton-BWw3WPaS.js} +3 -3
- package/dist/next/{IconButton-CNiln4Qf.js.map → IconButton-BWw3WPaS.js.map} +1 -1
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/{MessagePopup-BscnzqBa.js → MessagePopup-DIrdAeyg.js} +3 -3
- package/dist/next/{MessagePopup-BscnzqBa.js.map → MessagePopup-DIrdAeyg.js.map} +1 -1
- package/dist/next/{MessagePopup-lIFn7LZ2.cjs → MessagePopup-D_gZy6eH.cjs} +3 -3
- package/dist/next/{MessagePopup-lIFn7LZ2.cjs.map → MessagePopup-D_gZy6eH.cjs.map} +1 -1
- package/dist/next/MessagePopup.cjs.js +1 -1
- package/dist/next/MessagePopup.js +1 -1
- package/dist/next/{MetricBox-Br-_66aB.js → MetricBox-D9-RmZoy.js} +2 -2
- package/dist/next/{MetricBox-Br-_66aB.js.map → MetricBox-D9-RmZoy.js.map} +1 -1
- package/dist/next/MetricBox.js +1 -1
- package/dist/next/{Modal-Baxb-_FV.cjs → Modal-D7hNuMII.cjs} +5 -5
- package/dist/next/Modal-D7hNuMII.cjs.map +1 -0
- package/dist/next/{Modal-ClsOP_6R.js → Modal-Dre8TMtr.js} +5 -5
- package/dist/next/Modal-Dre8TMtr.js.map +1 -0
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-BXnGlk49.cjs → NavBar-d-Hx7gkg.cjs} +3 -3
- package/dist/next/{NavBar-BXnGlk49.cjs.map → NavBar-d-Hx7gkg.cjs.map} +1 -1
- package/dist/next/{NavBar-Bmf1C-io.js → NavBar-dpbPYT0w.js} +3 -3
- package/dist/next/{NavBar-Bmf1C-io.js.map → NavBar-dpbPYT0w.js.map} +1 -1
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-BrXxvcLm.js → NotificationCenter-BrAzv2oD.js} +3 -3
- package/dist/next/{NotificationCenter-BrXxvcLm.js.map → NotificationCenter-BrAzv2oD.js.map} +1 -1
- package/dist/next/{NotificationCenter-XcbhUqkh.cjs → NotificationCenter-JIX-pouI.cjs} +3 -3
- package/dist/next/{NotificationCenter-XcbhUqkh.cjs.map → NotificationCenter-JIX-pouI.cjs.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-Dq-KkMmi.js → Pager-DFKfUn1s.js} +4 -4
- package/dist/next/{Pager-Dq-KkMmi.js.map → Pager-DFKfUn1s.js.map} +1 -1
- package/dist/next/{Pager-DesOcELM.cjs → Pager-DcibmVu1.cjs} +3 -3
- package/dist/next/{Pager-DesOcELM.cjs.map → Pager-DcibmVu1.cjs.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{PopOver-Dp_vC53_.js → PopOver-CUON_Abe.js} +2 -2
- package/dist/next/{PopOver-Dp_vC53_.js.map → PopOver-CUON_Abe.js.map} +1 -1
- package/dist/next/PopOver.js +1 -1
- package/dist/next/{ProgressBar-Bf_ZzYzI.js → ProgressBar-CMYDs8uL.js} +2 -2
- package/dist/next/{ProgressBar-Bf_ZzYzI.js.map → ProgressBar-CMYDs8uL.js.map} +1 -1
- package/dist/next/ProgressBar.js +1 -1
- package/dist/next/{Select-DPL__SwJ.js → Select-b8fO1q2K.js} +2 -2
- package/dist/next/{Select-DPL__SwJ.js.map → Select-b8fO1q2K.js.map} +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/{Sidebar-CWjyCeQj.js → Sidebar-BwW51HwF.js} +4 -4
- package/dist/next/{Sidebar-CWjyCeQj.js.map → Sidebar-BwW51HwF.js.map} +1 -1
- package/dist/next/{Sidebar-BXmF-Nl2.cjs → Sidebar-U5BQKtKR.cjs} +3 -3
- package/dist/next/{Sidebar-BXmF-Nl2.cjs.map → Sidebar-U5BQKtKR.cjs.map} +1 -1
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Slider-BC9XlsEQ.js → Slider-DOGkUQYT.js} +2 -2
- package/dist/next/{Slider-BC9XlsEQ.js.map → Slider-DOGkUQYT.js.map} +1 -1
- package/dist/next/Slider.js +1 -1
- package/dist/next/{Stepper-P9DL0HZW.cjs → Stepper-C0cNzpY8.cjs} +2 -2
- package/dist/next/{Stepper-P9DL0HZW.cjs.map → Stepper-C0cNzpY8.cjs.map} +1 -1
- package/dist/next/{Stepper-CTd99d_F.js → Stepper-CSh2wccK.js} +3 -3
- package/dist/next/{Stepper-CTd99d_F.js.map → Stepper-CSh2wccK.js.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{Tabs-tZjEVd-U.js → Tabs-Dors0bVs.js} +2 -2
- package/dist/next/{Tabs-tZjEVd-U.js.map → Tabs-Dors0bVs.js.map} +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-CXvw8ogs.js → TagInput-V3zvXcNq.js} +4 -4
- package/dist/next/{TagInput-CXvw8ogs.js.map → TagInput-V3zvXcNq.js.map} +1 -1
- package/dist/next/{TagInput-DldSDmHu.cjs → TagInput-ceV9Jjqe.cjs} +3 -3
- package/dist/next/{TagInput-DldSDmHu.cjs.map → TagInput-ceV9Jjqe.cjs.map} +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextArea-CWscnEZW.js → TextArea-BSO1_gaS.js} +2 -2
- package/dist/next/{TextArea-CWscnEZW.js.map → TextArea-BSO1_gaS.js.map} +1 -1
- package/dist/next/TextArea.js +1 -1
- package/dist/next/{TextInput-cfBWD6de.cjs → TextInput-7nN8g78V.cjs} +2 -2
- package/dist/next/{TextInput-cfBWD6de.cjs.map → TextInput-7nN8g78V.cjs.map} +1 -1
- package/dist/next/{TextInput-3ZD3ccXf.js → TextInput-yUHEWbdK.js} +3 -3
- package/dist/next/{TextInput-3ZD3ccXf.js.map → TextInput-yUHEWbdK.js.map} +1 -1
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/{ThemeContext-nYSJ_G6L.js → ThemeContext-zE_shsx6.js} +3 -3
- package/dist/{core/ThemeContext-nYSJ_G6L.js.map → next/ThemeContext-zE_shsx6.js.map} +1 -1
- package/dist/next/ThemeProvider.js +3 -3
- package/dist/next/{Timeline-Bd6k_2az.js → Timeline-BTsKMULd.js} +2 -2
- package/dist/next/{Timeline-Bd6k_2az.js.map → Timeline-BTsKMULd.js.map} +1 -1
- package/dist/next/Timeline.js +1 -1
- package/dist/next/{Toggle-Bl8weXv8.js → Toggle-BomUbOZa.js} +2 -2
- package/dist/next/{Toggle-Bl8weXv8.js.map → Toggle-BomUbOZa.js.map} +1 -1
- package/dist/next/Toggle.js +1 -1
- package/dist/next/{Toolbar-DyzNvwQv.js → Toolbar-Be-YQqmX.js} +3 -3
- package/dist/next/{Toolbar-DyzNvwQv.js.map → Toolbar-Be-YQqmX.js.map} +1 -1
- package/dist/next/{Toolbar-s0krbHKU.cjs → Toolbar-roQbIEcD.cjs} +2 -2
- package/dist/next/{Toolbar-s0krbHKU.cjs.map → Toolbar-roQbIEcD.cjs.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/{Tooltip-Ba5YWT7r.js → Tooltip-lxpnIfpO.js} +2 -2
- package/dist/next/{Tooltip-Ba5YWT7r.js.map → Tooltip-lxpnIfpO.js.map} +1 -1
- package/dist/next/Tooltip.js +1 -1
- package/dist/next/Typography-B6VNZtxH.cjs.map +1 -1
- package/dist/next/Typography-BdS7h4Eq.js.map +1 -1
- package/dist/next/{image-B9PuwflE.js → image-CvorlI3C.js} +76 -24
- package/dist/next/image-CvorlI3C.js.map +1 -0
- package/dist/next/{image-Bo_vHlt1.cjs → image-DuTgdWOV.cjs} +76 -24
- package/dist/next/image-DuTgdWOV.cjs.map +1 -0
- package/dist/next/index.cjs.js +8501 -21
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +8518 -38
- package/dist/next/index.js.map +1 -1
- package/dist/next/{link-CyxHztrS.js → link-4NcriBFB.js} +57 -15
- package/dist/next/link-4NcriBFB.js.map +1 -0
- package/dist/next/{link-B1N-q38H.cjs → link-CenftYXJ.cjs} +56 -14
- package/dist/next/link-CenftYXJ.cjs.map +1 -0
- package/dist/next/{navigation-C2hD8Jlk.js → navigation-BCeRD3ib.js} +2128 -87
- package/dist/next/navigation-BCeRD3ib.js.map +1 -0
- package/dist/next/{navigation-C3npGZmO.cjs → navigation-DtjMH66C.cjs} +2128 -87
- package/dist/next/navigation-DtjMH66C.cjs.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Modal/Modal.types.d.ts +3 -3
- package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
- package/dist/types/components/Pager/Pager.types.d.ts +2 -2
- package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
- package/dist/types/components/Pager/core/Pager.d.ts +2 -2
- package/dist/types/components/Pager/core/Pager.d.ts.map +1 -1
- package/dist/types/components/Pager/next/Pager.d.ts +2 -2
- package/dist/types/components/Pager/next/Pager.d.ts.map +1 -1
- package/dist/types/components/Typography/Typography.types.d.ts +2 -2
- package/dist/types/components/Typography/Typography.types.d.ts.map +1 -1
- package/dist/types/components/Typography/core/Typography.d.ts +1 -2
- package/dist/types/components/Typography/core/Typography.d.ts.map +1 -1
- package/dist/types/components/Typography/next/Typography.d.ts +1 -2
- package/dist/types/components/Typography/next/Typography.d.ts.map +1 -1
- package/dist/types/generated-docs/Accordion.props.d.ts +7 -0
- package/dist/types/generated-docs/Accordion.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Avatar.props.d.ts +7 -0
- package/dist/types/generated-docs/Avatar.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Badge.props.d.ts +7 -0
- package/dist/types/generated-docs/Badge.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Breadcrumbs.props.d.ts +7 -0
- package/dist/types/generated-docs/Breadcrumbs.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Button.props.d.ts +7 -0
- package/dist/types/generated-docs/Button.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Card.props.d.ts +7 -0
- package/dist/types/generated-docs/Card.props.d.ts.map +1 -0
- package/dist/types/generated-docs/CheckBox.props.d.ts +7 -0
- package/dist/types/generated-docs/CheckBox.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Chip.props.d.ts +7 -0
- package/dist/types/generated-docs/Chip.props.d.ts.map +1 -0
- package/dist/types/generated-docs/ChipGroup.props.d.ts +7 -0
- package/dist/types/generated-docs/ChipGroup.props.d.ts.map +1 -0
- package/dist/types/generated-docs/CircularProgress.props.d.ts +7 -0
- package/dist/types/generated-docs/CircularProgress.props.d.ts.map +1 -0
- package/dist/types/generated-docs/ColorPicker.props.d.ts +7 -0
- package/dist/types/generated-docs/ColorPicker.props.d.ts.map +1 -0
- package/dist/types/generated-docs/CommandPalette.props.d.ts +7 -0
- package/dist/types/generated-docs/CommandPalette.props.d.ts.map +1 -0
- package/dist/types/generated-docs/DataTable.props.d.ts +7 -0
- package/dist/types/generated-docs/DataTable.props.d.ts.map +1 -0
- package/dist/types/generated-docs/DateTimePicker.props.d.ts +7 -0
- package/dist/types/generated-docs/DateTimePicker.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Divider.props.d.ts +7 -0
- package/dist/types/generated-docs/Divider.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Dropdown.props.d.ts +7 -0
- package/dist/types/generated-docs/Dropdown.props.d.ts.map +1 -0
- package/dist/types/generated-docs/EmptyState.props.d.ts +7 -0
- package/dist/types/generated-docs/EmptyState.props.d.ts.map +1 -0
- package/dist/types/generated-docs/FileUpload.props.d.ts +7 -0
- package/dist/types/generated-docs/FileUpload.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Footer.props.d.ts +7 -0
- package/dist/types/generated-docs/Footer.props.d.ts.map +1 -0
- package/dist/types/generated-docs/FormGroup.props.d.ts +7 -0
- package/dist/types/generated-docs/FormGroup.props.d.ts.map +1 -0
- package/dist/types/generated-docs/IconButton.props.d.ts +7 -0
- package/dist/types/generated-docs/IconButton.props.d.ts.map +1 -0
- package/dist/types/generated-docs/MarkdownRenderer.props.d.ts +7 -0
- package/dist/types/generated-docs/MarkdownRenderer.props.d.ts.map +1 -0
- package/dist/types/generated-docs/MessagePopup.props.d.ts +7 -0
- package/dist/types/generated-docs/MessagePopup.props.d.ts.map +1 -0
- package/dist/types/generated-docs/MetricBox.props.d.ts +7 -0
- package/dist/types/generated-docs/MetricBox.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Modal.props.d.ts +7 -0
- package/dist/types/generated-docs/Modal.props.d.ts.map +1 -0
- package/dist/types/generated-docs/NavBar.props.d.ts +7 -0
- package/dist/types/generated-docs/NavBar.props.d.ts.map +1 -0
- package/dist/types/generated-docs/NotificationCenter.props.d.ts +7 -0
- package/dist/types/generated-docs/NotificationCenter.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Pager.props.d.ts +7 -0
- package/dist/types/generated-docs/Pager.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Popover.props.d.ts +7 -0
- package/dist/types/generated-docs/Popover.props.d.ts.map +1 -0
- package/dist/types/generated-docs/ProgressBar.props.d.ts +7 -0
- package/dist/types/generated-docs/ProgressBar.props.d.ts.map +1 -0
- package/dist/types/generated-docs/RadioButton.props.d.ts +7 -0
- package/dist/types/generated-docs/RadioButton.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Rating.props.d.ts +7 -0
- package/dist/types/generated-docs/Rating.props.d.ts.map +1 -0
- package/dist/types/generated-docs/ScrollToTop.props.d.ts +7 -0
- package/dist/types/generated-docs/ScrollToTop.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Select.props.d.ts +7 -0
- package/dist/types/generated-docs/Select.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Sidebar.props.d.ts +7 -0
- package/dist/types/generated-docs/Sidebar.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Skeleton.props.d.ts +7 -0
- package/dist/types/generated-docs/Skeleton.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Slider.props.d.ts +7 -0
- package/dist/types/generated-docs/Slider.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Spinner.props.d.ts +7 -0
- package/dist/types/generated-docs/Spinner.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Stepper.props.d.ts +7 -0
- package/dist/types/generated-docs/Stepper.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Tabs.props.d.ts +7 -0
- package/dist/types/generated-docs/Tabs.props.d.ts.map +1 -0
- package/dist/types/generated-docs/TagInput.props.d.ts +7 -0
- package/dist/types/generated-docs/TagInput.props.d.ts.map +1 -0
- package/dist/types/generated-docs/TextArea.props.d.ts +7 -0
- package/dist/types/generated-docs/TextArea.props.d.ts.map +1 -0
- package/dist/types/generated-docs/TextInput.props.d.ts +7 -0
- package/dist/types/generated-docs/TextInput.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Timeline.props.d.ts +7 -0
- package/dist/types/generated-docs/Timeline.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Toggle.props.d.ts +7 -0
- package/dist/types/generated-docs/Toggle.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Toolbar.props.d.ts +7 -0
- package/dist/types/generated-docs/Toolbar.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Tooltip.props.d.ts +7 -0
- package/dist/types/generated-docs/Tooltip.props.d.ts.map +1 -0
- package/dist/types/generated-docs/Typography.props.d.ts +7 -0
- package/dist/types/generated-docs/Typography.props.d.ts.map +1 -0
- package/dist/types/generated-docs/index.d.ts +54 -0
- package/dist/types/generated-docs/index.d.ts.map +1 -0
- package/dist/types/generated-docs/types.d.ts +20 -0
- package/dist/types/generated-docs/types.d.ts.map +1 -0
- package/dist/types/index.core.d.ts +1 -0
- package/dist/types/index.core.d.ts.map +1 -1
- package/dist/types/index.next.d.ts +1 -0
- package/dist/types/index.next.d.ts.map +1 -1
- package/package.json +14 -2
- package/dist/core/Modal-DVz_GNOL.js.map +0 -1
- package/dist/core/Modal-DhpY3Kt6.cjs.map +0 -1
- package/dist/next/Modal-Baxb-_FV.cjs.map +0 -1
- package/dist/next/Modal-ClsOP_6R.js.map +0 -1
- package/dist/next/image-B9PuwflE.js.map +0 -1
- package/dist/next/image-Bo_vHlt1.cjs.map +0 -1
- package/dist/next/link-B1N-q38H.cjs.map +0 -1
- package/dist/next/link-CyxHztrS.js.map +0 -1
- package/dist/next/navigation-C2hD8Jlk.js.map +0 -1
- package/dist/next/navigation-C3npGZmO.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeContext-nYSJ_G6L.js","sources":["../../src/context/ThemeContext.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/**\r\n * ---------------------------------------------------------------------\r\n * ThemeProvider.tsx\r\n * ---------------------------------------------------------------------\r\n * Provides a React context for managing and applying color schemes\r\n * dynamically across the Boreal UI system.\r\n *\r\n * Responsibilities:\r\n * - Registers any custom color schemes at runtime\r\n * - Sets the active color scheme based on `localStorage` or fallback default\r\n * - Dynamically updates CSS custom properties (`--*`) on the `:root`\r\n * to reflect the selected theme's color values\r\n * - Ensures text color contrast by calculating luminance and WCAG ratios\r\n *\r\n * Includes:\r\n * - Lightness adjustment utilities for generating `*-light` and `*-hover` variants\r\n * - Contrast checking and accessible text color fallbacks\r\n * - `ThemeContext` with `selectedScheme` index and setter\r\n *\r\n * Hooks:\r\n * - `useEffect` to register schemes and sync saved theme index\r\n * - `useEffect` to apply all computed color variables to `document.documentElement`\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ThemeProvider customSchemes={[customTheme]}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n *\r\n * Access via context:\r\n * ```ts\r\n * const { selectedScheme, setSelectedScheme } = useContext(ThemeContext);\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useState,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n getAllColorSchemes,\r\n registerColorScheme,\r\n} from \"../styles/colorSchemeRegistry\";\r\nimport { getDefaultColorSchemeName } from \"../config/boreal-style-config\";\r\nimport { colorSchemes } from \"../styles/Themes\";\r\nimport { ThemeContextType, ThemeProviderProps } from \"./ThemeContext.types\";\r\n\r\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\r\n undefined,\r\n);\r\n\r\nconst fallbackIndex = colorSchemes.findIndex(\r\n (scheme) => scheme.name === getDefaultColorSchemeName(),\r\n);\r\nconst defaultIndex = fallbackIndex !== -1 ? fallbackIndex : 0;\r\n\r\nconst STORAGE_KEY = \"boreal:selectedScheme\";\r\n\r\nfunction shallowEqualByName(a: { name: string }[], b: { name: string }[]) {\r\n if (a === b) return true;\r\n if (a.length !== b.length) return false;\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i].name !== b[i].name) return false;\r\n }\r\n return true;\r\n}\r\n\r\nconst ThemeProvider: React.FC<\r\n ThemeProviderProps & { initialScheme?: number }\r\n> = ({ children, customSchemes = [], initialScheme }) => {\r\n if (fallbackIndex === -1 && process.env.NODE_ENV === \"development\") {\r\n console.warn(\r\n `Default color scheme \"${getDefaultColorSchemeName()}\" not found. Falling back to index 0.`,\r\n );\r\n }\r\n\r\n const [selectedScheme, setSelectedScheme] = useState<number>(() => {\r\n if (typeof initialScheme === \"number\") return initialScheme;\r\n\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n const saved = localStorage.getItem(STORAGE_KEY);\r\n if (saved != null) return parseInt(saved, 10);\r\n } catch {\r\n console.error(\"Failed to load saved theme index\");\r\n }\r\n }\r\n return defaultIndex;\r\n });\r\n\r\n const [schemes, setSchemes] = useState(() => getAllColorSchemes());\r\n\r\n const customSchemesKey = useMemo(\r\n () => JSON.stringify(customSchemes ?? []),\r\n [customSchemes],\r\n );\r\n\r\n useEffect(() => {\r\n try {\r\n const parsed = JSON.parse(customSchemesKey);\r\n if (Array.isArray(parsed) && parsed.length > 0) {\r\n registerColorScheme(parsed);\r\n }\r\n } catch {\r\n console.error(\"Failed to parse custom schemes\");\r\n }\r\n\r\n const next = getAllColorSchemes();\r\n setSchemes((prev) => (shallowEqualByName(prev, next) ? prev : next));\r\n }, [customSchemesKey]);\r\n\r\n useLayoutEffect(() => {\r\n const allSchemes = getAllColorSchemes();\r\n const scheme = allSchemes[selectedScheme] ?? allSchemes[defaultIndex];\r\n\r\n const {\r\n primaryColor,\r\n secondaryColor,\r\n tertiaryColor,\r\n quaternaryColor,\r\n backgroundColor,\r\n forceTextColor,\r\n } = scheme;\r\n\r\n const hexToHSL = (hex: string) => {\r\n const r = parseInt(hex.slice(1, 3), 16) / 255;\r\n const g = parseInt(hex.slice(3, 5), 16) / 255;\r\n const b = parseInt(hex.slice(5, 7), 16) / 255;\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b);\r\n let h = 0,\r\n s = 0;\r\n const l = (max + min) / 2;\r\n if (max !== min) {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return {\r\n h: Math.round(h * 360),\r\n s: Math.round(s * 100),\r\n l: Math.round(l * 100),\r\n };\r\n };\r\n\r\n const hslToHex = (h: number, s: number, l: number): string => {\r\n s /= 100;\r\n l /= 100;\r\n const k = (n: number) => (n + h / 30) % 12;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n: number) =>\r\n Math.round(\r\n 255 *\r\n (l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)))),\r\n );\r\n return `#${[f(0), f(8), f(4)].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\")}`;\r\n };\r\n\r\n const adjustLightness = (hex: string, percent: number): string => {\r\n const { h, s, l } = hexToHSL(hex);\r\n return hslToHex(h, s, Math.min(100, Math.max(0, l + percent)));\r\n };\r\n\r\n const relativeLuminance = (hex: string): number => {\r\n const rgb = [1, 3, 5].map((i) => {\r\n const c = parseInt(hex.slice(i, i + 2), 16) / 255;\r\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\r\n };\r\n\r\n const contrastRatio = (a: string, b: string): number => {\r\n const lum1 = relativeLuminance(a);\r\n const lum2 = relativeLuminance(b);\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n return (lighter + 0.05) / (darker + 0.05);\r\n };\r\n\r\n const getAccessibleTextColor = (bg: string): string =>\r\n contrastRatio(bg, \"#000000\") >= 4.5 ? \"#000000\" : \"#FFFFFF\";\r\n\r\n const getAdaptiveBorderColor = (\r\n backgroundHex: string,\r\n amountLight = 14,\r\n amountDark = 14,\r\n ): string => {\r\n const { h, s, l } = hexToHSL(backgroundHex);\r\n\r\n const nextLightness =\r\n l >= 50 ? Math.max(0, l - amountDark) : Math.min(100, l + amountLight);\r\n\r\n const nextSaturation = s > 8 ? Math.max(0, s - 8) : s;\r\n\r\n return hslToHex(h, nextSaturation, nextLightness);\r\n };\r\n\r\n const vars = {\r\n \"--primary-color\": primaryColor,\r\n \"--primary-color-light\": adjustLightness(primaryColor, 10),\r\n \"--primary-color-hover\": adjustLightness(primaryColor, -10),\r\n \"--text-color-primary\":\r\n forceTextColor ?? getAccessibleTextColor(primaryColor),\r\n \"--text-color-primary-contrast\":\r\n forceTextColor ?? getAccessibleTextColor(backgroundColor),\r\n \"--text-color\": getAccessibleTextColor(backgroundColor),\r\n \"--text-color-light\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 20,\r\n ),\r\n \"--text-color-lighter\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 40,\r\n ),\r\n \"--secondary-color\": secondaryColor,\r\n \"--secondary-color-light\": adjustLightness(secondaryColor, 10),\r\n \"--secondary-color-hover\": adjustLightness(secondaryColor, -10),\r\n \"--text-color-secondary\": getAccessibleTextColor(secondaryColor),\r\n\r\n \"--tertiary-color\": tertiaryColor,\r\n \"--tertiary-color-light\": adjustLightness(tertiaryColor, 10),\r\n \"--tertiary-color-hover\": adjustLightness(tertiaryColor, -10),\r\n \"--text-color-tertiary\": getAccessibleTextColor(tertiaryColor),\r\n\r\n \"--quaternary-color\": quaternaryColor,\r\n \"--quaternary-color-light\": adjustLightness(quaternaryColor, 10),\r\n \"--quaternary-color-hover\": adjustLightness(quaternaryColor, -10),\r\n \"--text-color-quaternary\": getAccessibleTextColor(quaternaryColor),\r\n\r\n \"--background-color\": backgroundColor,\r\n \"--background-color-dark\": adjustLightness(backgroundColor, -10),\r\n \"--background-color-darker\": adjustLightness(backgroundColor, -25),\r\n \"--background-color-light\": adjustLightness(backgroundColor, 10),\r\n \"--background-color-lighter\": adjustLightness(backgroundColor, 20),\r\n\r\n \"--link-color\": getAccessibleTextColor(backgroundColor),\r\n \"--link-hover-color\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n -20,\r\n ),\r\n \"--link-hover-color-primary\": adjustLightness(primaryColor, -10),\r\n \"--link-hover-color-secondary\": adjustLightness(secondaryColor, -10),\r\n \"--link-hover-color-tertiary\": adjustLightness(tertiaryColor, -10),\r\n \"--link-hover-color-quaternary\": adjustLightness(quaternaryColor, -10),\r\n\r\n \"--focus-outline-color\": getAccessibleTextColor(backgroundColor),\r\n \"--divider-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color-subtle\": getAdaptiveBorderColor(backgroundColor, 10, 10),\r\n \"--border-color-strong\": getAdaptiveBorderColor(backgroundColor, 20, 20),\r\n } as const;\r\n\r\n const rootStyle = document.documentElement.style;\r\n for (const [k, v] of Object.entries(vars)) rootStyle.setProperty(k, v);\r\n\r\n try {\r\n localStorage.setItem(STORAGE_KEY, String(selectedScheme));\r\n } catch {\r\n console.error(\"Failed to save theme index\");\r\n }\r\n }, [selectedScheme]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{ selectedScheme, setSelectedScheme, schemes }}\r\n >\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport default ThemeProvider;\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeContext-zE_shsx6.js","sources":["../../src/context/ThemeContext.tsx"],"sourcesContent":["\"use client\";\r\n\r\n/**\r\n * ---------------------------------------------------------------------\r\n * ThemeProvider.tsx\r\n * ---------------------------------------------------------------------\r\n * Provides a React context for managing and applying color schemes\r\n * dynamically across the Boreal UI system.\r\n *\r\n * Responsibilities:\r\n * - Registers any custom color schemes at runtime\r\n * - Sets the active color scheme based on `localStorage` or fallback default\r\n * - Dynamically updates CSS custom properties (`--*`) on the `:root`\r\n * to reflect the selected theme's color values\r\n * - Ensures text color contrast by calculating luminance and WCAG ratios\r\n *\r\n * Includes:\r\n * - Lightness adjustment utilities for generating `*-light` and `*-hover` variants\r\n * - Contrast checking and accessible text color fallbacks\r\n * - `ThemeContext` with `selectedScheme` index and setter\r\n *\r\n * Hooks:\r\n * - `useEffect` to register schemes and sync saved theme index\r\n * - `useEffect` to apply all computed color variables to `document.documentElement`\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ThemeProvider customSchemes={[customTheme]}>\r\n * <App />\r\n * </ThemeProvider>\r\n * ```\r\n *\r\n * Access via context:\r\n * ```ts\r\n * const { selectedScheme, setSelectedScheme } = useContext(ThemeContext);\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useState,\r\n useEffect,\r\n useLayoutEffect,\r\n useMemo,\r\n} from \"react\";\r\nimport {\r\n getAllColorSchemes,\r\n registerColorScheme,\r\n} from \"../styles/colorSchemeRegistry\";\r\nimport { getDefaultColorSchemeName } from \"../config/boreal-style-config\";\r\nimport { colorSchemes } from \"../styles/Themes\";\r\nimport { ThemeContextType, ThemeProviderProps } from \"./ThemeContext.types\";\r\n\r\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\r\n undefined,\r\n);\r\n\r\nconst fallbackIndex = colorSchemes.findIndex(\r\n (scheme) => scheme.name === getDefaultColorSchemeName(),\r\n);\r\nconst defaultIndex = fallbackIndex !== -1 ? fallbackIndex : 0;\r\n\r\nconst STORAGE_KEY = \"boreal:selectedScheme\";\r\n\r\nfunction shallowEqualByName(a: { name: string }[], b: { name: string }[]) {\r\n if (a === b) return true;\r\n if (a.length !== b.length) return false;\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i].name !== b[i].name) return false;\r\n }\r\n return true;\r\n}\r\n\r\nconst ThemeProvider: React.FC<\r\n ThemeProviderProps & { initialScheme?: number }\r\n> = ({ children, customSchemes = [], initialScheme }) => {\r\n if (fallbackIndex === -1 && process.env.NODE_ENV === \"development\") {\r\n console.warn(\r\n `Default color scheme \"${getDefaultColorSchemeName()}\" not found. Falling back to index 0.`,\r\n );\r\n }\r\n\r\n const [selectedScheme, setSelectedScheme] = useState<number>(() => {\r\n if (typeof initialScheme === \"number\") return initialScheme;\r\n\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n const saved = localStorage.getItem(STORAGE_KEY);\r\n if (saved != null) return parseInt(saved, 10);\r\n } catch {\r\n console.error(\"Failed to load saved theme index\");\r\n }\r\n }\r\n return defaultIndex;\r\n });\r\n\r\n const [schemes, setSchemes] = useState(() => getAllColorSchemes());\r\n\r\n const customSchemesKey = useMemo(\r\n () => JSON.stringify(customSchemes ?? []),\r\n [customSchemes],\r\n );\r\n\r\n useEffect(() => {\r\n try {\r\n const parsed = JSON.parse(customSchemesKey);\r\n if (Array.isArray(parsed) && parsed.length > 0) {\r\n registerColorScheme(parsed);\r\n }\r\n } catch {\r\n console.error(\"Failed to parse custom schemes\");\r\n }\r\n\r\n const next = getAllColorSchemes();\r\n setSchemes((prev) => (shallowEqualByName(prev, next) ? prev : next));\r\n }, [customSchemesKey]);\r\n\r\n useLayoutEffect(() => {\r\n const allSchemes = getAllColorSchemes();\r\n const scheme = allSchemes[selectedScheme] ?? allSchemes[defaultIndex];\r\n\r\n const {\r\n primaryColor,\r\n secondaryColor,\r\n tertiaryColor,\r\n quaternaryColor,\r\n backgroundColor,\r\n forceTextColor,\r\n } = scheme;\r\n\r\n const hexToHSL = (hex: string) => {\r\n const r = parseInt(hex.slice(1, 3), 16) / 255;\r\n const g = parseInt(hex.slice(3, 5), 16) / 255;\r\n const b = parseInt(hex.slice(5, 7), 16) / 255;\r\n const max = Math.max(r, g, b),\r\n min = Math.min(r, g, b);\r\n let h = 0,\r\n s = 0;\r\n const l = (max + min) / 2;\r\n if (max !== min) {\r\n const d = max - min;\r\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n return {\r\n h: Math.round(h * 360),\r\n s: Math.round(s * 100),\r\n l: Math.round(l * 100),\r\n };\r\n };\r\n\r\n const hslToHex = (h: number, s: number, l: number): string => {\r\n s /= 100;\r\n l /= 100;\r\n const k = (n: number) => (n + h / 30) % 12;\r\n const a = s * Math.min(l, 1 - l);\r\n const f = (n: number) =>\r\n Math.round(\r\n 255 *\r\n (l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)))),\r\n );\r\n return `#${[f(0), f(8), f(4)].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\")}`;\r\n };\r\n\r\n const adjustLightness = (hex: string, percent: number): string => {\r\n const { h, s, l } = hexToHSL(hex);\r\n return hslToHex(h, s, Math.min(100, Math.max(0, l + percent)));\r\n };\r\n\r\n const relativeLuminance = (hex: string): number => {\r\n const rgb = [1, 3, 5].map((i) => {\r\n const c = parseInt(hex.slice(i, i + 2), 16) / 255;\r\n return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2];\r\n };\r\n\r\n const contrastRatio = (a: string, b: string): number => {\r\n const lum1 = relativeLuminance(a);\r\n const lum2 = relativeLuminance(b);\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n return (lighter + 0.05) / (darker + 0.05);\r\n };\r\n\r\n const getAccessibleTextColor = (bg: string): string =>\r\n contrastRatio(bg, \"#000000\") >= 4.5 ? \"#000000\" : \"#FFFFFF\";\r\n\r\n const getAdaptiveBorderColor = (\r\n backgroundHex: string,\r\n amountLight = 14,\r\n amountDark = 14,\r\n ): string => {\r\n const { h, s, l } = hexToHSL(backgroundHex);\r\n\r\n const nextLightness =\r\n l >= 50 ? Math.max(0, l - amountDark) : Math.min(100, l + amountLight);\r\n\r\n const nextSaturation = s > 8 ? Math.max(0, s - 8) : s;\r\n\r\n return hslToHex(h, nextSaturation, nextLightness);\r\n };\r\n\r\n const vars = {\r\n \"--primary-color\": primaryColor,\r\n \"--primary-color-light\": adjustLightness(primaryColor, 10),\r\n \"--primary-color-hover\": adjustLightness(primaryColor, -10),\r\n \"--text-color-primary\":\r\n forceTextColor ?? getAccessibleTextColor(primaryColor),\r\n \"--text-color-primary-contrast\":\r\n forceTextColor ?? getAccessibleTextColor(backgroundColor),\r\n \"--text-color\": getAccessibleTextColor(backgroundColor),\r\n \"--text-color-light\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 20,\r\n ),\r\n \"--text-color-lighter\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n 40,\r\n ),\r\n \"--secondary-color\": secondaryColor,\r\n \"--secondary-color-light\": adjustLightness(secondaryColor, 10),\r\n \"--secondary-color-hover\": adjustLightness(secondaryColor, -10),\r\n \"--text-color-secondary\": getAccessibleTextColor(secondaryColor),\r\n\r\n \"--tertiary-color\": tertiaryColor,\r\n \"--tertiary-color-light\": adjustLightness(tertiaryColor, 10),\r\n \"--tertiary-color-hover\": adjustLightness(tertiaryColor, -10),\r\n \"--text-color-tertiary\": getAccessibleTextColor(tertiaryColor),\r\n\r\n \"--quaternary-color\": quaternaryColor,\r\n \"--quaternary-color-light\": adjustLightness(quaternaryColor, 10),\r\n \"--quaternary-color-hover\": adjustLightness(quaternaryColor, -10),\r\n \"--text-color-quaternary\": getAccessibleTextColor(quaternaryColor),\r\n\r\n \"--background-color\": backgroundColor,\r\n \"--background-color-dark\": adjustLightness(backgroundColor, -10),\r\n \"--background-color-darker\": adjustLightness(backgroundColor, -25),\r\n \"--background-color-light\": adjustLightness(backgroundColor, 10),\r\n \"--background-color-lighter\": adjustLightness(backgroundColor, 20),\r\n\r\n \"--link-color\": getAccessibleTextColor(backgroundColor),\r\n \"--link-hover-color\": adjustLightness(\r\n getAccessibleTextColor(backgroundColor),\r\n -20,\r\n ),\r\n \"--link-hover-color-primary\": adjustLightness(primaryColor, -10),\r\n \"--link-hover-color-secondary\": adjustLightness(secondaryColor, -10),\r\n \"--link-hover-color-tertiary\": adjustLightness(tertiaryColor, -10),\r\n \"--link-hover-color-quaternary\": adjustLightness(quaternaryColor, -10),\r\n\r\n \"--focus-outline-color\": getAccessibleTextColor(backgroundColor),\r\n \"--divider-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color\": getAdaptiveBorderColor(backgroundColor),\r\n \"--border-color-subtle\": getAdaptiveBorderColor(backgroundColor, 10, 10),\r\n \"--border-color-strong\": getAdaptiveBorderColor(backgroundColor, 20, 20),\r\n } as const;\r\n\r\n const rootStyle = document.documentElement.style;\r\n for (const [k, v] of Object.entries(vars)) rootStyle.setProperty(k, v);\r\n\r\n try {\r\n localStorage.setItem(STORAGE_KEY, String(selectedScheme));\r\n } catch {\r\n console.error(\"Failed to save theme index\");\r\n }\r\n }, [selectedScheme]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{ selectedScheme, setSelectedScheme, schemes }}\r\n >\r\n {children}\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport default ThemeProvider;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
4
4
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
5
|
-
import { d as getDefaultTheme,
|
|
5
|
+
import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
|
|
6
6
|
const TimelineBase = ({
|
|
7
7
|
items,
|
|
8
8
|
orientation = "vertical",
|
|
@@ -191,4 +191,4 @@ Timeline.displayName = "Timeline";
|
|
|
191
191
|
export {
|
|
192
192
|
Timeline as T
|
|
193
193
|
};
|
|
194
|
-
//# sourceMappingURL=Timeline-
|
|
194
|
+
//# sourceMappingURL=Timeline-5mzFplzB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline-BRLd8boJ.js","sources":["../../src/components/Timeline/TimelineBase.tsx","../../src/components/Timeline/core/Timeline.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { TimelineProps } from \"./Timeline.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TimelineBase: React.FC<\r\n TimelineProps & { classMap: Record<string, string> }\r\n> = ({\r\n items,\r\n orientation = \"vertical\",\r\n \"aria-label\": ariaLabel = \"Timeline\",\r\n \"aria-label\": ariaLabelOverride,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n role = \"list\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n classMap,\r\n className,\r\n \"data-testid\": testId = \"timeline\",\r\n ...rest\r\n}) => {\r\n const outerWrapper = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.timeline,\r\n classMap[orientation],\r\n classMap[theme],\r\n className,\r\n ),\r\n [classMap, orientation, theme, className],\r\n );\r\n\r\n const itemClassName = useMemo(\r\n () =>\r\n combineClassNames(classMap.item, classMap[orientation], classMap[theme]),\r\n [classMap, orientation, theme],\r\n );\r\n\r\n const markerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.marker,\r\n classMap[theme],\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n ),\r\n [classMap, theme, orientation, shadow],\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.content,\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, orientation, shadow, rounding],\r\n );\r\n\r\n const setSize = items.length;\r\n\r\n return (\r\n <ul\r\n className={outerWrapper}\r\n data-testid={testId}\r\n role={role}\r\n aria-label={ariaLabelledBy ? undefined : (ariaLabelOverride ?? ariaLabel)}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n {...rest}\r\n >\r\n {items.map((item, index) => {\r\n const IconComponent = item.icon;\r\n const itemTestId = `${testId}-item-${index}`;\r\n const labelId = `${itemTestId}-title`;\r\n const descriptionId = item.description\r\n ? `${itemTestId}-description`\r\n : undefined;\r\n const dateId = item.date ? `${itemTestId}-date` : undefined;\r\n const hasTitle = Boolean(item.title);\r\n\r\n let dateTimeAttr: string | undefined;\r\n if (item.date) {\r\n const dateObj = new Date(item.date);\r\n if (!isNaN(dateObj.getTime())) {\r\n dateTimeAttr = dateObj.toISOString();\r\n }\r\n }\r\n\r\n const describedBy =\r\n [dateId, descriptionId].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <li\r\n key={index}\r\n role=\"listitem\"\r\n className={itemClassName}\r\n data-testid={itemTestId}\r\n aria-labelledby={hasTitle ? labelId : undefined}\r\n aria-label={!hasTitle ? `Timeline item ${index + 1}` : undefined}\r\n aria-describedby={describedBy}\r\n aria-posinset={index + 1}\r\n aria-setsize={setSize}\r\n >\r\n <div\r\n className={markerClassName}\r\n data-testid={`${itemTestId}-marker`}\r\n aria-hidden={true}\r\n >\r\n {IconComponent ? (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${itemTestId}-icon`}\r\n aria-hidden={true}\r\n >\r\n <IconComponent aria-hidden={true} />\r\n </div>\r\n ) : (\r\n <div\r\n className={classMap.dot}\r\n data-testid={`${itemTestId}-dot`}\r\n aria-hidden={true}\r\n />\r\n )}\r\n </div>\r\n\r\n <div\r\n className={contentClassName}\r\n data-testid={`${itemTestId}-content`}\r\n >\r\n {hasTitle && (\r\n <h3\r\n id={labelId}\r\n className={classMap.title}\r\n data-testid={`${itemTestId}-title`}\r\n >\r\n {item.title}\r\n </h3>\r\n )}\r\n\r\n {item.date && (\r\n <p\r\n id={dateId}\r\n className={classMap.date}\r\n data-testid={`${itemTestId}-date`}\r\n >\r\n <time dateTime={dateTimeAttr}>{item.date}</time>\r\n </p>\r\n )}\r\n\r\n {item.description && (\r\n <p\r\n id={descriptionId}\r\n className={classMap.description}\r\n data-testid={`${itemTestId}-description`}\r\n >\r\n {item.description}\r\n </p>\r\n )}\r\n </div>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n\r\nTimelineBase.displayName = \"TimelineBase\";\r\nexport default TimelineBase;\r\n","import React from \"react\";\r\nimport \"./Timeline.scss\";\r\nimport TimelineBase from \"../TimelineBase\";\r\nimport { TimelineProps } from \"../Timeline.types\";\r\n\r\nconst classes = {\r\n timeline: \"timeline\",\r\n item: \"timeline_item\",\r\n marker: \"timeline_marker\",\r\n icon: \"timeline_icon\",\r\n dot: \"timeline_dot\",\r\n content: \"timeline_content\",\r\n title: \"timeline_title\",\r\n date: \"timeline_date\",\r\n description: \"timeline_description\",\r\n\r\n vertical: \"timeline_vertical\",\r\n horizontal: \"timeline_horizontal\",\r\n\r\n primary: \"timeline_primary\",\r\n secondary: \"timeline_secondary\",\r\n tertiary: \"timeline_tertiary\",\r\n quaternary: \"timeline_quaternary\",\r\n\r\n clear: \"timeline_clear\",\r\n\r\n shadowNone: \"timeline_shadow-None\",\r\n shadowLight: \"timeline_shadow-Light\",\r\n shadowMedium: \"timeline_shadow-Medium\",\r\n shadowStrong: \"timeline_shadow-Strong\",\r\n shadowIntense: \"timeline_shadow-Intense\",\r\n\r\n roundNone: \"timeline_round-None\",\r\n roundSmall: \"timeline_round-Small\",\r\n roundMedium: \"timeline_round-Medium\",\r\n roundLarge: \"timeline_round-Large\",\r\n};\r\n\r\nconst Timeline: React.FC<TimelineProps> = (props) => {\r\n return <TimelineBase {...props} classMap={classes} />;\r\n};\r\nTimeline.displayName = \"Timeline\";\r\nexport default Timeline;\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Timeline-5mzFplzB.js","sources":["../../src/components/Timeline/TimelineBase.tsx","../../src/components/Timeline/core/Timeline.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { TimelineProps } from \"./Timeline.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TimelineBase: React.FC<\r\n TimelineProps & { classMap: Record<string, string> }\r\n> = ({\r\n items,\r\n orientation = \"vertical\",\r\n \"aria-label\": ariaLabel = \"Timeline\",\r\n \"aria-label\": ariaLabelOverride,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n role = \"list\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n classMap,\r\n className,\r\n \"data-testid\": testId = \"timeline\",\r\n ...rest\r\n}) => {\r\n const outerWrapper = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.timeline,\r\n classMap[orientation],\r\n classMap[theme],\r\n className,\r\n ),\r\n [classMap, orientation, theme, className],\r\n );\r\n\r\n const itemClassName = useMemo(\r\n () =>\r\n combineClassNames(classMap.item, classMap[orientation], classMap[theme]),\r\n [classMap, orientation, theme],\r\n );\r\n\r\n const markerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.marker,\r\n classMap[theme],\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n ),\r\n [classMap, theme, orientation, shadow],\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.content,\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, orientation, shadow, rounding],\r\n );\r\n\r\n const setSize = items.length;\r\n\r\n return (\r\n <ul\r\n className={outerWrapper}\r\n data-testid={testId}\r\n role={role}\r\n aria-label={ariaLabelledBy ? undefined : (ariaLabelOverride ?? ariaLabel)}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n {...rest}\r\n >\r\n {items.map((item, index) => {\r\n const IconComponent = item.icon;\r\n const itemTestId = `${testId}-item-${index}`;\r\n const labelId = `${itemTestId}-title`;\r\n const descriptionId = item.description\r\n ? `${itemTestId}-description`\r\n : undefined;\r\n const dateId = item.date ? `${itemTestId}-date` : undefined;\r\n const hasTitle = Boolean(item.title);\r\n\r\n let dateTimeAttr: string | undefined;\r\n if (item.date) {\r\n const dateObj = new Date(item.date);\r\n if (!isNaN(dateObj.getTime())) {\r\n dateTimeAttr = dateObj.toISOString();\r\n }\r\n }\r\n\r\n const describedBy =\r\n [dateId, descriptionId].filter(Boolean).join(\" \") || undefined;\r\n\r\n return (\r\n <li\r\n key={index}\r\n role=\"listitem\"\r\n className={itemClassName}\r\n data-testid={itemTestId}\r\n aria-labelledby={hasTitle ? labelId : undefined}\r\n aria-label={!hasTitle ? `Timeline item ${index + 1}` : undefined}\r\n aria-describedby={describedBy}\r\n aria-posinset={index + 1}\r\n aria-setsize={setSize}\r\n >\r\n <div\r\n className={markerClassName}\r\n data-testid={`${itemTestId}-marker`}\r\n aria-hidden={true}\r\n >\r\n {IconComponent ? (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${itemTestId}-icon`}\r\n aria-hidden={true}\r\n >\r\n <IconComponent aria-hidden={true} />\r\n </div>\r\n ) : (\r\n <div\r\n className={classMap.dot}\r\n data-testid={`${itemTestId}-dot`}\r\n aria-hidden={true}\r\n />\r\n )}\r\n </div>\r\n\r\n <div\r\n className={contentClassName}\r\n data-testid={`${itemTestId}-content`}\r\n >\r\n {hasTitle && (\r\n <h3\r\n id={labelId}\r\n className={classMap.title}\r\n data-testid={`${itemTestId}-title`}\r\n >\r\n {item.title}\r\n </h3>\r\n )}\r\n\r\n {item.date && (\r\n <p\r\n id={dateId}\r\n className={classMap.date}\r\n data-testid={`${itemTestId}-date`}\r\n >\r\n <time dateTime={dateTimeAttr}>{item.date}</time>\r\n </p>\r\n )}\r\n\r\n {item.description && (\r\n <p\r\n id={descriptionId}\r\n className={classMap.description}\r\n data-testid={`${itemTestId}-description`}\r\n >\r\n {item.description}\r\n </p>\r\n )}\r\n </div>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n\r\nTimelineBase.displayName = \"TimelineBase\";\r\nexport default TimelineBase;\r\n","import React from \"react\";\r\nimport \"./Timeline.scss\";\r\nimport TimelineBase from \"../TimelineBase\";\r\nimport { TimelineProps } from \"../Timeline.types\";\r\n\r\nconst classes = {\r\n timeline: \"timeline\",\r\n item: \"timeline_item\",\r\n marker: \"timeline_marker\",\r\n icon: \"timeline_icon\",\r\n dot: \"timeline_dot\",\r\n content: \"timeline_content\",\r\n title: \"timeline_title\",\r\n date: \"timeline_date\",\r\n description: \"timeline_description\",\r\n\r\n vertical: \"timeline_vertical\",\r\n horizontal: \"timeline_horizontal\",\r\n\r\n primary: \"timeline_primary\",\r\n secondary: \"timeline_secondary\",\r\n tertiary: \"timeline_tertiary\",\r\n quaternary: \"timeline_quaternary\",\r\n\r\n clear: \"timeline_clear\",\r\n\r\n shadowNone: \"timeline_shadow-None\",\r\n shadowLight: \"timeline_shadow-Light\",\r\n shadowMedium: \"timeline_shadow-Medium\",\r\n shadowStrong: \"timeline_shadow-Strong\",\r\n shadowIntense: \"timeline_shadow-Intense\",\r\n\r\n roundNone: \"timeline_round-None\",\r\n roundSmall: \"timeline_round-Small\",\r\n roundMedium: \"timeline_round-Medium\",\r\n roundLarge: \"timeline_round-Large\",\r\n};\r\n\r\nconst Timeline: React.FC<TimelineProps> = (props) => {\r\n return <TimelineBase {...props} classMap={classes} />;\r\n};\r\nTimeline.displayName = \"Timeline\";\r\nexport default Timeline;\r\n"],"names":[],"mappings":"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"}
|
package/dist/core/Timeline.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef, useId, useMemo } from "react";
|
|
3
3
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
4
4
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
5
|
-
import {
|
|
5
|
+
import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize } from "./boreal-style-config-DsaRlxmw.js";
|
|
6
6
|
const ToggleBase = forwardRef(
|
|
7
7
|
({
|
|
8
8
|
checked,
|
|
@@ -157,4 +157,4 @@ Toggle.displayName = "Toggle";
|
|
|
157
157
|
export {
|
|
158
158
|
Toggle as T
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=Toggle-
|
|
160
|
+
//# sourceMappingURL=Toggle-DCK1KtP5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle-
|
|
1
|
+
{"version":3,"file":"Toggle-DCK1KtP5.js","sources":["../../src/components/Toggle/ToggleBase.tsx","../../src/components/Toggle/core/Toggle.tsx"],"sourcesContent":["import { forwardRef, KeyboardEvent, useId, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ToggleBaseProps } from \"./Toggle.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ToggleBase = forwardRef<HTMLButtonElement, ToggleBaseProps>(\r\n (\r\n {\r\n checked,\r\n onChange,\r\n label,\r\n id,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-errormessage\": ariaErrorMessage,\r\n \"aria-disabled\": ariaDisabled,\r\n tabIndex,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n disabled = false,\r\n classMap,\r\n className,\r\n \"data-testid\": testId = \"toggle\",\r\n },\r\n ref,\r\n ) => {\r\n const uid = useId();\r\n\r\n const buttonId = id ?? `${testId}-button-${uid}`;\r\n const internalLabelId = label ? `${testId}-label-${uid}` : undefined;\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy || (!ariaLabel && label ? internalLabelId : undefined);\r\n\r\n const resolvedAriaLabel = !resolvedAriaLabelledBy\r\n ? ariaLabel || (!label ? \"Toggle switch\" : undefined)\r\n : undefined;\r\n\r\n const setOn = (next: boolean) => {\r\n if (!disabled && next !== checked) {\r\n onChange(next);\r\n }\r\n };\r\n\r\n const toggle = () => setOn(!checked);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\r\n if (disabled) return;\r\n\r\n switch (e.key) {\r\n case \" \":\r\n case \"Enter\":\r\n e.preventDefault();\r\n toggle();\r\n break;\r\n case \"ArrowRight\":\r\n e.preventDefault();\r\n setOn(true);\r\n break;\r\n case \"ArrowLeft\":\r\n e.preventDefault();\r\n setOn(false);\r\n break;\r\n }\r\n };\r\n\r\n const containerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n disabled && classMap.disabled,\r\n className,\r\n ),\r\n [classMap, theme, state, size, disabled, className],\r\n );\r\n\r\n const toggleClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.toggle,\r\n checked && classMap.active,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, checked, shadow, rounding],\r\n );\r\n\r\n return (\r\n <div className={containerClass} data-testid={`${testId}-wrapper`}>\r\n <button\r\n ref={ref}\r\n id={buttonId}\r\n className={toggleClass}\r\n role=\"switch\"\r\n type=\"button\"\r\n disabled={disabled}\r\n aria-checked={checked}\r\n aria-label={resolvedAriaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-invalid={ariaInvalid}\r\n aria-errormessage={ariaErrorMessage}\r\n aria-disabled={(ariaDisabled ?? disabled) || undefined}\r\n tabIndex={tabIndex}\r\n onClick={toggle}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n >\r\n <span\r\n className={classMap.slider}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-slider`}\r\n />\r\n </button>\r\n\r\n {label && !ariaLabelledBy && (\r\n <label\r\n id={internalLabelId}\r\n htmlFor={buttonId}\r\n className={classMap.label}\r\n data-testid={`${testId}-label`}\r\n >\r\n {label}\r\n </label>\r\n )}\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nToggleBase.displayName = \"ToggleBase\";\r\nexport default ToggleBase;\r\n","import { forwardRef } from \"react\";\r\nimport \"./Toggle.scss\";\r\nimport ToggleBase from \"../ToggleBase\";\r\nimport { ToggleProps } from \"../Toggle.types\";\r\n\r\nconst classes = {\r\n container: \"container\",\r\n toggle: \"toggle\",\r\n active: \"toggle_active\",\r\n slider: \"toggle_slider\",\r\n label: \"toggle_label\",\r\n\r\n primary: \"toggle_primary\",\r\n secondary: \"toggle_secondary\",\r\n tertiary: \"toggle_tertiary\",\r\n quaternary: \"toggle_quaternary\",\r\n\r\n success: \"toggle_success\",\r\n warning: \"toggle_warning\",\r\n error: \"toggle_error\",\r\n\r\n clear: \"toggle_clear\",\r\n\r\n disabled: \"toggle_disabled\",\r\n\r\n xs: \"toggle_xs\",\r\n small: \"toggle_small\",\r\n medium: \"toggle_medium\",\r\n large: \"toggle_large\",\r\n xl: \"toggle_xl\",\r\n\r\n shadowNone: \"toggle_shadow-None\",\r\n shadowLight: \"toggle_shadow-Light\",\r\n shadowMedium: \"toggle_shadow-Medium\",\r\n shadowStrong: \"toggle_shadow-Strong\",\r\n shadowIntense: \"toggle_shadow-Intense\",\r\n\r\n roundNone: \"toggle_round-None\",\r\n roundSmall: \"toggle_round-Small\",\r\n roundMedium: \"toggle_round-Medium\",\r\n roundLarge: \"toggle_round-Large\",\r\n};\r\n\r\nconst Toggle = forwardRef<HTMLButtonElement, ToggleProps>((props, ref) => {\r\n return <ToggleBase {...props} classMap={classes} ref={ref} />;\r\n});\r\nToggle.displayName = \"Toggle\";\r\nexport default Toggle;\r\n"],"names":[],"mappings":";;;;;AAWA,MAAM,aAAa;AAAA,EACjB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,IACjB;AAAA,IACA,QAAQ,gBAAA;AAAA,IACR,WAAW,mBAAA;AAAA,IACX,SAAS,iBAAA;AAAA,IACT,QAAQ;AAAA,IACR,OAAO,eAAA;AAAA,IACP,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,eAAe,SAAS;AAAA,EAAA,GAE1B,QACG;AACH,UAAM,MAAM,MAAA;AAEZ,UAAM,WAAW,MAAM,GAAG,MAAM,WAAW,GAAG;AAC9C,UAAM,kBAAkB,QAAQ,GAAG,MAAM,UAAU,GAAG,KAAK;AAE3D,UAAM,yBACJ,mBAAmB,CAAC,aAAa,QAAQ,kBAAkB;AAE7D,UAAM,oBAAoB,CAAC,yBACvB,cAAc,CAAC,QAAQ,kBAAkB,UACzC;AAEJ,UAAM,QAAQ,CAAC,SAAkB;AAC/B,UAAI,CAAC,YAAY,SAAS,SAAS;AACjC,iBAAS,IAAI;AAAA,MACf;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,MAAM,CAAC,OAAO;AAEnC,UAAM,gBAAgB,CAAC,MAAwC;AAC7D,UAAI,SAAU;AAEd,cAAQ,EAAE,KAAA;AAAA,QACR,KAAK;AAAA,QACL,KAAK;AACH,YAAE,eAAA;AACF,iBAAA;AACA;AAAA,QACF,KAAK;AACH,YAAE,eAAA;AACF,gBAAM,IAAI;AACV;AAAA,QACF,KAAK;AACH,YAAE,eAAA;AACF,gBAAM,KAAK;AACX;AAAA,MAAA;AAAA,IAEN;AAEA,UAAM,iBAAiB;AAAA,MACrB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,SAAS,IAAI;AAAA,QACb,YAAY,SAAS;AAAA,QACrB;AAAA,MAAA;AAAA,MAEJ,CAAC,UAAU,OAAO,OAAO,MAAM,UAAU,SAAS;AAAA,IAAA;AAGpD,UAAM,cAAc;AAAA,MAClB,MACE;AAAA,QACE,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MAAA;AAAA,MAEvD,CAAC,UAAU,SAAS,QAAQ,QAAQ;AAAA,IAAA;AAGtC,gCACG,OAAA,EAAI,WAAW,gBAAgB,eAAa,GAAG,MAAM,YACpD,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA,IAAI;AAAA,UACJ,WAAW;AAAA,UACX,MAAK;AAAA,UACL,MAAK;AAAA,UACL;AAAA,UACA,gBAAc;AAAA,UACd,cAAY;AAAA,UACZ,mBAAiB;AAAA,UACjB,oBAAkB;AAAA,UAClB,gBAAc;AAAA,UACd,qBAAmB;AAAA,UACnB,kBAAgB,gBAAgB,aAAa;AAAA,UAC7C;AAAA,UACA,SAAS;AAAA,UACT,WAAW;AAAA,UACX,eAAa;AAAA,UAEb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,SAAS;AAAA,cACpB,eAAY;AAAA,cACZ,eAAa,GAAG,MAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QACxB;AAAA,MAAA;AAAA,MAGD,SAAS,CAAC,kBACT;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,SAAS;AAAA,UACT,WAAW,SAAS;AAAA,UACpB,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;AC3IzB,MAAM,UAAU;AAAA,EACd,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,UAAU;AAAA,EAEV,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,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,SAAS,WAA2C,CAAC,OAAO,QAAQ;AACxE,6BAAQ,YAAA,EAAY,GAAG,OAAO,UAAU,SAAS,KAAU;AAC7D,CAAC;AACD,OAAO,cAAc;"}
|
package/dist/core/Toggle.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { A as Avatar } from "./Avatar-
|
|
2
|
+
import { A as Avatar } from "./Avatar-CHatDRhp.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
|
-
import {
|
|
6
|
+
import { d as getDefaultTheme, b as getDefaultShadow, a as getDefaultRounding } from "./boreal-style-config-DsaRlxmw.js";
|
|
7
7
|
const ToolbarBase = ({
|
|
8
8
|
title,
|
|
9
9
|
titleId,
|
|
@@ -147,4 +147,4 @@ Toolbar.displayName = "Toolbar";
|
|
|
147
147
|
export {
|
|
148
148
|
Toolbar as T
|
|
149
149
|
};
|
|
150
|
-
//# sourceMappingURL=Toolbar-
|
|
150
|
+
//# sourceMappingURL=Toolbar-DLgQqPBh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar-
|
|
1
|
+
{"version":3,"file":"Toolbar-DLgQqPBh.js","sources":["../../src/components/Toolbar/ToolbarBase.tsx","../../src/components/Toolbar/core/Toolbar.tsx"],"sourcesContent":["import React, { JSX, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ToolbarBaseProps } from \"./Toolbar.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ToolbarBase: React.FC<ToolbarBaseProps> = ({\r\n title,\r\n titleId,\r\n left,\r\n center,\r\n right,\r\n avatar,\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n className = \"\",\r\n \"data-testid\": testId = \"toolbar\",\r\n \"aria-label\": ariaLabelProp,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n leftAriaLabel = \"Toolbar left section\",\r\n centerAriaLabel = \"Toolbar center section\",\r\n rightAriaLabel = \"Toolbar right section\",\r\n AvatarComponent,\r\n classMap,\r\n \"aria-label\": ariaLabel = \"Toolbar\",\r\n headingLevel = 1,\r\n}): JSX.Element => {\r\n const safeHeading = Math.min(6, Math.max(1, headingLevel));\r\n const TitleTag = `h${safeHeading}` as keyof JSX.IntrinsicElements;\r\n\r\n const toolbarClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.toolbar,\r\n classMap[theme],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, theme, className, shadow, rounding],\r\n );\r\n\r\n const resolvedAriaLabel = ariaLabelledBy\r\n ? undefined\r\n : (ariaLabelProp ?? ariaLabel);\r\n\r\n const avatarAriaHidden =\r\n avatar && !avatar.name && !avatar.onClick && !avatar[\"aria-label\"]\r\n ? true\r\n : undefined;\r\n\r\n const resolvedTitleId = title ? (titleId ?? `${testId}-title`) : undefined;\r\n\r\n return (\r\n <div\r\n className={toolbarClass}\r\n role=\"toolbar\"\r\n aria-orientation=\"horizontal\"\r\n aria-label={resolvedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.section}\r\n role=\"group\"\r\n aria-label={leftAriaLabel}\r\n data-testid={`${testId}-left`}\r\n >\r\n {left}\r\n </div>\r\n\r\n <div\r\n className={classMap.section}\r\n role=\"group\"\r\n aria-label={centerAriaLabel}\r\n data-testid={`${testId}-center`}\r\n >\r\n {title && (\r\n <TitleTag\r\n id={resolvedTitleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </TitleTag>\r\n )}\r\n {center}\r\n </div>\r\n\r\n <div\r\n className={classMap.section}\r\n role=\"group\"\r\n aria-label={rightAriaLabel}\r\n data-testid={`${testId}-right`}\r\n >\r\n {right}\r\n {avatar && (\r\n <div\r\n className={classMap.avatarWrapper}\r\n data-testid={`${testId}-avatar`}\r\n >\r\n <AvatarComponent\r\n name={avatar.name}\r\n src={avatar.src}\r\n size={avatar.size || \"medium\"}\r\n shape={avatar.shape || \"circle\"}\r\n theme={avatar.theme}\r\n outline={avatar.outline}\r\n onClick={avatar.onClick}\r\n aria-label={avatar[\"aria-label\"]}\r\n aria-hidden={avatarAriaHidden}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nToolbarBase.displayName = \"ToolbarBase\";\r\nexport default ToolbarBase;\r\n","import React from \"react\";\r\nimport \"./Toolbar.scss\";\r\nimport Avatar from \"../../Avatar/core/Avatar\";\r\nimport ToolbarBase from \"../ToolbarBase\";\r\nimport { ToolbarProps } from \"../Toolbar.types\";\r\n\r\nconst classes = {\r\n toolbar: \"toolbar\",\r\n section: \"toolbar_section\",\r\n title: \"toolbar_title\",\r\n avatarWrapper: \"toolbar_avatarWrapper\",\r\n\r\n primary: \"toolbar_primary\",\r\n secondary: \"toolbar_secondary\",\r\n tertiary: \"toolbar_tertiary\",\r\n quaternary: \"toolbar_quaternary\",\r\n\r\n clear: \"toolbar_clear\",\r\n\r\n shadowNone: \"toolbar_shadow-None\",\r\n shadowLight: \"toolbar_shadow-Light\",\r\n shadowMedium: \"toolbar_shadow-Medium\",\r\n shadowStrong: \"toolbar_shadow-Strong\",\r\n shadowIntense: \"toolbar_shadow-Intense\",\r\n\r\n roundNone: \"toolbar_round-None\",\r\n roundSmall: \"toolbar_round-Small\",\r\n roundMedium: \"toolbar_round-Medium\",\r\n roundLarge: \"toolbar_round-Large\",\r\n};\r\n\r\nconst Toolbar: React.FC<ToolbarProps> = (props) => (\r\n <ToolbarBase {...props} AvatarComponent={Avatar} classMap={classes} />\r\n);\r\nToolbar.displayName = \"Toolbar\";\r\nexport default Toolbar;\r\n"],"names":[],"mappings":"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"}
|
package/dist/core/Toolbar.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef, useId, useState, useEffect, useMemo, isValidElement, cloneElement } from "react";
|
|
3
3
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
4
4
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
5
|
-
import {
|
|
5
|
+
import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
|
|
6
6
|
function mergeIds(...values) {
|
|
7
7
|
return values.filter(Boolean).join(" ") || void 0;
|
|
8
8
|
}
|
|
@@ -167,4 +167,4 @@ Tooltip.displayName = "Tooltip";
|
|
|
167
167
|
export {
|
|
168
168
|
Tooltip as T
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=Tooltip-
|
|
170
|
+
//# sourceMappingURL=Tooltip-Dua_3tqJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip-
|
|
1
|
+
{"version":3,"file":"Tooltip-Dua_3tqJ.js","sources":["../../src/components/Tooltip/TooltipBase.tsx","../../src/components/Tooltip/core/Tooltip.tsx"],"sourcesContent":["import React, {\r\n forwardRef,\r\n useEffect,\r\n useId,\r\n useMemo,\r\n useState,\r\n isValidElement,\r\n cloneElement,\r\n} from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { TooltipProps, TriggerElementProps } from \"./Tooltip.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nfunction mergeIds(...values: Array<string | undefined>) {\r\n return values.filter(Boolean).join(\" \") || undefined;\r\n}\r\n\r\nfunction callAll<E>(...handlers: Array<((event: E) => void) | undefined>) {\r\n return (event: E) => {\r\n handlers.forEach((handler) => handler?.(event));\r\n };\r\n}\r\n\r\nconst TooltipBase = forwardRef<\r\n HTMLDivElement,\r\n TooltipProps & { classMap: Record<string, string> }\r\n>(function TooltipBase(\r\n {\r\n content,\r\n position = \"top\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n children,\r\n className = \"\",\r\n id,\r\n triggerId,\r\n triggerAriaLabel,\r\n triggerAriaLabelledBy,\r\n triggerAriaDescribedBy,\r\n keepMountedWhenHidden = true,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"data-testid\": testId = \"tooltip\",\r\n classMap,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const generatedId = useId();\r\n const tooltipId = id ?? generatedId;\r\n\r\n const [visible, setVisible] = useState(false);\r\n\r\n const show = () => setVisible(true);\r\n const hide = () => setVisible(false);\r\n\r\n useEffect(() => {\r\n if (!visible) return;\r\n\r\n const onKey = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") hide();\r\n };\r\n\r\n document.addEventListener(\"keydown\", onKey);\r\n return () => document.removeEventListener(\"keydown\", onKey);\r\n }, [visible]);\r\n\r\n const toolTipClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tooltip,\r\n classMap[position],\r\n classMap[theme],\r\n classMap[state],\r\n visible && classMap.visible,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, position, theme, state, visible, shadow, rounding],\r\n );\r\n\r\n let trigger: React.ReactNode;\r\n\r\n if (isValidElement(children)) {\r\n const child = children as React.ReactElement<TriggerElementProps>;\r\n const childProps = child.props;\r\n\r\n const isNaturallyFocusable =\r\n typeof child.type === \"string\" &&\r\n [\"a\", \"button\", \"input\", \"textarea\", \"select\"].includes(child.type);\r\n\r\n const maybeTabIndex =\r\n isNaturallyFocusable || childProps.tabIndex !== undefined\r\n ? {}\r\n : { tabIndex: 0 };\r\n\r\n const mergedAriaDescribedBy = mergeIds(\r\n childProps[\"aria-describedby\"],\r\n triggerAriaDescribedBy,\r\n visible ? tooltipId : undefined,\r\n );\r\n\r\n trigger = cloneElement(child, {\r\n ...maybeTabIndex,\r\n id: triggerId ?? childProps.id,\r\n \"aria-label\": triggerAriaLabel ?? childProps[\"aria-label\"],\r\n \"aria-labelledby\": triggerAriaLabelledBy ?? childProps[\"aria-labelledby\"],\r\n \"aria-describedby\": mergedAriaDescribedBy,\r\n \"data-testid\": `${testId}-trigger`,\r\n onMouseEnter: callAll<React.MouseEvent<HTMLElement>>(\r\n childProps.onMouseEnter,\r\n show,\r\n ),\r\n onMouseLeave: callAll<React.MouseEvent<HTMLElement>>(\r\n childProps.onMouseLeave,\r\n hide,\r\n ),\r\n onFocus: callAll<React.FocusEvent<HTMLElement>>(childProps.onFocus, show),\r\n onBlur: callAll<React.FocusEvent<HTMLElement>>(childProps.onBlur, hide),\r\n });\r\n } else {\r\n trigger = (\r\n <span\r\n id={triggerId}\r\n tabIndex={0}\r\n className={classMap.triggerWrapper}\r\n aria-label={triggerAriaLabel}\r\n aria-labelledby={triggerAriaLabelledBy}\r\n aria-describedby={mergeIds(\r\n triggerAriaDescribedBy,\r\n visible ? tooltipId : undefined,\r\n )}\r\n data-testid={`${testId}-trigger`}\r\n onMouseEnter={show}\r\n onMouseLeave={hide}\r\n onFocus={show}\r\n onBlur={hide}\r\n >\r\n {children}\r\n </span>\r\n );\r\n }\r\n\r\n const shouldRenderTooltip = keepMountedWhenHidden || visible;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(classMap.container, className)}\r\n data-testid={`${testId}-container`}\r\n >\r\n {trigger}\r\n\r\n {shouldRenderTooltip && (\r\n <div\r\n ref={ref}\r\n id={tooltipId}\r\n className={toolTipClassName}\r\n role=\"tooltip\"\r\n aria-hidden={!visible}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {content}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n});\r\n\r\nTooltipBase.displayName = \"TooltipBase\";\r\nexport default TooltipBase;\r\n","import { forwardRef } from \"react\";\r\nimport \"./Tooltip.scss\";\r\nimport TooltipBase from \"../TooltipBase\";\r\nimport { TooltipProps } from \"../Tooltip.types\";\r\n\r\nconst classes = {\r\n container: \"tooltip_container\",\r\n triggerWrapper: \"tooltip_triggerWrapper\",\r\n tooltip: \"tooltip\",\r\n\r\n top: \"tooltip_top\",\r\n bottom: \"tooltip_bottom\",\r\n left: \"tooltip_left\",\r\n right: \"tooltip_right\",\r\n\r\n primary: \"tooltip_primary\",\r\n secondary: \"tooltip_secondary\",\r\n tertiary: \"tooltip_tertiary\",\r\n quaternary: \"tooltip_quaternary\",\r\n\r\n success: \"tooltip_success\",\r\n error: \"tooltip_error\",\r\n warning: \"tooltip_warning\",\r\n\r\n clear: \"tooltip_clear\",\r\n\r\n shadowNone: \"tooltip_shadow-None\",\r\n shadowLight: \"tooltip_shadow-Light\",\r\n shadowMedium: \"tooltip_shadow-Medium\",\r\n shadowStrong: \"tooltip_shadow-Strong\",\r\n shadowIntense: \"tooltip_shadow-Intense\",\r\n\r\n roundNone: \"tooltip_round-None\",\r\n roundSmall: \"tooltip_round-Small\",\r\n roundMedium: \"tooltip_round-Medium\",\r\n roundLarge: \"tooltip_round-Large\",\r\n};\r\n\r\nconst Tooltip = forwardRef<HTMLDivElement, TooltipProps>((props, ref) => (\r\n <TooltipBase {...props} ref={ref} classMap={classes} />\r\n));\r\n\r\nTooltip.displayName = \"Tooltip\";\r\n\r\nexport default Tooltip;\r\n"],"names":["TooltipBase"],"mappings":"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"}
|
package/dist/core/Tooltip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography-D0hPzK5Y.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 role,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n \"aria-busy\": ariaBusy,\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 && classMap.srOnly,\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 role,\r\n className: resolvedClassName,\r\n \"data-testid\": testId ?? \"typography\",\r\n\r\n \"aria-label\": ariaLabelledBy ? undefined : ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaLive ? ariaAtomic : undefined,\r\n \"aria-busy\": ariaLive ? ariaBusy : undefined,\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 {
|
|
1
|
+
{"version":3,"file":"Typography-D0hPzK5Y.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 role,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n \"aria-busy\": ariaBusy,\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 && classMap.srOnly,\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 role,\r\n className: resolvedClassName,\r\n \"data-testid\": testId ?? \"typography\",\r\n\r\n \"aria-label\": ariaLabelledBy ? undefined : ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaLive ? ariaAtomic : undefined,\r\n \"aria-busy\": ariaLive ? ariaBusy : undefined,\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 { TypographyProps } 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 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography-DdTiWRgQ.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 role,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n \"aria-busy\": ariaBusy,\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 && classMap.srOnly,\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 role,\r\n className: resolvedClassName,\r\n \"data-testid\": testId ?? \"typography\",\r\n\r\n \"aria-label\": ariaLabelledBy ? undefined : ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaLive ? ariaAtomic : undefined,\r\n \"aria-busy\": ariaLive ? ariaBusy : undefined,\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 {
|
|
1
|
+
{"version":3,"file":"Typography-DdTiWRgQ.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 role,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaAtomic,\r\n \"aria-busy\": ariaBusy,\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 && classMap.srOnly,\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 role,\r\n className: resolvedClassName,\r\n \"data-testid\": testId ?? \"typography\",\r\n\r\n \"aria-label\": ariaLabelledBy ? undefined : ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-hidden\": ariaHidden,\r\n \"aria-live\": ariaLive,\r\n \"aria-atomic\": ariaLive ? ariaAtomic : undefined,\r\n \"aria-busy\": ariaLive ? ariaBusy : undefined,\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 { TypographyProps } 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 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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"}
|