boreal-ui 0.0.71 → 0.0.73
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/{Accordion-Cn-Lzpin.cjs → Accordion-7FjsUwVp.cjs} +49 -17
- package/dist/core/Accordion-7FjsUwVp.cjs.map +1 -0
- package/dist/core/{Accordion-Cvvsfx1g.js → Accordion-Bp-rbJiD.js} +50 -18
- package/dist/core/Accordion-Bp-rbJiD.js.map +1 -0
- package/dist/core/Accordion.cjs.js +1 -1
- package/dist/core/Accordion.js +1 -1
- package/dist/core/{Avatar-BM8AwOB6.js → Avatar-Ct2kXkNR.js} +59 -22
- package/dist/core/Avatar-Ct2kXkNR.js.map +1 -0
- package/dist/core/{Avatar-DOg8W9yf.cjs → Avatar-jxGFijtF.cjs} +58 -21
- package/dist/core/Avatar-jxGFijtF.cjs.map +1 -0
- package/dist/core/Avatar.cjs.js +1 -1
- package/dist/core/Avatar.js +1 -1
- package/dist/core/{Badge-C0Twrrjc.js → Badge-BOd5dF4l.js} +28 -10
- package/dist/core/Badge-BOd5dF4l.js.map +1 -0
- package/dist/core/{Badge-tFIHQcKi.cjs → Badge-oXVUTleI.cjs} +28 -10
- package/dist/core/Badge-oXVUTleI.cjs.map +1 -0
- package/dist/core/Badge.cjs.js +1 -1
- package/dist/core/Badge.js +1 -1
- package/dist/core/{Breadcrumbs-CALCSPkH.cjs → Breadcrumbs-B7hp9_u1.cjs} +41 -25
- package/dist/core/Breadcrumbs-B7hp9_u1.cjs.map +1 -0
- package/dist/core/{Breadcrumbs-C2IzEdls.js → Breadcrumbs-C1Z59ffV.js} +42 -26
- package/dist/core/Breadcrumbs-C1Z59ffV.js.map +1 -0
- package/dist/core/Breadcrumbs.cjs.js +2 -4
- package/dist/core/Breadcrumbs.cjs.js.map +1 -1
- package/dist/core/Breadcrumbs.js +1 -2
- package/dist/core/{Button-CC0Q_XPy.js → Button-IALg9VKr.js} +53 -15
- package/dist/core/Button-IALg9VKr.js.map +1 -0
- package/dist/core/{Button-zvElXSem.cjs → Button-nxtJFOWD.cjs} +53 -15
- package/dist/core/Button-nxtJFOWD.cjs.map +1 -0
- package/dist/core/Button.cjs.js +1 -1
- package/dist/core/Button.js +1 -1
- package/dist/core/{Card-DRM65kM-.cjs → Card-C3kfPs8j.cjs} +87 -28
- package/dist/core/Card-C3kfPs8j.cjs.map +1 -0
- package/dist/core/{Card-BjLC4t0w.js → Card-dazG4EK1.js} +87 -28
- package/dist/core/Card-dazG4EK1.js.map +1 -0
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/CheckBox.cjs.js +1 -1
- package/dist/core/CheckBox.js +1 -1
- package/dist/core/Checkbox-DmMDTc5Z.js +193 -0
- package/dist/core/Checkbox-DmMDTc5Z.js.map +1 -0
- package/dist/core/Checkbox-JWFInEW_.cjs +192 -0
- package/dist/core/Checkbox-JWFInEW_.cjs.map +1 -0
- package/dist/core/{Chip-BjbtoFKm.js → Chip-DSBIjvJZ.js} +45 -12
- package/dist/core/Chip-DSBIjvJZ.js.map +1 -0
- package/dist/core/{Chip-c2mN7R-R.cjs → Chip-DV-l08jr.cjs} +44 -11
- package/dist/core/Chip-DV-l08jr.cjs.map +1 -0
- package/dist/core/Chip.cjs.js +1 -1
- package/dist/core/Chip.js +1 -1
- package/dist/core/{CircularProgress-DpLsV7FP.cjs → CircularProgress-CAlIuRfH.cjs} +32 -15
- package/dist/core/CircularProgress-CAlIuRfH.cjs.map +1 -0
- package/dist/core/{CircularProgress-CGqwPSPq.js → CircularProgress-DEZZm76L.js} +32 -15
- package/dist/core/CircularProgress-DEZZm76L.js.map +1 -0
- package/dist/core/CircularProgress.cjs.js +1 -1
- package/dist/core/CircularProgress.js +1 -1
- package/dist/core/{ColorPicker-CpHTSayd.js → ColorPicker-BpJgDnaw.js} +79 -12
- package/dist/core/ColorPicker-BpJgDnaw.js.map +1 -0
- package/dist/core/{ColorPicker-CzL1SJCT.cjs → ColorPicker-j6djvLOC.cjs} +79 -12
- package/dist/core/ColorPicker-j6djvLOC.cjs.map +1 -0
- package/dist/core/ColorPicker.cjs.js +1 -1
- package/dist/core/ColorPicker.js +1 -1
- package/dist/core/CommandPalette-BBjIib6T.js +447 -0
- package/dist/core/CommandPalette-BBjIib6T.js.map +1 -0
- package/dist/core/CommandPalette-BtpQ9cio.cjs +446 -0
- package/dist/core/CommandPalette-BtpQ9cio.cjs.map +1 -0
- package/dist/core/CommandPalette.cjs.js +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/DataTable-CCPWihcW.cjs +313 -0
- package/dist/core/DataTable-CCPWihcW.cjs.map +1 -0
- package/dist/core/DataTable-FIxUWKG4.js +314 -0
- package/dist/core/DataTable-FIxUWKG4.js.map +1 -0
- package/dist/core/DataTable.cjs.js +1 -1
- package/dist/core/DataTable.js +1 -1
- package/dist/core/{DateTimePicker-D7bRXphw.cjs → DateTimePicker-Ul1dl1A1.cjs} +90 -25
- package/dist/core/DateTimePicker-Ul1dl1A1.cjs.map +1 -0
- package/dist/core/{DateTimePicker-BzS1nP5J.js → DateTimePicker-u2p4sBbR.js} +90 -25
- package/dist/core/DateTimePicker-u2p4sBbR.js.map +1 -0
- package/dist/core/DateTimePicker.cjs.js +1 -1
- package/dist/core/DateTimePicker.js +1 -1
- package/dist/core/{Divider-7akvm9JA.js → Divider-C34MwVBv.js} +19 -12
- package/dist/core/Divider-C34MwVBv.js.map +1 -0
- package/dist/core/{Divider-CaSuFc3G.cjs → Divider-CgUoL8NV.cjs} +19 -12
- package/dist/core/Divider-CgUoL8NV.cjs.map +1 -0
- package/dist/core/Divider.cjs.js +1 -1
- package/dist/core/Divider.js +1 -1
- package/dist/core/{Dropdown-CjPfU1K-.cjs → Dropdown-B7-_OH9p.cjs} +158 -72
- package/dist/core/Dropdown-B7-_OH9p.cjs.map +1 -0
- package/dist/core/{Dropdown-CR3xr5K-.js → Dropdown-BGJ8mGhg.js} +159 -73
- package/dist/core/Dropdown-BGJ8mGhg.js.map +1 -0
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-Cp3ocTQX.js → EmptyState-CCSPIDo3.js} +45 -45
- package/dist/core/EmptyState-CCSPIDo3.js.map +1 -0
- package/dist/core/{EmptyState-P-MSItCX.cjs → EmptyState-Du2xqi6G.cjs} +45 -45
- package/dist/core/EmptyState-Du2xqi6G.cjs.map +1 -0
- package/dist/core/EmptyState.cjs.js +1 -1
- package/dist/core/EmptyState.js +1 -1
- package/dist/core/{FileUpload-DbMxpH-U.cjs → FileUpload-BR9-eENT.cjs} +203 -63
- package/dist/core/FileUpload-BR9-eENT.cjs.map +1 -0
- package/dist/core/{FileUpload-9fIxslAo.js → FileUpload-BWjOciA3.js} +204 -64
- package/dist/core/FileUpload-BWjOciA3.js.map +1 -0
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/Footer-60sTURxB.cjs +272 -0
- package/dist/core/Footer-60sTURxB.cjs.map +1 -0
- package/dist/core/Footer-CkSzN_PI.js +273 -0
- package/dist/core/Footer-CkSzN_PI.js.map +1 -0
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{FormGroup-DDZ1D_CI.js → FormGroup-qqHKY5fP.js} +66 -33
- package/dist/core/FormGroup-qqHKY5fP.js.map +1 -0
- package/dist/core/{FormGroup-Cit_2_Wo.cjs → FormGroup-s3n6ZiDT.cjs} +66 -33
- package/dist/core/FormGroup-s3n6ZiDT.cjs.map +1 -0
- package/dist/core/FormGroup.cjs.js +1 -1
- package/dist/core/FormGroup.js +1 -1
- package/dist/core/{IconButton-Bio6Azm-.cjs → IconButton-C_ktew-6.cjs} +57 -36
- package/dist/core/IconButton-C_ktew-6.cjs.map +1 -0
- package/dist/core/{IconButton-BMZhwYXB.js → IconButton-ChJJCB4O.js} +57 -36
- package/dist/core/IconButton-ChJJCB4O.js.map +1 -0
- package/dist/core/IconButton.cjs.js +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/{MarkdownRenderer-Bn6vcfSd.cjs → MarkdownRenderer-CBPB1PJt.cjs} +25 -5
- package/dist/core/MarkdownRenderer-CBPB1PJt.cjs.map +1 -0
- package/dist/core/{MarkdownRenderer-Co787hku.js → MarkdownRenderer-EbqPYLEM.js} +25 -5
- package/dist/core/MarkdownRenderer-EbqPYLEM.js.map +1 -0
- package/dist/core/MarkdownRenderer.cjs.js +1 -1
- package/dist/core/MarkdownRenderer.js +1 -1
- package/dist/core/{MessagePopup-aKDackiq.js → MessagePopup-D6xuwdAv.js} +21 -10
- package/dist/core/MessagePopup-D6xuwdAv.js.map +1 -0
- package/dist/core/{MessagePopup-BwKMX9NS.cjs → MessagePopup-DIfdILWZ.cjs} +21 -10
- package/dist/core/MessagePopup-DIfdILWZ.cjs.map +1 -0
- package/dist/core/MessagePopup.cjs.js +1 -1
- package/dist/core/MessagePopup.js +1 -1
- package/dist/core/{MetricBox-CPug-nxo.js → MetricBox-BlkBoGCL.js} +35 -8
- package/dist/core/MetricBox-BlkBoGCL.js.map +1 -0
- package/dist/core/{MetricBox-DVo4UUQv.cjs → MetricBox-Dq8ZwEGV.cjs} +35 -8
- package/dist/core/MetricBox-Dq8ZwEGV.cjs.map +1 -0
- package/dist/core/MetricBox.cjs.js +1 -1
- package/dist/core/MetricBox.js +1 -1
- package/dist/core/{Modal-DCBP18Ov.js → Modal-DVz_GNOL.js} +16 -8
- package/dist/core/Modal-DVz_GNOL.js.map +1 -0
- package/dist/core/{Modal-CIkYf4MD.cjs → Modal-DhpY3Kt6.cjs} +16 -8
- package/dist/core/Modal-DhpY3Kt6.cjs.map +1 -0
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NavBar-BcL7Dh52.js → NavBar-DelYH3IR.js} +58 -33
- package/dist/core/NavBar-DelYH3IR.js.map +1 -0
- package/dist/core/{NavBar-DKDzRFJ6.cjs → NavBar-Dq1f1NSn.cjs} +58 -33
- package/dist/core/NavBar-Dq1f1NSn.cjs.map +1 -0
- package/dist/core/NavBar.cjs.js +1 -1
- package/dist/core/NavBar.js +1 -1
- package/dist/core/{NotificationCenter-DfOOEt9N.cjs → NotificationCenter-CsKJTZhk.cjs} +117 -72
- package/dist/core/NotificationCenter-CsKJTZhk.cjs.map +1 -0
- package/dist/core/{NotificationCenter-DLCzWNve.js → NotificationCenter-MTRIDmMm.js} +118 -73
- package/dist/core/NotificationCenter-MTRIDmMm.js.map +1 -0
- package/dist/core/NotificationCenter.cjs.js +2 -4
- package/dist/core/NotificationCenter.cjs.js.map +1 -1
- package/dist/core/NotificationCenter.js +2 -3
- package/dist/core/Pager-B2MEqAOV.js +225 -0
- package/dist/core/Pager-B2MEqAOV.js.map +1 -0
- package/dist/core/Pager-wl7_umU4.cjs +224 -0
- package/dist/core/Pager-wl7_umU4.cjs.map +1 -0
- package/dist/core/Pager.cjs.js +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{PopOver-IzDFOu7Y.cjs → PopOver-B87GGM3R.cjs} +39 -16
- package/dist/core/PopOver-B87GGM3R.cjs.map +1 -0
- package/dist/core/{PopOver-Bt80x5vL.js → PopOver-lRqOHUJg.js} +39 -16
- package/dist/core/PopOver-lRqOHUJg.js.map +1 -0
- package/dist/core/PopOver.cjs.js +1 -1
- package/dist/core/PopOver.js +1 -1
- package/dist/core/{ProgressBar-BbIZLV1t.cjs → ProgressBar-Cjw7Npjq.cjs} +45 -32
- package/dist/core/ProgressBar-Cjw7Npjq.cjs.map +1 -0
- package/dist/core/{ProgressBar-BLcSyVgQ.js → ProgressBar-pVPs5lsA.js} +45 -32
- package/dist/core/ProgressBar-pVPs5lsA.js.map +1 -0
- package/dist/core/ProgressBar.cjs.js +1 -1
- package/dist/core/ProgressBar.js +1 -1
- package/dist/core/{RadioButton-DygrrlH_.js → RadioButton-BM0-FaUG.js} +15 -3
- package/dist/core/RadioButton-BM0-FaUG.js.map +1 -0
- package/dist/core/{RadioButton-BxdmcaZg.cjs → RadioButton-QK6SCEbU.cjs} +15 -3
- package/dist/core/RadioButton-QK6SCEbU.cjs.map +1 -0
- package/dist/core/RadioButton.cjs.js +1 -1
- package/dist/core/RadioButton.js +1 -1
- package/dist/core/{Rating-B4qbA_y6.js → Rating-C7xfIXYT.js} +45 -21
- package/dist/core/Rating-C7xfIXYT.js.map +1 -0
- package/dist/core/{Rating-U1MIoh5b.cjs → Rating-CIo6DFh5.cjs} +45 -21
- package/dist/core/Rating-CIo6DFh5.cjs.map +1 -0
- package/dist/core/Rating.cjs.js +1 -1
- package/dist/core/Rating.js +1 -1
- package/dist/core/{ScrollToTop-Bdm78oOs.js → ScrollToTop-BYyKPqix.js} +20 -5
- package/dist/core/ScrollToTop-BYyKPqix.js.map +1 -0
- package/dist/core/{ScrollToTop-DKOwe6z3.cjs → ScrollToTop-CK74BkzY.cjs} +20 -5
- package/dist/core/ScrollToTop-CK74BkzY.cjs.map +1 -0
- package/dist/core/ScrollToTop.cjs.js +1 -1
- package/dist/core/ScrollToTop.js +1 -1
- package/dist/core/{Select-DnCmFsPq.js → Select-CeyJGftD.js} +61 -28
- package/dist/core/Select-CeyJGftD.js.map +1 -0
- package/dist/core/{Select-CeGp-Feb.cjs → Select-KiOrD0xY.cjs} +61 -28
- package/dist/core/Select-KiOrD0xY.cjs.map +1 -0
- package/dist/core/Select.cjs.js +1 -1
- package/dist/core/Select.js +1 -1
- package/dist/core/{Sidebar-PLVBm7te.js → Sidebar-BWzuQw-r.js} +75 -26
- package/dist/core/Sidebar-BWzuQw-r.js.map +1 -0
- package/dist/core/{Sidebar-BMvvoT9j.cjs → Sidebar-DrEQ7PwW.cjs} +75 -26
- package/dist/core/Sidebar-DrEQ7PwW.cjs.map +1 -0
- package/dist/core/Sidebar.cjs.js +1 -1
- package/dist/core/Sidebar.js +1 -1
- package/dist/core/{Skeleton-tetAZCSl.cjs → Skeleton-BXeQBgX2.cjs} +34 -11
- package/dist/core/Skeleton-BXeQBgX2.cjs.map +1 -0
- package/dist/core/{Skeleton-BjpQHG5i.js → Skeleton-C-L3OgVt.js} +34 -11
- package/dist/core/Skeleton-C-L3OgVt.js.map +1 -0
- package/dist/core/Skeleton.cjs.js +1 -1
- package/dist/core/Skeleton.js +1 -1
- package/dist/core/{Slider-S8KnYlkd.cjs → Slider-Davbqf_v.cjs} +43 -9
- package/dist/core/Slider-Davbqf_v.cjs.map +1 -0
- package/dist/core/{Slider-WsZnPCUo.js → Slider-Dxcryk5j.js} +43 -9
- package/dist/core/Slider-Dxcryk5j.js.map +1 -0
- package/dist/core/Slider.cjs.js +1 -1
- package/dist/core/Slider.js +1 -1
- package/dist/core/{Spinner-D1CHbKYU.js → Spinner-C0bxVDCy.js} +15 -7
- package/dist/core/Spinner-C0bxVDCy.js.map +1 -0
- package/dist/core/{Spinner-JTcQ_d4T.cjs → Spinner-DvzolXTI.cjs} +15 -7
- package/dist/core/Spinner-DvzolXTI.cjs.map +1 -0
- package/dist/core/Spinner.cjs.js +1 -1
- package/dist/core/Spinner.js +1 -1
- package/dist/core/{Stepper-JNVBVHc3.cjs → Stepper-CQRJID19.cjs} +25 -12
- package/dist/core/Stepper-CQRJID19.cjs.map +1 -0
- package/dist/core/{Stepper-C6xjvhZJ.js → Stepper-SDJM-Jju.js} +25 -12
- package/dist/core/Stepper-SDJM-Jju.js.map +1 -0
- package/dist/core/Stepper.cjs.js +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{Tabs-DkdkDwei.js → Tabs-B4HRqGuB.js} +16 -7
- package/dist/core/Tabs-B4HRqGuB.js.map +1 -0
- package/dist/core/{Tabs-BFn-TRKL.cjs → Tabs-r1nyJCFz.cjs} +16 -7
- package/dist/core/Tabs-r1nyJCFz.cjs.map +1 -0
- package/dist/core/Tabs.cjs.js +1 -1
- package/dist/core/Tabs.js +1 -1
- package/dist/core/{TagInput-Bvoe6pm0.js → TagInput-CcuMIlmi.js} +47 -34
- package/dist/core/TagInput-CcuMIlmi.js.map +1 -0
- package/dist/core/{TagInput-Ce3BWJaw.cjs → TagInput-pWRdhaP3.cjs} +46 -33
- package/dist/core/TagInput-pWRdhaP3.cjs.map +1 -0
- package/dist/core/TagInput.cjs.js +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/{TextArea-UeNb21Ch.cjs → TextArea-BKmmcXld.cjs} +51 -11
- package/dist/core/TextArea-BKmmcXld.cjs.map +1 -0
- package/dist/core/{TextArea-CdulzkDh.js → TextArea-Ufou1zw1.js} +51 -11
- package/dist/core/TextArea-Ufou1zw1.js.map +1 -0
- package/dist/core/TextArea.cjs.js +1 -1
- package/dist/core/TextArea.js +1 -1
- package/dist/core/{TextInput-lFozK5mA.js → TextInput-BaiDGrKw.js} +112 -89
- package/dist/core/TextInput-BaiDGrKw.js.map +1 -0
- package/dist/core/{TextInput-DcONHL6m.cjs → TextInput-DbAsQxjr.cjs} +112 -89
- package/dist/core/TextInput-DbAsQxjr.cjs.map +1 -0
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/{ThemeContext-DOlnx89D.cjs → ThemeContext-4edI_44t.cjs} +2 -2
- package/dist/{next/ThemeContext-DA4TVcjV.cjs.map → core/ThemeContext-4edI_44t.cjs.map} +1 -1
- package/dist/{next/ThemeContext-BsFZ0Cl7.js → core/ThemeContext-nYSJ_G6L.js} +2 -2
- package/dist/{next/ThemeContext-BsFZ0Cl7.js.map → core/ThemeContext-nYSJ_G6L.js.map} +1 -1
- package/dist/core/ThemeProvider.cjs.js +1 -1
- package/dist/core/ThemeProvider.js +1 -1
- package/dist/core/Timeline-BRLd8boJ.js +194 -0
- package/dist/core/Timeline-BRLd8boJ.js.map +1 -0
- package/dist/core/Timeline-CfTmjEVS.cjs +193 -0
- package/dist/core/Timeline-CfTmjEVS.cjs.map +1 -0
- package/dist/core/Timeline.cjs.js +1 -1
- package/dist/core/Timeline.js +1 -1
- package/dist/core/{Toggle-B4bJ4Jcj.cjs → Toggle-BRUwXOhV.cjs} +27 -10
- package/dist/core/Toggle-BRUwXOhV.cjs.map +1 -0
- package/dist/core/{Toggle-DxNHxjZn.js → Toggle-DL0Nhwgr.js} +27 -10
- package/dist/core/Toggle-DL0Nhwgr.js.map +1 -0
- package/dist/core/Toggle.cjs.js +1 -1
- package/dist/core/Toggle.js +1 -1
- package/dist/core/{Toolbar-DKSfwRUz.cjs → Toolbar-CxJxebIJ.cjs} +30 -10
- package/dist/core/Toolbar-CxJxebIJ.cjs.map +1 -0
- package/dist/core/{Toolbar-CQNKVKK8.js → Toolbar-fSghH1_-.js} +30 -10
- package/dist/core/Toolbar-fSghH1_-.js.map +1 -0
- package/dist/core/Toolbar.cjs.js +1 -1
- package/dist/core/Toolbar.js +1 -1
- package/dist/core/{Tooltip-DS7DSyij.cjs → Tooltip-_e_4s6pE.cjs} +70 -19
- package/dist/core/Tooltip-_e_4s6pE.cjs.map +1 -0
- package/dist/core/{Tooltip-BzRqlOTz.js → Tooltip-wKNLA3ua.js} +71 -20
- package/dist/core/Tooltip-wKNLA3ua.js.map +1 -0
- package/dist/core/Tooltip.cjs.js +1 -1
- package/dist/core/Tooltip.js +1 -1
- package/dist/core/{Typography-DFXpv9CF.js → Typography-D0hPzK5Y.js} +20 -4
- package/dist/core/Typography-D0hPzK5Y.js.map +1 -0
- package/dist/core/{Typography-CrSonr_W.cjs → Typography-DdTiWRgQ.cjs} +20 -4
- package/dist/core/Typography-DdTiWRgQ.cjs.map +1 -0
- package/dist/core/Typography.cjs.js +1 -1
- package/dist/core/Typography.js +1 -1
- package/dist/{next/boreal-style-config-Rr5d5Qts.cjs → core/boreal-style-config-C1UIwOFN.cjs} +4 -1
- package/dist/core/boreal-style-config-C1UIwOFN.cjs.map +1 -0
- package/dist/core/{boreal-style-config-BILmxkZG.js → boreal-style-config-DsaRlxmw.js} +4 -1
- package/dist/core/boreal-style-config-DsaRlxmw.js.map +1 -0
- package/dist/core/boreal-ui.css +451 -44
- package/dist/core/index.cjs.js +49 -49
- package/dist/core/index.js +50 -50
- package/dist/next/{Accordion-CWYy3ivV.cjs → Accordion-BEa1jxTt.cjs} +97 -65
- package/dist/next/Accordion-BEa1jxTt.cjs.map +1 -0
- package/dist/next/{Accordion-BGmQxSLY.js → Accordion-Bg8V6T38.js} +98 -66
- package/dist/next/Accordion-Bg8V6T38.js.map +1 -0
- package/dist/next/Accordion.cjs.js +1 -1
- package/dist/next/Accordion.js +1 -1
- package/dist/next/{Avatar-D3l1T_H7.js → Avatar-CiFxswSP.js} +59 -22
- package/dist/next/Avatar-CiFxswSP.js.map +1 -0
- package/dist/next/{Avatar-aNqEuazN.cjs → Avatar-iZKOY9MH.cjs} +58 -21
- package/dist/next/Avatar-iZKOY9MH.cjs.map +1 -0
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Badge-BYC1gEgw.cjs → Badge-DzcjI-JI.cjs} +28 -10
- package/dist/next/Badge-DzcjI-JI.cjs.map +1 -0
- package/dist/next/{Badge-4PrdXKYJ.js → Badge-WP2DFssv.js} +28 -10
- package/dist/next/Badge-WP2DFssv.js.map +1 -0
- package/dist/next/Badge.cjs.js +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-DrLy6lxS.js → Breadcrumbs-B60a5DUy.js} +42 -26
- package/dist/next/Breadcrumbs-B60a5DUy.js.map +1 -0
- package/dist/next/{Breadcrumbs--HIh4k3A.cjs → Breadcrumbs-CV5iM8BP.cjs} +41 -25
- package/dist/next/Breadcrumbs-CV5iM8BP.cjs.map +1 -0
- package/dist/next/Breadcrumbs.cjs.js +2 -4
- package/dist/next/Breadcrumbs.cjs.js.map +1 -1
- package/dist/next/Breadcrumbs.js +1 -2
- package/dist/next/{Button-CARQQF9h.js → Button-BfgUzkgN.js} +98 -60
- package/dist/next/Button-BfgUzkgN.js.map +1 -0
- package/dist/next/{Button-CfP7f3xF.cjs → Button-DMCOgi4K.cjs} +98 -60
- package/dist/next/Button-DMCOgi4K.cjs.map +1 -0
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-WoaRWnDq.cjs → Card-0Pm8Vjjn.cjs} +152 -87
- package/dist/next/Card-0Pm8Vjjn.cjs.map +1 -0
- package/dist/next/{Card-B_J1YknX.js → Card-CSFC7mpW.js} +152 -87
- package/dist/next/Card-CSFC7mpW.js.map +1 -0
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.cjs.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/Checkbox-BlWHxhjw.js +243 -0
- package/dist/next/Checkbox-BlWHxhjw.js.map +1 -0
- package/dist/next/Checkbox-DXNxt-4b.cjs +242 -0
- package/dist/next/Checkbox-DXNxt-4b.cjs.map +1 -0
- package/dist/next/{Chip-Ben13vdt.cjs → Chip-CB1mcRA1.cjs} +93 -60
- package/dist/next/Chip-CB1mcRA1.cjs.map +1 -0
- package/dist/next/{Chip-CGlXrV7g.js → Chip-CuaKFQku.js} +94 -61
- package/dist/next/Chip-CuaKFQku.js.map +1 -0
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CircularProgress-R9oZ2NqR.cjs → CircularProgress-CzFUYDX1.cjs} +68 -51
- package/dist/next/CircularProgress-CzFUYDX1.cjs.map +1 -0
- package/dist/next/{CircularProgress-C3Hd3lut.js → CircularProgress-Dn1VXFsq.js} +68 -51
- package/dist/next/CircularProgress-Dn1VXFsq.js.map +1 -0
- package/dist/next/CircularProgress.cjs.js +1 -1
- package/dist/next/CircularProgress.js +1 -1
- package/dist/next/ColorPicker-ByPKPsMz.cjs +232 -0
- package/dist/next/ColorPicker-ByPKPsMz.cjs.map +1 -0
- package/dist/next/ColorPicker-CCzSZDjx.js +233 -0
- package/dist/next/ColorPicker-CCzSZDjx.js.map +1 -0
- package/dist/next/ColorPicker.cjs.js +1 -1
- package/dist/next/ColorPicker.js +1 -1
- package/dist/next/CommandPalette-BQEJG5yN.cjs +495 -0
- package/dist/next/CommandPalette-BQEJG5yN.cjs.map +1 -0
- package/dist/next/CommandPalette-Cxx3Ey9J.js +496 -0
- package/dist/next/CommandPalette-Cxx3Ey9J.js.map +1 -0
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/DataTable-Bt6D__oo.cjs +359 -0
- package/dist/next/DataTable-Bt6D__oo.cjs.map +1 -0
- package/dist/next/DataTable-CZj_U9rg.js +360 -0
- package/dist/next/DataTable-CZj_U9rg.js.map +1 -0
- package/dist/next/DataTable.cjs.js +1 -1
- package/dist/next/DataTable.js +1 -1
- package/dist/next/DateTimePicker-CdPvr6Mc.js +323 -0
- package/dist/next/DateTimePicker-CdPvr6Mc.js.map +1 -0
- package/dist/next/DateTimePicker-Cols3qxt.cjs +322 -0
- package/dist/next/DateTimePicker-Cols3qxt.cjs.map +1 -0
- package/dist/next/DateTimePicker.cjs.js +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Divider-DZ7hdt_B.js → Divider-DXGze_D2.js} +46 -39
- package/dist/next/Divider-DXGze_D2.js.map +1 -0
- package/dist/next/{Divider-C0voHnSK.cjs → Divider-Dr0xlon0.cjs} +46 -39
- package/dist/next/Divider-Dr0xlon0.cjs.map +1 -0
- package/dist/next/Divider.cjs.js +1 -1
- package/dist/next/Divider.js +1 -1
- package/dist/next/{Dropdown-VXFj_bFP.js → Dropdown-79ZIBUjB.js} +159 -73
- package/dist/next/Dropdown-79ZIBUjB.js.map +1 -0
- package/dist/next/{Dropdown-BkgFTyAd.cjs → Dropdown-BfvCn_20.cjs} +158 -72
- package/dist/next/Dropdown-BfvCn_20.cjs.map +1 -0
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-DEXnMGP_.cjs → EmptyState-Dy1Xeyzp.cjs} +45 -45
- package/dist/next/EmptyState-Dy1Xeyzp.cjs.map +1 -0
- package/dist/next/{EmptyState-C9ZcLwdE.js → EmptyState-oXCSBosz.js} +45 -45
- package/dist/next/EmptyState-oXCSBosz.js.map +1 -0
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/FileUpload-C1DVXFK7.cjs +619 -0
- package/dist/next/FileUpload-C1DVXFK7.cjs.map +1 -0
- package/dist/next/FileUpload-qiY8YpDz.js +620 -0
- package/dist/next/FileUpload-qiY8YpDz.js.map +1 -0
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/Footer-4L7pu4Gp.cjs +324 -0
- package/dist/next/Footer-4L7pu4Gp.cjs.map +1 -0
- package/dist/next/Footer-DIPBB0is.js +325 -0
- package/dist/next/Footer-DIPBB0is.js.map +1 -0
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/FormGroup-AHYiWnkX.js +209 -0
- package/dist/next/FormGroup-AHYiWnkX.js.map +1 -0
- package/dist/next/FormGroup-B4Xb3X61.cjs +208 -0
- package/dist/next/FormGroup-B4Xb3X61.cjs.map +1 -0
- package/dist/next/FormGroup.cjs.js +1 -1
- package/dist/next/FormGroup.js +1 -1
- package/dist/next/{IconButton-D3MIvof0.cjs → IconButton-C4OC99ig.cjs} +57 -36
- package/dist/next/IconButton-C4OC99ig.cjs.map +1 -0
- package/dist/next/{IconButton-Cl0mZxov.js → IconButton-CNiln4Qf.js} +57 -36
- package/dist/next/IconButton-CNiln4Qf.js.map +1 -0
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/{MarkdownRenderer-yVj97cUU.js → MarkdownRenderer-CGnuIkVY.js} +25 -5
- package/dist/next/MarkdownRenderer-CGnuIkVY.js.map +1 -0
- package/dist/next/{MarkdownRenderer-BxR_D4HC.cjs → MarkdownRenderer-CO_rlPOB.cjs} +25 -5
- package/dist/next/MarkdownRenderer-CO_rlPOB.cjs.map +1 -0
- package/dist/next/MarkdownRenderer.cjs.js +1 -1
- package/dist/next/MarkdownRenderer.js +1 -1
- package/dist/next/{MessagePopup-CyO5NAiy.js → MessagePopup-BscnzqBa.js} +21 -10
- package/dist/next/MessagePopup-BscnzqBa.js.map +1 -0
- package/dist/next/{MessagePopup-DX7KfiyF.cjs → MessagePopup-lIFn7LZ2.cjs} +21 -10
- package/dist/next/MessagePopup-lIFn7LZ2.cjs.map +1 -0
- package/dist/next/MessagePopup.cjs.js +1 -1
- package/dist/next/MessagePopup.js +1 -1
- package/dist/next/{MetricBox-CKKlOQGM.js → MetricBox-Br-_66aB.js} +81 -54
- package/dist/next/MetricBox-Br-_66aB.js.map +1 -0
- package/dist/next/MetricBox-CeONzyEu.cjs +206 -0
- package/dist/next/MetricBox-CeONzyEu.cjs.map +1 -0
- package/dist/next/MetricBox.cjs.js +1 -1
- package/dist/next/MetricBox.js +1 -1
- package/dist/next/{Modal-TdYJrZnP.cjs → Modal-Baxb-_FV.cjs} +16 -8
- package/dist/next/Modal-Baxb-_FV.cjs.map +1 -0
- package/dist/next/{Modal-CJnNyxLT.js → Modal-ClsOP_6R.js} +16 -8
- package/dist/next/Modal-ClsOP_6R.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 +201 -0
- package/dist/next/NavBar-BXnGlk49.cjs.map +1 -0
- package/dist/next/NavBar-Bmf1C-io.js +202 -0
- package/dist/next/NavBar-Bmf1C-io.js.map +1 -0
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-Bo2NcO55.js → NotificationCenter-BrXxvcLm.js} +158 -113
- package/dist/next/NotificationCenter-BrXxvcLm.js.map +1 -0
- package/dist/next/{NotificationCenter-COZtpamq.cjs → NotificationCenter-XcbhUqkh.cjs} +157 -112
- package/dist/next/NotificationCenter-XcbhUqkh.cjs.map +1 -0
- package/dist/next/NotificationCenter.cjs.js +2 -4
- package/dist/next/NotificationCenter.cjs.js.map +1 -1
- package/dist/next/NotificationCenter.js +2 -3
- package/dist/next/Pager-DesOcELM.cjs +226 -0
- package/dist/next/Pager-DesOcELM.cjs.map +1 -0
- package/dist/next/Pager-Dq-KkMmi.js +227 -0
- package/dist/next/Pager-Dq-KkMmi.js.map +1 -0
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{PopOver-_Fhr-zDB.cjs → PopOver-CpSdILYS.cjs} +78 -55
- package/dist/next/PopOver-CpSdILYS.cjs.map +1 -0
- package/dist/next/{PopOver-D300C5Sg.js → PopOver-Dp_vC53_.js} +78 -55
- package/dist/next/PopOver-Dp_vC53_.js.map +1 -0
- package/dist/next/PopOver.cjs.js +1 -1
- package/dist/next/PopOver.js +1 -1
- package/dist/next/ProgressBar-Bf_ZzYzI.js +199 -0
- package/dist/next/ProgressBar-Bf_ZzYzI.js.map +1 -0
- package/dist/next/ProgressBar-sg1jxDfy.cjs +198 -0
- package/dist/next/ProgressBar-sg1jxDfy.cjs.map +1 -0
- package/dist/next/ProgressBar.cjs.js +1 -1
- package/dist/next/ProgressBar.js +1 -1
- package/dist/next/{RadioButton-BkLrVidx.cjs → RadioButton-X5L9U53Y.cjs} +52 -40
- package/dist/next/RadioButton-X5L9U53Y.cjs.map +1 -0
- package/dist/next/{RadioButton-D-BZDfsG.js → RadioButton-z26U6POV.js} +52 -40
- package/dist/next/RadioButton-z26U6POV.js.map +1 -0
- package/dist/next/RadioButton.cjs.js +1 -1
- package/dist/next/RadioButton.js +1 -1
- package/dist/next/{Rating-DnjJd_Sd.js → Rating-D6JEDvn4.js} +78 -54
- package/dist/next/Rating-D6JEDvn4.js.map +1 -0
- package/dist/next/{Rating-DTdMdPfy.cjs → Rating-DXYBYXmx.cjs} +78 -54
- package/dist/next/Rating-DXYBYXmx.cjs.map +1 -0
- package/dist/next/Rating.cjs.js +1 -1
- package/dist/next/Rating.js +1 -1
- package/dist/next/{ScrollToTop-B_-WfAAW.cjs → ScrollToTop-CBRFQNC0.cjs} +20 -5
- package/dist/next/ScrollToTop-CBRFQNC0.cjs.map +1 -0
- package/dist/next/{ScrollToTop-goObm3qq.js → ScrollToTop-Cw7LXubo.js} +20 -5
- package/dist/next/ScrollToTop-Cw7LXubo.js.map +1 -0
- package/dist/next/ScrollToTop.cjs.js +1 -1
- package/dist/next/ScrollToTop.js +1 -1
- package/dist/next/{Select-CY0pPJEK.cjs → Select-DAD4xA1b.cjs} +90 -57
- package/dist/next/Select-DAD4xA1b.cjs.map +1 -0
- package/dist/next/{Select-CItGjqiA.js → Select-DPL__SwJ.js} +90 -57
- package/dist/next/Select-DPL__SwJ.js.map +1 -0
- package/dist/next/Select.cjs.js +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/{Sidebar-yllRZuSW.cjs → Sidebar-BXmF-Nl2.cjs} +75 -26
- package/dist/next/Sidebar-BXmF-Nl2.cjs.map +1 -0
- package/dist/next/{Sidebar-C8QSoGsE.js → Sidebar-CWjyCeQj.js} +75 -26
- package/dist/next/Sidebar-CWjyCeQj.js.map +1 -0
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/Skeleton-Bk8l48-D.js +141 -0
- package/dist/next/Skeleton-Bk8l48-D.js.map +1 -0
- package/dist/next/Skeleton-N1-8bK7i.cjs +140 -0
- package/dist/next/Skeleton-N1-8bK7i.cjs.map +1 -0
- package/dist/next/Skeleton.cjs.js +1 -1
- package/dist/next/Skeleton.js +1 -1
- package/dist/next/Slider-BC9XlsEQ.js +208 -0
- package/dist/next/Slider-BC9XlsEQ.js.map +1 -0
- package/dist/next/Slider-BPtajU2m.cjs +207 -0
- package/dist/next/Slider-BPtajU2m.cjs.map +1 -0
- package/dist/next/Slider.cjs.js +1 -1
- package/dist/next/Slider.js +1 -1
- package/dist/next/{Spinner-COpCxB1_.cjs → Spinner-CmaoTjNr.cjs} +51 -43
- package/dist/next/Spinner-CmaoTjNr.cjs.map +1 -0
- package/dist/next/{Spinner-DgHFzfrq.js → Spinner-D7jfVZGm.js} +51 -43
- package/dist/next/Spinner-D7jfVZGm.js.map +1 -0
- package/dist/next/Spinner.cjs.js +1 -1
- package/dist/next/Spinner.js +1 -1
- package/dist/next/{Stepper-Bqt2vsZw.js → Stepper-CTd99d_F.js} +63 -50
- package/dist/next/Stepper-CTd99d_F.js.map +1 -0
- package/dist/next/{Stepper-Dyhw2IRi.cjs → Stepper-P9DL0HZW.cjs} +63 -50
- package/dist/next/Stepper-P9DL0HZW.cjs.map +1 -0
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{Tabs-DqeWKCtM.cjs → Tabs-B6zeG5AB.cjs} +16 -7
- package/dist/next/Tabs-B6zeG5AB.cjs.map +1 -0
- package/dist/next/{Tabs-B9ZCknnG.js → Tabs-tZjEVd-U.js} +16 -7
- package/dist/next/Tabs-tZjEVd-U.js.map +1 -0
- package/dist/next/Tabs.cjs.js +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-BdF4k1f2.js → TagInput-CXvw8ogs.js} +92 -79
- package/dist/next/TagInput-CXvw8ogs.js.map +1 -0
- package/dist/next/{TagInput-Bkz8dFHQ.cjs → TagInput-DldSDmHu.cjs} +91 -78
- package/dist/next/TagInput-DldSDmHu.cjs.map +1 -0
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextArea-GUnAVpIS.cjs → TextArea-BXmbrq4-.cjs} +51 -11
- package/dist/next/TextArea-BXmbrq4-.cjs.map +1 -0
- package/dist/next/{TextArea-DN6CeRB2.js → TextArea-CWscnEZW.js} +51 -11
- package/dist/next/TextArea-CWscnEZW.js.map +1 -0
- package/dist/next/TextArea.cjs.js +1 -1
- package/dist/next/TextArea.js +1 -1
- package/dist/next/{TextInput-BjOiLWZE.js → TextInput-3ZD3ccXf.js} +112 -89
- package/dist/next/TextInput-3ZD3ccXf.js.map +1 -0
- package/dist/next/{TextInput-BogGxTmE.cjs → TextInput-cfBWD6de.cjs} +112 -89
- package/dist/next/TextInput-cfBWD6de.cjs.map +1 -0
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/{ThemeContext-DA4TVcjV.cjs → ThemeContext-CNPp2bRD.cjs} +2 -2
- package/dist/{core/ThemeContext-DOlnx89D.cjs.map → next/ThemeContext-CNPp2bRD.cjs.map} +1 -1
- package/dist/{core/ThemeContext-BsFZ0Cl7.js → next/ThemeContext-nYSJ_G6L.js} +2 -2
- package/dist/{core/ThemeContext-BsFZ0Cl7.js.map → next/ThemeContext-nYSJ_G6L.js.map} +1 -1
- package/dist/next/ThemeProvider.cjs.js +1 -1
- package/dist/next/ThemeProvider.js +1 -1
- package/dist/next/Timeline-Bd6k_2az.js +223 -0
- package/dist/next/Timeline-Bd6k_2az.js.map +1 -0
- package/dist/next/Timeline-Dep_oZrh.cjs +222 -0
- package/dist/next/Timeline-Dep_oZrh.cjs.map +1 -0
- package/dist/next/Timeline.cjs.js +1 -1
- package/dist/next/Timeline.js +1 -1
- package/dist/next/{Toggle-BDiAYcT4.js → Toggle-Bl8weXv8.js} +27 -10
- package/dist/next/Toggle-Bl8weXv8.js.map +1 -0
- package/dist/next/{Toggle-D_g5fvKG.cjs → Toggle-C9uZG3i5.cjs} +27 -10
- package/dist/next/Toggle-C9uZG3i5.cjs.map +1 -0
- package/dist/next/Toggle.cjs.js +1 -1
- package/dist/next/Toggle.js +1 -1
- package/dist/next/{Toolbar-BueVwC2Y.js → Toolbar-DyzNvwQv.js} +63 -43
- package/dist/next/Toolbar-DyzNvwQv.js.map +1 -0
- package/dist/next/{Toolbar-DnxBBQex.cjs → Toolbar-s0krbHKU.cjs} +63 -43
- package/dist/next/Toolbar-s0krbHKU.cjs.map +1 -0
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/Tooltip-Ba5YWT7r.js +215 -0
- package/dist/next/Tooltip-Ba5YWT7r.js.map +1 -0
- package/dist/next/Tooltip-DVI61ebD.cjs +214 -0
- package/dist/next/Tooltip-DVI61ebD.cjs.map +1 -0
- package/dist/next/Tooltip.cjs.js +1 -1
- package/dist/next/Tooltip.js +1 -1
- package/dist/next/{Typography-Dg4Vc3Tm.cjs → Typography-B6VNZtxH.cjs} +20 -4
- package/dist/next/Typography-B6VNZtxH.cjs.map +1 -0
- package/dist/next/{Typography-SgeXdVdI.js → Typography-BdS7h4Eq.js} +20 -4
- package/dist/next/Typography-BdS7h4Eq.js.map +1 -0
- package/dist/next/Typography.cjs.js +1 -1
- package/dist/next/Typography.js +1 -1
- package/dist/{core/boreal-style-config-Rr5d5Qts.cjs → next/boreal-style-config-C1UIwOFN.cjs} +4 -1
- package/dist/next/boreal-style-config-C1UIwOFN.cjs.map +1 -0
- package/dist/next/{boreal-style-config-BILmxkZG.js → boreal-style-config-DsaRlxmw.js} +4 -1
- package/dist/next/boreal-style-config-DsaRlxmw.js.map +1 -0
- package/dist/next/boreal-ui.css +2796 -2478
- package/dist/next/index.cjs.js +72 -72
- package/dist/next/index.js +73 -73
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Accordion/Accordion.types.d.ts +53 -13
- package/dist/types/components/Accordion/Accordion.types.d.ts.map +1 -1
- package/dist/types/components/Accordion/AccordionBase.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.types.d.ts +44 -21
- package/dist/types/components/Avatar/Avatar.types.d.ts.map +1 -1
- package/dist/types/components/Avatar/AvatarBase.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.types.d.ts +44 -13
- package/dist/types/components/Badge/Badge.types.d.ts.map +1 -1
- package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/Breadcrumbs.types.d.ts +29 -9
- package/dist/types/components/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsBase.d.ts.map +1 -1
- package/dist/types/components/Button/Button.types.d.ts +63 -5
- package/dist/types/components/Button/Button.types.d.ts.map +1 -1
- package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
- package/dist/types/components/Card/Card.types.d.ts +68 -14
- package/dist/types/components/Card/Card.types.d.ts.map +1 -1
- package/dist/types/components/Card/CardBase.d.ts.map +1 -1
- package/dist/types/components/Card/core/Card.d.ts.map +1 -1
- package/dist/types/components/Checkbox/Checkbox.types.d.ts +42 -3
- package/dist/types/components/Checkbox/Checkbox.types.d.ts.map +1 -1
- package/dist/types/components/Checkbox/CheckboxBase.d.ts.map +1 -1
- package/dist/types/components/Checkbox/core/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Chip/Chip.types.d.ts +33 -5
- package/dist/types/components/Chip/Chip.types.d.ts.map +1 -1
- package/dist/types/components/Chip/ChipBase.d.ts.map +1 -1
- package/dist/types/components/CircularProgress/CircularProgress.types.d.ts +41 -9
- package/dist/types/components/CircularProgress/CircularProgress.types.d.ts.map +1 -1
- package/dist/types/components/CircularProgress/CircularProgressBase.d.ts.map +1 -1
- package/dist/types/components/ColorPicker/ColorPicker.types.d.ts +35 -2
- package/dist/types/components/ColorPicker/ColorPicker.types.d.ts.map +1 -1
- package/dist/types/components/ColorPicker/ColorPickerBase.d.ts.map +1 -1
- package/dist/types/components/CommandPalette/CommandPalette.types.d.ts +38 -2
- package/dist/types/components/CommandPalette/CommandPalette.types.d.ts.map +1 -1
- package/dist/types/components/CommandPalette/CommandPaletteBase.d.ts +1 -5
- package/dist/types/components/CommandPalette/CommandPaletteBase.d.ts.map +1 -1
- package/dist/types/components/DataTable/DataTable.types.d.ts +84 -1
- package/dist/types/components/DataTable/DataTable.types.d.ts.map +1 -1
- package/dist/types/components/DataTable/DataTableBase.d.ts +1 -1
- package/dist/types/components/DataTable/DataTableBase.d.ts.map +1 -1
- package/dist/types/components/DataTable/core/DataTable.d.ts.map +1 -1
- package/dist/types/components/DateTimePicker/DateTimePicker.types.d.ts +42 -2
- package/dist/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -1
- package/dist/types/components/DateTimePicker/DateTimePickerBase.d.ts.map +1 -1
- package/dist/types/components/Divider/Divider.types.d.ts +19 -1
- package/dist/types/components/Divider/Divider.types.d.ts.map +1 -1
- package/dist/types/components/Divider/DividerBase.d.ts.map +1 -1
- package/dist/types/components/Dropdown/Dropdown.types.d.ts +93 -7
- package/dist/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownBase.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyState.types.d.ts +45 -7
- package/dist/types/components/EmptyState/EmptyState.types.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.d.ts.map +1 -1
- package/dist/types/components/FileUpload/FileUpload.types.d.ts +52 -4
- package/dist/types/components/FileUpload/FileUpload.types.d.ts.map +1 -1
- package/dist/types/components/FileUpload/FileUploadBase.d.ts.map +1 -1
- package/dist/types/components/Footer/Footer.types.d.ts +101 -7
- package/dist/types/components/Footer/Footer.types.d.ts.map +1 -1
- package/dist/types/components/Footer/FooterBase.d.ts.map +1 -1
- package/dist/types/components/FormGroup/FormGroup.types.d.ts +42 -4
- package/dist/types/components/FormGroup/FormGroup.types.d.ts.map +1 -1
- package/dist/types/components/FormGroup/FormGroupBase.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.types.d.ts +41 -2
- package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButtonBase.d.ts.map +1 -1
- package/dist/types/components/MarkdownRenderer/MarkdownRenderer.types.d.ts +27 -1
- package/dist/types/components/MarkdownRenderer/MarkdownRenderer.types.d.ts.map +1 -1
- package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
- package/dist/types/components/MessagePopup/MessagePopup.types.d.ts +30 -0
- package/dist/types/components/MessagePopup/MessagePopup.types.d.ts.map +1 -1
- package/dist/types/components/MessagePopup/MessagePopupBase.d.ts.map +1 -1
- package/dist/types/components/MetricBox/MetricBox.types.d.ts +38 -0
- package/dist/types/components/MetricBox/MetricBox.types.d.ts.map +1 -1
- package/dist/types/components/MetricBox/MetricBoxBase.d.ts.map +1 -1
- package/dist/types/components/Modal/Modal.types.d.ts +21 -0
- package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalBase.d.ts.map +1 -1
- package/dist/types/components/NavBar/NavBar.types.d.ts +25 -0
- package/dist/types/components/NavBar/NavBar.types.d.ts.map +1 -1
- package/dist/types/components/NavBar/NavBarBase.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/NotificationCenter.constants.d.ts +7 -0
- package/dist/types/components/NotificationCenter/NotificationCenter.constants.d.ts.map +1 -0
- package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts +24 -5
- package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/NotificationCenterBase.d.ts.map +1 -1
- package/dist/types/components/Pager/Pager.types.d.ts +18 -0
- package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
- package/dist/types/components/Pager/PagerBase.d.ts.map +1 -1
- package/dist/types/components/PopOver/PopOver.types.d.ts +23 -0
- package/dist/types/components/PopOver/PopOver.types.d.ts.map +1 -1
- package/dist/types/components/PopOver/PopOverBase.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/ProgressBar.types.d.ts +40 -9
- package/dist/types/components/ProgressBar/ProgressBar.types.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/ProgressBarBase.d.ts.map +1 -1
- package/dist/types/components/RadioButton/RadioButton.types.d.ts +21 -0
- package/dist/types/components/RadioButton/RadioButton.types.d.ts.map +1 -1
- package/dist/types/components/RadioButton/RadioButtonBase.d.ts.map +1 -1
- package/dist/types/components/Rating/Rating.types.d.ts +31 -1
- package/dist/types/components/Rating/Rating.types.d.ts.map +1 -1
- package/dist/types/components/Rating/RatingBase.d.ts.map +1 -1
- package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts +30 -2
- package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts.map +1 -1
- package/dist/types/components/ScrollToTop/ScrollToTopBase.d.ts.map +1 -1
- package/dist/types/components/Select/Select.types.d.ts +93 -17
- package/dist/types/components/Select/Select.types.d.ts.map +1 -1
- package/dist/types/components/Select/SelectBase.d.ts.map +1 -1
- package/dist/types/components/Sidebar/Sidebar.types.d.ts +57 -3
- package/dist/types/components/Sidebar/Sidebar.types.d.ts.map +1 -1
- package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
- package/dist/types/components/Skeleton/Skeleton.types.d.ts +33 -2
- package/dist/types/components/Skeleton/Skeleton.types.d.ts.map +1 -1
- package/dist/types/components/Skeleton/SkeletonBase.d.ts.map +1 -1
- package/dist/types/components/Slider/Slider.types.d.ts +26 -1
- package/dist/types/components/Slider/Slider.types.d.ts.map +1 -1
- package/dist/types/components/Slider/SliderBase.d.ts.map +1 -1
- package/dist/types/components/Spinner/Spinner.types.d.ts +31 -1
- package/dist/types/components/Spinner/Spinner.types.d.ts.map +1 -1
- package/dist/types/components/Spinner/SpinnerBase.d.ts.map +1 -1
- package/dist/types/components/Stepper/Stepper.types.d.ts +24 -0
- package/dist/types/components/Stepper/Stepper.types.d.ts.map +1 -1
- package/dist/types/components/Stepper/StepperBase.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tabs.types.d.ts +24 -4
- package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabsBase.d.ts.map +1 -1
- package/dist/types/components/TagInput/TagInput.types.d.ts +50 -4
- package/dist/types/components/TagInput/TagInput.types.d.ts.map +1 -1
- package/dist/types/components/TagInput/TagInputBase.d.ts.map +1 -1
- package/dist/types/components/TextArea/TextArea.types.d.ts +33 -19
- package/dist/types/components/TextArea/TextArea.types.d.ts.map +1 -1
- package/dist/types/components/TextArea/TextAreaBase.d.ts.map +1 -1
- package/dist/types/components/TextInput/TextInput.types.d.ts +77 -19
- package/dist/types/components/TextInput/TextInput.types.d.ts.map +1 -1
- package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
- package/dist/types/components/Timeline/Timeline.types.d.ts +21 -5
- package/dist/types/components/Timeline/Timeline.types.d.ts.map +1 -1
- package/dist/types/components/Timeline/TimelineBase.d.ts.map +1 -1
- package/dist/types/components/Toggle/Toggle.types.d.ts +37 -0
- package/dist/types/components/Toggle/Toggle.types.d.ts.map +1 -1
- package/dist/types/components/Toggle/ToggleBase.d.ts.map +1 -1
- package/dist/types/components/Toolbar/Toolbar.types.d.ts +40 -7
- package/dist/types/components/Toolbar/Toolbar.types.d.ts.map +1 -1
- package/dist/types/components/Toolbar/ToolbarBase.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.types.d.ts +50 -1
- package/dist/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
- package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
- package/dist/types/components/Typography/Typography.types.d.ts +9 -1
- package/dist/types/components/Typography/Typography.types.d.ts.map +1 -1
- package/dist/types/components/Typography/TypographyBase.d.ts +1 -1
- package/dist/types/components/Typography/TypographyBase.d.ts.map +1 -1
- package/dist/types/config/boreal-style-config.d.ts +8 -1
- package/dist/types/config/boreal-style-config.d.ts.map +1 -1
- package/package.json +162 -127
- package/dist/core/Accordion-Cn-Lzpin.cjs.map +0 -1
- package/dist/core/Accordion-Cvvsfx1g.js.map +0 -1
- package/dist/core/Avatar-BM8AwOB6.js.map +0 -1
- package/dist/core/Avatar-DOg8W9yf.cjs.map +0 -1
- package/dist/core/Badge-C0Twrrjc.js.map +0 -1
- package/dist/core/Badge-tFIHQcKi.cjs.map +0 -1
- package/dist/core/Breadcrumbs-C2IzEdls.js.map +0 -1
- package/dist/core/Breadcrumbs-CALCSPkH.cjs.map +0 -1
- package/dist/core/Button-CC0Q_XPy.js.map +0 -1
- package/dist/core/Button-zvElXSem.cjs.map +0 -1
- package/dist/core/Card-BjLC4t0w.js.map +0 -1
- package/dist/core/Card-DRM65kM-.cjs.map +0 -1
- package/dist/core/Checkbox-BdNhCbz_.js +0 -153
- package/dist/core/Checkbox-BdNhCbz_.js.map +0 -1
- package/dist/core/Checkbox-JvYzNuZp.cjs +0 -152
- package/dist/core/Checkbox-JvYzNuZp.cjs.map +0 -1
- package/dist/core/Chip-BjbtoFKm.js.map +0 -1
- package/dist/core/Chip-c2mN7R-R.cjs.map +0 -1
- package/dist/core/CircularProgress-CGqwPSPq.js.map +0 -1
- package/dist/core/CircularProgress-DpLsV7FP.cjs.map +0 -1
- package/dist/core/ColorPicker-CpHTSayd.js.map +0 -1
- package/dist/core/ColorPicker-CzL1SJCT.cjs.map +0 -1
- package/dist/core/CommandPalette-BcPsaNIk.js +0 -267
- package/dist/core/CommandPalette-BcPsaNIk.js.map +0 -1
- package/dist/core/CommandPalette-Cv79G0W9.cjs +0 -266
- package/dist/core/CommandPalette-Cv79G0W9.cjs.map +0 -1
- package/dist/core/DataTable-DIpKxAT_.cjs +0 -188
- package/dist/core/DataTable-DIpKxAT_.cjs.map +0 -1
- package/dist/core/DataTable-Dv6Bv-wh.js +0 -189
- package/dist/core/DataTable-Dv6Bv-wh.js.map +0 -1
- package/dist/core/DateTimePicker-BzS1nP5J.js.map +0 -1
- package/dist/core/DateTimePicker-D7bRXphw.cjs.map +0 -1
- package/dist/core/Divider-7akvm9JA.js.map +0 -1
- package/dist/core/Divider-CaSuFc3G.cjs.map +0 -1
- package/dist/core/Dropdown-CR3xr5K-.js.map +0 -1
- package/dist/core/Dropdown-CjPfU1K-.cjs.map +0 -1
- package/dist/core/EmptyState-Cp3ocTQX.js.map +0 -1
- package/dist/core/EmptyState-P-MSItCX.cjs.map +0 -1
- package/dist/core/FileUpload-9fIxslAo.js.map +0 -1
- package/dist/core/FileUpload-DbMxpH-U.cjs.map +0 -1
- package/dist/core/Footer-B9J4a1Ro.cjs +0 -217
- package/dist/core/Footer-B9J4a1Ro.cjs.map +0 -1
- package/dist/core/Footer-gOtEBvFb.js +0 -218
- package/dist/core/Footer-gOtEBvFb.js.map +0 -1
- package/dist/core/FormGroup-Cit_2_Wo.cjs.map +0 -1
- package/dist/core/FormGroup-DDZ1D_CI.js.map +0 -1
- package/dist/core/IconButton-BMZhwYXB.js.map +0 -1
- package/dist/core/IconButton-Bio6Azm-.cjs.map +0 -1
- package/dist/core/MarkdownRenderer-Bn6vcfSd.cjs.map +0 -1
- package/dist/core/MarkdownRenderer-Co787hku.js.map +0 -1
- package/dist/core/MessagePopup-BwKMX9NS.cjs.map +0 -1
- package/dist/core/MessagePopup-aKDackiq.js.map +0 -1
- package/dist/core/MetricBox-CPug-nxo.js.map +0 -1
- package/dist/core/MetricBox-DVo4UUQv.cjs.map +0 -1
- package/dist/core/Modal-CIkYf4MD.cjs.map +0 -1
- package/dist/core/Modal-DCBP18Ov.js.map +0 -1
- package/dist/core/NavBar-BcL7Dh52.js.map +0 -1
- package/dist/core/NavBar-DKDzRFJ6.cjs.map +0 -1
- package/dist/core/NotificationCenter-DLCzWNve.js.map +0 -1
- package/dist/core/NotificationCenter-DfOOEt9N.cjs.map +0 -1
- package/dist/core/Pager-DBHI7yRW.js +0 -187
- package/dist/core/Pager-DBHI7yRW.js.map +0 -1
- package/dist/core/Pager-Dv6D3kXa.cjs +0 -186
- package/dist/core/Pager-Dv6D3kXa.cjs.map +0 -1
- package/dist/core/PopOver-Bt80x5vL.js.map +0 -1
- package/dist/core/PopOver-IzDFOu7Y.cjs.map +0 -1
- package/dist/core/ProgressBar-BLcSyVgQ.js.map +0 -1
- package/dist/core/ProgressBar-BbIZLV1t.cjs.map +0 -1
- package/dist/core/RadioButton-BxdmcaZg.cjs.map +0 -1
- package/dist/core/RadioButton-DygrrlH_.js.map +0 -1
- package/dist/core/Rating-B4qbA_y6.js.map +0 -1
- package/dist/core/Rating-U1MIoh5b.cjs.map +0 -1
- package/dist/core/ScrollToTop-Bdm78oOs.js.map +0 -1
- package/dist/core/ScrollToTop-DKOwe6z3.cjs.map +0 -1
- package/dist/core/Select-CeGp-Feb.cjs.map +0 -1
- package/dist/core/Select-DnCmFsPq.js.map +0 -1
- package/dist/core/Sidebar-BMvvoT9j.cjs.map +0 -1
- package/dist/core/Sidebar-PLVBm7te.js.map +0 -1
- package/dist/core/Skeleton-BjpQHG5i.js.map +0 -1
- package/dist/core/Skeleton-tetAZCSl.cjs.map +0 -1
- package/dist/core/Slider-S8KnYlkd.cjs.map +0 -1
- package/dist/core/Slider-WsZnPCUo.js.map +0 -1
- package/dist/core/Spinner-D1CHbKYU.js.map +0 -1
- package/dist/core/Spinner-JTcQ_d4T.cjs.map +0 -1
- package/dist/core/Stepper-C6xjvhZJ.js.map +0 -1
- package/dist/core/Stepper-JNVBVHc3.cjs.map +0 -1
- package/dist/core/Tabs-BFn-TRKL.cjs.map +0 -1
- package/dist/core/Tabs-DkdkDwei.js.map +0 -1
- package/dist/core/TagInput-Bvoe6pm0.js.map +0 -1
- package/dist/core/TagInput-Ce3BWJaw.cjs.map +0 -1
- package/dist/core/TextArea-CdulzkDh.js.map +0 -1
- package/dist/core/TextArea-UeNb21Ch.cjs.map +0 -1
- package/dist/core/TextInput-DcONHL6m.cjs.map +0 -1
- package/dist/core/TextInput-lFozK5mA.js.map +0 -1
- package/dist/core/Timeline-C-FaSSxr.js +0 -155
- package/dist/core/Timeline-C-FaSSxr.js.map +0 -1
- package/dist/core/Timeline-CM31Cti_.cjs +0 -154
- package/dist/core/Timeline-CM31Cti_.cjs.map +0 -1
- package/dist/core/Toggle-B4bJ4Jcj.cjs.map +0 -1
- package/dist/core/Toggle-DxNHxjZn.js.map +0 -1
- package/dist/core/Toolbar-CQNKVKK8.js.map +0 -1
- package/dist/core/Toolbar-DKSfwRUz.cjs.map +0 -1
- package/dist/core/Tooltip-BzRqlOTz.js.map +0 -1
- package/dist/core/Tooltip-DS7DSyij.cjs.map +0 -1
- package/dist/core/Typography-CrSonr_W.cjs.map +0 -1
- package/dist/core/Typography-DFXpv9CF.js.map +0 -1
- package/dist/core/boreal-style-config-BILmxkZG.js.map +0 -1
- package/dist/core/boreal-style-config-Rr5d5Qts.cjs.map +0 -1
- package/dist/next/Accordion-BGmQxSLY.js.map +0 -1
- package/dist/next/Accordion-CWYy3ivV.cjs.map +0 -1
- package/dist/next/Avatar-D3l1T_H7.js.map +0 -1
- package/dist/next/Avatar-aNqEuazN.cjs.map +0 -1
- package/dist/next/Badge-4PrdXKYJ.js.map +0 -1
- package/dist/next/Badge-BYC1gEgw.cjs.map +0 -1
- package/dist/next/Breadcrumbs--HIh4k3A.cjs.map +0 -1
- package/dist/next/Breadcrumbs-DrLy6lxS.js.map +0 -1
- package/dist/next/Button-CARQQF9h.js.map +0 -1
- package/dist/next/Button-CfP7f3xF.cjs.map +0 -1
- package/dist/next/Card-B_J1YknX.js.map +0 -1
- package/dist/next/Card-WoaRWnDq.cjs.map +0 -1
- package/dist/next/Checkbox-C6DZ3PSD.cjs +0 -201
- package/dist/next/Checkbox-C6DZ3PSD.cjs.map +0 -1
- package/dist/next/Checkbox-ClhCa1K9.js +0 -202
- package/dist/next/Checkbox-ClhCa1K9.js.map +0 -1
- package/dist/next/Chip-Ben13vdt.cjs.map +0 -1
- package/dist/next/Chip-CGlXrV7g.js.map +0 -1
- package/dist/next/CircularProgress-C3Hd3lut.js.map +0 -1
- package/dist/next/CircularProgress-R9oZ2NqR.cjs.map +0 -1
- package/dist/next/ColorPicker-C4n_QzLE.js +0 -166
- package/dist/next/ColorPicker-C4n_QzLE.js.map +0 -1
- package/dist/next/ColorPicker-wDTOI4jh.cjs +0 -165
- package/dist/next/ColorPicker-wDTOI4jh.cjs.map +0 -1
- package/dist/next/CommandPalette-B-qhSIcP.cjs +0 -315
- package/dist/next/CommandPalette-B-qhSIcP.cjs.map +0 -1
- package/dist/next/CommandPalette-CLe5dspX.js +0 -316
- package/dist/next/CommandPalette-CLe5dspX.js.map +0 -1
- package/dist/next/DataTable-C9yi1-h5.cjs +0 -233
- package/dist/next/DataTable-C9yi1-h5.cjs.map +0 -1
- package/dist/next/DataTable-CPrmW5w0.js +0 -234
- package/dist/next/DataTable-CPrmW5w0.js.map +0 -1
- package/dist/next/DateTimePicker-BzfEJxVQ.cjs +0 -257
- package/dist/next/DateTimePicker-BzfEJxVQ.cjs.map +0 -1
- package/dist/next/DateTimePicker-Cf8gB9Uf.js +0 -258
- package/dist/next/DateTimePicker-Cf8gB9Uf.js.map +0 -1
- package/dist/next/Divider-C0voHnSK.cjs.map +0 -1
- package/dist/next/Divider-DZ7hdt_B.js.map +0 -1
- package/dist/next/Dropdown-BkgFTyAd.cjs.map +0 -1
- package/dist/next/Dropdown-VXFj_bFP.js.map +0 -1
- package/dist/next/EmptyState-C9ZcLwdE.js.map +0 -1
- package/dist/next/EmptyState-DEXnMGP_.cjs.map +0 -1
- package/dist/next/FileUpload-2KSre6xp.cjs +0 -479
- package/dist/next/FileUpload-2KSre6xp.cjs.map +0 -1
- package/dist/next/FileUpload-CjQJNL7t.js +0 -480
- package/dist/next/FileUpload-CjQJNL7t.js.map +0 -1
- package/dist/next/Footer-CReI_mpq.js +0 -270
- package/dist/next/Footer-CReI_mpq.js.map +0 -1
- package/dist/next/Footer-DPZhRbf9.cjs +0 -269
- package/dist/next/Footer-DPZhRbf9.cjs.map +0 -1
- package/dist/next/FormGroup-B9yxTKxp.js +0 -176
- package/dist/next/FormGroup-B9yxTKxp.js.map +0 -1
- package/dist/next/FormGroup-W7B4Ej-t.cjs +0 -175
- package/dist/next/FormGroup-W7B4Ej-t.cjs.map +0 -1
- package/dist/next/IconButton-Cl0mZxov.js.map +0 -1
- package/dist/next/IconButton-D3MIvof0.cjs.map +0 -1
- package/dist/next/MarkdownRenderer-BxR_D4HC.cjs.map +0 -1
- package/dist/next/MarkdownRenderer-yVj97cUU.js.map +0 -1
- package/dist/next/MessagePopup-CyO5NAiy.js.map +0 -1
- package/dist/next/MessagePopup-DX7KfiyF.cjs.map +0 -1
- package/dist/next/MetricBox-B2-l8cVO.cjs +0 -179
- package/dist/next/MetricBox-B2-l8cVO.cjs.map +0 -1
- package/dist/next/MetricBox-CKKlOQGM.js.map +0 -1
- package/dist/next/Modal-CJnNyxLT.js.map +0 -1
- package/dist/next/Modal-TdYJrZnP.cjs.map +0 -1
- package/dist/next/NavBar-B06L4zxJ.cjs +0 -176
- package/dist/next/NavBar-B06L4zxJ.cjs.map +0 -1
- package/dist/next/NavBar-D8oceBmB.js +0 -177
- package/dist/next/NavBar-D8oceBmB.js.map +0 -1
- package/dist/next/NotificationCenter-Bo2NcO55.js.map +0 -1
- package/dist/next/NotificationCenter-COZtpamq.cjs.map +0 -1
- package/dist/next/Pager-BBG2hp_T.js +0 -189
- package/dist/next/Pager-BBG2hp_T.js.map +0 -1
- package/dist/next/Pager-CVNoZgLk.cjs +0 -188
- package/dist/next/Pager-CVNoZgLk.cjs.map +0 -1
- package/dist/next/PopOver-D300C5Sg.js.map +0 -1
- package/dist/next/PopOver-_Fhr-zDB.cjs.map +0 -1
- package/dist/next/ProgressBar-BI4bjuDK.js +0 -188
- package/dist/next/ProgressBar-BI4bjuDK.js.map +0 -1
- package/dist/next/ProgressBar-Bk7qClkI.cjs +0 -187
- package/dist/next/ProgressBar-Bk7qClkI.cjs.map +0 -1
- package/dist/next/RadioButton-BkLrVidx.cjs.map +0 -1
- package/dist/next/RadioButton-D-BZDfsG.js.map +0 -1
- package/dist/next/Rating-DTdMdPfy.cjs.map +0 -1
- package/dist/next/Rating-DnjJd_Sd.js.map +0 -1
- package/dist/next/ScrollToTop-B_-WfAAW.cjs.map +0 -1
- package/dist/next/ScrollToTop-goObm3qq.js.map +0 -1
- package/dist/next/Select-CItGjqiA.js.map +0 -1
- package/dist/next/Select-CY0pPJEK.cjs.map +0 -1
- package/dist/next/Sidebar-C8QSoGsE.js.map +0 -1
- package/dist/next/Sidebar-yllRZuSW.cjs.map +0 -1
- package/dist/next/Skeleton-DT7qYlqM.js +0 -118
- package/dist/next/Skeleton-DT7qYlqM.js.map +0 -1
- package/dist/next/Skeleton-YTWvOtCq.cjs +0 -117
- package/dist/next/Skeleton-YTWvOtCq.cjs.map +0 -1
- package/dist/next/Slider-CG_242Zv.cjs +0 -173
- package/dist/next/Slider-CG_242Zv.cjs.map +0 -1
- package/dist/next/Slider-DXYXQ52q.js +0 -174
- package/dist/next/Slider-DXYXQ52q.js.map +0 -1
- package/dist/next/Spinner-COpCxB1_.cjs.map +0 -1
- package/dist/next/Spinner-DgHFzfrq.js.map +0 -1
- package/dist/next/Stepper-Bqt2vsZw.js.map +0 -1
- package/dist/next/Stepper-Dyhw2IRi.cjs.map +0 -1
- package/dist/next/Tabs-B9ZCknnG.js.map +0 -1
- package/dist/next/Tabs-DqeWKCtM.cjs.map +0 -1
- package/dist/next/TagInput-BdF4k1f2.js.map +0 -1
- package/dist/next/TagInput-Bkz8dFHQ.cjs.map +0 -1
- package/dist/next/TextArea-DN6CeRB2.js.map +0 -1
- package/dist/next/TextArea-GUnAVpIS.cjs.map +0 -1
- package/dist/next/TextInput-BjOiLWZE.js.map +0 -1
- package/dist/next/TextInput-BogGxTmE.cjs.map +0 -1
- package/dist/next/Timeline-1gGPeWoc.cjs +0 -183
- package/dist/next/Timeline-1gGPeWoc.cjs.map +0 -1
- package/dist/next/Timeline-BJq3RTWG.js +0 -184
- package/dist/next/Timeline-BJq3RTWG.js.map +0 -1
- package/dist/next/Toggle-BDiAYcT4.js.map +0 -1
- package/dist/next/Toggle-D_g5fvKG.cjs.map +0 -1
- package/dist/next/Toolbar-BueVwC2Y.js.map +0 -1
- package/dist/next/Toolbar-DnxBBQex.cjs.map +0 -1
- package/dist/next/Tooltip-BQuUSBWE.js +0 -164
- package/dist/next/Tooltip-BQuUSBWE.js.map +0 -1
- package/dist/next/Tooltip-DrsJZe1I.cjs +0 -163
- package/dist/next/Tooltip-DrsJZe1I.cjs.map +0 -1
- package/dist/next/Typography-Dg4Vc3Tm.cjs.map +0 -1
- package/dist/next/Typography-SgeXdVdI.js.map +0 -1
- package/dist/next/boreal-style-config-BILmxkZG.js.map +0 -1
- package/dist/next/boreal-style-config-Rr5d5Qts.cjs.map +0 -1
|
@@ -3,9 +3,9 @@ const require$$2 = require("react/jsx-runtime");
|
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
5
5
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
6
|
-
const borealStyleConfig = require("./boreal-style-config-
|
|
6
|
+
const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
|
|
7
7
|
;/* empty css */
|
|
8
|
-
const IconButton = require("./IconButton-
|
|
8
|
+
const IconButton = require("./IconButton-C4OC99ig.cjs");
|
|
9
9
|
const EyeIcon = (props) => /* @__PURE__ */ require$$2.jsxs(
|
|
10
10
|
"svg",
|
|
11
11
|
{
|
|
@@ -165,8 +165,6 @@ const TextInputBase = React.forwardRef(
|
|
|
165
165
|
placeholder = "Enter text",
|
|
166
166
|
password = false,
|
|
167
167
|
readOnly = false,
|
|
168
|
-
ariaLabel,
|
|
169
|
-
ariaDescription,
|
|
170
168
|
theme = borealStyleConfig.getDefaultTheme(),
|
|
171
169
|
rounding = borealStyleConfig.getDefaultRounding(),
|
|
172
170
|
shadow = borealStyleConfig.getDefaultShadow(),
|
|
@@ -174,11 +172,12 @@ const TextInputBase = React.forwardRef(
|
|
|
174
172
|
state = "",
|
|
175
173
|
disabled: disabled2 = false,
|
|
176
174
|
autocomplete = false,
|
|
177
|
-
"data-testid": testId = "text-input",
|
|
178
|
-
classMap,
|
|
179
175
|
outline: outline2 = false,
|
|
176
|
+
classMap,
|
|
180
177
|
IconButton: IconButton2,
|
|
181
178
|
className = "",
|
|
179
|
+
srOnlyText,
|
|
180
|
+
"data-testid": testId = "text-input",
|
|
182
181
|
...rest
|
|
183
182
|
}, ref) => {
|
|
184
183
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
@@ -188,15 +187,44 @@ const TextInputBase = React.forwardRef(
|
|
|
188
187
|
required,
|
|
189
188
|
autoComplete: autoCompleteProp,
|
|
190
189
|
type: typeProp,
|
|
190
|
+
role,
|
|
191
|
+
"aria-label": ariaLabel,
|
|
192
|
+
"aria-labelledby": ariaLabelledBy,
|
|
193
|
+
"aria-describedby": ariaDescribedBy,
|
|
194
|
+
"aria-invalid": ariaInvalid,
|
|
195
|
+
"aria-required": ariaRequired,
|
|
196
|
+
"aria-readonly": ariaReadOnly,
|
|
197
|
+
"aria-disabled": ariaDisabled,
|
|
198
|
+
"aria-description": ariaDescription,
|
|
199
|
+
"aria-activedescendant": ariaActiveDescendant,
|
|
200
|
+
"aria-haspopup": ariaHasPopup,
|
|
201
|
+
"aria-expanded": ariaExpanded,
|
|
202
|
+
"aria-controls": ariaControls,
|
|
191
203
|
...restInput
|
|
192
204
|
} = rest;
|
|
193
205
|
const inputId = idProp || autoId;
|
|
206
|
+
const hasLabel = Boolean(label2);
|
|
207
|
+
const generatedDescriptionId = srOnlyText ? `${inputId}-sr-description` : void 0;
|
|
208
|
+
const computedAriaDescribedBy = [ariaDescribedBy, generatedDescriptionId].filter(Boolean).join(" ") || void 0;
|
|
209
|
+
const computedAriaLabel = hasLabel ? void 0 : ariaLabel || placeholder || "Text input";
|
|
210
|
+
const computedPlaceholder = hasLabel ? " " : placeholder;
|
|
194
211
|
const inputType = password ? showPassword ? "text" : "password" : typeProp || "text";
|
|
195
|
-
const descId = ariaDescription ? `${inputId}-description` : void 0;
|
|
196
212
|
const isError = state === "error";
|
|
197
213
|
const computedAutoComplete = autoCompleteProp ?? (autocomplete ? password ? "current-password" : "on" : "off");
|
|
198
|
-
const
|
|
199
|
-
const
|
|
214
|
+
const computedAriaInvalid = ariaInvalid ?? (isError || void 0);
|
|
215
|
+
const computedAriaRequired = ariaRequired ?? (required || void 0);
|
|
216
|
+
const computedAriaReadOnly = ariaReadOnly ?? (readOnly || void 0);
|
|
217
|
+
const computedAriaDisabled = ariaDisabled ?? (disabled2 || void 0);
|
|
218
|
+
const togglePasswordVisibility = () => {
|
|
219
|
+
setShowPassword((prev) => !prev);
|
|
220
|
+
};
|
|
221
|
+
const containerClass = React.useMemo(
|
|
222
|
+
() => classNames.combineClassNames(
|
|
223
|
+
classMap.container,
|
|
224
|
+
classMap[`label${capitalize.capitalize(labelPosition)}`]
|
|
225
|
+
),
|
|
226
|
+
[classMap, labelPosition]
|
|
227
|
+
);
|
|
200
228
|
const wrapperClass = React.useMemo(
|
|
201
229
|
() => classNames.combineClassNames(
|
|
202
230
|
classMap.textInput,
|
|
@@ -222,86 +250,81 @@ const TextInputBase = React.forwardRef(
|
|
|
222
250
|
),
|
|
223
251
|
[classMap, theme, disabled2]
|
|
224
252
|
);
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
253
|
+
return /* @__PURE__ */ require$$2.jsxs("div", { className: containerClass, "data-testid": testId, children: [
|
|
254
|
+
label2 && /* @__PURE__ */ require$$2.jsx(
|
|
255
|
+
"label",
|
|
256
|
+
{
|
|
257
|
+
htmlFor: inputId,
|
|
258
|
+
className: classMap.label,
|
|
259
|
+
"data-testid": `${testId}-label`,
|
|
260
|
+
children: label2
|
|
261
|
+
}
|
|
262
|
+
),
|
|
263
|
+
/* @__PURE__ */ require$$2.jsxs("div", { className: wrapperClass, "data-testid": `${testId}-wrapper`, children: [
|
|
264
|
+
Icon && /* @__PURE__ */ require$$2.jsx(
|
|
265
|
+
"div",
|
|
266
|
+
{
|
|
267
|
+
className: iconClasses,
|
|
268
|
+
"aria-hidden": "true",
|
|
269
|
+
"data-testid": `${testId}-icon`,
|
|
270
|
+
children: /* @__PURE__ */ require$$2.jsx(Icon, { "aria-hidden": true })
|
|
271
|
+
}
|
|
233
272
|
),
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
icon: showPassword ? EyeSlashIcon : EyeIcon
|
|
290
|
-
}
|
|
291
|
-
),
|
|
292
|
-
ariaDescription && /* @__PURE__ */ require$$2.jsx(
|
|
293
|
-
"span",
|
|
294
|
-
{
|
|
295
|
-
id: descId,
|
|
296
|
-
className: "sr_only",
|
|
297
|
-
"data-testid": `${testId}-description`,
|
|
298
|
-
children: ariaDescription
|
|
299
|
-
}
|
|
300
|
-
)
|
|
301
|
-
] })
|
|
302
|
-
]
|
|
303
|
-
}
|
|
304
|
-
);
|
|
273
|
+
/* @__PURE__ */ require$$2.jsx(
|
|
274
|
+
"input",
|
|
275
|
+
{
|
|
276
|
+
ref,
|
|
277
|
+
id: inputId,
|
|
278
|
+
type: inputType,
|
|
279
|
+
className: inputClasses,
|
|
280
|
+
placeholder: computedPlaceholder,
|
|
281
|
+
role,
|
|
282
|
+
"aria-label": computedAriaLabel,
|
|
283
|
+
"aria-labelledby": ariaLabelledBy,
|
|
284
|
+
"aria-describedby": computedAriaDescribedBy,
|
|
285
|
+
"aria-invalid": computedAriaInvalid,
|
|
286
|
+
"aria-required": computedAriaRequired,
|
|
287
|
+
"aria-readonly": computedAriaReadOnly,
|
|
288
|
+
"aria-disabled": computedAriaDisabled,
|
|
289
|
+
"aria-description": ariaDescription,
|
|
290
|
+
"aria-activedescendant": ariaActiveDescendant,
|
|
291
|
+
"aria-haspopup": ariaHasPopup,
|
|
292
|
+
"aria-expanded": ariaExpanded,
|
|
293
|
+
"aria-controls": ariaControls,
|
|
294
|
+
autoComplete: computedAutoComplete,
|
|
295
|
+
onChange: (e) => onChange == null ? void 0 : onChange(e.currentTarget.value, e),
|
|
296
|
+
readOnly,
|
|
297
|
+
disabled: disabled2,
|
|
298
|
+
required,
|
|
299
|
+
"data-testid": `${testId}-input`,
|
|
300
|
+
...restInput
|
|
301
|
+
}
|
|
302
|
+
),
|
|
303
|
+
password && /* @__PURE__ */ require$$2.jsx(
|
|
304
|
+
IconButton2,
|
|
305
|
+
{
|
|
306
|
+
type: "button",
|
|
307
|
+
className: classMap.togglePassword,
|
|
308
|
+
onClick: togglePasswordVisibility,
|
|
309
|
+
theme: "clear",
|
|
310
|
+
shadow: "none",
|
|
311
|
+
"aria-label": showPassword ? "Hide password" : "Show password",
|
|
312
|
+
"aria-pressed": showPassword,
|
|
313
|
+
"data-testid": `${testId}-password-toggle`,
|
|
314
|
+
icon: showPassword ? EyeSlashIcon : EyeIcon
|
|
315
|
+
}
|
|
316
|
+
),
|
|
317
|
+
srOnlyText && /* @__PURE__ */ require$$2.jsx(
|
|
318
|
+
"span",
|
|
319
|
+
{
|
|
320
|
+
id: generatedDescriptionId,
|
|
321
|
+
className: classMap.srOnly || "sr_only",
|
|
322
|
+
"data-testid": `${testId}-sr-only-text`,
|
|
323
|
+
children: srOnlyText
|
|
324
|
+
}
|
|
325
|
+
)
|
|
326
|
+
] })
|
|
327
|
+
] });
|
|
305
328
|
}
|
|
306
329
|
);
|
|
307
330
|
TextInputBase.displayName = "TextInputBase";
|
|
@@ -318,4 +341,4 @@ const TextInput = React.forwardRef((props, ref) => {
|
|
|
318
341
|
});
|
|
319
342
|
TextInput.displayName = "TextInput";
|
|
320
343
|
exports.TextInput = TextInput;
|
|
321
|
-
//# sourceMappingURL=TextInput-
|
|
344
|
+
//# sourceMappingURL=TextInput-cfBWD6de.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput-cfBWD6de.cjs","sources":["../../src/Icons/EyeIcon.tsx","../../src/Icons/EyeSlashIcon.tsx","../../src/components/TextInput/TextInputBase.tsx","../../src/components/TextInput/next/TextInput.tsx"],"sourcesContent":["const EyeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 13C6.6 5 17.4 5 21 13\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 17C10.3431 17 9 15.6569 9 14C9 12.3431 10.3431 11 12 11C13.6569 11 15 12.3431 15 14C15 15.6569 13.6569 17 12 17Z\"\r\n fill=\"currentColor\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default EyeIcon;\r\n","const EyeSlashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M19.5 16L17.0248 12.6038\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 17.5V14\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M4.5 16L6.96895 12.6124\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 8C6.6 16 17.4 16 21 8\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default EyeSlashIcon;\r\n","import {\r\n forwardRef,\r\n useState,\r\n useId,\r\n InputHTMLAttributes,\r\n useMemo,\r\n} from \"react\";\r\nimport { EyeIcon, EyeSlashIcon } from \"../../Icons\";\r\nimport { TextInputBaseProps } from \"./TextInput.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 TextInputBase = forwardRef<HTMLInputElement, TextInputBaseProps>(\r\n (\r\n {\r\n icon: Icon,\r\n label,\r\n labelPosition = \"top\",\r\n placeholder = \"Enter text\",\r\n password = false,\r\n readOnly = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n onChange,\r\n state = \"\",\r\n disabled = false,\r\n autocomplete = false,\r\n outline = false,\r\n classMap,\r\n IconButton,\r\n className = \"\",\r\n srOnlyText,\r\n \"data-testid\": testId = \"text-input\",\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const autoId = useId();\r\n\r\n const {\r\n id: idProp,\r\n required,\r\n autoComplete: autoCompleteProp,\r\n type: typeProp,\r\n role,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-readonly\": ariaReadOnly,\r\n \"aria-disabled\": ariaDisabled,\r\n \"aria-description\": ariaDescription,\r\n \"aria-activedescendant\": ariaActiveDescendant,\r\n \"aria-haspopup\": ariaHasPopup,\r\n \"aria-expanded\": ariaExpanded,\r\n \"aria-controls\": ariaControls,\r\n ...restInput\r\n } = rest as InputHTMLAttributes<HTMLInputElement> & {\r\n role?: React.AriaRole;\r\n \"aria-label\"?: string;\r\n \"aria-labelledby\"?: string;\r\n \"aria-describedby\"?: string;\r\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\";\r\n \"aria-required\"?: boolean;\r\n \"aria-readonly\"?: boolean;\r\n \"aria-disabled\"?: boolean;\r\n \"aria-description\"?: string;\r\n \"aria-activedescendant\"?: string;\r\n \"aria-haspopup\"?:\r\n | boolean\r\n | \"false\"\r\n | \"true\"\r\n | \"menu\"\r\n | \"listbox\"\r\n | \"tree\"\r\n | \"grid\"\r\n | \"dialog\";\r\n \"aria-expanded\"?: boolean;\r\n \"aria-controls\"?: string;\r\n };\r\n\r\n const inputId = idProp || autoId;\r\n const hasLabel = Boolean(label);\r\n\r\n const generatedDescriptionId = srOnlyText\r\n ? `${inputId}-sr-description`\r\n : undefined;\r\n\r\n const computedAriaDescribedBy =\r\n [ariaDescribedBy, generatedDescriptionId].filter(Boolean).join(\" \") ||\r\n undefined;\r\n\r\n const computedAriaLabel = hasLabel\r\n ? undefined\r\n : ariaLabel || placeholder || \"Text input\";\r\n\r\n const computedPlaceholder = hasLabel ? \" \" : placeholder;\r\n\r\n const inputType = password\r\n ? showPassword\r\n ? \"text\"\r\n : \"password\"\r\n : typeProp || \"text\";\r\n\r\n const isError = state === \"error\";\r\n\r\n const computedAutoComplete =\r\n autoCompleteProp ??\r\n (autocomplete ? (password ? \"current-password\" : \"on\") : \"off\");\r\n\r\n const computedAriaInvalid = ariaInvalid ?? (isError || undefined);\r\n const computedAriaRequired = ariaRequired ?? (required || undefined);\r\n const computedAriaReadOnly = ariaReadOnly ?? (readOnly || undefined);\r\n const computedAriaDisabled = ariaDisabled ?? (disabled || undefined);\r\n\r\n const togglePasswordVisibility = () => {\r\n setShowPassword((prev) => !prev);\r\n };\r\n\r\n const containerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[`label${capitalize(labelPosition)}`],\r\n ),\r\n [classMap, labelPosition],\r\n );\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.textInput,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className,\r\n ),\r\n [classMap, theme, state, outline, disabled, shadow, rounding, className],\r\n );\r\n\r\n const inputClasses = useMemo(\r\n () => combineClassNames(classMap.textInput, outline && classMap.outline),\r\n [classMap, outline],\r\n );\r\n\r\n const iconClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.iconContainer,\r\n classMap[theme],\r\n disabled && classMap.disabled,\r\n ),\r\n [classMap, theme, disabled],\r\n );\r\n\r\n return (\r\n <div className={containerClass} data-testid={testId}>\r\n {label && (\r\n <label\r\n htmlFor={inputId}\r\n className={classMap.label}\r\n data-testid={`${testId}-label`}\r\n >\r\n {label}\r\n </label>\r\n )}\r\n\r\n <div className={wrapperClass} data-testid={`${testId}-wrapper`}>\r\n {Icon && (\r\n <div\r\n className={iconClasses}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon aria-hidden={true} />\r\n </div>\r\n )}\r\n <input\r\n ref={ref}\r\n id={inputId}\r\n type={inputType}\r\n className={inputClasses}\r\n placeholder={computedPlaceholder}\r\n role={role}\r\n aria-label={computedAriaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={computedAriaDescribedBy}\r\n aria-invalid={computedAriaInvalid}\r\n aria-required={computedAriaRequired}\r\n aria-readonly={computedAriaReadOnly}\r\n aria-disabled={computedAriaDisabled}\r\n aria-description={ariaDescription}\r\n aria-activedescendant={ariaActiveDescendant}\r\n aria-haspopup={ariaHasPopup}\r\n aria-expanded={ariaExpanded}\r\n aria-controls={ariaControls}\r\n autoComplete={computedAutoComplete}\r\n onChange={(e) => onChange?.(e.currentTarget.value, e)}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={`${testId}-input`}\r\n {...restInput}\r\n />\r\n\r\n {password && (\r\n <IconButton\r\n type=\"button\"\r\n className={classMap.togglePassword}\r\n onClick={togglePasswordVisibility}\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n aria-label={showPassword ? \"Hide password\" : \"Show password\"}\r\n aria-pressed={showPassword}\r\n data-testid={`${testId}-password-toggle`}\r\n icon={showPassword ? EyeSlashIcon : EyeIcon}\r\n />\r\n )}\r\n\r\n {srOnlyText && (\r\n <span\r\n id={generatedDescriptionId}\r\n className={classMap.srOnly || \"sr_only\"}\r\n data-testid={`${testId}-sr-only-text`}\r\n >\r\n {srOnlyText}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n },\r\n);\r\n\r\nTextInputBase.displayName = \"TextInputBase\";\r\n\r\nexport default TextInputBase;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport styles from \"./TextInput.module.scss\";\r\nimport { TextInputProps } from \"../TextInput.types\";\r\nimport TextInputBase from \"../TextInputBase\";\r\nimport { IconButton } from \"@/index.next\";\r\n\r\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, ref) => {\r\n return (\r\n <TextInputBase\r\n {...props}\r\n IconButton={IconButton}\r\n ref={ref}\r\n classMap={styles}\r\n />\r\n );\r\n});\r\n\r\nTextInput.displayName = \"TextInput\";\r\nexport default TextInput;\r\n"],"names":["jsxs","jsx","forwardRef","label","getDefaultTheme","getDefaultRounding","getDefaultShadow","disabled","outline","IconButton","useState","useId","useMemo","combineClassNames","capitalize"],"mappings":"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"}
|
package/dist/next/TextInput.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const require$$2 = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const registerColorSheme = require("./registerColorSheme-nhYu5hbY.cjs");
|
|
5
|
-
const borealStyleConfig = require("./boreal-style-config-
|
|
5
|
+
const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
|
|
6
6
|
const colorSchemes = require("./colorSchemes.cjs.js");
|
|
7
7
|
const ThemeContext = React.createContext(
|
|
8
8
|
void 0
|
|
@@ -195,4 +195,4 @@ const ThemeProvider = ({ children, customSchemes = [], initialScheme }) => {
|
|
|
195
195
|
};
|
|
196
196
|
exports.ThemeContext = ThemeContext;
|
|
197
197
|
exports.ThemeProvider = ThemeProvider;
|
|
198
|
-
//# sourceMappingURL=ThemeContext-
|
|
198
|
+
//# sourceMappingURL=ThemeContext-CNPp2bRD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeContext-DOlnx89D.cjs","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":["createContext","colorSchemes","getDefaultColorSchemeName","useState","getAllColorSchemes","useMemo","useEffect","registerColorScheme","useLayoutEffect","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeContext-CNPp2bRD.cjs","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":["createContext","colorSchemes","getDefaultColorSchemeName","useState","getAllColorSchemes","useMemo","useEffect","registerColorScheme","useLayoutEffect","jsx"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext, useState, useMemo, useEffect, useLayoutEffect } from "react";
|
|
3
3
|
import { g as getAllColorSchemes, r as registerColorScheme } from "./registerColorSheme-BPX0H7hl.js";
|
|
4
|
-
import { g as getDefaultColorSchemeName } from "./boreal-style-config-
|
|
4
|
+
import { g as getDefaultColorSchemeName } from "./boreal-style-config-DsaRlxmw.js";
|
|
5
5
|
import { colorSchemes } from "./colorSchemes.js";
|
|
6
6
|
const ThemeContext = createContext(
|
|
7
7
|
void 0
|
|
@@ -196,4 +196,4 @@ export {
|
|
|
196
196
|
ThemeProvider as T,
|
|
197
197
|
ThemeContext as a
|
|
198
198
|
};
|
|
199
|
-
//# sourceMappingURL=ThemeContext-
|
|
199
|
+
//# sourceMappingURL=ThemeContext-nYSJ_G6L.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeContext-BsFZ0Cl7.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-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,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const ThemeContext = require("./ThemeContext-
|
|
3
|
+
const ThemeContext = require("./ThemeContext-CNPp2bRD.cjs");
|
|
4
4
|
exports.ThemeContext = ThemeContext.ThemeContext;
|
|
5
5
|
exports.ThemeProvider = ThemeContext.ThemeProvider;
|
|
6
6
|
//# sourceMappingURL=ThemeProvider.cjs.js.map
|