boreal-ui 0.0.1 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +9 -0
- package/dist/core/Accordion-DOhvj3Ty.js.map +1 -1
- package/dist/core/Accordion-DQsSUVAE.cjs.map +1 -1
- package/dist/core/ArrowRightIcon-BYQv5XS8.js.map +1 -1
- package/dist/core/ArrowRightIcon-ClXQHGAD.cjs.map +1 -1
- package/dist/core/Avatar-B5aqfDZX.cjs.map +1 -1
- package/dist/core/Avatar-mhtrG5FT.js.map +1 -1
- package/dist/core/Badge-DfsFGYhY.js.map +1 -1
- package/dist/core/Badge-LyKc0uJG.cjs.map +1 -1
- package/dist/core/Breadcrumbs-DhioJUB9.js.map +1 -1
- package/dist/core/Breadcrumbs-xmUgcTXF.cjs.map +1 -1
- package/dist/core/Button-DEYbr8xW.js.map +1 -1
- package/dist/core/Button-wz_We8xU.cjs.map +1 -1
- package/dist/core/Card-DCxLBwi0.cjs.map +1 -1
- package/dist/core/Card-DKPk0zgQ.js.map +1 -1
- package/dist/core/Checkbox-BLBbE9Ww.js.map +1 -1
- package/dist/core/Checkbox-fVnseKGF.cjs.map +1 -1
- package/dist/core/Chip-7R6wAufO.js.map +1 -1
- package/dist/core/Chip-CNn0UvOB.cjs.map +1 -1
- package/dist/core/CircularProgress-B-N4px22.cjs.map +1 -1
- package/dist/core/CircularProgress-ClCxzsSz.js.map +1 -1
- package/dist/core/CloseIcon-C3eQm4EK.js.map +1 -1
- package/dist/core/CloseIcon-DSnN6ggf.cjs.map +1 -1
- package/dist/core/ColorPicker-BQiTjeqQ.js.map +1 -1
- package/dist/core/ColorPicker-DR9huYqs.cjs.map +1 -1
- package/dist/core/CommandPalette-CHOC0Z2m.js.map +1 -1
- package/dist/core/CommandPalette-XTi50U_E.cjs.map +1 -1
- package/dist/core/DataTable-DQU1WxPr.js.map +1 -1
- package/dist/core/DataTable-DZeVQIC0.cjs.map +1 -1
- package/dist/core/DateTimePicker-BtITiL_E.cjs.map +1 -1
- package/dist/core/DateTimePicker-O8khtyOu.js.map +1 -1
- package/dist/core/Divider-An2VsXog.js.map +1 -1
- package/dist/core/Divider-TtfSFBcp.cjs.map +1 -1
- package/dist/core/Dropdown-CL7TH2lJ.js.map +1 -1
- package/dist/core/Dropdown-CPsxvzTA.cjs.map +1 -1
- package/dist/core/EmptyState-BAaCfJzO.cjs.map +1 -1
- package/dist/core/EmptyState-Bd-es_rG.js.map +1 -1
- package/dist/core/FileUpload-Dv2cvYI2.cjs.map +1 -1
- package/dist/core/FileUpload-DxjQ2wnn.js.map +1 -1
- package/dist/core/Footer-B4Owy88y.cjs.map +1 -1
- package/dist/core/Footer-bKgKgU6L.js.map +1 -1
- package/dist/core/FormGroup-BXWYrYOK.cjs.map +1 -1
- package/dist/core/FormGroup-DS2tW-lC.js.map +1 -1
- package/dist/core/IconButton-B6cAP2hY.js.map +1 -1
- package/dist/core/IconButton-BxUXK-xn.cjs.map +1 -1
- package/dist/core/MarkdownRenderer-CQVfqnxf.js.map +1 -1
- package/dist/core/MarkdownRenderer-taVkZLE9.cjs.map +1 -1
- package/dist/core/MessagePopup-By89AGqE.js.map +1 -1
- package/dist/core/MessagePopup-OA1gjb8E.cjs.map +1 -1
- package/dist/core/MetricBox-D5Dl19d2.js.map +1 -1
- package/dist/core/MetricBox-DjE-rdp0.cjs.map +1 -1
- package/dist/core/Modal-BhQJOhWV.js.map +1 -1
- package/dist/core/Modal-CI2snbvk.cjs.map +1 -1
- package/dist/core/NavBar-BAHSDPtT.js.map +1 -1
- package/dist/core/NavBar-C5UMiYpA.cjs.map +1 -1
- package/dist/core/NotificationCenter-Bp7AqnTg.js.map +1 -1
- package/dist/core/NotificationCenter-DxaqoUD1.cjs.map +1 -1
- package/dist/core/Pager-2jW3cxx_.js.map +1 -1
- package/dist/core/Pager-ByVG_at-.cjs.map +1 -1
- package/dist/core/PopOver-DNqWcWjU.js.map +1 -1
- package/dist/core/PopOver-OijKNHZU.cjs.map +1 -1
- package/dist/core/ProgressBar-CuIHF5N0.js.map +1 -1
- package/dist/core/ProgressBar-PiSFvLwa.cjs.map +1 -1
- package/dist/core/RadioButton-DP8HSNZD.cjs.map +1 -1
- package/dist/core/RadioButton-DTPBlw1t.js.map +1 -1
- package/dist/core/Rating-Jx3DBFOd.cjs.map +1 -1
- package/dist/core/Rating-QF5O1MFS.js.map +1 -1
- package/dist/core/STT-D6L-amjZ.cjs.map +1 -1
- package/dist/core/STT-aXWWubSC.js.map +1 -1
- package/dist/core/Select-9F6p9ghR.cjs.map +1 -1
- package/dist/core/Select-C4a_4B87.js.map +1 -1
- package/dist/core/Skeleton-BniIVZmx.js.map +1 -1
- package/dist/core/Skeleton-CeMwLgnq.cjs.map +1 -1
- package/dist/core/Slider-DZycGDIY.cjs.map +1 -1
- package/dist/core/Slider-QEwgd0le.js.map +1 -1
- package/dist/core/Spinner-BTmQ7ZN9.cjs.map +1 -1
- package/dist/core/Spinner-DGF0pR7I.js.map +1 -1
- package/dist/core/Stepper-BkmPckKd.cjs.map +1 -1
- package/dist/core/Stepper-PjUFCUBG.js.map +1 -1
- package/dist/core/Tabs-DptKFvPK.cjs.map +1 -1
- package/dist/core/Tabs-gpyaJFUs.js.map +1 -1
- package/dist/core/Taginput-BMPHihSz.cjs.map +1 -1
- package/dist/core/Taginput-CrScreYL.js.map +1 -1
- package/dist/core/TextArea-B88b8dFf.js.map +1 -1
- package/dist/core/TextArea-CxJexFDv.cjs.map +1 -1
- package/dist/core/TextInput-8AbKEfUH.cjs.map +1 -1
- package/dist/core/TextInput-CtI8fsXR.js.map +1 -1
- package/dist/core/ThemeContext-Bo0vLczy.js.map +1 -1
- package/dist/core/ThemeContext-CtZXUeeU.cjs.map +1 -1
- package/dist/core/Timeline-D7fd8-u_.js.map +1 -1
- package/dist/core/Timeline-Dk0q-8BZ.cjs.map +1 -1
- package/dist/core/Toggle-CZftIdc3.js.map +1 -1
- package/dist/core/Toggle-v31rt4Ya.cjs.map +1 -1
- package/dist/core/Toolbar-94Pu5-SL.js.map +1 -1
- package/dist/core/Toolbar-Cg_ofRqY.cjs.map +1 -1
- package/dist/core/Tooltip-5SfsTZvz.cjs.map +1 -1
- package/dist/core/Tooltip-XfsZnGgV.js.map +1 -1
- package/dist/core/boreal-style-config-BILmxkZG.js.map +1 -1
- package/dist/core/boreal-style-config-Rr5d5Qts.cjs.map +1 -1
- package/dist/core/capitalize-C0TSQSPh.js.map +1 -1
- package/dist/core/capitalize-DoV-nOmN.cjs.map +1 -1
- package/dist/core/colorSchemes.cjs.js.map +1 -1
- package/dist/core/colorSchemes.js.map +1 -1
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/registerColorSheme-BPX0H7hl.js.map +1 -1
- package/dist/core/registerColorSheme-nhYu5hbY.cjs.map +1 -1
- package/dist/next/Accordion-BD-HsAos.cjs.map +1 -1
- package/dist/next/Accordion-Bu2IAjE6.js.map +1 -1
- package/dist/next/ArrowRightIcon-BVb75OpX.cjs.map +1 -1
- package/dist/next/ArrowRightIcon-BYQv5XS8.js.map +1 -1
- package/dist/next/{Avatar-B0KvtR9U.js → Avatar-B0vflpuy.js} +3 -3
- package/dist/next/{Avatar-B0KvtR9U.js.map → Avatar-B0vflpuy.js.map} +1 -1
- package/dist/next/{Avatar-s6BrkUFC.cjs → Avatar-DjuHvrMV.cjs} +3 -3
- package/dist/next/{Avatar-s6BrkUFC.cjs.map → Avatar-DjuHvrMV.cjs.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/Badge-CnKwIP4u.cjs.map +1 -1
- package/dist/next/Badge-WWxkzKOl.js.map +1 -1
- package/dist/next/{Breadcrumbs-DCPl_wHY.cjs → Breadcrumbs-0cJD4s9s.cjs} +3 -3
- package/dist/next/{Breadcrumbs-DCPl_wHY.cjs.map → Breadcrumbs-0cJD4s9s.cjs.map} +1 -1
- package/dist/next/{Breadcrumbs-BRfPnjv3.js → Breadcrumbs-liNC5ZzY.js} +3 -3
- package/dist/next/{Breadcrumbs-BRfPnjv3.js.map → Breadcrumbs-liNC5ZzY.js.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-BpVwB1WA.js → Button-CbX-VlK_.js} +2 -2
- package/dist/next/{Button-BpVwB1WA.js.map → Button-CbX-VlK_.js.map} +1 -1
- package/dist/next/{Button-DUh0L7vy.cjs → Button-WSFdkLsa.cjs} +2 -2
- package/dist/next/{Button-DUh0L7vy.cjs.map → Button-WSFdkLsa.cjs.map} +1 -1
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-BjYztK13.cjs → Card-BCYMEFyT.cjs} +4 -4
- package/dist/next/{Card-BjYztK13.cjs.map → Card-BCYMEFyT.cjs.map} +1 -1
- package/dist/next/{Card-RBCzxSIj.js → Card-DhdZiqdl.js} +4 -4
- package/dist/next/{Card-RBCzxSIj.js.map → Card-DhdZiqdl.js.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/Checkbox-COcqcXOD.cjs.map +1 -1
- package/dist/next/Checkbox-kWrAB9F7.js.map +1 -1
- package/dist/next/{Chip-BwyYgH0p.cjs → Chip-DJMY0KHl.cjs} +2 -2
- package/dist/next/{Chip-BwyYgH0p.cjs.map → Chip-DJMY0KHl.cjs.map} +1 -1
- package/dist/next/{Chip-YKbysMqv.js → Chip-DtHYUkJ4.js} +2 -2
- package/dist/next/{Chip-YKbysMqv.js.map → Chip-DtHYUkJ4.js.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/CircularProgress-CYo_VUG7.js.map +1 -1
- package/dist/next/CircularProgress-DXC_JBTG.cjs.map +1 -1
- package/dist/next/CloseIcon-7hy4qJ9o.cjs.map +1 -1
- package/dist/next/CloseIcon-C3eQm4EK.js.map +1 -1
- package/dist/next/ColorPicker-C-klUf3G.cjs.map +1 -1
- package/dist/next/ColorPicker-Ub3qNdeF.js.map +1 -1
- package/dist/next/{CommandPalette-Dm_njW12.js → CommandPalette-CEZwvLuu.js} +2 -2
- package/dist/next/{CommandPalette-Dm_njW12.js.map → CommandPalette-CEZwvLuu.js.map} +1 -1
- package/dist/next/{CommandPalette-BAxyNfRu.cjs → CommandPalette-Dp2pT5ot.cjs} +2 -2
- package/dist/next/{CommandPalette-BAxyNfRu.cjs.map → CommandPalette-Dp2pT5ot.cjs.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/DataTable-9JLEi0CK.cjs.map +1 -1
- package/dist/next/DataTable-D5ffcx-L.js.map +1 -1
- package/dist/next/DateTimePicker-C2-or1uL.js.map +1 -1
- package/dist/next/DateTimePicker-CoTQNBzD.cjs.map +1 -1
- package/dist/next/Divider-BlJMteki.cjs.map +1 -1
- package/dist/next/Divider-g7VS0Sbx.js.map +1 -1
- package/dist/next/{Dropdown-D2p7q140.cjs → Dropdown-BtbLZeZq.cjs} +2 -2
- package/dist/next/{Dropdown-D2p7q140.cjs.map → Dropdown-BtbLZeZq.cjs.map} +1 -1
- package/dist/next/{Dropdown-D-Jhdu_7.js → Dropdown-DyBmnKrz.js} +2 -2
- package/dist/next/{Dropdown-D-Jhdu_7.js.map → Dropdown-DyBmnKrz.js.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-C6dGNF-O.js → EmptyState-CSEhZvTp.js} +2 -2
- package/dist/next/{EmptyState-C6dGNF-O.js.map → EmptyState-CSEhZvTp.js.map} +1 -1
- package/dist/next/{EmptyState-CBGawc9S.cjs → EmptyState-DUZQ2Qmn.cjs} +2 -2
- package/dist/next/{EmptyState-CBGawc9S.cjs.map → EmptyState-DUZQ2Qmn.cjs.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-BOSrZhPq.js → FileUpload-CgPHe6Nn.js} +3 -3
- package/dist/next/{FileUpload-BOSrZhPq.js.map → FileUpload-CgPHe6Nn.js.map} +1 -1
- package/dist/next/{FileUpload-D65wKrsD.cjs → FileUpload-jh5iTgY-.cjs} +3 -3
- package/dist/next/{FileUpload-D65wKrsD.cjs.map → FileUpload-jh5iTgY-.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-CdCqa4Pz.js → Footer-CQAWg2tl.js} +4 -4
- package/dist/next/{Footer-CdCqa4Pz.js.map → Footer-CQAWg2tl.js.map} +1 -1
- package/dist/next/{Footer-J5Q_SSa-.cjs → Footer-D2veQTa-.cjs} +4 -4
- package/dist/next/{Footer-J5Q_SSa-.cjs.map → Footer-D2veQTa-.cjs.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/FormGroup-BAtifQGH.cjs.map +1 -1
- package/dist/next/FormGroup-DuBfLAMv.js.map +1 -1
- package/dist/next/{IconButton-mY_E1gsn.cjs → IconButton-CNzF48hu.cjs} +2 -2
- package/dist/next/{IconButton-mY_E1gsn.cjs.map → IconButton-CNzF48hu.cjs.map} +1 -1
- package/dist/next/{IconButton-EbX_9a0k.js → IconButton-DFrFh0kg.js} +2 -2
- package/dist/next/{IconButton-EbX_9a0k.js.map → IconButton-DFrFh0kg.js.map} +1 -1
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/MarkdownRenderer-B-WThNR7.cjs.map +1 -1
- package/dist/next/MarkdownRenderer-CxJOetSp.js.map +1 -1
- package/dist/next/MessagePopUp.cjs.js +1 -1
- package/dist/next/MessagePopUp.js +1 -1
- package/dist/next/{MessagePopup-DuXLVt2z.cjs → MessagePopup-C-7N3vB0.cjs} +3 -3
- package/dist/next/{MessagePopup-DuXLVt2z.cjs.map → MessagePopup-C-7N3vB0.cjs.map} +1 -1
- package/dist/next/{MessagePopup-BL_Tp51e.js → MessagePopup-ClfrvxKq.js} +3 -3
- package/dist/next/{MessagePopup-BL_Tp51e.js.map → MessagePopup-ClfrvxKq.js.map} +1 -1
- package/dist/next/MetricBox-Dtkrwrtw.cjs.map +1 -1
- package/dist/next/MetricBox-rxFYolH_.js.map +1 -1
- package/dist/next/{Modal-DkAYQaOH.js → Modal-BZvTcgoM.js} +2 -2
- package/dist/next/{Modal-DkAYQaOH.js.map → Modal-BZvTcgoM.js.map} +1 -1
- package/dist/next/{Modal-Cr3uE4Wi.cjs → Modal-Bf7egMf2.cjs} +2 -2
- package/dist/next/{Modal-Cr3uE4Wi.cjs.map → Modal-Bf7egMf2.cjs.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-CyInu_3I.cjs → NavBar-CZtNDAdX.cjs} +103 -87
- package/dist/next/NavBar-CZtNDAdX.cjs.map +1 -0
- package/dist/next/{NavBar-CsrYdWSV.js → NavBar-DzRWv8W0.js} +103 -87
- package/dist/next/NavBar-DzRWv8W0.js.map +1 -0
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-BGc41ims.js → NotificationCenter-BCXpVjHd.js} +3 -3
- package/dist/next/{NotificationCenter-BGc41ims.js.map → NotificationCenter-BCXpVjHd.js.map} +1 -1
- package/dist/next/{NotificationCenter-BTcM5bCY.cjs → NotificationCenter-DmcHIkOp.cjs} +3 -3
- package/dist/next/{NotificationCenter-BTcM5bCY.cjs.map → NotificationCenter-DmcHIkOp.cjs.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-CRAgN3LJ.cjs → Pager-B81ecC4j.cjs} +3 -3
- package/dist/next/{Pager-CRAgN3LJ.cjs.map → Pager-B81ecC4j.cjs.map} +1 -1
- package/dist/next/{Pager-0B36P0k1.js → Pager-BqShs8_d.js} +3 -3
- package/dist/next/{Pager-0B36P0k1.js.map → Pager-BqShs8_d.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/PopOver-CHs0s9rp.cjs.map +1 -1
- package/dist/next/PopOver-pllmYvp6.js.map +1 -1
- package/dist/next/ProgressBar-Cvf0uNKW.cjs.map +1 -1
- package/dist/next/ProgressBar-D_fi1WW3.js.map +1 -1
- package/dist/next/RadioButton-BKS65jm9.js.map +1 -1
- package/dist/next/RadioButton-cXdUfJD2.cjs.map +1 -1
- package/dist/next/Rating-BjN0Sj0r.cjs.map +1 -1
- package/dist/next/Rating-Bs7oCe4w.js.map +1 -1
- package/dist/next/STT-Br81yPXp.js.map +1 -1
- package/dist/next/STT-C0q3yqiJ.cjs.map +1 -1
- package/dist/next/Select-DwWTQcCU.js.map +1 -1
- package/dist/next/Select-_f1aZuKO.cjs.map +1 -1
- package/dist/next/Skeleton-BWBHgsOM.js.map +1 -1
- package/dist/next/Skeleton-CMuXs5GO.cjs.map +1 -1
- package/dist/next/Slider-B5BJJyaD.js.map +1 -1
- package/dist/next/Slider-DbxNKdGq.cjs.map +1 -1
- package/dist/next/Spinner-BxvU43sx.js.map +1 -1
- package/dist/next/Spinner-Doh4Uft1.cjs.map +1 -1
- package/dist/next/{Stepper-DGbO-fUh.js → Stepper-5FojeYPE.js} +2 -2
- package/dist/next/{Stepper-DGbO-fUh.js.map → Stepper-5FojeYPE.js.map} +1 -1
- package/dist/next/{Stepper-CQaWoBJ2.cjs → Stepper-D2UYDRwT.cjs} +2 -2
- package/dist/next/{Stepper-CQaWoBJ2.cjs.map → Stepper-D2UYDRwT.cjs.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/Tabs-CNU0A_YY.js.map +1 -1
- package/dist/next/Tabs-DuZPFjen.cjs.map +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{Taginput-DAZs0PlQ.cjs → Taginput-BcNgwFOj.cjs} +3 -3
- package/dist/next/{Taginput-DAZs0PlQ.cjs.map → Taginput-BcNgwFOj.cjs.map} +1 -1
- package/dist/next/{Taginput-Bppb5ahN.js → Taginput-CdYMgcYY.js} +3 -3
- package/dist/next/{Taginput-Bppb5ahN.js.map → Taginput-CdYMgcYY.js.map} +1 -1
- package/dist/next/TextArea-CRo_5ZL_.cjs.map +1 -1
- package/dist/next/TextArea-W9ekr3ij.js.map +1 -1
- package/dist/next/{TextInput-DLROLZ7j.js → TextInput-DkNxrV4X.js} +2 -2
- package/dist/next/{TextInput-DLROLZ7j.js.map → TextInput-DkNxrV4X.js.map} +1 -1
- package/dist/next/{TextInput-D2cpcHhQ.cjs → TextInput-iQT-2lPj.cjs} +2 -2
- package/dist/next/{TextInput-D2cpcHhQ.cjs.map → TextInput-iQT-2lPj.cjs.map} +1 -1
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/ThemeContext-BNR3_OIq.cjs.map +1 -1
- package/dist/next/ThemeContext-Bo0vLczy.js.map +1 -1
- package/dist/next/Timeline-36_Qy1-m.cjs.map +1 -1
- package/dist/next/Timeline-EnwGQ4Mi.js.map +1 -1
- package/dist/next/Toggle-CU7I_vjc.cjs.map +1 -1
- package/dist/next/Toggle-R5pWM7gk.js.map +1 -1
- package/dist/next/{Toolbar-vNJ46DTU.js → Toolbar-B8AB6ADW.js} +2 -2
- package/dist/next/{Toolbar-vNJ46DTU.js.map → Toolbar-B8AB6ADW.js.map} +1 -1
- package/dist/next/{Toolbar-D05Q3wYG.cjs → Toolbar-BIruaq82.cjs} +2 -2
- package/dist/next/{Toolbar-D05Q3wYG.cjs.map → Toolbar-BIruaq82.cjs.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/Tooltip-DHhLeygn.cjs.map +1 -1
- package/dist/next/Tooltip-G3P0OyTP.js.map +1 -1
- package/dist/next/boreal-style-config-BILmxkZG.js.map +1 -1
- package/dist/next/boreal-style-config-Rr5d5Qts.cjs.map +1 -1
- package/dist/next/capitalize-C0TSQSPh.js.map +1 -1
- package/dist/next/capitalize-DoV-nOmN.cjs.map +1 -1
- package/dist/next/colorSchemes.cjs.js.map +1 -1
- package/dist/next/colorSchemes.js.map +1 -1
- package/dist/next/{image-Cs0ZR1Aj.js → image-CEz9QtOW.js} +3 -22
- package/dist/next/image-CEz9QtOW.js.map +1 -0
- package/dist/next/{image-C5jTmHeD.cjs → image-VX9Ty9NQ.cjs} +3 -22
- package/dist/next/image-VX9Ty9NQ.cjs.map +1 -0
- package/dist/next/index.cjs.js +20 -20
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +21 -21
- package/dist/next/index.js.map +1 -1
- package/dist/next/{link-CX77u6b-.js → link-Bik5xH00.js} +15 -3
- package/dist/next/link-Bik5xH00.js.map +1 -0
- package/dist/next/{link-B8xgzNiC.cjs → link-hxAaLm0Q.cjs} +15 -3
- package/dist/next/link-hxAaLm0Q.cjs.map +1 -0
- package/dist/next/registerColorSheme-BPX0H7hl.js.map +1 -1
- package/dist/next/registerColorSheme-nhYu5hbY.cjs.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/dist/next/NavBar-CsrYdWSV.js.map +0 -1
- package/dist/next/NavBar-CyInu_3I.cjs.map +0 -1
- package/dist/next/image-C5jTmHeD.cjs.map +0 -1
- package/dist/next/image-Cs0ZR1Aj.js.map +0 -1
- package/dist/next/link-B8xgzNiC.cjs.map +0 -1
- package/dist/next/link-CX77u6b-.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card-RBCzxSIj.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/next/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { ActionButton, CardProps } from \"./Card.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\ntype ExtendedActionButton = ActionButton & {\r\n buttonComponent: React.ElementType;\r\n iconButtonComponent: React.ElementType;\r\n};\r\n\r\nexport interface CardBaseProps extends CardProps {\r\n classMap: Record<string, string>;\r\n SkeletonComponent: React.FC<{\r\n width: string;\r\n height: string;\r\n [\"data-testid\"]?: string;\r\n }>;\r\n ImageComponent?: React.ElementType;\r\n actionButtons: ExtendedActionButton[];\r\n}\r\n\r\nconst CardBase: React.FC<CardBaseProps> = ({\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n cardIcon,\r\n title = \"\",\r\n description = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n imageUrl,\r\n imageAlt,\r\n className = \"\",\r\n imageClassName = \"\",\r\n headerClassName = \"\",\r\n bodyClassName = \"\",\r\n footerClassName = \"\",\r\n outline = false,\r\n size = getDefaultSize(),\r\n align = \"center\",\r\n renderHeader,\r\n renderContent,\r\n renderFooter,\r\n actionButtons = [],\r\n useIconButtons = false,\r\n layout = \"vertical\",\r\n blur = false,\r\n loading = false,\r\n children,\r\n \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-label\": ariaLabel,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const headerId = ariaLabelledBy || `${autoId}-header`;\r\n const descriptionId = `${autoId}-description`;\r\n const hasImage = !!imageUrl;\r\n const showBlur = blur && typeof imageUrl !== \"string\";\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\r\n );\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n\r\n const cardClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.card,\r\n classMap[layout],\r\n align && classMap[align],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n loading && classMap.loading,\r\n className\r\n ),\r\n [classMap, size, outline, align, className]\r\n );\r\n\r\n return (\r\n <div\r\n data-testid={testId}\r\n className={cardClassName}\r\n role=\"region\"\r\n aria-labelledby={title ? headerId : undefined}\r\n aria-label={!title ? derivedAriaLabel : undefined}\r\n >\r\n {loading ? (\r\n <SkeletonComponent width=\"100%\" height=\"250px\" data-testid=\"skeleton\" />\r\n ) : (\r\n <div className={classMap.content}>\r\n {hasImage && (\r\n <ImageRenderer\r\n src={imageUrl}\r\n alt={imageAlt || `${title || \"Card\"} image`}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n placeholder={showBlur ? \"blur\" : undefined}\r\n />\r\n )}\r\n\r\n <div>\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={headerId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : title ? (\r\n <h2 className={classMap.title}>\r\n {cardIcon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid=\"card-icon\"\r\n >\r\n {React.createElement(cardIcon)}\r\n </span>\r\n )}\r\n {title}\r\n </h2>\r\n ) : null}\r\n </div>\r\n\r\n <div\r\n className={combineClassNames(classMap.body, bodyClassName)}\r\n role=\"group\"\r\n aria-describedby={description ? descriptionId : undefined}\r\n >\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {description && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n {children && (\r\n <div className={classMap.children}>{children}</div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n\r\n {(actionButtons.length > 0 || renderFooter) && (\r\n <div\r\n className={combineClassNames(classMap.footer, footerClassName)}\r\n >\r\n {actionButtons.length > 0 && (\r\n <div className={classMap.actions}>\r\n {actionButtons.map((button, index) =>\r\n useIconButtons && button.icon ? (\r\n <button.iconButtonComponent\r\n key={index}\r\n icon={button.icon}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"clear\"}\r\n state={button.state || \"\"}\r\n aria-label={button.label}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n />\r\n ) : (\r\n <button.buttonComponent\r\n key={index}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"secondary\"}\r\n state={button.state || \"\"}\r\n href={button.href}\r\n loading={button.loading}\r\n size={button.size || size}\r\n aria-label={button.label}\r\n >\r\n {button.label}\r\n </button.buttonComponent>\r\n )\r\n )}\r\n </div>\r\n )}\r\n {renderFooter && renderFooter()}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CardBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image from \"next/image\";\r\nimport { Button, IconButton, Skeleton } from \"../../../index.next\";\r\nimport styles from \"./Card.module.scss\";\r\nimport CardBase from \"../CardBase\";\r\nimport { CardProps } from \"../Card.types\";\r\n\r\nconst NextImageWrapper: React.FC<React.ComponentProps<typeof Image>> = (\r\n props\r\n) => {\r\n return <Image {...props} />;\r\n};\r\n\r\nconst Card: React.FC<CardProps> = (props) => {\r\n const wrappedButtons = (props.actionButtons ?? []).map((b) => ({\r\n ...b,\r\n buttonComponent: Button,\r\n iconButtonComponent: IconButton,\r\n }));\r\n\r\n return (\r\n <CardBase\r\n {...props}\r\n actionButtons={wrappedButtons}\r\n classMap={styles}\r\n SkeletonComponent={Skeleton}\r\n ImageComponent={NextImageWrapper}\r\n />\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"names":["title","description","outline","loading","children","Skeleton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Card-DhdZiqdl.js","sources":["../../src/components/Card/CardBase.tsx","../../src/components/Card/next/Card.tsx"],"sourcesContent":["import React, { useId, useMemo } from \"react\";\r\nimport { ActionButton, CardProps } from \"./Card.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\ntype ExtendedActionButton = ActionButton & {\r\n buttonComponent: React.ElementType;\r\n iconButtonComponent: React.ElementType;\r\n};\r\n\r\nexport interface CardBaseProps extends CardProps {\r\n classMap: Record<string, string>;\r\n SkeletonComponent: React.FC<{\r\n width: string;\r\n height: string;\r\n [\"data-testid\"]?: string;\r\n }>;\r\n ImageComponent?: React.ElementType;\r\n actionButtons: ExtendedActionButton[];\r\n}\r\n\r\nconst CardBase: React.FC<CardBaseProps> = ({\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n cardIcon,\r\n title = \"\",\r\n description = \"\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n imageUrl,\r\n imageAlt,\r\n className = \"\",\r\n imageClassName = \"\",\r\n headerClassName = \"\",\r\n bodyClassName = \"\",\r\n footerClassName = \"\",\r\n outline = false,\r\n size = getDefaultSize(),\r\n align = \"center\",\r\n renderHeader,\r\n renderContent,\r\n renderFooter,\r\n actionButtons = [],\r\n useIconButtons = false,\r\n layout = \"vertical\",\r\n blur = false,\r\n loading = false,\r\n children,\r\n \"data-testid\": testId = \"card\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-label\": ariaLabel,\r\n classMap,\r\n SkeletonComponent,\r\n ImageComponent,\r\n}) => {\r\n const autoId = useId();\r\n const headerId = ariaLabelledBy || `${autoId}-header`;\r\n const descriptionId = `${autoId}-description`;\r\n const hasImage = !!imageUrl;\r\n const showBlur = blur && typeof imageUrl !== \"string\";\r\n const derivedAriaLabel = ariaLabel || title || description || \"Content card\";\r\n\r\n const FallbackImage = (props: React.ImgHTMLAttributes<HTMLImageElement>) => (\r\n <img {...props} />\r\n );\r\n\r\n const ImageRenderer = ImageComponent || FallbackImage;\r\n\r\n const cardClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.card,\r\n classMap[layout],\r\n align && classMap[align],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n loading && classMap.loading,\r\n className\r\n ),\r\n [classMap, size, outline, align, className]\r\n );\r\n\r\n return (\r\n <div\r\n data-testid={testId}\r\n className={cardClassName}\r\n role=\"region\"\r\n aria-labelledby={title ? headerId : undefined}\r\n aria-label={!title ? derivedAriaLabel : undefined}\r\n >\r\n {loading ? (\r\n <SkeletonComponent width=\"100%\" height=\"250px\" data-testid=\"skeleton\" />\r\n ) : (\r\n <div className={classMap.content}>\r\n {hasImage && (\r\n <ImageRenderer\r\n src={imageUrl}\r\n alt={imageAlt || `${title || \"Card\"} image`}\r\n className={combineClassNames(classMap.image, imageClassName)}\r\n placeholder={showBlur ? \"blur\" : undefined}\r\n />\r\n )}\r\n\r\n <div>\r\n <div\r\n className={combineClassNames(classMap.header, headerClassName)}\r\n id={headerId}\r\n >\r\n {renderHeader ? (\r\n renderHeader()\r\n ) : title ? (\r\n <h2 className={classMap.title}>\r\n {cardIcon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid=\"card-icon\"\r\n >\r\n {React.createElement(cardIcon)}\r\n </span>\r\n )}\r\n {title}\r\n </h2>\r\n ) : null}\r\n </div>\r\n\r\n <div\r\n className={combineClassNames(classMap.body, bodyClassName)}\r\n role=\"group\"\r\n aria-describedby={description ? descriptionId : undefined}\r\n >\r\n {renderContent ? (\r\n renderContent()\r\n ) : (\r\n <>\r\n {description && (\r\n <p id={descriptionId} className={classMap.description}>\r\n {description}\r\n </p>\r\n )}\r\n {children && (\r\n <div className={classMap.children}>{children}</div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n\r\n {(actionButtons.length > 0 || renderFooter) && (\r\n <div\r\n className={combineClassNames(classMap.footer, footerClassName)}\r\n >\r\n {actionButtons.length > 0 && (\r\n <div className={classMap.actions}>\r\n {actionButtons.map((button, index) =>\r\n useIconButtons && button.icon ? (\r\n <button.iconButtonComponent\r\n key={index}\r\n icon={button.icon}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"clear\"}\r\n state={button.state || \"\"}\r\n aria-label={button.label}\r\n size={button.size || size}\r\n href={button.href}\r\n loading={button.loading}\r\n />\r\n ) : (\r\n <button.buttonComponent\r\n key={index}\r\n onClick={button.onClick}\r\n className={classMap.action_button}\r\n theme={button.theme || \"secondary\"}\r\n state={button.state || \"\"}\r\n href={button.href}\r\n loading={button.loading}\r\n size={button.size || size}\r\n aria-label={button.label}\r\n >\r\n {button.label}\r\n </button.buttonComponent>\r\n )\r\n )}\r\n </div>\r\n )}\r\n {renderFooter && renderFooter()}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CardBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Image from \"next/image\";\r\nimport { Button, IconButton, Skeleton } from \"../../../index.next\";\r\nimport styles from \"./Card.module.scss\";\r\nimport CardBase from \"../CardBase\";\r\nimport { CardProps } from \"../Card.types\";\r\n\r\nconst NextImageWrapper: React.FC<React.ComponentProps<typeof Image>> = (\r\n props\r\n) => {\r\n return <Image {...props} />;\r\n};\r\n\r\nconst Card: React.FC<CardProps> = (props) => {\r\n const wrappedButtons = (props.actionButtons ?? []).map((b) => ({\r\n ...b,\r\n buttonComponent: Button,\r\n iconButtonComponent: IconButton,\r\n }));\r\n\r\n return (\r\n <CardBase\r\n {...props}\r\n actionButtons={wrappedButtons}\r\n classMap={styles}\r\n SkeletonComponent={Skeleton}\r\n ImageComponent={NextImageWrapper}\r\n />\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"names":["title","description","outline","loading","children","Skeleton"],"mappings":"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"}
|
package/dist/next/Card.cjs.js
CHANGED
package/dist/next/Card.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox-COcqcXOD.cjs","sources":["../../src/components/CheckBox/CheckboxBase.tsx","../../src/components/CheckBox/next/Checkbox.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useId,\r\n useRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n} from \"react\";\r\nimport type { CheckBoxProps } from \"./Checkbox.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CheckboxBaseProps extends CheckBoxProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst CheckboxBase = forwardRef<HTMLInputElement, CheckboxBaseProps>(\r\n (\r\n {\r\n checked,\r\n onChange,\r\n indeterminate = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n disabled = false,\r\n label = \"\",\r\n labelPosition = \"right\",\r\n className = \"\",\r\n id,\r\n \"data-testid\": testId,\r\n classMap,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const internalId = useId();\r\n const checkboxId = id || internalId;\r\n const labelId = label ? `${checkboxId}-label` : undefined;\r\n\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n useImperativeHandle(ref, () => inputRef.current!);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.indeterminate = indeterminate;\r\n }\r\n }, [indeterminate]);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.checkbox,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[labelPosition],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, labelPosition, disabled, className]\r\n );\r\n\r\n return (\r\n <label\r\n htmlFor={checkboxId}\r\n className={combinedClassName}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n {label && labelPosition === \"left\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n\r\n <input\r\n id={checkboxId}\r\n ref={inputRef}\r\n type=\"checkbox\"\r\n className={classMap.input}\r\n checked={checked}\r\n onChange={(e) => !disabled && onChange(e.target.checked)}\r\n disabled={disabled}\r\n aria-labelledby={labelId}\r\n aria-checked={indeterminate ? \"mixed\" : undefined}\r\n {...props}\r\n />\r\n\r\n <span\r\n className={combineClassNames(\r\n classMap.box,\r\n indeterminate && classMap.indeterminate\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-box` : undefined}\r\n />\r\n\r\n {label && labelPosition === \"right\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n </label>\r\n );\r\n }\r\n);\r\n\r\nCheckboxBase.displayName = \"CheckboxBase\";\r\nexport default CheckboxBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CheckboxBase from \"../CheckboxBase\";\r\nimport styles from \"./CheckBox.module.scss\";\r\nimport { CheckBoxProps } from \"../Checkbox.types\";\r\n\r\nconst Checkbox: React.FC<CheckBoxProps> = (props) => {\r\n return <CheckboxBase {...props} classMap={styles} />;\r\n};\r\n\r\nexport default Checkbox;\r\n"],"names":["forwardRef","indeterminate","getDefaultTheme","getDefaultRounding","getDefaultSize","getDefaultShadow","disabled","label","useId","useRef","useImperativeHandle","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":";;;;;;AAsBA,MAAM,eAAeA,
|
|
1
|
+
{"version":3,"file":"Checkbox-COcqcXOD.cjs","sources":["../../src/components/CheckBox/CheckboxBase.tsx","../../src/components/CheckBox/next/Checkbox.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useId,\r\n useRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n} from \"react\";\r\nimport type { CheckBoxProps } from \"./Checkbox.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CheckboxBaseProps extends CheckBoxProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst CheckboxBase = forwardRef<HTMLInputElement, CheckboxBaseProps>(\r\n (\r\n {\r\n checked,\r\n onChange,\r\n indeterminate = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n disabled = false,\r\n label = \"\",\r\n labelPosition = \"right\",\r\n className = \"\",\r\n id,\r\n \"data-testid\": testId,\r\n classMap,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const internalId = useId();\r\n const checkboxId = id || internalId;\r\n const labelId = label ? `${checkboxId}-label` : undefined;\r\n\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n useImperativeHandle(ref, () => inputRef.current!);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.indeterminate = indeterminate;\r\n }\r\n }, [indeterminate]);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.checkbox,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[labelPosition],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, labelPosition, disabled, className]\r\n );\r\n\r\n return (\r\n <label\r\n htmlFor={checkboxId}\r\n className={combinedClassName}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n {label && labelPosition === \"left\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n\r\n <input\r\n id={checkboxId}\r\n ref={inputRef}\r\n type=\"checkbox\"\r\n className={classMap.input}\r\n checked={checked}\r\n onChange={(e) => !disabled && onChange(e.target.checked)}\r\n disabled={disabled}\r\n aria-labelledby={labelId}\r\n aria-checked={indeterminate ? \"mixed\" : undefined}\r\n {...props}\r\n />\r\n\r\n <span\r\n className={combineClassNames(\r\n classMap.box,\r\n indeterminate && classMap.indeterminate\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-box` : undefined}\r\n />\r\n\r\n {label && labelPosition === \"right\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n </label>\r\n );\r\n }\r\n);\r\n\r\nCheckboxBase.displayName = \"CheckboxBase\";\r\nexport default CheckboxBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CheckboxBase from \"../CheckboxBase\";\r\nimport styles from \"./CheckBox.module.scss\";\r\nimport { CheckBoxProps } from \"../Checkbox.types\";\r\n\r\nconst Checkbox: React.FC<CheckBoxProps> = (props) => {\r\n return <CheckboxBase {...props} classMap={styles} />;\r\n};\r\n\r\nexport default Checkbox;\r\n"],"names":["forwardRef","indeterminate","getDefaultTheme","getDefaultRounding","getDefaultSize","getDefaultShadow","disabled","label","useId","useRef","useImperativeHandle","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox-kWrAB9F7.js","sources":["../../src/components/CheckBox/CheckboxBase.tsx","../../src/components/CheckBox/next/Checkbox.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useId,\r\n useRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n} from \"react\";\r\nimport type { CheckBoxProps } from \"./Checkbox.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CheckboxBaseProps extends CheckBoxProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst CheckboxBase = forwardRef<HTMLInputElement, CheckboxBaseProps>(\r\n (\r\n {\r\n checked,\r\n onChange,\r\n indeterminate = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n disabled = false,\r\n label = \"\",\r\n labelPosition = \"right\",\r\n className = \"\",\r\n id,\r\n \"data-testid\": testId,\r\n classMap,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const internalId = useId();\r\n const checkboxId = id || internalId;\r\n const labelId = label ? `${checkboxId}-label` : undefined;\r\n\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n useImperativeHandle(ref, () => inputRef.current!);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.indeterminate = indeterminate;\r\n }\r\n }, [indeterminate]);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.checkbox,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[labelPosition],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, labelPosition, disabled, className]\r\n );\r\n\r\n return (\r\n <label\r\n htmlFor={checkboxId}\r\n className={combinedClassName}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n {label && labelPosition === \"left\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n\r\n <input\r\n id={checkboxId}\r\n ref={inputRef}\r\n type=\"checkbox\"\r\n className={classMap.input}\r\n checked={checked}\r\n onChange={(e) => !disabled && onChange(e.target.checked)}\r\n disabled={disabled}\r\n aria-labelledby={labelId}\r\n aria-checked={indeterminate ? \"mixed\" : undefined}\r\n {...props}\r\n />\r\n\r\n <span\r\n className={combineClassNames(\r\n classMap.box,\r\n indeterminate && classMap.indeterminate\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-box` : undefined}\r\n />\r\n\r\n {label && labelPosition === \"right\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n </label>\r\n );\r\n }\r\n);\r\n\r\nCheckboxBase.displayName = \"CheckboxBase\";\r\nexport default CheckboxBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CheckboxBase from \"../CheckboxBase\";\r\nimport styles from \"./CheckBox.module.scss\";\r\nimport { CheckBoxProps } from \"../Checkbox.types\";\r\n\r\nconst Checkbox: React.FC<CheckBoxProps> = (props) => {\r\n return <CheckboxBase {...props} classMap={styles} />;\r\n};\r\n\r\nexport default Checkbox;\r\n"],"names":["indeterminate","disabled","label"],"mappings":";;;;;AAsBA,MAAM,eAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAAA,iBAAgB;AAAA,IAChB,QAAQ,
|
|
1
|
+
{"version":3,"file":"Checkbox-kWrAB9F7.js","sources":["../../src/components/CheckBox/CheckboxBase.tsx","../../src/components/CheckBox/next/Checkbox.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useId,\r\n useRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n} from \"react\";\r\nimport type { CheckBoxProps } from \"./Checkbox.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CheckboxBaseProps extends CheckBoxProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst CheckboxBase = forwardRef<HTMLInputElement, CheckboxBaseProps>(\r\n (\r\n {\r\n checked,\r\n onChange,\r\n indeterminate = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n disabled = false,\r\n label = \"\",\r\n labelPosition = \"right\",\r\n className = \"\",\r\n id,\r\n \"data-testid\": testId,\r\n classMap,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const internalId = useId();\r\n const checkboxId = id || internalId;\r\n const labelId = label ? `${checkboxId}-label` : undefined;\r\n\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n useImperativeHandle(ref, () => inputRef.current!);\r\n\r\n useEffect(() => {\r\n if (inputRef.current) {\r\n inputRef.current.indeterminate = indeterminate;\r\n }\r\n }, [indeterminate]);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.checkbox,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[labelPosition],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [theme, labelPosition, disabled, className]\r\n );\r\n\r\n return (\r\n <label\r\n htmlFor={checkboxId}\r\n className={combinedClassName}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n {label && labelPosition === \"left\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n\r\n <input\r\n id={checkboxId}\r\n ref={inputRef}\r\n type=\"checkbox\"\r\n className={classMap.input}\r\n checked={checked}\r\n onChange={(e) => !disabled && onChange(e.target.checked)}\r\n disabled={disabled}\r\n aria-labelledby={labelId}\r\n aria-checked={indeterminate ? \"mixed\" : undefined}\r\n {...props}\r\n />\r\n\r\n <span\r\n className={combineClassNames(\r\n classMap.box,\r\n indeterminate && classMap.indeterminate\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-box` : undefined}\r\n />\r\n\r\n {label && labelPosition === \"right\" && (\r\n <span\r\n className={classMap.label}\r\n id={labelId}\r\n data-testid={testId ? `${testId}-label` : undefined}\r\n >\r\n {label}\r\n </span>\r\n )}\r\n </label>\r\n );\r\n }\r\n);\r\n\r\nCheckboxBase.displayName = \"CheckboxBase\";\r\nexport default CheckboxBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CheckboxBase from \"../CheckboxBase\";\r\nimport styles from \"./CheckBox.module.scss\";\r\nimport { CheckBoxProps } from \"../Checkbox.types\";\r\n\r\nconst Checkbox: React.FC<CheckBoxProps> = (props) => {\r\n return <CheckboxBase {...props} classMap={styles} />;\r\n};\r\n\r\nexport default Checkbox;\r\n"],"names":["indeterminate","disabled","label"],"mappings":";;;;;AAsBA,MAAM,eAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAAA,iBAAgB;AAAA,IAChB,QAAQ,gBAAA;AAAA,IACR,WAAW,mBAAA;AAAA,IACX,OAAO,eAAA;AAAA,IACP,SAAS,iBAAA;AAAA,IACT,QAAQ;AAAA,IACR,UAAAC,YAAW;AAAA,IACX,OAAAC,SAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,aAAa,MAAA;AACnB,UAAM,aAAa,MAAM;AACzB,UAAM,UAAUA,SAAQ,GAAG,UAAU,WAAW;AAEhD,UAAM,WAAW,OAAyB,IAAI;AAC9C,wBAAoB,KAAK,MAAM,SAAS,OAAQ;AAEhD,cAAU,MAAM;AACd,UAAI,SAAS,SAAS;AACpB,iBAAS,QAAQ,gBAAgBF;AAAA,MACnC;AAAA,IACF,GAAG,CAACA,cAAa,CAAC;AAElB,UAAM,oBAAoB;AAAA,MACxB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,SAAS,aAAa;AAAA,QACtB,SAAS,IAAI;AAAA,QACb,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnDC,aAAY,SAAS;AAAA,QACrB;AAAA,MAAA;AAAA,MAEJ,CAAC,OAAO,eAAeA,WAAU,SAAS;AAAA,IAAA;AAG5C,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW;AAAA,QACX,eAAa,SAAS,GAAG,MAAM,aAAa;AAAA,QAE3C,UAAA;AAAA,UAAAC,UAAS,kBAAkB,UAC1B;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,SAAS;AAAA,cACpB,IAAI;AAAA,cACJ,eAAa,SAAS,GAAG,MAAM,WAAW;AAAA,cAEzC,UAAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAIL;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,KAAK;AAAA,cACL,MAAK;AAAA,cACL,WAAW,SAAS;AAAA,cACpB;AAAA,cACA,UAAU,CAAC,MAAM,CAACD,aAAY,SAAS,EAAE,OAAO,OAAO;AAAA,cACvD,UAAAA;AAAA,cACA,mBAAiB;AAAA,cACjB,gBAAcD,iBAAgB,UAAU;AAAA,cACvC,GAAG;AAAA,YAAA;AAAA,UAAA;AAAA,UAGN;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,gBACT,SAAS;AAAA,gBACTA,kBAAiB,SAAS;AAAA,cAAA;AAAA,cAE5B,eAAY;AAAA,cACZ,eAAa,SAAS,GAAG,MAAM,SAAS;AAAA,YAAA;AAAA,UAAA;AAAA,UAGzCE,UAAS,kBAAkB,WAC1B;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,SAAS;AAAA,cACpB,IAAI;AAAA,cACJ,eAAa,SAAS,GAAG,MAAM,WAAW;AAAA,cAEzC,UAAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,aAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtH3B,MAAM,WAAoC,CAAC,UAAU;AACnD,SAAO,oBAAC,cAAA,EAAc,GAAG,OAAO,UAAU,QAAQ;AACpD;"}
|
|
@@ -6,7 +6,7 @@ const classNames = require("./classNames-BcWMx052.cjs");
|
|
|
6
6
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
7
7
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
8
8
|
const CloseIcon = require("./CloseIcon-7hy4qJ9o.cjs");
|
|
9
|
-
const IconButton = require("./IconButton-
|
|
9
|
+
const IconButton = require("./IconButton-CNzF48hu.cjs");
|
|
10
10
|
const ChipBase = ({
|
|
11
11
|
id,
|
|
12
12
|
message: message2,
|
|
@@ -197,4 +197,4 @@ const Chip = (props) => /* @__PURE__ */ require$$2.jsx(
|
|
|
197
197
|
}
|
|
198
198
|
);
|
|
199
199
|
exports.Chip = Chip;
|
|
200
|
-
//# sourceMappingURL=Chip-
|
|
200
|
+
//# sourceMappingURL=Chip-DJMY0KHl.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip-
|
|
1
|
+
{"version":3,"file":"Chip-DJMY0KHl.cjs","sources":["../../src/components/Chip/ChipBase.tsx","../../src/components/Chip/next/Chip.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, KeyboardEvent } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { ChipBaseProps } from \"./Chip.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ChipBase: React.FC<ChipBaseProps> = ({\r\n id,\r\n message,\r\n visible,\r\n onClose,\r\n icon: Icon,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n position = \"topCenter\",\r\n usePortal = true,\r\n className = \"\",\r\n autoClose = true,\r\n duration = 3000,\r\n closeIcon: CloseIcon,\r\n IconButtonComponent,\r\n classMap,\r\n \"data-testid\": testId = \"chip\",\r\n}) => {\r\n const [closing, setClosing] = useState(false);\r\n\r\n const handleClose = useCallback(() => {\r\n setClosing(true);\r\n setTimeout(() => onClose?.(), 300);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (autoClose && visible) {\r\n const timer = setTimeout(() => handleClose(), duration);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [autoClose, duration, visible, handleClose]);\r\n\r\n if (!visible && !closing) return null;\r\n\r\n const chipClassName = combineClassNames(\r\n classMap.chip,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n classMap[position],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n closing && classMap.fadeout,\r\n usePortal && classMap.fixed,\r\n className\r\n );\r\n\r\n const portalEl =\r\n typeof window !== \"undefined\"\r\n ? document.getElementById(\"widget-portal\")\r\n : null;\r\n\r\n const chipElement = (\r\n <div\r\n key={id}\r\n className={chipClassName}\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId}\r\n >\r\n {Icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\" data-testid=\"icon\">\r\n <Icon className={classMap.inner_icon} />\r\n </span>\r\n )}\r\n <span className={classMap.message} id={`${testId}-message`}>\r\n {message}\r\n </span>\r\n\r\n <IconButtonComponent\r\n icon={CloseIcon}\r\n size={size}\r\n theme=\"clear\"\r\n ariaLabel=\"Close notification\"\r\n aria-controls={`${testId}-message`}\r\n className={classMap.close}\r\n onClick={handleClose}\r\n onKeyDown={(e: KeyboardEvent) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleClose();\r\n }\r\n }}\r\n role=\"button\"\r\n tabIndex={0}\r\n data-testid=\"chip-close\"\r\n />\r\n </div>\r\n );\r\n\r\n if (usePortal && portalEl) {\r\n return createPortal(chipElement, portalEl);\r\n }\r\n\r\n return chipElement;\r\n};\r\n\r\nexport default ChipBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ChipBase from \"../ChipBase\";\r\nimport { CloseIcon } from \"@/Icons\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Chip.module.scss\";\r\nimport { ChipProps } from \"../Chip.types\";\r\n\r\nconst Chip: React.FC<ChipProps> = (props) => (\r\n <ChipBase\r\n {...props}\r\n classMap={styles}\r\n IconButtonComponent={IconButton}\r\n closeIcon={CloseIcon}\r\n />\r\n);\r\n\r\nexport default Chip;\r\n"],"names":["message","getDefaultSize","getDefaultTheme","getDefaultRounding","getDefaultShadow","CloseIcon","useState","useCallback","useEffect","combineClassNames","capitalize","jsxs","jsx","createPortal","IconButton"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
6
|
import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
7
7
|
import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
|
|
8
|
-
import { I as IconButton } from "./IconButton-
|
|
8
|
+
import { I as IconButton } from "./IconButton-DFrFh0kg.js";
|
|
9
9
|
const ChipBase = ({
|
|
10
10
|
id,
|
|
11
11
|
message: message2,
|
|
@@ -198,4 +198,4 @@ const Chip = (props) => /* @__PURE__ */ jsx(
|
|
|
198
198
|
export {
|
|
199
199
|
Chip as C
|
|
200
200
|
};
|
|
201
|
-
//# sourceMappingURL=Chip-
|
|
201
|
+
//# sourceMappingURL=Chip-DtHYUkJ4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip-
|
|
1
|
+
{"version":3,"file":"Chip-DtHYUkJ4.js","sources":["../../src/components/Chip/ChipBase.tsx","../../src/components/Chip/next/Chip.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, KeyboardEvent } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { ChipBaseProps } from \"./Chip.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ChipBase: React.FC<ChipBaseProps> = ({\r\n id,\r\n message,\r\n visible,\r\n onClose,\r\n icon: Icon,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n position = \"topCenter\",\r\n usePortal = true,\r\n className = \"\",\r\n autoClose = true,\r\n duration = 3000,\r\n closeIcon: CloseIcon,\r\n IconButtonComponent,\r\n classMap,\r\n \"data-testid\": testId = \"chip\",\r\n}) => {\r\n const [closing, setClosing] = useState(false);\r\n\r\n const handleClose = useCallback(() => {\r\n setClosing(true);\r\n setTimeout(() => onClose?.(), 300);\r\n }, [onClose]);\r\n\r\n useEffect(() => {\r\n if (autoClose && visible) {\r\n const timer = setTimeout(() => handleClose(), duration);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [autoClose, duration, visible, handleClose]);\r\n\r\n if (!visible && !closing) return null;\r\n\r\n const chipClassName = combineClassNames(\r\n classMap.chip,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n classMap[position],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n closing && classMap.fadeout,\r\n usePortal && classMap.fixed,\r\n className\r\n );\r\n\r\n const portalEl =\r\n typeof window !== \"undefined\"\r\n ? document.getElementById(\"widget-portal\")\r\n : null;\r\n\r\n const chipElement = (\r\n <div\r\n key={id}\r\n className={chipClassName}\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId}\r\n >\r\n {Icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\" data-testid=\"icon\">\r\n <Icon className={classMap.inner_icon} />\r\n </span>\r\n )}\r\n <span className={classMap.message} id={`${testId}-message`}>\r\n {message}\r\n </span>\r\n\r\n <IconButtonComponent\r\n icon={CloseIcon}\r\n size={size}\r\n theme=\"clear\"\r\n ariaLabel=\"Close notification\"\r\n aria-controls={`${testId}-message`}\r\n className={classMap.close}\r\n onClick={handleClose}\r\n onKeyDown={(e: KeyboardEvent) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n handleClose();\r\n }\r\n }}\r\n role=\"button\"\r\n tabIndex={0}\r\n data-testid=\"chip-close\"\r\n />\r\n </div>\r\n );\r\n\r\n if (usePortal && portalEl) {\r\n return createPortal(chipElement, portalEl);\r\n }\r\n\r\n return chipElement;\r\n};\r\n\r\nexport default ChipBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ChipBase from \"../ChipBase\";\r\nimport { CloseIcon } from \"@/Icons\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Chip.module.scss\";\r\nimport { ChipProps } from \"../Chip.types\";\r\n\r\nconst Chip: React.FC<ChipProps> = (props) => (\r\n <ChipBase\r\n {...props}\r\n classMap={styles}\r\n IconButtonComponent={IconButton}\r\n closeIcon={CloseIcon}\r\n />\r\n);\r\n\r\nexport default Chip;\r\n"],"names":["message","CloseIcon"],"mappings":";;;;;;;;AAYA,MAAM,WAAoC,CAAC;AAAA,EACzC;AAAA,EACA,SAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,OAAO,eAAA;AAAA,EACP,QAAQ,gBAAA;AAAA,EACR,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAWC;AAAA,EACX;AAAA,EACA;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,QAAM,cAAc,YAAY,MAAM;AACpC,eAAW,IAAI;AACf,eAAW,MAAM,sCAAa,GAAG;AAAA,EACnC,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAU,MAAM;AACd,QAAI,aAAa,SAAS;AACxB,YAAM,QAAQ,WAAW,MAAM,YAAA,GAAe,QAAQ;AACtD,aAAO,MAAM,aAAa,KAAK;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,WAAW,UAAU,SAAS,WAAW,CAAC;AAE9C,MAAI,CAAC,WAAW,CAAC,QAAS,QAAO;AAEjC,QAAM,gBAAgB;AAAA,IACpB,SAAS;AAAA,IACT,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,IACd,SAAS,IAAI;AAAA,IACb,SAAS,QAAQ;AAAA,IACjB,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,IACnD,WAAW,SAAS;AAAA,IACpB,aAAa,SAAS;AAAA,IACtB;AAAA,EAAA;AAGF,QAAM,WACJ,OAAO,WAAW,cACd,SAAS,eAAe,eAAe,IACvC;AAEN,QAAM,cACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,aAAU;AAAA,MACV,eAAY;AAAA,MACZ,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,QACC,oBAAC,QAAA,EAAK,WAAW,SAAS,MAAM,eAAY,QAAO,eAAY,QAC7D,UAAA,oBAAC,MAAA,EAAK,WAAW,SAAS,YAAY,GACxC;AAAA,QAEF,oBAAC,UAAK,WAAW,SAAS,SAAS,IAAI,GAAG,MAAM,YAC7C,UAAAD,SAAA,CACH;AAAA,QAEA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAMC;AAAA,YACN;AAAA,YACA,OAAM;AAAA,YACN,WAAU;AAAA,YACV,iBAAe,GAAG,MAAM;AAAA,YACxB,WAAW,SAAS;AAAA,YACpB,SAAS;AAAA,YACT,WAAW,CAAC,MAAqB;AAC/B,kBAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,kBAAE,eAAA;AACF,4BAAA;AAAA,cACF;AAAA,YACF;AAAA,YACA,MAAK;AAAA,YACL,UAAU;AAAA,YACV,eAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MACd;AAAA,IAAA;AAAA,IAjCK;AAAA,EAAA;AAqCT,MAAI,aAAa,UAAU;AACzB,WAAO,aAAa,aAAa,QAAQ;AAAA,EAC3C;AAEA,SAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtGA,MAAM,OAA4B,CAAC,UACjC;AAAA,EAAC;AAAA,EAAA;AAAA,IACE,GAAG;AAAA,IACJ,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,WAAW;AAAA,EAAA;AACb;"}
|
package/dist/next/Chip.cjs.js
CHANGED
package/dist/next/Chip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircularProgress-CYo_VUG7.js","sources":["../../src/components/CircularProgress/CircularProgressBase.tsx","../../src/components/CircularProgress/next/CircularProgress.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\r\nimport type { CircularProgressProps } from \"./CircularProgress.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CircularProgressBaseProps extends CircularProgressProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst getColor = (percent: number): string => {\r\n if (percent <= 0) return \"var(--background-color)\";\r\n if (percent <= 40) return \"var(--error-color)\";\r\n if (percent <= 70) return \"var(--warning-color)\";\r\n return \"var(--success-color)\";\r\n};\r\n\r\nconst CircularProgressBase: React.FC<CircularProgressBaseProps> = ({\r\n rating,\r\n min = 0,\r\n max = 100,\r\n label = \"Progress\",\r\n shadow = getDefaultShadow(),\r\n showRaw = false,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"circular-progress\",\r\n}) => {\r\n const clamped = Math.min(max, Math.max(min, rating));\r\n const percent = ((clamped - min) / (max - min)) * 100;\r\n\r\n const [displayPercent, setDisplayPercent] = useState(0);\r\n const [angle, setAngle] = useState(0);\r\n\r\n useEffect(() => {\r\n const newAngle = Math.min(360, (percent / 100) * 360);\r\n setAngle(newAngle);\r\n setDisplayPercent(Math.round(percent));\r\n }, [percent]);\r\n\r\n const progressColor = getColor(percent);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.circular_progress,\r\n classMap[theme],\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n className\r\n ),\r\n [shadow, className, classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={combinedClassName}\r\n role=\"progressbar\"\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n aria-valuenow={clamped}\r\n aria-label={label}\r\n aria-describedby={`${testId}-desc`}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.circle_border}\r\n style={{\r\n background: `conic-gradient(\r\n ${progressColor} 0deg,\r\n ${progressColor} ${angle}deg,\r\n transparent ${angle}deg 360deg\r\n )`,\r\n }}\r\n >\r\n <div className={classMap.inner_circle}>\r\n <span\r\n id={`${testId}-desc`}\r\n className={classMap.rating_text}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {showRaw ? `${clamped}/${max}` : `${displayPercent}%`}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default CircularProgressBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CircularProgressBase from \"../CircularProgressBase\";\r\nimport styles from \"./CircularProgress.module.scss\";\r\nimport { CircularProgressProps } from \"../CircularProgress.types\";\r\n\r\nconst CircularProgress: React.FC<CircularProgressProps> = (props) => (\r\n <CircularProgressBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default CircularProgress;\r\n"],"names":[],"mappings":";;;;;AAcA,MAAM,WAAW,CAAC,YAA4B;
|
|
1
|
+
{"version":3,"file":"CircularProgress-CYo_VUG7.js","sources":["../../src/components/CircularProgress/CircularProgressBase.tsx","../../src/components/CircularProgress/next/CircularProgress.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\r\nimport type { CircularProgressProps } from \"./CircularProgress.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CircularProgressBaseProps extends CircularProgressProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst getColor = (percent: number): string => {\r\n if (percent <= 0) return \"var(--background-color)\";\r\n if (percent <= 40) return \"var(--error-color)\";\r\n if (percent <= 70) return \"var(--warning-color)\";\r\n return \"var(--success-color)\";\r\n};\r\n\r\nconst CircularProgressBase: React.FC<CircularProgressBaseProps> = ({\r\n rating,\r\n min = 0,\r\n max = 100,\r\n label = \"Progress\",\r\n shadow = getDefaultShadow(),\r\n showRaw = false,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"circular-progress\",\r\n}) => {\r\n const clamped = Math.min(max, Math.max(min, rating));\r\n const percent = ((clamped - min) / (max - min)) * 100;\r\n\r\n const [displayPercent, setDisplayPercent] = useState(0);\r\n const [angle, setAngle] = useState(0);\r\n\r\n useEffect(() => {\r\n const newAngle = Math.min(360, (percent / 100) * 360);\r\n setAngle(newAngle);\r\n setDisplayPercent(Math.round(percent));\r\n }, [percent]);\r\n\r\n const progressColor = getColor(percent);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.circular_progress,\r\n classMap[theme],\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n className\r\n ),\r\n [shadow, className, classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={combinedClassName}\r\n role=\"progressbar\"\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n aria-valuenow={clamped}\r\n aria-label={label}\r\n aria-describedby={`${testId}-desc`}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.circle_border}\r\n style={{\r\n background: `conic-gradient(\r\n ${progressColor} 0deg,\r\n ${progressColor} ${angle}deg,\r\n transparent ${angle}deg 360deg\r\n )`,\r\n }}\r\n >\r\n <div className={classMap.inner_circle}>\r\n <span\r\n id={`${testId}-desc`}\r\n className={classMap.rating_text}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {showRaw ? `${clamped}/${max}` : `${displayPercent}%`}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default CircularProgressBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CircularProgressBase from \"../CircularProgressBase\";\r\nimport styles from \"./CircularProgress.module.scss\";\r\nimport { CircularProgressProps } from \"../CircularProgress.types\";\r\n\r\nconst CircularProgress: React.FC<CircularProgressProps> = (props) => (\r\n <CircularProgressBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default CircularProgress;\r\n"],"names":[],"mappings":";;;;;AAcA,MAAM,WAAW,CAAC,YAA4B;AAC5C,MAAI,WAAW,EAAG,QAAO;AACzB,MAAI,WAAW,GAAI,QAAO;AAC1B,MAAI,WAAW,GAAI,QAAO;AAC1B,SAAO;AACT;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS,iBAAA;AAAA,EACT,UAAU;AAAA,EACV,OAAO,eAAA;AAAA,EACP,QAAQ,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,UAAU,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC;AACnD,QAAM,WAAY,UAAU,QAAQ,MAAM,OAAQ;AAElD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,CAAC;AACtD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,CAAC;AAEpC,YAAU,MAAM;AACd,UAAM,WAAW,KAAK,IAAI,KAAM,UAAU,MAAO,GAAG;AACpD,aAAS,QAAQ;AACjB,sBAAkB,KAAK,MAAM,OAAO,CAAC;AAAA,EACvC,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,gBAAgB,SAAS,OAAO;AAEtC,QAAM,oBAAoB;AAAA,IACxB,MACE;AAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD;AAAA,IAAA;AAAA,IAEJ,CAAC,QAAQ,WAAW,QAAQ;AAAA,EAAA;AAG9B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,cAAY;AAAA,MACZ,oBAAkB,GAAG,MAAM;AAAA,MAC3B,eAAa;AAAA,MAEb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,OAAO;AAAA,YACL,YAAY;AAAA,cACR,aAAa;AAAA,cACb,aAAa,IAAI,KAAK;AAAA,0BACV,KAAK;AAAA;AAAA,UAAA;AAAA,UAIvB,UAAA,oBAAC,OAAA,EAAI,WAAW,SAAS,cACvB,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI,GAAG,MAAM;AAAA,cACb,WAAW,SAAS;AAAA,cACpB,aAAU;AAAA,cACV,eAAY;AAAA,cAEX,oBAAU,GAAG,OAAO,IAAI,GAAG,KAAK,GAAG,cAAc;AAAA,YAAA;AAAA,UAAA,EACpD,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFA,MAAM,mBAAoD,CAAC,UACzD,oBAAC,wBAAsB,GAAG,OAAO,UAAU,OAAA,CAAQ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircularProgress-DXC_JBTG.cjs","sources":["../../src/components/CircularProgress/CircularProgressBase.tsx","../../src/components/CircularProgress/next/CircularProgress.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\r\nimport type { CircularProgressProps } from \"./CircularProgress.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CircularProgressBaseProps extends CircularProgressProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst getColor = (percent: number): string => {\r\n if (percent <= 0) return \"var(--background-color)\";\r\n if (percent <= 40) return \"var(--error-color)\";\r\n if (percent <= 70) return \"var(--warning-color)\";\r\n return \"var(--success-color)\";\r\n};\r\n\r\nconst CircularProgressBase: React.FC<CircularProgressBaseProps> = ({\r\n rating,\r\n min = 0,\r\n max = 100,\r\n label = \"Progress\",\r\n shadow = getDefaultShadow(),\r\n showRaw = false,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"circular-progress\",\r\n}) => {\r\n const clamped = Math.min(max, Math.max(min, rating));\r\n const percent = ((clamped - min) / (max - min)) * 100;\r\n\r\n const [displayPercent, setDisplayPercent] = useState(0);\r\n const [angle, setAngle] = useState(0);\r\n\r\n useEffect(() => {\r\n const newAngle = Math.min(360, (percent / 100) * 360);\r\n setAngle(newAngle);\r\n setDisplayPercent(Math.round(percent));\r\n }, [percent]);\r\n\r\n const progressColor = getColor(percent);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.circular_progress,\r\n classMap[theme],\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n className\r\n ),\r\n [shadow, className, classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={combinedClassName}\r\n role=\"progressbar\"\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n aria-valuenow={clamped}\r\n aria-label={label}\r\n aria-describedby={`${testId}-desc`}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.circle_border}\r\n style={{\r\n background: `conic-gradient(\r\n ${progressColor} 0deg,\r\n ${progressColor} ${angle}deg,\r\n transparent ${angle}deg 360deg\r\n )`,\r\n }}\r\n >\r\n <div className={classMap.inner_circle}>\r\n <span\r\n id={`${testId}-desc`}\r\n className={classMap.rating_text}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {showRaw ? `${clamped}/${max}` : `${displayPercent}%`}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default CircularProgressBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CircularProgressBase from \"../CircularProgressBase\";\r\nimport styles from \"./CircularProgress.module.scss\";\r\nimport { CircularProgressProps } from \"../CircularProgress.types\";\r\n\r\nconst CircularProgress: React.FC<CircularProgressProps> = (props) => (\r\n <CircularProgressBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default CircularProgress;\r\n"],"names":["getDefaultShadow","getDefaultSize","getDefaultTheme","useState","useEffect","useMemo","combineClassNames","capitalize","jsx"],"mappings":";;;;;;AAcA,MAAM,WAAW,CAAC,YAA4B;
|
|
1
|
+
{"version":3,"file":"CircularProgress-DXC_JBTG.cjs","sources":["../../src/components/CircularProgress/CircularProgressBase.tsx","../../src/components/CircularProgress/next/CircularProgress.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\r\nimport type { CircularProgressProps } from \"./CircularProgress.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CircularProgressBaseProps extends CircularProgressProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst getColor = (percent: number): string => {\r\n if (percent <= 0) return \"var(--background-color)\";\r\n if (percent <= 40) return \"var(--error-color)\";\r\n if (percent <= 70) return \"var(--warning-color)\";\r\n return \"var(--success-color)\";\r\n};\r\n\r\nconst CircularProgressBase: React.FC<CircularProgressBaseProps> = ({\r\n rating,\r\n min = 0,\r\n max = 100,\r\n label = \"Progress\",\r\n shadow = getDefaultShadow(),\r\n showRaw = false,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"circular-progress\",\r\n}) => {\r\n const clamped = Math.min(max, Math.max(min, rating));\r\n const percent = ((clamped - min) / (max - min)) * 100;\r\n\r\n const [displayPercent, setDisplayPercent] = useState(0);\r\n const [angle, setAngle] = useState(0);\r\n\r\n useEffect(() => {\r\n const newAngle = Math.min(360, (percent / 100) * 360);\r\n setAngle(newAngle);\r\n setDisplayPercent(Math.round(percent));\r\n }, [percent]);\r\n\r\n const progressColor = getColor(percent);\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.circular_progress,\r\n classMap[theme],\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n className\r\n ),\r\n [shadow, className, classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={combinedClassName}\r\n role=\"progressbar\"\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n aria-valuenow={clamped}\r\n aria-label={label}\r\n aria-describedby={`${testId}-desc`}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={classMap.circle_border}\r\n style={{\r\n background: `conic-gradient(\r\n ${progressColor} 0deg,\r\n ${progressColor} ${angle}deg,\r\n transparent ${angle}deg 360deg\r\n )`,\r\n }}\r\n >\r\n <div className={classMap.inner_circle}>\r\n <span\r\n id={`${testId}-desc`}\r\n className={classMap.rating_text}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n >\r\n {showRaw ? `${clamped}/${max}` : `${displayPercent}%`}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default CircularProgressBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CircularProgressBase from \"../CircularProgressBase\";\r\nimport styles from \"./CircularProgress.module.scss\";\r\nimport { CircularProgressProps } from \"../CircularProgress.types\";\r\n\r\nconst CircularProgress: React.FC<CircularProgressProps> = (props) => (\r\n <CircularProgressBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default CircularProgress;\r\n"],"names":["getDefaultShadow","getDefaultSize","getDefaultTheme","useState","useEffect","useMemo","combineClassNames","capitalize","jsx"],"mappings":";;;;;;AAcA,MAAM,WAAW,CAAC,YAA4B;AAC5C,MAAI,WAAW,EAAG,QAAO;AACzB,MAAI,WAAW,GAAI,QAAO;AAC1B,MAAI,WAAW,GAAI,QAAO;AAC1B,SAAO;AACT;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAASA,kBAAAA,iBAAA;AAAA,EACT,UAAU;AAAA,EACV,OAAOC,kBAAAA,eAAA;AAAA,EACP,QAAQC,kBAAAA,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,UAAU,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC;AACnD,QAAM,WAAY,UAAU,QAAQ,MAAM,OAAQ;AAElD,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,MAAAA,SAAS,CAAC;AACtD,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,CAAC;AAEpCC,QAAAA,UAAU,MAAM;AACd,UAAM,WAAW,KAAK,IAAI,KAAM,UAAU,MAAO,GAAG;AACpD,aAAS,QAAQ;AACjB,sBAAkB,KAAK,MAAM,OAAO,CAAC;AAAA,EACvC,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,gBAAgB,SAAS,OAAO;AAEtC,QAAM,oBAAoBC,MAAAA;AAAAA,IACxB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD;AAAA,IAAA;AAAA,IAEJ,CAAC,QAAQ,WAAW,QAAQ;AAAA,EAAA;AAG9B,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,cAAY;AAAA,MACZ,oBAAkB,GAAG,MAAM;AAAA,MAC3B,eAAa;AAAA,MAEb,UAAAA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,OAAO;AAAA,YACL,YAAY;AAAA,cACR,aAAa;AAAA,cACb,aAAa,IAAI,KAAK;AAAA,0BACV,KAAK;AAAA;AAAA,UAAA;AAAA,UAIvB,UAAAA,2BAAAA,IAAC,OAAA,EAAI,WAAW,SAAS,cACvB,UAAAA,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI,GAAG,MAAM;AAAA,cACb,WAAW,SAAS;AAAA,cACpB,aAAU;AAAA,cACV,eAAY;AAAA,cAEX,oBAAU,GAAG,OAAO,IAAI,GAAG,KAAK,GAAG,cAAc;AAAA,YAAA;AAAA,UAAA,EACpD,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFA,MAAM,mBAAoD,CAAC,UACzDA,+BAAC,wBAAsB,GAAG,OAAO,UAAU,OAAA,CAAQ;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloseIcon-7hy4qJ9o.cjs","sources":["../../src/Icons/CloseIcon.tsx"],"sourcesContent":["const CloseIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\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 {...props}\r\n >\r\n <path\r\n d=\"M6.75827 17.2426L12.0009 12M17.2435 6.75736L12.0009 12M12.0009 12L6.75827 6.75736M12.0009 12L17.2435 17.2426\"\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 CloseIcon;\r\n"],"names":["jsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"CloseIcon-7hy4qJ9o.cjs","sources":["../../src/Icons/CloseIcon.tsx"],"sourcesContent":["const CloseIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\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 {...props}\r\n >\r\n <path\r\n d=\"M6.75827 17.2426L12.0009 12M17.2435 6.75736L12.0009 12M12.0009 12L6.75827 6.75736M12.0009 12L17.2435 17.2426\"\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 CloseIcon;\r\n"],"names":["jsx"],"mappings":";;AAAA,MAAM,YAAqD,CAAC,UAC1DA,2BAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloseIcon-C3eQm4EK.js","sources":["../../src/Icons/CloseIcon.tsx"],"sourcesContent":["const CloseIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\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 {...props}\r\n >\r\n <path\r\n d=\"M6.75827 17.2426L12.0009 12M17.2435 6.75736L12.0009 12M12.0009 12L6.75827 6.75736M12.0009 12L17.2435 17.2426\"\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 CloseIcon;\r\n"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"CloseIcon-C3eQm4EK.js","sources":["../../src/Icons/CloseIcon.tsx"],"sourcesContent":["const CloseIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\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 {...props}\r\n >\r\n <path\r\n d=\"M6.75827 17.2426L12.0009 12M17.2435 6.75736L12.0009 12M12.0009 12L6.75827 6.75736M12.0009 12L17.2435 17.2426\"\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 CloseIcon;\r\n"],"names":[],"mappings":";AAAA,MAAM,YAAqD,CAAC,UAC1D;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker-C-klUf3G.cjs","sources":["../../src/components/ColorPicker/ColorPickerBase.tsx","../../src/components/ColorPicker/next/ColorPicker.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { ColorPickerProps } from \"./ColorPicker.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface ColorPickerBaseProps extends ColorPickerProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ColorPickerBase: React.FC<ColorPickerBaseProps> = ({\r\n label = \"Choose a color\",\r\n colors,\r\n selected,\r\n onChange,\r\n name = \"color-picker\",\r\n disabled = false,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"round\",\r\n allowCustom = false,\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"color-picker\",\r\n}) => {\r\n const legendId = `${testId}-legend`;\r\n\r\n const labelClass = useMemo(\r\n () => combineClassNames(classMap.swatch, classMap[size], classMap[shape]),\r\n [classMap, size, shape]\r\n );\r\n\r\n return (\r\n <fieldset\r\n className={combineClassNames(classMap.color_picker, className)}\r\n disabled={disabled}\r\n aria-disabled={disabled}\r\n aria-labelledby={legendId}\r\n role=\"radiogroup\"\r\n data-testid={testId}\r\n >\r\n <legend id={legendId} className={classMap.legend}>\r\n {label}\r\n </legend>\r\n\r\n <div className={classMap.color_picker_grid}>\r\n {colors.map((color, i) => (\r\n <label\r\n key={color.value}\r\n className={combineClassNames(labelClass)}\r\n htmlFor={`${testId}-color-${i}`}\r\n title={color.label}\r\n data-testid={`${testId}-option-${color.value}`}\r\n >\r\n <input\r\n type=\"radio\"\r\n name={name}\r\n id={`${testId}-color-${i}`}\r\n value={color.value}\r\n checked={selected === color.value}\r\n onChange={() => onChange(color.value)}\r\n className={classMap.radio_input}\r\n />\r\n <span className=\"sr_only\">{color.label}</span>\r\n <span\r\n className={combineClassNames(\r\n classMap.preview,\r\n classMap[shape],\r\n selected === color.value && classMap.selected,\r\n shadow && classMap[`shadow${capitalize(shadow)}`]\r\n )}\r\n style={{ backgroundColor: color.value }}\r\n aria-hidden=\"true\"\r\n />\r\n </label>\r\n ))}\r\n </div>\r\n\r\n {allowCustom && (\r\n <input\r\n type=\"color\"\r\n className={classMap.custom_input}\r\n value={selected}\r\n onChange={(e) => onChange(e.target.value)}\r\n aria-label=\"Custom color picker\"\r\n data-testid={`${testId}-custom-input`}\r\n />\r\n )}\r\n </fieldset>\r\n );\r\n};\r\n\r\nexport default ColorPickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ColorPickerBase from \"../ColorPickerBase\";\r\nimport styles from \"./ColorPicker.module.scss\";\r\nimport { ColorPickerProps } from \"../ColorPicker.types\";\r\n\r\nconst ColorPicker: React.FC<ColorPickerProps> = (props) => (\r\n <ColorPickerBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default ColorPicker;\r\n"],"names":["selected","getDefaultSize","getDefaultShadow","useMemo","combineClassNames","jsxs","jsx","capitalize"],"mappings":";;;;;;AAaA,MAAM,kBAAkD,CAAC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,UAAAA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAOC,kBAAAA,
|
|
1
|
+
{"version":3,"file":"ColorPicker-C-klUf3G.cjs","sources":["../../src/components/ColorPicker/ColorPickerBase.tsx","../../src/components/ColorPicker/next/ColorPicker.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { ColorPickerProps } from \"./ColorPicker.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface ColorPickerBaseProps extends ColorPickerProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ColorPickerBase: React.FC<ColorPickerBaseProps> = ({\r\n label = \"Choose a color\",\r\n colors,\r\n selected,\r\n onChange,\r\n name = \"color-picker\",\r\n disabled = false,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"round\",\r\n allowCustom = false,\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"color-picker\",\r\n}) => {\r\n const legendId = `${testId}-legend`;\r\n\r\n const labelClass = useMemo(\r\n () => combineClassNames(classMap.swatch, classMap[size], classMap[shape]),\r\n [classMap, size, shape]\r\n );\r\n\r\n return (\r\n <fieldset\r\n className={combineClassNames(classMap.color_picker, className)}\r\n disabled={disabled}\r\n aria-disabled={disabled}\r\n aria-labelledby={legendId}\r\n role=\"radiogroup\"\r\n data-testid={testId}\r\n >\r\n <legend id={legendId} className={classMap.legend}>\r\n {label}\r\n </legend>\r\n\r\n <div className={classMap.color_picker_grid}>\r\n {colors.map((color, i) => (\r\n <label\r\n key={color.value}\r\n className={combineClassNames(labelClass)}\r\n htmlFor={`${testId}-color-${i}`}\r\n title={color.label}\r\n data-testid={`${testId}-option-${color.value}`}\r\n >\r\n <input\r\n type=\"radio\"\r\n name={name}\r\n id={`${testId}-color-${i}`}\r\n value={color.value}\r\n checked={selected === color.value}\r\n onChange={() => onChange(color.value)}\r\n className={classMap.radio_input}\r\n />\r\n <span className=\"sr_only\">{color.label}</span>\r\n <span\r\n className={combineClassNames(\r\n classMap.preview,\r\n classMap[shape],\r\n selected === color.value && classMap.selected,\r\n shadow && classMap[`shadow${capitalize(shadow)}`]\r\n )}\r\n style={{ backgroundColor: color.value }}\r\n aria-hidden=\"true\"\r\n />\r\n </label>\r\n ))}\r\n </div>\r\n\r\n {allowCustom && (\r\n <input\r\n type=\"color\"\r\n className={classMap.custom_input}\r\n value={selected}\r\n onChange={(e) => onChange(e.target.value)}\r\n aria-label=\"Custom color picker\"\r\n data-testid={`${testId}-custom-input`}\r\n />\r\n )}\r\n </fieldset>\r\n );\r\n};\r\n\r\nexport default ColorPickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ColorPickerBase from \"../ColorPickerBase\";\r\nimport styles from \"./ColorPicker.module.scss\";\r\nimport { ColorPickerProps } from \"../ColorPicker.types\";\r\n\r\nconst ColorPicker: React.FC<ColorPickerProps> = (props) => (\r\n <ColorPickerBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default ColorPicker;\r\n"],"names":["selected","getDefaultSize","getDefaultShadow","useMemo","combineClassNames","jsxs","jsx","capitalize"],"mappings":";;;;;;AAaA,MAAM,kBAAkD,CAAC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,UAAAA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAOC,kBAAAA,eAAA;AAAA,EACP,SAASC,kBAAAA,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,WAAW,GAAG,MAAM;AAE1B,QAAM,aAAaC,MAAAA;AAAAA,IACjB,MAAMC,WAAAA,kBAAkB,SAAS,QAAQ,SAAS,IAAI,GAAG,SAAS,KAAK,CAAC;AAAA,IACxE,CAAC,UAAU,MAAM,KAAK;AAAA,EAAA;AAGxB,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWD,WAAAA,kBAAkB,SAAS,cAAc,SAAS;AAAA,MAC7D;AAAA,MACA,iBAAe;AAAA,MACf,mBAAiB;AAAA,MACjB,MAAK;AAAA,MACL,eAAa;AAAA,MAEb,UAAA;AAAA,QAAAE,+BAAC,YAAO,IAAI,UAAU,WAAW,SAAS,QACvC,UAAA,OACH;AAAA,QAEAA,2BAAAA,IAAC,SAAI,WAAW,SAAS,mBACtB,UAAA,OAAO,IAAI,CAAC,OAAO,MAClBD,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAWD,WAAAA,kBAAkB,UAAU;AAAA,YACvC,SAAS,GAAG,MAAM,UAAU,CAAC;AAAA,YAC7B,OAAO,MAAM;AAAA,YACb,eAAa,GAAG,MAAM,WAAW,MAAM,KAAK;AAAA,YAE5C,UAAA;AAAA,cAAAE,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL;AAAA,kBACA,IAAI,GAAG,MAAM,UAAU,CAAC;AAAA,kBACxB,OAAO,MAAM;AAAA,kBACb,SAASN,cAAa,MAAM;AAAA,kBAC5B,UAAU,MAAM,SAAS,MAAM,KAAK;AAAA,kBACpC,WAAW,SAAS;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEtBM,2BAAAA,IAAC,QAAA,EAAK,WAAU,WAAW,gBAAM,OAAM;AAAA,cACvCA,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWF,WAAAA;AAAAA,oBACT,SAAS;AAAA,oBACT,SAAS,KAAK;AAAA,oBACdJ,cAAa,MAAM,SAAS,SAAS;AAAA,oBACrC,UAAU,SAAS,SAASO,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,kBAAA;AAAA,kBAElD,OAAO,EAAE,iBAAiB,MAAM,MAAA;AAAA,kBAChC,eAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd;AAAA,UAAA;AAAA,UAzBK,MAAM;AAAA,QAAA,CA2Bd,GACH;AAAA,QAEC,eACCD,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAW,SAAS;AAAA,YACpB,OAAON;AAAA,YACP,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,YACxC,cAAW;AAAA,YACX,eAAa,GAAG,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACxB;AAAA,IAAA;AAAA,EAAA;AAIR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFA,MAAM,cAA0C,CAAC,UAC/CM,+BAAC,mBAAiB,GAAG,OAAO,UAAU,OAAA,CAAQ;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker-Ub3qNdeF.js","sources":["../../src/components/ColorPicker/ColorPickerBase.tsx","../../src/components/ColorPicker/next/ColorPicker.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { ColorPickerProps } from \"./ColorPicker.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface ColorPickerBaseProps extends ColorPickerProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ColorPickerBase: React.FC<ColorPickerBaseProps> = ({\r\n label = \"Choose a color\",\r\n colors,\r\n selected,\r\n onChange,\r\n name = \"color-picker\",\r\n disabled = false,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"round\",\r\n allowCustom = false,\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"color-picker\",\r\n}) => {\r\n const legendId = `${testId}-legend`;\r\n\r\n const labelClass = useMemo(\r\n () => combineClassNames(classMap.swatch, classMap[size], classMap[shape]),\r\n [classMap, size, shape]\r\n );\r\n\r\n return (\r\n <fieldset\r\n className={combineClassNames(classMap.color_picker, className)}\r\n disabled={disabled}\r\n aria-disabled={disabled}\r\n aria-labelledby={legendId}\r\n role=\"radiogroup\"\r\n data-testid={testId}\r\n >\r\n <legend id={legendId} className={classMap.legend}>\r\n {label}\r\n </legend>\r\n\r\n <div className={classMap.color_picker_grid}>\r\n {colors.map((color, i) => (\r\n <label\r\n key={color.value}\r\n className={combineClassNames(labelClass)}\r\n htmlFor={`${testId}-color-${i}`}\r\n title={color.label}\r\n data-testid={`${testId}-option-${color.value}`}\r\n >\r\n <input\r\n type=\"radio\"\r\n name={name}\r\n id={`${testId}-color-${i}`}\r\n value={color.value}\r\n checked={selected === color.value}\r\n onChange={() => onChange(color.value)}\r\n className={classMap.radio_input}\r\n />\r\n <span className=\"sr_only\">{color.label}</span>\r\n <span\r\n className={combineClassNames(\r\n classMap.preview,\r\n classMap[shape],\r\n selected === color.value && classMap.selected,\r\n shadow && classMap[`shadow${capitalize(shadow)}`]\r\n )}\r\n style={{ backgroundColor: color.value }}\r\n aria-hidden=\"true\"\r\n />\r\n </label>\r\n ))}\r\n </div>\r\n\r\n {allowCustom && (\r\n <input\r\n type=\"color\"\r\n className={classMap.custom_input}\r\n value={selected}\r\n onChange={(e) => onChange(e.target.value)}\r\n aria-label=\"Custom color picker\"\r\n data-testid={`${testId}-custom-input`}\r\n />\r\n )}\r\n </fieldset>\r\n );\r\n};\r\n\r\nexport default ColorPickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ColorPickerBase from \"../ColorPickerBase\";\r\nimport styles from \"./ColorPicker.module.scss\";\r\nimport { ColorPickerProps } from \"../ColorPicker.types\";\r\n\r\nconst ColorPicker: React.FC<ColorPickerProps> = (props) => (\r\n <ColorPickerBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default ColorPicker;\r\n"],"names":["selected"],"mappings":";;;;;AAaA,MAAM,kBAAkD,CAAC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,UAAAA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO,
|
|
1
|
+
{"version":3,"file":"ColorPicker-Ub3qNdeF.js","sources":["../../src/components/ColorPicker/ColorPickerBase.tsx","../../src/components/ColorPicker/next/ColorPicker.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { ColorPickerProps } from \"./ColorPicker.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface ColorPickerBaseProps extends ColorPickerProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ColorPickerBase: React.FC<ColorPickerBaseProps> = ({\r\n label = \"Choose a color\",\r\n colors,\r\n selected,\r\n onChange,\r\n name = \"color-picker\",\r\n disabled = false,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"round\",\r\n allowCustom = false,\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"color-picker\",\r\n}) => {\r\n const legendId = `${testId}-legend`;\r\n\r\n const labelClass = useMemo(\r\n () => combineClassNames(classMap.swatch, classMap[size], classMap[shape]),\r\n [classMap, size, shape]\r\n );\r\n\r\n return (\r\n <fieldset\r\n className={combineClassNames(classMap.color_picker, className)}\r\n disabled={disabled}\r\n aria-disabled={disabled}\r\n aria-labelledby={legendId}\r\n role=\"radiogroup\"\r\n data-testid={testId}\r\n >\r\n <legend id={legendId} className={classMap.legend}>\r\n {label}\r\n </legend>\r\n\r\n <div className={classMap.color_picker_grid}>\r\n {colors.map((color, i) => (\r\n <label\r\n key={color.value}\r\n className={combineClassNames(labelClass)}\r\n htmlFor={`${testId}-color-${i}`}\r\n title={color.label}\r\n data-testid={`${testId}-option-${color.value}`}\r\n >\r\n <input\r\n type=\"radio\"\r\n name={name}\r\n id={`${testId}-color-${i}`}\r\n value={color.value}\r\n checked={selected === color.value}\r\n onChange={() => onChange(color.value)}\r\n className={classMap.radio_input}\r\n />\r\n <span className=\"sr_only\">{color.label}</span>\r\n <span\r\n className={combineClassNames(\r\n classMap.preview,\r\n classMap[shape],\r\n selected === color.value && classMap.selected,\r\n shadow && classMap[`shadow${capitalize(shadow)}`]\r\n )}\r\n style={{ backgroundColor: color.value }}\r\n aria-hidden=\"true\"\r\n />\r\n </label>\r\n ))}\r\n </div>\r\n\r\n {allowCustom && (\r\n <input\r\n type=\"color\"\r\n className={classMap.custom_input}\r\n value={selected}\r\n onChange={(e) => onChange(e.target.value)}\r\n aria-label=\"Custom color picker\"\r\n data-testid={`${testId}-custom-input`}\r\n />\r\n )}\r\n </fieldset>\r\n );\r\n};\r\n\r\nexport default ColorPickerBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ColorPickerBase from \"../ColorPickerBase\";\r\nimport styles from \"./ColorPicker.module.scss\";\r\nimport { ColorPickerProps } from \"../ColorPicker.types\";\r\n\r\nconst ColorPicker: React.FC<ColorPickerProps> = (props) => (\r\n <ColorPickerBase {...props} classMap={styles} />\r\n);\r\n\r\nexport default ColorPicker;\r\n"],"names":["selected"],"mappings":";;;;;AAaA,MAAM,kBAAkD,CAAC;AAAA,EACvD,QAAQ;AAAA,EACR;AAAA,EACA,UAAAA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO,eAAA;AAAA,EACP,SAAS,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY;AAAA,EACZ;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,WAAW,GAAG,MAAM;AAE1B,QAAM,aAAa;AAAA,IACjB,MAAM,kBAAkB,SAAS,QAAQ,SAAS,IAAI,GAAG,SAAS,KAAK,CAAC;AAAA,IACxE,CAAC,UAAU,MAAM,KAAK;AAAA,EAAA;AAGxB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,kBAAkB,SAAS,cAAc,SAAS;AAAA,MAC7D;AAAA,MACA,iBAAe;AAAA,MACf,mBAAiB;AAAA,MACjB,MAAK;AAAA,MACL,eAAa;AAAA,MAEb,UAAA;AAAA,QAAA,oBAAC,YAAO,IAAI,UAAU,WAAW,SAAS,QACvC,UAAA,OACH;AAAA,QAEA,oBAAC,SAAI,WAAW,SAAS,mBACtB,UAAA,OAAO,IAAI,CAAC,OAAO,MAClB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAW,kBAAkB,UAAU;AAAA,YACvC,SAAS,GAAG,MAAM,UAAU,CAAC;AAAA,YAC7B,OAAO,MAAM;AAAA,YACb,eAAa,GAAG,MAAM,WAAW,MAAM,KAAK;AAAA,YAE5C,UAAA;AAAA,cAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL;AAAA,kBACA,IAAI,GAAG,MAAM,UAAU,CAAC;AAAA,kBACxB,OAAO,MAAM;AAAA,kBACb,SAASA,cAAa,MAAM;AAAA,kBAC5B,UAAU,MAAM,SAAS,MAAM,KAAK;AAAA,kBACpC,WAAW,SAAS;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEtB,oBAAC,QAAA,EAAK,WAAU,WAAW,gBAAM,OAAM;AAAA,cACvC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,oBACT,SAAS;AAAA,oBACT,SAAS,KAAK;AAAA,oBACdA,cAAa,MAAM,SAAS,SAAS;AAAA,oBACrC,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,kBAAA;AAAA,kBAElD,OAAO,EAAE,iBAAiB,MAAM,MAAA;AAAA,kBAChC,eAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd;AAAA,UAAA;AAAA,UAzBK,MAAM;AAAA,QAAA,CA2Bd,GACH;AAAA,QAEC,eACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAW,SAAS;AAAA,YACpB,OAAOA;AAAA,YACP,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,YACxC,cAAW;AAAA,YACX,eAAa,GAAG,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACxB;AAAA,IAAA;AAAA,EAAA;AAIR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFA,MAAM,cAA0C,CAAC,UAC/C,oBAAC,mBAAiB,GAAG,OAAO,UAAU,OAAA,CAAQ;"}
|
|
@@ -4,7 +4,7 @@ import ReactDOM from "react-dom";
|
|
|
4
4
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
6
|
import { a as getDefaultRounding, d as getDefaultTheme, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
|
|
7
|
-
import { T as TextInput } from "./TextInput-
|
|
7
|
+
import { T as TextInput } from "./TextInput-DkNxrV4X.js";
|
|
8
8
|
const CommandPaletteBase = ({
|
|
9
9
|
commands,
|
|
10
10
|
placeholder = "Search...",
|
|
@@ -273,4 +273,4 @@ const CommandPalette = (props) => /* @__PURE__ */ jsx(
|
|
|
273
273
|
export {
|
|
274
274
|
CommandPalette as C
|
|
275
275
|
};
|
|
276
|
-
//# sourceMappingURL=CommandPalette-
|
|
276
|
+
//# sourceMappingURL=CommandPalette-CEZwvLuu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandPalette-Dm_njW12.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n if (!query.trim()) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(query)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(0);\r\n setMounted(false);\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\" && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-controls=\"command-list\"\r\n aria-activedescendant={\r\n filtered.length > 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id=\"command-list\"\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n >\r\n {isLoading ? (\r\n <div className={combineClassNames(classMap.item, classMap.empty)}>\r\n Searching...\r\n </div>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={cmd.label}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\n\r\nexport default CommandPalette;\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandPalette-CEZwvLuu.js","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n if (!query.trim()) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(query)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(0);\r\n setMounted(false);\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\" && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-controls=\"command-list\"\r\n aria-activedescendant={\r\n filtered.length > 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id=\"command-list\"\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n >\r\n {isLoading ? (\r\n <div className={combineClassNames(classMap.item, classMap.empty)}>\r\n Searching...\r\n </div>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={cmd.label}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\n\r\nexport default CommandPalette;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const ReactDOM = require("react-dom");
|
|
|
5
5
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
6
6
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
7
7
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
8
|
-
const TextInput = require("./TextInput-
|
|
8
|
+
const TextInput = require("./TextInput-iQT-2lPj.cjs");
|
|
9
9
|
const CommandPaletteBase = ({
|
|
10
10
|
commands,
|
|
11
11
|
placeholder = "Search...",
|
|
@@ -272,4 +272,4 @@ const CommandPalette = (props) => /* @__PURE__ */ require$$2.jsx(
|
|
|
272
272
|
}
|
|
273
273
|
);
|
|
274
274
|
exports.CommandPalette = CommandPalette;
|
|
275
|
-
//# sourceMappingURL=CommandPalette-
|
|
275
|
+
//# sourceMappingURL=CommandPalette-Dp2pT5ot.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandPalette-BAxyNfRu.cjs","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n if (!query.trim()) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(query)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(0);\r\n setMounted(false);\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\" && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-controls=\"command-list\"\r\n aria-activedescendant={\r\n filtered.length > 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id=\"command-list\"\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n >\r\n {isLoading ? (\r\n <div className={combineClassNames(classMap.item, classMap.empty)}>\r\n Searching...\r\n </div>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={cmd.label}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\n\r\nexport default CommandPalette;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useState","useRef","useEffect","useCallback","jsx","jsxs","combineClassNames","capitalize","TextInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandPalette-Dp2pT5ot.cjs","sources":["../../src/components/CommandPalette/CommandPaletteBase.tsx","../../src/components/CommandPalette/next/CommandPalette.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useRef,\r\n useState,\r\n useCallback,\r\n KeyboardEvent,\r\n} from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport type { CommandPaletteProps } from \"./CommandPalette.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface CommandPaletteBaseProps extends CommandPaletteProps {\r\n classMap: Record<string, string>;\r\n TextInputComponent: React.ElementType;\r\n}\r\n\r\nconst CommandPaletteBase: React.FC<CommandPaletteBaseProps> = ({\r\n commands,\r\n placeholder = \"Search...\",\r\n isOpen,\r\n onClose,\r\n asyncSearch,\r\n debounceMs = 300,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n classMap,\r\n TextInputComponent,\r\n \"data-testid\": testId = \"command-palette\",\r\n className,\r\n}) => {\r\n const [query, setQuery] = useState(\"\");\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const [mounted, setMounted] = useState(false);\r\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null);\r\n const [asyncResults, setAsyncResults] = useState<typeof commands>([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n const filtered = asyncSearch\r\n ? asyncResults\r\n : commands.filter((cmd) =>\r\n cmd.label.toLowerCase().includes(query.toLowerCase())\r\n );\r\n\r\n useEffect(() => {\r\n if (!asyncSearch) return;\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n if (!query.trim()) {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n debounceRef.current = setTimeout(() => {\r\n asyncSearch(query)\r\n .then((results) => {\r\n setAsyncResults(results);\r\n setIsLoading(false);\r\n })\r\n .catch(() => {\r\n setAsyncResults([]);\r\n setIsLoading(false);\r\n });\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [query, asyncSearch, debounceMs]);\r\n\r\n useEffect(() => {\r\n if (!isOpen) return;\r\n\r\n setMounted(true);\r\n const portal =\r\n document.getElementById(\"widget-portal\") ||\r\n (() => {\r\n const el = document.createElement(\"div\");\r\n el.id = \"widget-portal\";\r\n document.body.appendChild(el);\r\n return el;\r\n })();\r\n\r\n setPortalElement(portal);\r\n document.body.classList.add(\"noScroll\");\r\n\r\n return () => {\r\n document.body.classList.remove(\"noScroll\");\r\n setQuery(\"\");\r\n setActiveIndex(0);\r\n setMounted(false);\r\n };\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (isOpen && inputRef.current) inputRef.current.focus();\r\n }, [isOpen]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"ArrowDown\") {\r\n setActiveIndex((prev) => (prev + 1) % filtered.length);\r\n } else if (e.key === \"ArrowUp\") {\r\n setActiveIndex(\r\n (prev) => (prev - 1 + filtered.length) % filtered.length\r\n );\r\n } else if (e.key === \"Enter\" && filtered[activeIndex]) {\r\n filtered[activeIndex].action();\r\n onClose();\r\n } else if (e.key === \"Escape\") {\r\n onClose();\r\n }\r\n },\r\n [filtered, activeIndex, onClose]\r\n );\r\n\r\n if (!isOpen || !mounted || !portalElement) return null;\r\n\r\n return ReactDOM.createPortal(\r\n <div\r\n className={classMap.overlay}\r\n onClick={onClose}\r\n data-testid={`${testId}-overlay`}\r\n >\r\n <div\r\n className={combineClassNames(\r\n classMap.command_palette,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n )}\r\n onClick={(e) => e.stopPropagation()}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label=\"Command palette\"\r\n data-testid={testId}\r\n >\r\n <TextInputComponent\r\n ref={inputRef}\r\n type=\"text\"\r\n value={query}\r\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\r\n setQuery(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n theme={theme}\r\n state={state}\r\n shadow={\"none\"}\r\n rounding={rounding}\r\n className={classMap.input}\r\n data-testid={`${testId}-input`}\r\n role=\"combobox\"\r\n aria-haspopup=\"listbox\"\r\n aria-expanded=\"true\"\r\n aria-controls=\"command-list\"\r\n aria-activedescendant={\r\n filtered.length > 0 ? `cmd-${activeIndex}` : undefined\r\n }\r\n />\r\n\r\n <ul\r\n id=\"command-list\"\r\n className={classMap.list}\r\n role=\"listbox\"\r\n aria-label=\"Command suggestions\"\r\n >\r\n {isLoading ? (\r\n <div className={combineClassNames(classMap.item, classMap.empty)}>\r\n Searching...\r\n </div>\r\n ) : filtered.length > 0 ? (\r\n filtered.map((cmd, index) => (\r\n <li\r\n key={cmd.label}\r\n id={`cmd-${index}`}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n className={combineClassNames(\r\n classMap.item,\r\n classMap[theme],\r\n index === activeIndex && classMap.active\r\n )}\r\n onClick={() => {\r\n cmd.action();\r\n onClose();\r\n }}\r\n >\r\n {cmd.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {cmd.icon}\r\n </span>\r\n )}\r\n {cmd.label}\r\n </li>\r\n ))\r\n ) : (\r\n <li\r\n role=\"option\"\r\n aria-selected=\"false\"\r\n aria-disabled=\"true\"\r\n className={combineClassNames(classMap.item, classMap.empty)}\r\n >\r\n No matching results\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>,\r\n portalElement\r\n );\r\n};\r\n\r\nexport default CommandPaletteBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport CommandPaletteBase from \"../CommandPaletteBase\";\r\nimport styles from \"./CommandPalette.module.scss\";\r\nimport { TextInput } from \"@/index.next\";\r\nimport { CommandPaletteProps } from \"../CommandPalette.types\";\r\n\r\nconst CommandPalette: React.FC<CommandPaletteProps> = (props) => (\r\n <CommandPaletteBase\r\n {...props}\r\n classMap={styles}\r\n TextInputComponent={TextInput}\r\n />\r\n);\r\n\r\nexport default CommandPalette;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useState","useRef","useEffect","useCallback","jsx","jsxs","combineClassNames","capitalize","TextInput"],"mappings":"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"}
|