boreal-ui 0.0.36 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/{Accordion-Cb-MHkcx.cjs → Accordion-Cn-Lzpin.cjs} +2 -1
- package/dist/core/{Accordion-Cb-MHkcx.cjs.map → Accordion-Cn-Lzpin.cjs.map} +1 -1
- package/dist/core/{Accordion-DDu1TFaX.js → Accordion-Cvvsfx1g.js} +2 -1
- package/dist/core/{Accordion-DDu1TFaX.js.map → Accordion-Cvvsfx1g.js.map} +1 -1
- package/dist/core/Accordion.cjs.js +1 -1
- package/dist/core/Accordion.js +1 -1
- package/dist/core/{Avatar-BFec6Gv4.js → Avatar-BM8AwOB6.js} +5 -2
- package/dist/core/{Avatar-BFec6Gv4.js.map → Avatar-BM8AwOB6.js.map} +1 -1
- package/dist/core/{Avatar-CeIz25Rt.cjs → Avatar-DOg8W9yf.cjs} +5 -2
- package/dist/core/{Avatar-CeIz25Rt.cjs.map → Avatar-DOg8W9yf.cjs.map} +1 -1
- package/dist/core/Avatar.cjs.js +1 -1
- package/dist/core/Avatar.js +1 -1
- package/dist/core/{Badge-C6qp0Eym.cjs → Badge-DOn6E2bS.cjs} +2 -1
- package/dist/core/{Badge-C6qp0Eym.cjs.map → Badge-DOn6E2bS.cjs.map} +1 -1
- package/dist/core/{Badge-MiX5w_Ui.js → Badge-Dpjq6lUF.js} +2 -1
- package/dist/core/{Badge-MiX5w_Ui.js.map → Badge-Dpjq6lUF.js.map} +1 -1
- package/dist/core/Badge.cjs.js +1 -1
- package/dist/core/Badge.js +1 -1
- package/dist/core/{Breadcrumbs-DeUAfwz-.cjs → Breadcrumbs-BUc98niR.cjs} +3 -2
- package/dist/core/{Breadcrumbs-DeUAfwz-.cjs.map → Breadcrumbs-BUc98niR.cjs.map} +1 -1
- package/dist/core/{Breadcrumbs-KHd0Wr_l.js → Breadcrumbs-Bh_Ocv4_.js} +3 -2
- package/dist/core/{Breadcrumbs-KHd0Wr_l.js.map → Breadcrumbs-Bh_Ocv4_.js.map} +1 -1
- package/dist/core/Breadcrumbs.cjs.js +1 -1
- package/dist/core/Breadcrumbs.js +1 -1
- package/dist/core/{Button-DxYuUx72.js → Button-CC0Q_XPy.js} +2 -1
- package/dist/core/{Button-DxYuUx72.js.map → Button-CC0Q_XPy.js.map} +1 -1
- package/dist/core/{Button-CBmiAYTl.cjs → Button-zvElXSem.cjs} +2 -1
- package/dist/core/{Button-CBmiAYTl.cjs.map → Button-zvElXSem.cjs.map} +1 -1
- package/dist/core/Button.cjs.js +1 -1
- package/dist/core/Button.js +1 -1
- package/dist/core/{Card-C8Nn4k-D.js → Card-B7Hjcknf.js} +5 -4
- package/dist/core/{Card-C8Nn4k-D.js.map → Card-B7Hjcknf.js.map} +1 -1
- package/dist/core/{Card-v23IopXR.cjs → Card-Bp8OvH80.cjs} +5 -4
- package/dist/core/{Card-v23IopXR.cjs.map → Card-Bp8OvH80.cjs.map} +1 -1
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/CheckBox.cjs.js +1 -1
- package/dist/core/CheckBox.js +1 -1
- package/dist/core/{Checkbox-CkidkPsK.js → Checkbox-BdNhCbz_.js} +3 -4
- package/dist/core/Checkbox-BdNhCbz_.js.map +1 -0
- package/dist/core/{Checkbox-dcfbhcGR.cjs → Checkbox-JvYzNuZp.cjs} +3 -4
- package/dist/core/Checkbox-JvYzNuZp.cjs.map +1 -0
- package/dist/core/{Chip-E--KGVgH.cjs → Chip-CWsfLyyU.cjs} +3 -2
- package/dist/core/{Chip-E--KGVgH.cjs.map → Chip-CWsfLyyU.cjs.map} +1 -1
- package/dist/core/{Chip-CshyG7SS.js → Chip-D4vbSudX.js} +3 -2
- package/dist/core/{Chip-CshyG7SS.js.map → Chip-D4vbSudX.js.map} +1 -1
- package/dist/core/Chip.cjs.js +1 -1
- package/dist/core/Chip.js +1 -1
- package/dist/core/{CircularProgress-CSkKaHhU.js → CircularProgress-CGqwPSPq.js} +2 -1
- package/dist/core/{CircularProgress-CSkKaHhU.js.map → CircularProgress-CGqwPSPq.js.map} +1 -1
- package/dist/core/{CircularProgress-CNh3NKwl.cjs → CircularProgress-DpLsV7FP.cjs} +2 -1
- package/dist/core/{CircularProgress-CNh3NKwl.cjs.map → CircularProgress-DpLsV7FP.cjs.map} +1 -1
- package/dist/core/CircularProgress.cjs.js +1 -1
- package/dist/core/CircularProgress.js +1 -1
- package/dist/core/{ColorPicker-Btkkzx1b.js → ColorPicker-CpHTSayd.js} +2 -1
- package/dist/core/{ColorPicker-Btkkzx1b.js.map → ColorPicker-CpHTSayd.js.map} +1 -1
- package/dist/core/{ColorPicker-D-X4hsS7.cjs → ColorPicker-CzL1SJCT.cjs} +2 -1
- package/dist/core/{ColorPicker-D-X4hsS7.cjs.map → ColorPicker-CzL1SJCT.cjs.map} +1 -1
- package/dist/core/ColorPicker.cjs.js +1 -1
- package/dist/core/ColorPicker.js +1 -1
- package/dist/core/{CommandPalette-B8jOhfm2.cjs → CommandPalette-CXKBDCbP.cjs} +3 -2
- package/dist/core/{CommandPalette-B8jOhfm2.cjs.map → CommandPalette-CXKBDCbP.cjs.map} +1 -1
- package/dist/core/{CommandPalette-BpRegx0J.js → CommandPalette-N556smLj.js} +3 -2
- package/dist/core/{CommandPalette-BpRegx0J.js.map → CommandPalette-N556smLj.js.map} +1 -1
- package/dist/core/CommandPalette.cjs.js +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/{DataTable-8q8mTnjE.cjs → DataTable-DIpKxAT_.cjs} +2 -1
- package/dist/core/{DataTable-8q8mTnjE.cjs.map → DataTable-DIpKxAT_.cjs.map} +1 -1
- package/dist/core/{DataTable-C3l5XKKC.js → DataTable-Dv6Bv-wh.js} +2 -1
- package/dist/core/{DataTable-C3l5XKKC.js.map → DataTable-Dv6Bv-wh.js.map} +1 -1
- package/dist/core/DataTable.cjs.js +1 -1
- package/dist/core/DataTable.js +1 -1
- package/dist/core/{DateTimePicker-CK3I5Gxw.js → DateTimePicker-BzS1nP5J.js} +2 -1
- package/dist/core/{DateTimePicker-CK3I5Gxw.js.map → DateTimePicker-BzS1nP5J.js.map} +1 -1
- package/dist/core/{DateTimePicker-Dj8LEv5L.cjs → DateTimePicker-D7bRXphw.cjs} +2 -1
- package/dist/core/{DateTimePicker-Dj8LEv5L.cjs.map → DateTimePicker-D7bRXphw.cjs.map} +1 -1
- package/dist/core/DateTimePicker.cjs.js +1 -1
- package/dist/core/DateTimePicker.js +1 -1
- package/dist/core/{Divider-BxiplAj2.js → Divider-7akvm9JA.js} +3 -2
- package/dist/core/{Divider-BxiplAj2.js.map → Divider-7akvm9JA.js.map} +1 -1
- package/dist/core/{Divider-Bn7ghdiP.cjs → Divider-CaSuFc3G.cjs} +3 -2
- package/dist/core/{Divider-Bn7ghdiP.cjs.map → Divider-CaSuFc3G.cjs.map} +1 -1
- package/dist/core/Divider.cjs.js +1 -1
- package/dist/core/Divider.js +1 -1
- package/dist/core/{Dropdown-Drug9EGs.js → Dropdown-CwofYHjq.js} +3 -2
- package/dist/core/{Dropdown-Drug9EGs.js.map → Dropdown-CwofYHjq.js.map} +1 -1
- package/dist/core/{Dropdown-BpEtC6bv.cjs → Dropdown-DvwHouyC.cjs} +3 -2
- package/dist/core/{Dropdown-BpEtC6bv.cjs.map → Dropdown-DvwHouyC.cjs.map} +1 -1
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-HSMqh1Og.js → EmptyState-Cp3ocTQX.js} +3 -2
- package/dist/core/{EmptyState-HSMqh1Og.js.map → EmptyState-Cp3ocTQX.js.map} +1 -1
- package/dist/core/{EmptyState-CknrkSpb.cjs → EmptyState-P-MSItCX.cjs} +3 -2
- package/dist/core/{EmptyState-CknrkSpb.cjs.map → EmptyState-P-MSItCX.cjs.map} +1 -1
- package/dist/core/EmptyState.cjs.js +1 -1
- package/dist/core/EmptyState.js +1 -1
- package/dist/core/{FileUpload-C_k2_dfF.cjs → FileUpload-Du7vDDdf.cjs} +6 -5
- package/dist/core/{FileUpload-C_k2_dfF.cjs.map → FileUpload-Du7vDDdf.cjs.map} +1 -1
- package/dist/core/{FileUpload-C6xeGLr8.js → FileUpload-Q8aDsaFs.js} +6 -5
- package/dist/core/{FileUpload-C6xeGLr8.js.map → FileUpload-Q8aDsaFs.js.map} +1 -1
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{Footer-lTLk-01g.cjs → Footer-DMOA1W7N.cjs} +40 -36
- package/dist/core/Footer-DMOA1W7N.cjs.map +1 -0
- package/dist/core/{Footer-D2DOWiIc.js → Footer-zO4RGjCl.js} +41 -37
- package/dist/core/Footer-zO4RGjCl.js.map +1 -0
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{FormGroup-B5kG6FR4.cjs → FormGroup-C2TWC17P.cjs} +2 -1
- package/dist/core/{FormGroup-B5kG6FR4.cjs.map → FormGroup-C2TWC17P.cjs.map} +1 -1
- package/dist/core/{FormGroup-CAJwxFcs.js → FormGroup-tSK_NN0-.js} +2 -1
- package/dist/core/{FormGroup-CAJwxFcs.js.map → FormGroup-tSK_NN0-.js.map} +1 -1
- package/dist/core/FormGroup.cjs.js +1 -1
- package/dist/core/FormGroup.js +1 -1
- package/dist/core/{IconButton-Cs4PHptF.cjs → IconButton-CR9bTZoJ.cjs} +2 -1
- package/dist/core/{IconButton-Cs4PHptF.cjs.map → IconButton-CR9bTZoJ.cjs.map} +1 -1
- package/dist/core/{IconButton-DY1ppFX-.js → IconButton-_lxTppua.js} +2 -1
- package/dist/core/{IconButton-DY1ppFX-.js.map → IconButton-_lxTppua.js.map} +1 -1
- package/dist/core/IconButton.cjs.js +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/{MarkdownRenderer-CScdSBLx.js → MarkdownRenderer-B1LmmpZm.js} +2 -1
- package/dist/core/{MarkdownRenderer-CScdSBLx.js.map → MarkdownRenderer-B1LmmpZm.js.map} +1 -1
- package/dist/core/{MarkdownRenderer-3-S5hKVG.cjs → MarkdownRenderer-LUXCa_a8.cjs} +2 -1
- package/dist/core/{MarkdownRenderer-3-S5hKVG.cjs.map → MarkdownRenderer-LUXCa_a8.cjs.map} +1 -1
- package/dist/core/MarkdownRenderer.cjs.js +1 -1
- package/dist/core/MarkdownRenderer.js +1 -1
- package/dist/core/MessagePopUp.cjs.js +1 -1
- package/dist/core/MessagePopUp.js +1 -1
- package/dist/core/{MessagePopup-CHCUOPLz.js → MessagePopup-BlbPMecd.js} +4 -3
- package/dist/core/{MessagePopup-CHCUOPLz.js.map → MessagePopup-BlbPMecd.js.map} +1 -1
- package/dist/core/{MessagePopup-CL_1uoVd.cjs → MessagePopup-hxloT7aK.cjs} +4 -3
- package/dist/core/{MessagePopup-CL_1uoVd.cjs.map → MessagePopup-hxloT7aK.cjs.map} +1 -1
- package/dist/core/{MetricBox-CdNvh1qG.cjs → MetricBox-BcOdQM-l.cjs} +2 -1
- package/dist/core/{MetricBox-CdNvh1qG.cjs.map → MetricBox-BcOdQM-l.cjs.map} +1 -1
- package/dist/core/{MetricBox-BzI1gx1P.js → MetricBox-Dh911MS2.js} +2 -1
- package/dist/core/{MetricBox-BzI1gx1P.js.map → MetricBox-Dh911MS2.js.map} +1 -1
- package/dist/core/MetricBox.cjs.js +1 -1
- package/dist/core/MetricBox.js +1 -1
- package/dist/core/{Modal-D8SK6y7Q.cjs → Modal-D-ZoA_xx.cjs} +3 -2
- package/dist/core/{Modal-D8SK6y7Q.cjs.map → Modal-D-ZoA_xx.cjs.map} +1 -1
- package/dist/core/{Modal-1d9Ivd05.js → Modal-D1G1Csp9.js} +3 -2
- package/dist/core/{Modal-1d9Ivd05.js.map → Modal-D1G1Csp9.js.map} +1 -1
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NavBar-D03-pQsT.cjs → NavBar-Bbd3SVHi.cjs} +2 -1
- package/dist/core/{NavBar-D03-pQsT.cjs.map → NavBar-Bbd3SVHi.cjs.map} +1 -1
- package/dist/core/{NavBar-CIImUvWA.js → NavBar-DujO5gH_.js} +2 -1
- package/dist/core/{NavBar-CIImUvWA.js.map → NavBar-DujO5gH_.js.map} +1 -1
- package/dist/core/NavBar.cjs.js +1 -1
- package/dist/core/NavBar.js +1 -1
- package/dist/core/{NotificationCenter-Ca_Gegaf.js → NotificationCenter-BrUNpJAx.js} +4 -3
- package/dist/core/{NotificationCenter-Ca_Gegaf.js.map → NotificationCenter-BrUNpJAx.js.map} +1 -1
- package/dist/core/{NotificationCenter-BjTSHg0M.cjs → NotificationCenter-Dqwu2Z6s.cjs} +4 -3
- package/dist/core/{NotificationCenter-BjTSHg0M.cjs.map → NotificationCenter-Dqwu2Z6s.cjs.map} +1 -1
- package/dist/core/NotificationCenter.cjs.js +1 -1
- package/dist/core/NotificationCenter.js +1 -1
- package/dist/core/{Pager-B-mFsJVZ.js → Pager-CZF6O7rq.js} +4 -3
- package/dist/core/{Pager-B-mFsJVZ.js.map → Pager-CZF6O7rq.js.map} +1 -1
- package/dist/core/{Pager-B3Hy6QIt.cjs → Pager-C_SG4CIc.cjs} +4 -3
- package/dist/core/{Pager-B3Hy6QIt.cjs.map → Pager-C_SG4CIc.cjs.map} +1 -1
- package/dist/core/Pager.cjs.js +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{PopOver-BnOcfrAC.js → PopOver-Bt80x5vL.js} +2 -1
- package/dist/core/{PopOver-BnOcfrAC.js.map → PopOver-Bt80x5vL.js.map} +1 -1
- package/dist/core/{PopOver-Gy7Gn9LW.cjs → PopOver-IzDFOu7Y.cjs} +2 -1
- package/dist/core/{PopOver-Gy7Gn9LW.cjs.map → PopOver-IzDFOu7Y.cjs.map} +1 -1
- package/dist/core/PopOver.cjs.js +1 -1
- package/dist/core/PopOver.js +1 -1
- package/dist/core/{ProgressBar-QkROTKv6.cjs → ProgressBar-BwjYOqoE.cjs} +2 -1
- package/dist/core/{ProgressBar-QkROTKv6.cjs.map → ProgressBar-BwjYOqoE.cjs.map} +1 -1
- package/dist/core/{ProgressBar-BAbEjBvm.js → ProgressBar-DaA5vvnq.js} +2 -1
- package/dist/core/{ProgressBar-BAbEjBvm.js.map → ProgressBar-DaA5vvnq.js.map} +1 -1
- package/dist/core/ProgressBar.cjs.js +1 -1
- package/dist/core/ProgressBar.js +1 -1
- package/dist/core/RadioButton-BxdmcaZg.cjs.map +1 -1
- package/dist/core/{RadioButton-B8QehL7o.js → RadioButton-DygrrlH_.js} +3 -3
- package/dist/core/RadioButton-DygrrlH_.js.map +1 -0
- package/dist/core/RadioButton.js +1 -1
- package/dist/core/{Rating-Dpmm_ZPv.js → Rating-B4qbA_y6.js} +2 -1
- package/dist/core/{Rating-Dpmm_ZPv.js.map → Rating-B4qbA_y6.js.map} +1 -1
- package/dist/core/{Rating-DwPu-mqi.cjs → Rating-U1MIoh5b.cjs} +2 -1
- package/dist/core/{Rating-DwPu-mqi.cjs.map → Rating-U1MIoh5b.cjs.map} +1 -1
- package/dist/core/Rating.cjs.js +1 -1
- package/dist/core/Rating.js +1 -1
- package/dist/core/{STT-DnhnXAIK.js → STT-Bdm78oOs.js} +2 -1
- package/dist/core/{STT-DnhnXAIK.js.map → STT-Bdm78oOs.js.map} +1 -1
- package/dist/core/{STT-Tf9R4S2f.cjs → STT-DKOwe6z3.cjs} +2 -1
- package/dist/core/{STT-Tf9R4S2f.cjs.map → STT-DKOwe6z3.cjs.map} +1 -1
- package/dist/core/ScrollToTop.cjs.js +1 -1
- package/dist/core/ScrollToTop.js +1 -1
- package/dist/core/{Select-CnX90XU7.cjs → Select-B5Zoc07A.cjs} +4 -6
- package/dist/core/{Select-CnX90XU7.cjs.map → Select-B5Zoc07A.cjs.map} +1 -1
- package/dist/core/{Select-BLhAAtFa.js → Select-DntK69DL.js} +5 -7
- package/dist/core/{Select-BLhAAtFa.js.map → Select-DntK69DL.js.map} +1 -1
- package/dist/core/Select.cjs.js +1 -1
- package/dist/core/Select.js +1 -1
- package/dist/core/{Sidebar-BoMGJwqC.cjs → Sidebar-13bKMpw7.cjs} +2 -1
- package/dist/core/{Sidebar-BoMGJwqC.cjs.map → Sidebar-13bKMpw7.cjs.map} +1 -1
- package/dist/core/{Sidebar-CnGBAT2_.js → Sidebar-DN_J0CwY.js} +2 -1
- package/dist/core/{Sidebar-CnGBAT2_.js.map → Sidebar-DN_J0CwY.js.map} +1 -1
- package/dist/core/Sidebar.cjs.js +1 -1
- package/dist/core/Sidebar.js +1 -1
- package/dist/core/{Skeleton-BlyxKLt_.cjs → Skeleton-BLVD5mDI.cjs} +2 -1
- package/dist/core/{Skeleton-BlyxKLt_.cjs.map → Skeleton-BLVD5mDI.cjs.map} +1 -1
- package/dist/core/{Skeleton-CMhlYg-Q.js → Skeleton-Cwn3_gc7.js} +2 -1
- package/dist/core/{Skeleton-CMhlYg-Q.js.map → Skeleton-Cwn3_gc7.js.map} +1 -1
- package/dist/core/Skeleton.cjs.js +1 -1
- package/dist/core/Skeleton.js +1 -1
- package/dist/core/{Slider-BT1Pi-VJ.cjs → Slider-S8KnYlkd.cjs} +2 -1
- package/dist/core/{Slider-BT1Pi-VJ.cjs.map → Slider-S8KnYlkd.cjs.map} +1 -1
- package/dist/core/{Slider-CZYfXDHn.js → Slider-WsZnPCUo.js} +2 -1
- package/dist/core/{Slider-CZYfXDHn.js.map → Slider-WsZnPCUo.js.map} +1 -1
- package/dist/core/Slider.cjs.js +1 -1
- package/dist/core/Slider.js +1 -1
- package/dist/core/{Spinner-ChxHCoaN.cjs → Spinner-CEIk_hpT.cjs} +2 -1
- package/dist/core/{Spinner-ChxHCoaN.cjs.map → Spinner-CEIk_hpT.cjs.map} +1 -1
- package/dist/core/{Spinner-BQlcBZmK.js → Spinner-D81UG24n.js} +2 -1
- package/dist/core/{Spinner-BQlcBZmK.js.map → Spinner-D81UG24n.js.map} +1 -1
- package/dist/core/Spinner.cjs.js +1 -1
- package/dist/core/Spinner.js +1 -1
- package/dist/core/{Stepper-BCjn0rYE.cjs → Stepper-BuCLqbtQ.cjs} +3 -2
- package/dist/core/{Stepper-BCjn0rYE.cjs.map → Stepper-BuCLqbtQ.cjs.map} +1 -1
- package/dist/core/{Stepper-0lxM6e2v.js → Stepper-Cjb7ckXo.js} +3 -2
- package/dist/core/{Stepper-0lxM6e2v.js.map → Stepper-Cjb7ckXo.js.map} +1 -1
- package/dist/core/Stepper.cjs.js +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{Tabs-C6lDM19i.cjs → Tabs-BheAr-wE.cjs} +2 -1
- package/dist/core/{Tabs-C6lDM19i.cjs.map → Tabs-BheAr-wE.cjs.map} +1 -1
- package/dist/core/{Tabs-BaKDr0uF.js → Tabs-CUDoy3wZ.js} +2 -1
- package/dist/core/{Tabs-BaKDr0uF.js.map → Tabs-CUDoy3wZ.js.map} +1 -1
- package/dist/core/Tabs.cjs.js +1 -1
- package/dist/core/Tabs.js +1 -1
- package/dist/core/TagInput.cjs.js +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/{Taginput-C_JJRoDF.js → Taginput-CKekAR72.js} +4 -3
- package/dist/core/{Taginput-C_JJRoDF.js.map → Taginput-CKekAR72.js.map} +1 -1
- package/dist/core/{Taginput-kqeTeVJY.cjs → Taginput-DgbxDttA.cjs} +4 -3
- package/dist/core/{Taginput-kqeTeVJY.cjs.map → Taginput-DgbxDttA.cjs.map} +1 -1
- package/dist/core/{TextInput-D38TZ4Pl.js → TextInput-7kV66ccj.js} +2 -2
- package/dist/core/{TextInput-D38TZ4Pl.js.map → TextInput-7kV66ccj.js.map} +1 -1
- package/dist/core/{TextInput-WY4O9Zya.cjs → TextInput-DFOjxri2.cjs} +2 -2
- package/dist/core/{TextInput-WY4O9Zya.cjs.map → TextInput-DFOjxri2.cjs.map} +1 -1
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/{Timeline-BfJd6flB.js → Timeline-BulLz34H.js} +2 -1
- package/dist/core/{Timeline-BfJd6flB.js.map → Timeline-BulLz34H.js.map} +1 -1
- package/dist/core/{Timeline-Bmnr7xnx.cjs → Timeline-Dd4Rr21W.cjs} +2 -1
- package/dist/core/{Timeline-Bmnr7xnx.cjs.map → Timeline-Dd4Rr21W.cjs.map} +1 -1
- package/dist/core/Timeline.cjs.js +1 -1
- package/dist/core/Timeline.js +1 -1
- package/dist/core/{Toggle-Dor7IEx3.cjs → Toggle-B4bJ4Jcj.cjs} +5 -4
- package/dist/core/Toggle-B4bJ4Jcj.cjs.map +1 -0
- package/dist/core/{Toggle-sPyKNt4P.js → Toggle-DxNHxjZn.js} +5 -4
- package/dist/core/Toggle-DxNHxjZn.js.map +1 -0
- package/dist/core/Toggle.cjs.js +1 -1
- package/dist/core/Toggle.js +1 -1
- package/dist/core/{Toolbar-CSDhcIPb.js → Toolbar-CQNKVKK8.js} +3 -2
- package/dist/core/{Toolbar-CSDhcIPb.js.map → Toolbar-CQNKVKK8.js.map} +1 -1
- package/dist/core/{Toolbar-xot4FSLU.cjs → Toolbar-DKSfwRUz.cjs} +3 -2
- package/dist/core/{Toolbar-xot4FSLU.cjs.map → Toolbar-DKSfwRUz.cjs.map} +1 -1
- package/dist/core/Toolbar.cjs.js +1 -1
- package/dist/core/Toolbar.js +1 -1
- package/dist/core/index.cjs.js +53 -54
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +55 -56
- package/dist/core/index.js.map +1 -1
- package/dist/next/{Accordion-yypKft_c.js → Accordion-BkiAI6vY.js} +2 -1
- package/dist/next/{Accordion-yypKft_c.js.map → Accordion-BkiAI6vY.js.map} +1 -1
- package/dist/next/{Accordion-BCUMBFY6.cjs → Accordion-DKNh8FaP.cjs} +2 -1
- package/dist/next/{Accordion-BCUMBFY6.cjs.map → Accordion-DKNh8FaP.cjs.map} +1 -1
- package/dist/next/Accordion.cjs.js +1 -1
- package/dist/next/Accordion.js +1 -1
- package/dist/next/{Avatar-IjllaOdx.cjs → Avatar-Ctm74prt.cjs} +14 -10
- package/dist/next/{Avatar-IjllaOdx.cjs.map → Avatar-Ctm74prt.cjs.map} +1 -1
- package/dist/next/{Avatar-C227ps6T.js → Avatar-ijMVfQpY.js} +14 -10
- package/dist/next/{Avatar-C227ps6T.js.map → Avatar-ijMVfQpY.js.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Badge-DdJsnD_G.cjs → Badge-DbmM5wGc.cjs} +2 -1
- package/dist/next/{Badge-DdJsnD_G.cjs.map → Badge-DbmM5wGc.cjs.map} +1 -1
- package/dist/next/{Badge-C-JE6gYt.js → Badge-k6Dk5S_p.js} +2 -1
- package/dist/next/{Badge-C-JE6gYt.js.map → Badge-k6Dk5S_p.js.map} +1 -1
- package/dist/next/Badge.cjs.js +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-uPQIvIj-.cjs → Breadcrumbs-BrH6_8Kt.cjs} +3 -2
- package/dist/next/{Breadcrumbs-uPQIvIj-.cjs.map → Breadcrumbs-BrH6_8Kt.cjs.map} +1 -1
- package/dist/next/{Breadcrumbs-_qTMSpvE.js → Breadcrumbs-CWv3TrV_.js} +3 -2
- package/dist/next/{Breadcrumbs-_qTMSpvE.js.map → Breadcrumbs-CWv3TrV_.js.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-BF5Wp81D.js → Button-BjY7f3mw.js} +2 -1
- package/dist/next/{Button-BF5Wp81D.js.map → Button-BjY7f3mw.js.map} +1 -1
- package/dist/next/{Button-5qNmDKPi.cjs → Button-D8Kff8sN.cjs} +2 -1
- package/dist/next/{Button-5qNmDKPi.cjs.map → Button-D8Kff8sN.cjs.map} +1 -1
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-DdLlnwFq.cjs → Card-9Uf34mPf.cjs} +4 -3
- package/dist/next/{Card-DdLlnwFq.cjs.map → Card-9Uf34mPf.cjs.map} +1 -1
- package/dist/next/{Card-CFJnp6sf.js → Card-CL8WOI8g.js} +4 -3
- package/dist/next/{Card-CFJnp6sf.js.map → Card-CL8WOI8g.js.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.cjs.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/{Checkbox-BX2JIiMU.cjs → Checkbox-B-y0lEjJ.cjs} +3 -4
- package/dist/next/{Checkbox-BX2JIiMU.cjs.map → Checkbox-B-y0lEjJ.cjs.map} +1 -1
- package/dist/next/{Checkbox-CrK0JFu8.js → Checkbox-DVr6H6mN.js} +3 -4
- package/dist/next/{Checkbox-CrK0JFu8.js.map → Checkbox-DVr6H6mN.js.map} +1 -1
- package/dist/next/{Chip-BUVPtK2j.cjs → Chip-C4-KUcHh.cjs} +2 -1
- package/dist/next/{Chip-BUVPtK2j.cjs.map → Chip-C4-KUcHh.cjs.map} +1 -1
- package/dist/next/{Chip-3QqdBOHX.js → Chip-C8ayWG9-.js} +2 -1
- package/dist/next/{Chip-3QqdBOHX.js.map → Chip-C8ayWG9-.js.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CircularProgress-C7Zr-dLf.js → CircularProgress-Cz9G0WeQ.js} +2 -1
- package/dist/next/{CircularProgress-C7Zr-dLf.js.map → CircularProgress-Cz9G0WeQ.js.map} +1 -1
- package/dist/next/{CircularProgress-C7kuOtnG.cjs → CircularProgress-UhpLA94q.cjs} +2 -1
- package/dist/next/{CircularProgress-C7kuOtnG.cjs.map → CircularProgress-UhpLA94q.cjs.map} +1 -1
- package/dist/next/CircularProgress.cjs.js +1 -1
- package/dist/next/CircularProgress.js +1 -1
- package/dist/next/{ColorPicker-DgLJQRJu.js → ColorPicker-1naDOGhp.js} +2 -1
- package/dist/next/{ColorPicker-DgLJQRJu.js.map → ColorPicker-1naDOGhp.js.map} +1 -1
- package/dist/next/{ColorPicker-C3dyO_vv.cjs → ColorPicker-DvgeIT_p.cjs} +2 -1
- package/dist/next/{ColorPicker-C3dyO_vv.cjs.map → ColorPicker-DvgeIT_p.cjs.map} +1 -1
- package/dist/next/ColorPicker.cjs.js +1 -1
- package/dist/next/ColorPicker.js +1 -1
- package/dist/next/{CommandPalette-D-VgzCDu.js → CommandPalette-XP4v5FE6.js} +2 -1
- package/dist/next/{CommandPalette-D-VgzCDu.js.map → CommandPalette-XP4v5FE6.js.map} +1 -1
- package/dist/next/{CommandPalette-CzwGz-Py.cjs → CommandPalette-ypXbi8zW.cjs} +2 -1
- package/dist/next/{CommandPalette-CzwGz-Py.cjs.map → CommandPalette-ypXbi8zW.cjs.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{DataTable-mI4d3Caj.js → DataTable-jUelgv2H.js} +2 -1
- package/dist/next/{DataTable-mI4d3Caj.js.map → DataTable-jUelgv2H.js.map} +1 -1
- package/dist/next/{DataTable-CEtAY0ni.cjs → DataTable-jq0suGoA.cjs} +2 -1
- package/dist/next/{DataTable-CEtAY0ni.cjs.map → DataTable-jq0suGoA.cjs.map} +1 -1
- package/dist/next/DataTable.cjs.js +1 -1
- package/dist/next/DataTable.js +1 -1
- package/dist/next/{DateTimePicker-A94kVkvi.js → DateTimePicker-BTm6T3-E.js} +2 -1
- package/dist/next/{DateTimePicker-A94kVkvi.js.map → DateTimePicker-BTm6T3-E.js.map} +1 -1
- package/dist/next/{DateTimePicker-D96GYbVW.cjs → DateTimePicker-D5gEfxvd.cjs} +2 -1
- package/dist/next/{DateTimePicker-D96GYbVW.cjs.map → DateTimePicker-D5gEfxvd.cjs.map} +1 -1
- package/dist/next/DateTimePicker.cjs.js +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Divider-DjoDcCAu.js → Divider-BYKFFi3a.js} +3 -2
- package/dist/next/{Divider-DjoDcCAu.js.map → Divider-BYKFFi3a.js.map} +1 -1
- package/dist/next/{Divider-BMuNHQ9J.cjs → Divider-CczNc7mx.cjs} +3 -2
- package/dist/next/{Divider-BMuNHQ9J.cjs.map → Divider-CczNc7mx.cjs.map} +1 -1
- package/dist/next/Divider.cjs.js +1 -1
- package/dist/next/Divider.js +1 -1
- package/dist/next/{Dropdown-BrJnoyCw.js → Dropdown-CJGb6wyQ.js} +2 -1
- package/dist/next/{Dropdown-BrJnoyCw.js.map → Dropdown-CJGb6wyQ.js.map} +1 -1
- package/dist/next/{Dropdown-DU7oZ_ZP.cjs → Dropdown-yaMx19im.cjs} +2 -1
- package/dist/next/{Dropdown-DU7oZ_ZP.cjs.map → Dropdown-yaMx19im.cjs.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-DULVBTGn.cjs → EmptyState-CGPIGpz2.cjs} +3 -2
- package/dist/next/{EmptyState-DULVBTGn.cjs.map → EmptyState-CGPIGpz2.cjs.map} +1 -1
- package/dist/next/{EmptyState-JzLtobCN.js → EmptyState-DIymA2cZ.js} +3 -2
- package/dist/next/{EmptyState-JzLtobCN.js.map → EmptyState-DIymA2cZ.js.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-Bp7Pbj8m.js → FileUpload-CIued3w1.js} +5 -4
- package/dist/next/{FileUpload-Bp7Pbj8m.js.map → FileUpload-CIued3w1.js.map} +1 -1
- package/dist/next/{FileUpload-CUFWjI06.cjs → FileUpload-MVXOV0j9.cjs} +5 -4
- package/dist/next/{FileUpload-CUFWjI06.cjs.map → FileUpload-MVXOV0j9.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-BfzKhBAD.js → Footer-BeT6tWIv.js} +41 -36
- package/dist/next/Footer-BeT6tWIv.js.map +1 -0
- package/dist/next/{Footer-Cd9jSPv8.cjs → Footer-C_hq989i.cjs} +40 -35
- package/dist/next/Footer-C_hq989i.cjs.map +1 -0
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{FormGroup-DNvdijpi.cjs → FormGroup-6Ss6pNqV.cjs} +2 -1
- package/dist/next/{FormGroup-DNvdijpi.cjs.map → FormGroup-6Ss6pNqV.cjs.map} +1 -1
- package/dist/next/{FormGroup-DUVdekj1.js → FormGroup-DbUqgg_b.js} +2 -1
- package/dist/next/{FormGroup-DUVdekj1.js.map → FormGroup-DbUqgg_b.js.map} +1 -1
- package/dist/next/FormGroup.cjs.js +1 -1
- package/dist/next/FormGroup.js +1 -1
- package/dist/next/{MarkdownRenderer-CTF0Vhf5.js → MarkdownRenderer-B7lwemDw.js} +2 -1
- package/dist/next/{MarkdownRenderer-CTF0Vhf5.js.map → MarkdownRenderer-B7lwemDw.js.map} +1 -1
- package/dist/next/{MarkdownRenderer-BrVUEjkX.cjs → MarkdownRenderer-BvfBDz9X.cjs} +2 -1
- package/dist/next/{MarkdownRenderer-BrVUEjkX.cjs.map → MarkdownRenderer-BvfBDz9X.cjs.map} +1 -1
- package/dist/next/MarkdownRenderer.cjs.js +1 -1
- package/dist/next/MarkdownRenderer.js +1 -1
- package/dist/next/MessagePopUp.cjs.js +1 -1
- package/dist/next/MessagePopUp.js +1 -1
- package/dist/next/{MessagePopup-DCN-w-NA.js → MessagePopup-B5OaSUBr.js} +3 -2
- package/dist/next/{MessagePopup-DCN-w-NA.js.map → MessagePopup-B5OaSUBr.js.map} +1 -1
- package/dist/next/{MessagePopup-DB8VBIft.cjs → MessagePopup-BQ4OFvwo.cjs} +3 -2
- package/dist/next/{MessagePopup-DB8VBIft.cjs.map → MessagePopup-BQ4OFvwo.cjs.map} +1 -1
- package/dist/next/{MetricBox-CX3SSwgU.cjs → MetricBox-BylPOvoO.cjs} +2 -1
- package/dist/next/{MetricBox-CX3SSwgU.cjs.map → MetricBox-BylPOvoO.cjs.map} +1 -1
- package/dist/next/{MetricBox-CN8cgCgr.js → MetricBox-Dl3iruBZ.js} +2 -1
- package/dist/next/{MetricBox-CN8cgCgr.js.map → MetricBox-Dl3iruBZ.js.map} +1 -1
- package/dist/next/MetricBox.cjs.js +1 -1
- package/dist/next/MetricBox.js +1 -1
- package/dist/next/{Modal-BD9sPXIX.js → Modal-BARibygG.js} +2 -1
- package/dist/next/{Modal-BD9sPXIX.js.map → Modal-BARibygG.js.map} +1 -1
- package/dist/next/{Modal-BVjarg0E.cjs → Modal-CevpqeOy.cjs} +2 -1
- package/dist/next/{Modal-BVjarg0E.cjs.map → Modal-CevpqeOy.cjs.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-Dfljduy2.js → NavBar-Bucpo8_3.js} +2 -1
- package/dist/next/{NavBar-Dfljduy2.js.map → NavBar-Bucpo8_3.js.map} +1 -1
- package/dist/next/{NavBar-DT_k688s.cjs → NavBar-C5FBdZT6.cjs} +2 -1
- package/dist/next/{NavBar-DT_k688s.cjs.map → NavBar-C5FBdZT6.cjs.map} +1 -1
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-B2y-QbtY.cjs → NotificationCenter-BD58bbOZ.cjs} +3 -2
- package/dist/next/{NotificationCenter-B2y-QbtY.cjs.map → NotificationCenter-BD58bbOZ.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-C99EfjxX.js → NotificationCenter-CSwbscYh.js} +3 -2
- package/dist/next/{NotificationCenter-C99EfjxX.js.map → NotificationCenter-CSwbscYh.js.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-CB55NJSy.cjs → Pager-B-xaM28_.cjs} +3 -2
- package/dist/next/{Pager-CB55NJSy.cjs.map → Pager-B-xaM28_.cjs.map} +1 -1
- package/dist/next/{Pager-SZIzesuj.js → Pager-DWzCtb2Q.js} +3 -2
- package/dist/next/{Pager-SZIzesuj.js.map → Pager-DWzCtb2Q.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{PopOver-iFFxszSk.cjs → PopOver-Dp4eqN8G.cjs} +2 -1
- package/dist/next/{PopOver-iFFxszSk.cjs.map → PopOver-Dp4eqN8G.cjs.map} +1 -1
- package/dist/next/{PopOver-BbAFKptt.js → PopOver-QAYHaYcd.js} +2 -1
- package/dist/next/{PopOver-BbAFKptt.js.map → PopOver-QAYHaYcd.js.map} +1 -1
- package/dist/next/PopOver.cjs.js +1 -1
- package/dist/next/PopOver.js +1 -1
- package/dist/next/{ProgressBar-Csn4f4-c.js → ProgressBar-BrO0fvaM.js} +2 -1
- package/dist/next/{ProgressBar-Csn4f4-c.js.map → ProgressBar-BrO0fvaM.js.map} +1 -1
- package/dist/next/{ProgressBar-nXC_4OnG.cjs → ProgressBar-DfXSlpKX.cjs} +2 -1
- package/dist/next/{ProgressBar-nXC_4OnG.cjs.map → ProgressBar-DfXSlpKX.cjs.map} +1 -1
- package/dist/next/ProgressBar.cjs.js +1 -1
- package/dist/next/ProgressBar.js +1 -1
- package/dist/next/RadioButton-6cb-ZRjy.cjs.map +1 -1
- package/dist/next/{RadioButton-8E5GjzZu.js → RadioButton-Dz_e0WUT.js} +3 -3
- package/dist/next/{RadioButton-8E5GjzZu.js.map → RadioButton-Dz_e0WUT.js.map} +1 -1
- package/dist/next/RadioButton.js +1 -1
- package/dist/next/{Rating-Cpu_QzeB.cjs → Rating-C4pqzKNQ.cjs} +2 -1
- package/dist/next/{Rating-Cpu_QzeB.cjs.map → Rating-C4pqzKNQ.cjs.map} +1 -1
- package/dist/next/{Rating-DTMNrx0D.js → Rating-DbQ61tMY.js} +2 -1
- package/dist/next/{Rating-DTMNrx0D.js.map → Rating-DbQ61tMY.js.map} +1 -1
- package/dist/next/Rating.cjs.js +1 -1
- package/dist/next/Rating.js +1 -1
- package/dist/next/{STT-CGgFuLw2.cjs → STT-C6kV0zwW.cjs} +2 -1
- package/dist/next/{STT-CGgFuLw2.cjs.map → STT-C6kV0zwW.cjs.map} +1 -1
- package/dist/next/{STT-D-gwtml7.js → STT-CCzJFcVP.js} +2 -1
- package/dist/next/{STT-D-gwtml7.js.map → STT-CCzJFcVP.js.map} +1 -1
- package/dist/next/ScrollToTop.cjs.js +1 -1
- package/dist/next/ScrollToTop.js +1 -1
- package/dist/next/{Select-DcMXhPmp.cjs → Select-CSAN6B98.cjs} +4 -6
- package/dist/next/{Select-DcMXhPmp.cjs.map → Select-CSAN6B98.cjs.map} +1 -1
- package/dist/next/{Select-rZ9u_rNi.js → Select-CZivQIlV.js} +5 -7
- package/dist/next/{Select-rZ9u_rNi.js.map → Select-CZivQIlV.js.map} +1 -1
- package/dist/next/Select.cjs.js +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/{Sidebar-DAGCv1cb.js → Sidebar-BVeRWv61.js} +2 -1
- package/dist/next/{Sidebar-DAGCv1cb.js.map → Sidebar-BVeRWv61.js.map} +1 -1
- package/dist/next/{Sidebar-D2kCGLTC.cjs → Sidebar-DcDJjNrK.cjs} +2 -1
- package/dist/next/{Sidebar-D2kCGLTC.cjs.map → Sidebar-DcDJjNrK.cjs.map} +1 -1
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Skeleton-BfebLfbb.cjs → Skeleton-JgU17y-3.cjs} +2 -1
- package/dist/next/{Skeleton-BfebLfbb.cjs.map → Skeleton-JgU17y-3.cjs.map} +1 -1
- package/dist/next/{Skeleton-cWCNDrrp.js → Skeleton-rSW1X4hk.js} +2 -1
- package/dist/next/{Skeleton-cWCNDrrp.js.map → Skeleton-rSW1X4hk.js.map} +1 -1
- package/dist/next/Skeleton.cjs.js +1 -1
- package/dist/next/Skeleton.js +1 -1
- package/dist/next/{Slider-CuzYVS0J.cjs → Slider-B8e96nMm.cjs} +2 -1
- package/dist/next/{Slider-CuzYVS0J.cjs.map → Slider-B8e96nMm.cjs.map} +1 -1
- package/dist/next/{Slider-Bk0a8gqL.js → Slider-CdSPPw1x.js} +2 -1
- package/dist/next/{Slider-Bk0a8gqL.js.map → Slider-CdSPPw1x.js.map} +1 -1
- package/dist/next/Slider.cjs.js +1 -1
- package/dist/next/Slider.js +1 -1
- package/dist/next/{Spinner-CFah_Wyg.cjs → Spinner-B89FhxVt.cjs} +2 -1
- package/dist/next/{Spinner-CFah_Wyg.cjs.map → Spinner-B89FhxVt.cjs.map} +1 -1
- package/dist/next/{Spinner-BntSsGWn.js → Spinner-ChiOXzru.js} +2 -1
- package/dist/next/{Spinner-BntSsGWn.js.map → Spinner-ChiOXzru.js.map} +1 -1
- package/dist/next/Spinner.cjs.js +1 -1
- package/dist/next/Spinner.js +1 -1
- package/dist/next/{Stepper-59931F6-.js → Stepper-9uHSgp7y.js} +2 -1
- package/dist/next/{Stepper-59931F6-.js.map → Stepper-9uHSgp7y.js.map} +1 -1
- package/dist/next/{Stepper-YxxnY0y2.cjs → Stepper-UwSloxRf.cjs} +2 -1
- package/dist/next/{Stepper-YxxnY0y2.cjs.map → Stepper-UwSloxRf.cjs.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{Tabs-Dl389scs.js → Tabs-CvYx2xtH.js} +2 -1
- package/dist/next/{Tabs-Dl389scs.js.map → Tabs-CvYx2xtH.js.map} +1 -1
- package/dist/next/{Tabs-0GBOWBIt.cjs → Tabs-D2jqRrxR.cjs} +2 -1
- package/dist/next/{Tabs-0GBOWBIt.cjs.map → Tabs-D2jqRrxR.cjs.map} +1 -1
- package/dist/next/Tabs.cjs.js +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-Bjt_zbHy.js → TagInput-DUWgLslk.js} +2 -1
- package/dist/next/{TagInput-Bjt_zbHy.js.map → TagInput-DUWgLslk.js.map} +1 -1
- package/dist/next/{TagInput-Jswp7Yn5.cjs → TagInput-Dym0BPK1.cjs} +2 -1
- package/dist/next/{TagInput-Jswp7Yn5.cjs.map → TagInput-Dym0BPK1.cjs.map} +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{Timeline-KozBssou.js → Timeline-Cg0FWWVc.js} +2 -1
- package/dist/next/{Timeline-KozBssou.js.map → Timeline-Cg0FWWVc.js.map} +1 -1
- package/dist/next/{Timeline-Dju3pHLR.cjs → Timeline-DXSXZumg.cjs} +2 -1
- package/dist/next/{Timeline-Dju3pHLR.cjs.map → Timeline-DXSXZumg.cjs.map} +1 -1
- package/dist/next/Timeline.cjs.js +1 -1
- package/dist/next/Timeline.js +1 -1
- package/dist/next/{Toggle-BQG-5q5G.cjs → Toggle-BNK7uC_N.cjs} +5 -4
- package/dist/next/{Toggle-BQG-5q5G.cjs.map → Toggle-BNK7uC_N.cjs.map} +1 -1
- package/dist/next/{Toggle-Bb5d1QLE.js → Toggle-CnpONDwl.js} +5 -4
- package/dist/next/{Toggle-Bb5d1QLE.js.map → Toggle-CnpONDwl.js.map} +1 -1
- package/dist/next/Toggle.cjs.js +1 -1
- package/dist/next/Toggle.js +1 -1
- package/dist/next/{Toolbar-CHnjBixI.js → Toolbar-007Q19jl.js} +3 -2
- package/dist/next/{Toolbar-CHnjBixI.js.map → Toolbar-007Q19jl.js.map} +1 -1
- package/dist/next/{Toolbar-Dxscfy5X.cjs → Toolbar-DHUozW08.cjs} +3 -2
- package/dist/next/{Toolbar-Dxscfy5X.cjs.map → Toolbar-DHUozW08.cjs.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/index.cjs.js +43 -52
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +45 -54
- package/dist/next/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Avatar/core/Avatar.d.ts +1 -2
- package/dist/types/components/Avatar/core/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/next/Avatar.d.ts +1 -2
- package/dist/types/components/Avatar/next/Avatar.d.ts.map +1 -1
- package/dist/types/components/Checkbox/core/Checkbox.d.ts +1 -2
- package/dist/types/components/Checkbox/core/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Checkbox/next/Checkbox.d.ts +1 -2
- package/dist/types/components/Checkbox/next/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Chip/ChipGroup/core/ChipGroup.d.ts +1 -2
- package/dist/types/components/Chip/ChipGroup/core/ChipGroup.d.ts.map +1 -1
- package/dist/types/components/Chip/ChipGroup/next/ChipGroup.d.ts +1 -2
- package/dist/types/components/Chip/ChipGroup/next/ChipGroup.d.ts.map +1 -1
- package/dist/types/components/DataTable/core/DataTable.d.ts +3 -0
- package/dist/types/components/DataTable/core/DataTable.d.ts.map +1 -1
- package/dist/types/components/DataTable/next/DataTable.d.ts +3 -0
- package/dist/types/components/DataTable/next/DataTable.d.ts.map +1 -1
- package/dist/types/components/Divider/core/Divider.d.ts +1 -2
- package/dist/types/components/Divider/core/Divider.d.ts.map +1 -1
- package/dist/types/components/Divider/next/Divider.d.ts +1 -2
- package/dist/types/components/Divider/next/Divider.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.types.d.ts +4 -0
- package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
- package/dist/types/components/RadioButton/core/RadioButton.d.ts +1 -2
- package/dist/types/components/RadioButton/core/RadioButton.d.ts.map +1 -1
- package/dist/types/components/RadioButton/next/RadioButton.d.ts +1 -2
- package/dist/types/components/RadioButton/next/RadioButton.d.ts.map +1 -1
- package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts +1 -2
- package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts.map +1 -1
- package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts +1 -2
- package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts.map +1 -1
- package/dist/types/components/Select/core/Select.d.ts +1 -2
- package/dist/types/components/Select/core/Select.d.ts.map +1 -1
- package/dist/types/components/Select/next/Select.d.ts +1 -2
- package/dist/types/components/Select/next/Select.d.ts.map +1 -1
- package/dist/types/components/Toggle/core/Toggle.d.ts +1 -2
- package/dist/types/components/Toggle/core/Toggle.d.ts.map +1 -1
- package/dist/types/components/Toggle/next/Toggle.d.ts +1 -2
- package/dist/types/components/Toggle/next/Toggle.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/Checkbox-CkidkPsK.js.map +0 -1
- package/dist/core/Checkbox-dcfbhcGR.cjs.map +0 -1
- package/dist/core/Footer-D2DOWiIc.js.map +0 -1
- package/dist/core/Footer-lTLk-01g.cjs.map +0 -1
- package/dist/core/RadioButton-B8QehL7o.js.map +0 -1
- package/dist/core/Toggle-Dor7IEx3.cjs.map +0 -1
- package/dist/core/Toggle-sPyKNt4P.js.map +0 -1
- package/dist/next/Footer-BfzKhBAD.js.map +0 -1
- package/dist/next/Footer-Cd9jSPv8.cjs.map +0 -1
|
@@ -212,5 +212,6 @@ const generateUniqueId = /* @__PURE__ */ (() => {
|
|
|
212
212
|
return () => `accordion-core-${counter++}`;
|
|
213
213
|
})();
|
|
214
214
|
const Accordion = (props) => /* @__PURE__ */ jsxRuntime.jsx(AccordionBase, { ...props, getUniqueId: generateUniqueId, classMap: classes });
|
|
215
|
+
Accordion.displayName = "Accordion";
|
|
215
216
|
exports.Accordion = Accordion;
|
|
216
|
-
//# sourceMappingURL=Accordion-
|
|
217
|
+
//# sourceMappingURL=Accordion-Cn-Lzpin.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion-Cb-MHkcx.cjs","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/core/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.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 AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId = \"accordion\",\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n\r\n if (isControlled) {\r\n onToggle?.(!expanded);\r\n } else {\r\n setInternalExpanded((prev) => !prev);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","import React from \"react\";\r\nimport \"./Accordion.scss\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\n\r\nconst classes = {\r\n accordion: \"accordion\",\r\n header: \"accordion_header\",\r\n content: \"accordion_content\",\r\n icon: \"accordion_icon\",\r\n title: \"accordion_title\",\r\n\r\n shadowNone: \"accordion_shadow-None\",\r\n shadowLight: \"accordion_shadow-Light\",\r\n shadowMedium: \"accordion_shadow-Medium\",\r\n shadowStrong: \"accordion_shadow-Strong\",\r\n shadowIntense: \"accordion_shadow-Intense\",\r\n\r\n roundNone: \"accordion_round-None\",\r\n roundSmall: \"accordion_round-Small\",\r\n roundMedium: \"accordion_round-Medium\",\r\n roundLarge: \"accordion_round-Large\",\r\n\r\n disabled: \"accordion_disabled\",\r\n expanded: \"accordion_expanded\",\r\n\r\n primary: \"accordion_primary\",\r\n secondary: \"accordion_secondary\",\r\n\r\n tertiary: \"accordion_tertiary\",\r\n quaternary: \"accordion_quaternary\",\r\n\r\n success: \"accordion_success\",\r\n error: \"accordion_error\",\r\n warning: \"accordion_warning\",\r\n clear: \"accordion_clear\",\r\n outline: \"accordion_outline\",\r\n\r\n xs: \"accordion_xs\",\r\n small: \"accordion_small\",\r\n medium: \"accordion_medium\",\r\n large: \"accordion_large\",\r\n xl: \"accordion_xl\",\r\n};\r\n\r\nconst generateUniqueId = (() => {\r\n let counter = 0;\r\n return () => `accordion-core-${counter++}`;\r\n})();\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => (\r\n <AccordionBase {...props} getUniqueId={generateUniqueId} classMap={classes} />\r\n);\r\n\r\nexport default Accordion;\r\n"],"names":["getDefaultRounding","getDefaultShadow","getDefaultSize","getDefaultTheme","useMemo","useState","combineClassNames","capitalize","jsxs","jsx"],"mappings":";;;;;;AAgBO,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,WAAWA,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,OAAOC,kBAAAA,eAAA;AAAA,EACP,QAAQC,kBAAAA,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,eAAe,SAAS;AAAA,EACxB,GAAG;AACL,MAAM;AACJ,QAAM,eAAe,aAAa;AAClC,QAAM,aAAaC,MAAAA,QAAQ,aAAa,EAAE;AAC1C,QAAM,CAAC,kBAAkB,mBAAmB,IAAIC,MAAAA,SAAS,iBAAiB;AAC1E,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAAS,iBAAiB;AACxE,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,gBAAgB,iBAAiB;AAC5E,QAAM,aAAa,eAAe,WAAW;AAE7C,QAAM,YAAY,GAAG,MAAM,UAAU;AACrC,QAAM,WAAW,GAAG,MAAM,UAAU;AACpC,QAAM,SAAS,cAAc,GAAG,MAAM,UAAU,UAAU;AAE1D,QAAM,kBAAkB,MAAM;AAC5B,QAAI,SAAU;AACd,QAAI,CAAC,gBAAgB,WAAY;AAEjC,QAAI,cAAc;AAChB,2CAAW,CAAC;AAAA,IACd,OAAO;AACL,0BAAoB,CAAC,SAAS,CAAC,IAAI;AAAA,IACrC;AAAA,EACF;AAEA,QAAM,gBAAgB,CAAC,MAAqB;AAC1C,QAAI,SAAU;AACd,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,QAAE,eAAA;AACF,sBAAA;AAAA,IACF;AAAA,EACF;AAEAD,QAAAA,QAAQ,MAAM;AACZ,QAAI,cAAc,CAAC,iBAAiB;AAClC,yBAAmB,IAAI;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AAEfA,QAAAA,QAAQ,MAAM;AACZ,QAAI,gBAAgB,cAAc,WAAW;AAC3C,YAAM,QAAQ,WAAW,MAAM;AAC7B,qBAAa,KAAK;AAAA,MACpB,GAAG,GAAI;AAEP,aAAO,MAAM,aAAa,KAAK;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,cAAc,YAAY,SAAS,CAAC;AAExC,QAAM,eAAe,aAChB,sBAAsB,MACtB,uBAAuB;AAE5B,QAAM,mBAAmBA,MAAAA;AAAAA,IACvB,MACEE,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD,YAAY,SAAS;AAAA,MACrB,cAAc,SAAS;AAAA,MACvB;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,MAAM,UAAU,YAAY,SAAS;AAAA,EAAA;AAGlD,QAAM,kBAAkBH,MAAAA;AAAAA,IACtB,MACEE,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,WAAW,SAAS;AAAA,MACpB,YAAY,SAAS;AAAA,MACrB,cAAc,SAAS;AAAA,IAAA;AAAA,IAE3B,CAAC,UAAU,UAAU;AAAA,EAAA;AAGvB,QAAM,mBAAmBF,MAAAA;AAAAA,IACvB,MAAME,WAAAA,kBAAkB,SAAS,SAAS,cAAc,SAAS,QAAQ;AAAA,IACzE,CAAC,UAAU,UAAU;AAAA,EAAA;AAGvB,QAAM,gBAAgBF,MAAAA;AAAAA,IACpB,MAAME,WAAAA,kBAAkB,SAAS,MAAM,cAAc,SAAS,QAAQ;AAAA,IACtE,CAAC,UAAU,UAAU;AAAA,EAAA;AAGvB,SACEE,2BAAAA,KAAC,OAAA,EAAK,GAAG,MAAM,WAAW,kBACxB,UAAA;AAAA,IAAAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,oBAAkB;AAAA,QAClB,UAAU,WAAW,KAAK;AAAA,QAC1B;AAAA,QACA,eAAa,SAAS,GAAG,MAAM,sBAAsB;AAAA,QAEpD,UAAA;AAAA,UAAA,iBAAiB,UAChBC,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,cACX,eAAY;AAAA,cACZ,eAAa,SAAS,GAAG,MAAM,UAAU;AAAA,cAExC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGLA,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,SAAS;AAAA,cACpB,eAAa,SAAS,GAAG,MAAM,WAAW;AAAA,cAEzC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,iBAAiB,WAChBA,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,cACX,eAAY;AAAA,cACZ,eAAa,SAAS,GAAG,MAAM,UAAU;AAAA,cAExC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,IAIH,eACCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QACJ,WAAU;AAAA,QACV,eAAa,SAAS,GAAG,MAAM,iBAAiB;AAAA,QAE/C,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAILD,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QACJ,MAAK;AAAA,QACL,mBAAiB;AAAA,QACjB,WAAW;AAAA,QACX,cAAY,aAAa,SAAS;AAAA,QAClC,eAAa,SAAS,GAAG,MAAM,aAAa;AAAA,QAE3C,UAAA;AAAA,UAAA,cAAc,gBAAgB,aAC7BC,2BAAAA,IAAC,SAAI,WAAW,SAAS,SAAS,UAAA,aAAA,CAAU;AAAA,WAE5C,CAAC,YAAY,qBACZ,CAAC,gBAAgB,CAAC,cACnB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACF;AAEJ;AAEA,cAAc,cAAc;ACrM5B,MAAM,UAAU;AAAA,EACd,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,UAAU;AAAA,EACV,UAAU;AAAA,EAEV,SAAS;AAAA,EACT,WAAW;AAAA,EAEX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EAET,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AACN;AAEA,MAAM,mBAAoB,uBAAM;AAC9B,MAAI,UAAU;AACd,SAAO,MAAM,kBAAkB,SAAS;AAC1C,GAAA;AAEA,MAAM,YAAsC,CAAC,UAC3CA,2BAAAA,IAAC,eAAA,EAAe,GAAG,OAAO,aAAa,kBAAkB,UAAU,QAAA,CAAS;;"}
|
|
1
|
+
{"version":3,"file":"Accordion-Cn-Lzpin.cjs","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/core/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.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 AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId = \"accordion\",\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n\r\n if (isControlled) {\r\n onToggle?.(!expanded);\r\n } else {\r\n setInternalExpanded((prev) => !prev);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","import React from \"react\";\r\nimport \"./Accordion.scss\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\n\r\nconst classes = {\r\n accordion: \"accordion\",\r\n header: \"accordion_header\",\r\n content: \"accordion_content\",\r\n icon: \"accordion_icon\",\r\n title: \"accordion_title\",\r\n\r\n shadowNone: \"accordion_shadow-None\",\r\n shadowLight: \"accordion_shadow-Light\",\r\n shadowMedium: \"accordion_shadow-Medium\",\r\n shadowStrong: \"accordion_shadow-Strong\",\r\n shadowIntense: \"accordion_shadow-Intense\",\r\n\r\n roundNone: \"accordion_round-None\",\r\n roundSmall: \"accordion_round-Small\",\r\n roundMedium: \"accordion_round-Medium\",\r\n roundLarge: \"accordion_round-Large\",\r\n\r\n disabled: \"accordion_disabled\",\r\n expanded: \"accordion_expanded\",\r\n\r\n primary: \"accordion_primary\",\r\n secondary: \"accordion_secondary\",\r\n\r\n tertiary: \"accordion_tertiary\",\r\n quaternary: \"accordion_quaternary\",\r\n\r\n success: \"accordion_success\",\r\n error: \"accordion_error\",\r\n warning: \"accordion_warning\",\r\n clear: \"accordion_clear\",\r\n outline: \"accordion_outline\",\r\n\r\n xs: \"accordion_xs\",\r\n small: \"accordion_small\",\r\n medium: \"accordion_medium\",\r\n large: \"accordion_large\",\r\n xl: \"accordion_xl\",\r\n};\r\n\r\nconst generateUniqueId = (() => {\r\n let counter = 0;\r\n return () => `accordion-core-${counter++}`;\r\n})();\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => (\r\n <AccordionBase {...props} getUniqueId={generateUniqueId} classMap={classes} />\r\n);\r\nAccordion.displayName = \"Accordion\";\r\nexport default Accordion;\r\n"],"names":["getDefaultRounding","getDefaultShadow","getDefaultSize","getDefaultTheme","useMemo","useState","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
|
|
@@ -211,7 +211,8 @@ const generateUniqueId = /* @__PURE__ */ (() => {
|
|
|
211
211
|
return () => `accordion-core-${counter++}`;
|
|
212
212
|
})();
|
|
213
213
|
const Accordion = (props) => /* @__PURE__ */ jsx(AccordionBase, { ...props, getUniqueId: generateUniqueId, classMap: classes });
|
|
214
|
+
Accordion.displayName = "Accordion";
|
|
214
215
|
export {
|
|
215
216
|
Accordion as A
|
|
216
217
|
};
|
|
217
|
-
//# sourceMappingURL=Accordion-
|
|
218
|
+
//# sourceMappingURL=Accordion-Cvvsfx1g.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion-DDu1TFaX.js","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/core/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.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 AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId = \"accordion\",\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n\r\n if (isControlled) {\r\n onToggle?.(!expanded);\r\n } else {\r\n setInternalExpanded((prev) => !prev);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","import React from \"react\";\r\nimport \"./Accordion.scss\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\n\r\nconst classes = {\r\n accordion: \"accordion\",\r\n header: \"accordion_header\",\r\n content: \"accordion_content\",\r\n icon: \"accordion_icon\",\r\n title: \"accordion_title\",\r\n\r\n shadowNone: \"accordion_shadow-None\",\r\n shadowLight: \"accordion_shadow-Light\",\r\n shadowMedium: \"accordion_shadow-Medium\",\r\n shadowStrong: \"accordion_shadow-Strong\",\r\n shadowIntense: \"accordion_shadow-Intense\",\r\n\r\n roundNone: \"accordion_round-None\",\r\n roundSmall: \"accordion_round-Small\",\r\n roundMedium: \"accordion_round-Medium\",\r\n roundLarge: \"accordion_round-Large\",\r\n\r\n disabled: \"accordion_disabled\",\r\n expanded: \"accordion_expanded\",\r\n\r\n primary: \"accordion_primary\",\r\n secondary: \"accordion_secondary\",\r\n\r\n tertiary: \"accordion_tertiary\",\r\n quaternary: \"accordion_quaternary\",\r\n\r\n success: \"accordion_success\",\r\n error: \"accordion_error\",\r\n warning: \"accordion_warning\",\r\n clear: \"accordion_clear\",\r\n outline: \"accordion_outline\",\r\n\r\n xs: \"accordion_xs\",\r\n small: \"accordion_small\",\r\n medium: \"accordion_medium\",\r\n large: \"accordion_large\",\r\n xl: \"accordion_xl\",\r\n};\r\n\r\nconst generateUniqueId = (() => {\r\n let counter = 0;\r\n return () => `accordion-core-${counter++}`;\r\n})();\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => (\r\n <AccordionBase {...props} getUniqueId={generateUniqueId} classMap={classes} />\r\n);\r\n\r\nexport default Accordion;\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Accordion-Cvvsfx1g.js","sources":["../../src/components/Accordion/AccordionBase.tsx","../../src/components/Accordion/core/Accordion.tsx"],"sourcesContent":["import React, { useMemo, useState, KeyboardEvent } from \"react\";\r\nimport { AccordionProps } from \"./Accordion.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 AccordionBaseProps extends AccordionProps {\r\n getUniqueId: () => string;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nexport const AccordionBase: React.FC<AccordionBaseProps> = ({\r\n title,\r\n id,\r\n children,\r\n lazyLoad = false,\r\n iconPosition = \"right\",\r\n isToggleable = true,\r\n asyncContent = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n description,\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n expanded,\r\n disabled,\r\n customCollapsedIcon,\r\n customExpandedIcon,\r\n onToggle,\r\n initiallyExpanded = false,\r\n className = \"\",\r\n getUniqueId,\r\n classMap,\r\n \"data-testid\": testId = \"accordion\",\r\n ...rest\r\n}) => {\r\n const isControlled = expanded !== undefined;\r\n const internalId = useMemo(getUniqueId, []);\r\n const [internalExpanded, setInternalExpanded] = useState(initiallyExpanded);\r\n const [hasBeenExpanded, setHasBeenExpanded] = useState(initiallyExpanded);\r\n const [isLoading, setIsLoading] = useState(asyncContent && initiallyExpanded);\r\n const isExpanded = isControlled ? expanded : internalExpanded;\r\n\r\n const contentId = `${id || internalId}-content`;\r\n const buttonId = `${id || internalId}-button`;\r\n const descId = description ? `${id || internalId}-desc` : undefined;\r\n\r\n const toggleAccordion = () => {\r\n if (disabled) return;\r\n if (!isToggleable && isExpanded) return;\r\n\r\n if (isControlled) {\r\n onToggle?.(!expanded);\r\n } else {\r\n setInternalExpanded((prev) => !prev);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleAccordion();\r\n }\r\n };\r\n\r\n useMemo(() => {\r\n if (isExpanded && !hasBeenExpanded) {\r\n setHasBeenExpanded(true);\r\n }\r\n }, [isExpanded]);\r\n\r\n useMemo(() => {\r\n if (asyncContent && isExpanded && isLoading) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 1000);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [asyncContent, isExpanded, isLoading]);\r\n\r\n const renderedIcon = isExpanded\r\n ? (customExpandedIcon ?? \"−\")\r\n : (customCollapsedIcon ?? \"+\");\r\n\r\n const wrapperClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.accordion,\r\n classMap[size],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded,\r\n className\r\n ),\r\n [classMap, size, disabled, isExpanded, className]\r\n );\r\n\r\n const headerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.header,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n isExpanded && classMap.expanded\r\n ),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () => combineClassNames(classMap.content, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n const iconClassName = useMemo(\r\n () => combineClassNames(classMap.icon, isExpanded && classMap.expanded),\r\n [classMap, isExpanded]\r\n );\r\n\r\n return (\r\n <div {...rest} className={wrapperClassName}>\r\n <button\r\n id={buttonId}\r\n className={headerClassName}\r\n onClick={toggleAccordion}\r\n onKeyDown={handleKeyDown}\r\n type=\"button\"\r\n aria-expanded={isExpanded}\r\n aria-controls={contentId}\r\n aria-disabled={disabled}\r\n aria-describedby={descId}\r\n tabIndex={disabled ? -1 : 0}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-accordion-toggle` : undefined}\r\n >\r\n {iconPosition === \"left\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n <span\r\n className={classMap.accordionTitle}\r\n data-testid={testId ? `${testId}-title` : undefined}\r\n >\r\n {title}\r\n </span>\r\n {iconPosition === \"right\" && (\r\n <span\r\n className={iconClassName}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n {renderedIcon}\r\n </span>\r\n )}\r\n </button>\r\n\r\n {description && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={testId ? `${testId}-description` : undefined}\r\n >\r\n {description}\r\n </span>\r\n )}\r\n\r\n <div\r\n id={contentId}\r\n role=\"region\"\r\n aria-labelledby={buttonId}\r\n className={contentClassName}\r\n data-state={isExpanded ? \"open\" : \"collapsed\"}\r\n data-testid={testId ? `${testId}-content` : undefined}\r\n >\r\n {isExpanded && asyncContent && isLoading && (\r\n <div className={classMap.loading}>Loading...</div>\r\n )}\r\n {(!lazyLoad || hasBeenExpanded) &&\r\n (!asyncContent || !isLoading) &&\r\n children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nAccordionBase.displayName = \"AccordionBase\";\r\n","import React from \"react\";\r\nimport \"./Accordion.scss\";\r\nimport { AccordionBase } from \"../AccordionBase\";\r\nimport type { AccordionProps } from \"../Accordion.types\";\r\n\r\nconst classes = {\r\n accordion: \"accordion\",\r\n header: \"accordion_header\",\r\n content: \"accordion_content\",\r\n icon: \"accordion_icon\",\r\n title: \"accordion_title\",\r\n\r\n shadowNone: \"accordion_shadow-None\",\r\n shadowLight: \"accordion_shadow-Light\",\r\n shadowMedium: \"accordion_shadow-Medium\",\r\n shadowStrong: \"accordion_shadow-Strong\",\r\n shadowIntense: \"accordion_shadow-Intense\",\r\n\r\n roundNone: \"accordion_round-None\",\r\n roundSmall: \"accordion_round-Small\",\r\n roundMedium: \"accordion_round-Medium\",\r\n roundLarge: \"accordion_round-Large\",\r\n\r\n disabled: \"accordion_disabled\",\r\n expanded: \"accordion_expanded\",\r\n\r\n primary: \"accordion_primary\",\r\n secondary: \"accordion_secondary\",\r\n\r\n tertiary: \"accordion_tertiary\",\r\n quaternary: \"accordion_quaternary\",\r\n\r\n success: \"accordion_success\",\r\n error: \"accordion_error\",\r\n warning: \"accordion_warning\",\r\n clear: \"accordion_clear\",\r\n outline: \"accordion_outline\",\r\n\r\n xs: \"accordion_xs\",\r\n small: \"accordion_small\",\r\n medium: \"accordion_medium\",\r\n large: \"accordion_large\",\r\n xl: \"accordion_xl\",\r\n};\r\n\r\nconst generateUniqueId = (() => {\r\n let counter = 0;\r\n return () => `accordion-core-${counter++}`;\r\n})();\r\n\r\nconst Accordion: React.FC<AccordionProps> = (props) => (\r\n <AccordionBase {...props} getUniqueId={generateUniqueId} classMap={classes} />\r\n);\r\nAccordion.displayName = \"Accordion\";\r\nexport default Accordion;\r\n"],"names":[],"mappings":"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"}
|
package/dist/core/Accordion.js
CHANGED
|
@@ -244,8 +244,11 @@ const classes = {
|
|
|
244
244
|
topLeft: "avatar_status_topLeft",
|
|
245
245
|
dot: "avatar_dot"
|
|
246
246
|
};
|
|
247
|
-
const Avatar = (
|
|
247
|
+
const Avatar = forwardRef(
|
|
248
|
+
(props, ref) => /* @__PURE__ */ jsx(AvatarBase, { ...props, classMap: classes, ref })
|
|
249
|
+
);
|
|
250
|
+
Avatar.displayName = "Avatar";
|
|
248
251
|
export {
|
|
249
252
|
Avatar as A
|
|
250
253
|
};
|
|
251
|
-
//# sourceMappingURL=Avatar-
|
|
254
|
+
//# sourceMappingURL=Avatar-BM8AwOB6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar-BFec6Gv4.js","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/core/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: 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=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\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 FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\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 const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","import React from \"react\";\r\nimport \"./Avatar.scss\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\n\r\nconst classes = {\r\n avatar: \"avatar\",\r\n primary: \"avatar_primary\",\r\n secondary: \"avatar_secondary\",\r\n tertiary: \"avatar_tertiary\",\r\n quaternary: \"avatar_quaternary\",\r\n success: \"avatar_success\",\r\n warning: \"avatar_warning\",\r\n error: \"avatar_error\",\r\n clear: \"avatar_clear\",\r\n outline: \"avatar_outline\",\r\n\r\n clickable: \"avatar_clickable\",\r\n disabled: \"avatar_disabled\",\r\n\r\n circle: \"avatar_circle\",\r\n square: \"avatar_square\",\r\n rounded: \"avatar_rounded\",\r\n\r\n xs: \"avatar_xs\",\r\n small: \"avatar_small\",\r\n medium: \"avatar_medium\",\r\n large: \"avatar_large\",\r\n xl: \"avatar_xl\",\r\n\r\n shadowNone: \"avatar_shadow-None\",\r\n shadowLight: \"avatar_shadow-Light\",\r\n shadowMedium: \"avatar_shadow-Medium\",\r\n shadowStrong: \"avatar_shadow-Strong\",\r\n shadowIntense: \"avatar_shadow-Intense\",\r\n\r\n image: \"avatar_image\",\r\n initials: \"avatar_initials\",\r\n fallback_icon: \"avatar_fallback_icon\",\r\n icon_only: \"avatar_icon_only\",\r\n status: \"avatar_status\",\r\n online: \"avatar_status_online\",\r\n offline: \"avatar_status_offline\",\r\n away: \"avatar_status_away\",\r\n busy: \"avatar_status_busy\",\r\n topRight: \"avatar_status_topRight\",\r\n bottomRight: \"avatar_status_bottomRight\",\r\n bottomLeft: \"avatar_status_bottomLeft\",\r\n topLeft: \"avatar_status_topLeft\",\r\n\r\n dot: \"avatar_dot\",\r\n};\r\n\r\nconst Avatar: React.FC<AvatarProps> = (props) => (\r\n <AvatarBase {...props} classMap={classes} />\r\n);\r\n\r\nexport default Avatar;\r\n"],"names":["AvatarBase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Avatar-BM8AwOB6.js","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/core/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: 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=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\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 FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\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 const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","import { forwardRef } from \"react\";\r\nimport \"./Avatar.scss\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\n\r\nconst classes = {\r\n avatar: \"avatar\",\r\n primary: \"avatar_primary\",\r\n secondary: \"avatar_secondary\",\r\n tertiary: \"avatar_tertiary\",\r\n quaternary: \"avatar_quaternary\",\r\n success: \"avatar_success\",\r\n warning: \"avatar_warning\",\r\n error: \"avatar_error\",\r\n clear: \"avatar_clear\",\r\n outline: \"avatar_outline\",\r\n\r\n clickable: \"avatar_clickable\",\r\n disabled: \"avatar_disabled\",\r\n\r\n circle: \"avatar_circle\",\r\n square: \"avatar_square\",\r\n rounded: \"avatar_rounded\",\r\n\r\n xs: \"avatar_xs\",\r\n small: \"avatar_small\",\r\n medium: \"avatar_medium\",\r\n large: \"avatar_large\",\r\n xl: \"avatar_xl\",\r\n\r\n shadowNone: \"avatar_shadow-None\",\r\n shadowLight: \"avatar_shadow-Light\",\r\n shadowMedium: \"avatar_shadow-Medium\",\r\n shadowStrong: \"avatar_shadow-Strong\",\r\n shadowIntense: \"avatar_shadow-Intense\",\r\n\r\n image: \"avatar_image\",\r\n initials: \"avatar_initials\",\r\n fallback_icon: \"avatar_fallback_icon\",\r\n icon_only: \"avatar_icon_only\",\r\n status: \"avatar_status\",\r\n online: \"avatar_status_online\",\r\n offline: \"avatar_status_offline\",\r\n away: \"avatar_status_away\",\r\n busy: \"avatar_status_busy\",\r\n topRight: \"avatar_status_topRight\",\r\n bottomRight: \"avatar_status_bottomRight\",\r\n bottomLeft: \"avatar_status_bottomLeft\",\r\n topLeft: \"avatar_status_topLeft\",\r\n\r\n dot: \"avatar_dot\",\r\n};\r\n\r\nconst Avatar = forwardRef<HTMLButtonElement | HTMLAnchorElement, AvatarProps>(\r\n (props, ref) => <AvatarBase {...props} classMap={classes} ref={ref} />\r\n);\r\nAvatar.displayName = \"Avatar\";\r\nexport default Avatar;\r\n"],"names":["AvatarBase"],"mappings":"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"}
|
|
@@ -245,6 +245,9 @@ const classes = {
|
|
|
245
245
|
topLeft: "avatar_status_topLeft",
|
|
246
246
|
dot: "avatar_dot"
|
|
247
247
|
};
|
|
248
|
-
const Avatar =
|
|
248
|
+
const Avatar = React.forwardRef(
|
|
249
|
+
(props, ref) => /* @__PURE__ */ jsxRuntime.jsx(AvatarBase, { ...props, classMap: classes, ref })
|
|
250
|
+
);
|
|
251
|
+
Avatar.displayName = "Avatar";
|
|
249
252
|
exports.Avatar = Avatar;
|
|
250
|
-
//# sourceMappingURL=Avatar-
|
|
253
|
+
//# sourceMappingURL=Avatar-DOg8W9yf.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar-CeIz25Rt.cjs","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/core/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: 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=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\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 FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\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 const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","import React from \"react\";\r\nimport \"./Avatar.scss\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\n\r\nconst classes = {\r\n avatar: \"avatar\",\r\n primary: \"avatar_primary\",\r\n secondary: \"avatar_secondary\",\r\n tertiary: \"avatar_tertiary\",\r\n quaternary: \"avatar_quaternary\",\r\n success: \"avatar_success\",\r\n warning: \"avatar_warning\",\r\n error: \"avatar_error\",\r\n clear: \"avatar_clear\",\r\n outline: \"avatar_outline\",\r\n\r\n clickable: \"avatar_clickable\",\r\n disabled: \"avatar_disabled\",\r\n\r\n circle: \"avatar_circle\",\r\n square: \"avatar_square\",\r\n rounded: \"avatar_rounded\",\r\n\r\n xs: \"avatar_xs\",\r\n small: \"avatar_small\",\r\n medium: \"avatar_medium\",\r\n large: \"avatar_large\",\r\n xl: \"avatar_xl\",\r\n\r\n shadowNone: \"avatar_shadow-None\",\r\n shadowLight: \"avatar_shadow-Light\",\r\n shadowMedium: \"avatar_shadow-Medium\",\r\n shadowStrong: \"avatar_shadow-Strong\",\r\n shadowIntense: \"avatar_shadow-Intense\",\r\n\r\n image: \"avatar_image\",\r\n initials: \"avatar_initials\",\r\n fallback_icon: \"avatar_fallback_icon\",\r\n icon_only: \"avatar_icon_only\",\r\n status: \"avatar_status\",\r\n online: \"avatar_status_online\",\r\n offline: \"avatar_status_offline\",\r\n away: \"avatar_status_away\",\r\n busy: \"avatar_status_busy\",\r\n topRight: \"avatar_status_topRight\",\r\n bottomRight: \"avatar_status_bottomRight\",\r\n bottomLeft: \"avatar_status_bottomLeft\",\r\n topLeft: \"avatar_status_topLeft\",\r\n\r\n dot: \"avatar_dot\",\r\n};\r\n\r\nconst Avatar: React.FC<AvatarProps> = (props) => (\r\n <AvatarBase {...props} classMap={classes} />\r\n);\r\n\r\nexport default Avatar;\r\n"],"names":["jsxs","jsx","forwardRef","AvatarBase","getDefaultSize","getDefaultShadow","getDefaultTheme","useState","useMemo","combineClassNames","capitalize","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Avatar-DOg8W9yf.cjs","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/core/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: 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=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\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 FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\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 const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","import { forwardRef } from \"react\";\r\nimport \"./Avatar.scss\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\n\r\nconst classes = {\r\n avatar: \"avatar\",\r\n primary: \"avatar_primary\",\r\n secondary: \"avatar_secondary\",\r\n tertiary: \"avatar_tertiary\",\r\n quaternary: \"avatar_quaternary\",\r\n success: \"avatar_success\",\r\n warning: \"avatar_warning\",\r\n error: \"avatar_error\",\r\n clear: \"avatar_clear\",\r\n outline: \"avatar_outline\",\r\n\r\n clickable: \"avatar_clickable\",\r\n disabled: \"avatar_disabled\",\r\n\r\n circle: \"avatar_circle\",\r\n square: \"avatar_square\",\r\n rounded: \"avatar_rounded\",\r\n\r\n xs: \"avatar_xs\",\r\n small: \"avatar_small\",\r\n medium: \"avatar_medium\",\r\n large: \"avatar_large\",\r\n xl: \"avatar_xl\",\r\n\r\n shadowNone: \"avatar_shadow-None\",\r\n shadowLight: \"avatar_shadow-Light\",\r\n shadowMedium: \"avatar_shadow-Medium\",\r\n shadowStrong: \"avatar_shadow-Strong\",\r\n shadowIntense: \"avatar_shadow-Intense\",\r\n\r\n image: \"avatar_image\",\r\n initials: \"avatar_initials\",\r\n fallback_icon: \"avatar_fallback_icon\",\r\n icon_only: \"avatar_icon_only\",\r\n status: \"avatar_status\",\r\n online: \"avatar_status_online\",\r\n offline: \"avatar_status_offline\",\r\n away: \"avatar_status_away\",\r\n busy: \"avatar_status_busy\",\r\n topRight: \"avatar_status_topRight\",\r\n bottomRight: \"avatar_status_bottomRight\",\r\n bottomLeft: \"avatar_status_bottomLeft\",\r\n topLeft: \"avatar_status_topLeft\",\r\n\r\n dot: \"avatar_dot\",\r\n};\r\n\r\nconst Avatar = forwardRef<HTMLButtonElement | HTMLAnchorElement, AvatarProps>(\r\n (props, ref) => <AvatarBase {...props} classMap={classes} ref={ref} />\r\n);\r\nAvatar.displayName = \"Avatar\";\r\nexport default Avatar;\r\n"],"names":["jsxs","jsx","forwardRef","AvatarBase","getDefaultSize","getDefaultShadow","getDefaultTheme","useState","useMemo","combineClassNames","capitalize","Fragment"],"mappings":"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"}
|
package/dist/core/Avatar.cjs.js
CHANGED
package/dist/core/Avatar.js
CHANGED
|
@@ -153,5 +153,6 @@ const classes = {
|
|
|
153
153
|
const Badge = (props) => {
|
|
154
154
|
return /* @__PURE__ */ jsxRuntime.jsx(BadgeBase, { ...props, classMap: classes });
|
|
155
155
|
};
|
|
156
|
+
Badge.displayName = "Badge";
|
|
156
157
|
exports.Badge = Badge;
|
|
157
|
-
//# sourceMappingURL=Badge-
|
|
158
|
+
//# sourceMappingURL=Badge-DOn6E2bS.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge-
|
|
1
|
+
{"version":3,"file":"Badge-DOn6E2bS.cjs","sources":["../../src/components/Badge/BadgeBase.tsx","../../src/components/Badge/core/Badge.tsx"],"sourcesContent":["import React, { useMemo, MouseEvent } from \"react\";\r\nimport { BadgeBaseProps } from \"./Badge.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 const BadgeBase: React.FC<BadgeBaseProps> = ({\r\n text,\r\n children,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n disabled = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n title,\r\n size = getDefaultSize(),\r\n outline = false,\r\n icon: Icon,\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"badge\",\r\n onClick,\r\n href,\r\n ...rest\r\n}: BadgeBaseProps) => {\r\n if (!text && !children) return null;\r\n\r\n const content = children ?? text;\r\n const label = typeof content === \"string\" ? content : text;\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.badge,\r\n classMap[size],\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n size,\r\n theme,\r\n state,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n onClick,\r\n href,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n const needsAriaLabel = typeof content !== \"string\";\r\n\r\n const inner = (\r\n <>\r\n {Icon && (\r\n <Icon\r\n className={classMap.badge_icon}\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n />\r\n )}\r\n {content}\r\n </>\r\n );\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return (\r\n <a\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n title={title ?? (typeof label === \"string\" ? label : undefined)}\r\n {...(needsAriaLabel ? { \"aria-label\": label } : {})}\r\n aria-disabled={disabled || undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {inner}\r\n </a>\r\n );\r\n }\r\n\r\n if (onClick) {\r\n return (\r\n <button\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n title={title ?? (typeof label === \"string\" ? label : undefined)}\r\n {...(needsAriaLabel ? { \"aria-label\": label } : {})}\r\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {inner}\r\n </button>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={combinedClassName}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n title={title ?? (typeof label === \"string\" ? label : undefined)}\r\n {...(needsAriaLabel ? { \"aria-label\": label } : {})}\r\n >\r\n {inner}\r\n </span>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./Badge.scss\";\r\nimport { BadgeBase } from \"../BadgeBase\";\r\nimport { BadgeProps } from \"../Badge.types\";\r\n\r\nconst classes = {\r\n badge: \"badge\",\r\n\r\n primary: \"badge_primary\",\r\n secondary: \"badge_secondary\",\r\n tertiary: \"badge_tertiary\",\r\n quaternary: \"badge_quaternary\",\r\n clear: \"badge_clear\",\r\n\r\n success: \"badge_success\",\r\n error: \"badge_error\",\r\n warning: \"badge_warning\",\r\n\r\n xs: \"badge_xs\",\r\n small: \"badge_small\",\r\n medium: \"badge_medium\",\r\n large: \"badge_large\",\r\n xl: \"badge_xl\",\r\n\r\n shadowNone: \"badge_shadow-None\",\r\n shadowLight: \"badge_shadow-Light\",\r\n shadowMedium: \"badge_shadow-Medium\",\r\n shadowStrong: \"badge_shadow-Strong\",\r\n shadowIntense: \"badge_shadow-Intense\",\r\n\r\n roundNone: \"badge_round-None\",\r\n roundSmall: \"badge_round-Small\",\r\n roundMedium: \"badge_round-Medium\",\r\n roundLarge: \"badge_round-Large\",\r\n\r\n outline: \"badge_outline\",\r\n disabled: \"badge_disabled\",\r\n icon: \"badge_icon\",\r\n clickable: \"badge_clickable\",\r\n};\r\n\r\nconst Badge: React.FC<BadgeProps> = (props) => {\r\n return <BadgeBase {...props} classMap={classes} />;\r\n};\r\nBadge.displayName = \"Badge\";\r\nexport default Badge;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useMemo","combineClassNames","capitalize","jsxs","Fragment","jsx"],"mappings":"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"}
|
|
@@ -152,7 +152,8 @@ const classes = {
|
|
|
152
152
|
const Badge = (props) => {
|
|
153
153
|
return /* @__PURE__ */ jsx(BadgeBase, { ...props, classMap: classes });
|
|
154
154
|
};
|
|
155
|
+
Badge.displayName = "Badge";
|
|
155
156
|
export {
|
|
156
157
|
Badge as B
|
|
157
158
|
};
|
|
158
|
-
//# sourceMappingURL=Badge-
|
|
159
|
+
//# sourceMappingURL=Badge-Dpjq6lUF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge-
|
|
1
|
+
{"version":3,"file":"Badge-Dpjq6lUF.js","sources":["../../src/components/Badge/BadgeBase.tsx","../../src/components/Badge/core/Badge.tsx"],"sourcesContent":["import React, { useMemo, MouseEvent } from \"react\";\r\nimport { BadgeBaseProps } from \"./Badge.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 const BadgeBase: React.FC<BadgeBaseProps> = ({\r\n text,\r\n children,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n disabled = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n title,\r\n size = getDefaultSize(),\r\n outline = false,\r\n icon: Icon,\r\n className = \"\",\r\n classMap,\r\n \"data-testid\": testId = \"badge\",\r\n onClick,\r\n href,\r\n ...rest\r\n}: BadgeBaseProps) => {\r\n if (!text && !children) return null;\r\n\r\n const content = children ?? text;\r\n const label = typeof content === \"string\" ? content : text;\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.badge,\r\n classMap[size],\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n size,\r\n theme,\r\n state,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n onClick,\r\n href,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n const needsAriaLabel = typeof content !== \"string\";\r\n\r\n const inner = (\r\n <>\r\n {Icon && (\r\n <Icon\r\n className={classMap.badge_icon}\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n />\r\n )}\r\n {content}\r\n </>\r\n );\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return (\r\n <a\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n title={title ?? (typeof label === \"string\" ? label : undefined)}\r\n {...(needsAriaLabel ? { \"aria-label\": label } : {})}\r\n aria-disabled={disabled || undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {inner}\r\n </a>\r\n );\r\n }\r\n\r\n if (onClick) {\r\n return (\r\n <button\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n title={title ?? (typeof label === \"string\" ? label : undefined)}\r\n {...(needsAriaLabel ? { \"aria-label\": label } : {})}\r\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {inner}\r\n </button>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={combinedClassName}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n title={title ?? (typeof label === \"string\" ? label : undefined)}\r\n {...(needsAriaLabel ? { \"aria-label\": label } : {})}\r\n >\r\n {inner}\r\n </span>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./Badge.scss\";\r\nimport { BadgeBase } from \"../BadgeBase\";\r\nimport { BadgeProps } from \"../Badge.types\";\r\n\r\nconst classes = {\r\n badge: \"badge\",\r\n\r\n primary: \"badge_primary\",\r\n secondary: \"badge_secondary\",\r\n tertiary: \"badge_tertiary\",\r\n quaternary: \"badge_quaternary\",\r\n clear: \"badge_clear\",\r\n\r\n success: \"badge_success\",\r\n error: \"badge_error\",\r\n warning: \"badge_warning\",\r\n\r\n xs: \"badge_xs\",\r\n small: \"badge_small\",\r\n medium: \"badge_medium\",\r\n large: \"badge_large\",\r\n xl: \"badge_xl\",\r\n\r\n shadowNone: \"badge_shadow-None\",\r\n shadowLight: \"badge_shadow-Light\",\r\n shadowMedium: \"badge_shadow-Medium\",\r\n shadowStrong: \"badge_shadow-Strong\",\r\n shadowIntense: \"badge_shadow-Intense\",\r\n\r\n roundNone: \"badge_round-None\",\r\n roundSmall: \"badge_round-Small\",\r\n roundMedium: \"badge_round-Medium\",\r\n roundLarge: \"badge_round-Large\",\r\n\r\n outline: \"badge_outline\",\r\n disabled: \"badge_disabled\",\r\n icon: \"badge_icon\",\r\n clickable: \"badge_clickable\",\r\n};\r\n\r\nconst Badge: React.FC<BadgeProps> = (props) => {\r\n return <BadgeBase {...props} classMap={classes} />;\r\n};\r\nBadge.displayName = \"Badge\";\r\nexport default Badge;\r\n"],"names":[],"mappings":";;;;;AAWO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA,QAAQ,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,OAAO,eAAA;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ;AAAA,EACA,eAAe,SAAS;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAsB;AACpB,MAAI,CAAC,QAAQ,CAAC,SAAU,QAAO;AAE/B,QAAM,UAAU,YAAY;AAC5B,QAAM,QAAQ,OAAO,YAAY,WAAW,UAAU;AAEtD,QAAM,oBAAoB;AAAA,IACxB,MACE;AAAA,MACE,SAAS;AAAA,MACT,SAAS,IAAI;AAAA,MACb,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD,YAAY,SAAS;AAAA,MACrB,WAAW,SAAS;AAAA,MACpB,WAAW,SAAS;AAAA,MACpB;AAAA,IAAA;AAAA,IAEJ;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAGF,QAAM,cAAc,CAAC,MAA+B;AAClD,QAAI,UAAU;AACZ,QAAE,eAAA;AACF,QAAE,gBAAA;AACF;AAAA,IACF;AACA,uCAAU;AAAA,EACZ;AAEA,QAAM,iBAAiB,OAAO,YAAY;AAE1C,QAAM,QACJ,qBAAA,UAAA,EACG,UAAA;AAAA,IAAA,QACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,SAAS;AAAA,QACpB,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,eAAa,SAAS,GAAG,MAAM,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAG5C;AAAA,EAAA,GACH;AAGF,MAAI,MAAM;AACR,UAAM,SAAS,gBAAgB,KAAK,IAAI;AACxC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,WAAW,SAAY;AAAA,QAC7B,WAAW;AAAA,QACX,SAAS;AAAA,QACT,eAAa,SAAS,GAAG,MAAM,UAAU;AAAA,QACzC,OAAO,UAAU,OAAO,UAAU,WAAW,QAAQ;AAAA,QACpD,GAAI,iBAAiB,EAAE,cAAc,MAAA,IAAU,CAAA;AAAA,QAChD,iBAAe,YAAY;AAAA,QAC3B,UAAU,WAAW,KAAK;AAAA,QAC1B,QAAQ,UAAU,CAAC,WAAW,WAAW;AAAA,QACzC,KAAK,UAAU,CAAC,WAAW,wBAAwB;AAAA,QAClD,GAAI;AAAA,QAEJ,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,MAAI,SAAS;AACX,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA,QACA,eAAa,SAAS,GAAG,MAAM,UAAU;AAAA,QACzC,OAAO,UAAU,OAAO,UAAU,WAAW,QAAQ;AAAA,QACpD,GAAI,iBAAiB,EAAE,cAAc,MAAA,IAAU,CAAA;AAAA,QAC/C,GAAI;AAAA,QAEJ,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,eAAa,SAAS,GAAG,MAAM,UAAU;AAAA,MACzC,OAAO,UAAU,OAAO,UAAU,WAAW,QAAQ;AAAA,MACpD,GAAI,iBAAiB,EAAE,cAAc,MAAA,IAAU,CAAA;AAAA,MAE/C,UAAA;AAAA,IAAA;AAAA,EAAA;AAGP;ACpIA,MAAM,UAAU;AAAA,EACd,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EAET,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AACb;AAEA,MAAM,QAA8B,CAAC,UAAU;AAC7C,SAAO,oBAAC,WAAA,EAAW,GAAG,OAAO,UAAU,SAAS;AAClD;AACA,MAAM,cAAc;"}
|
package/dist/core/Badge.cjs.js
CHANGED
package/dist/core/Badge.js
CHANGED
|
@@ -6,7 +6,7 @@ const ArrowRightIcon = require("./ArrowRightIcon-ClXQHGAD.cjs");
|
|
|
6
6
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
7
7
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
8
8
|
;/* empty css */
|
|
9
|
-
const Button = require("./Button-
|
|
9
|
+
const Button = require("./Button-zvElXSem.cjs");
|
|
10
10
|
const ELLIPSIS_LABEL = "…";
|
|
11
11
|
const BreadcrumbsBase = ({
|
|
12
12
|
items,
|
|
@@ -187,6 +187,7 @@ const classes = {
|
|
|
187
187
|
const Breadcrumbs = (props) => {
|
|
188
188
|
return /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbsBase, { ...props, classMap: classes, ButtonComponent: Button.Button });
|
|
189
189
|
};
|
|
190
|
+
Breadcrumbs.displayName = "Breadcrumbs";
|
|
190
191
|
exports.Breadcrumbs = Breadcrumbs;
|
|
191
192
|
exports.ELLIPSIS_LABEL = ELLIPSIS_LABEL;
|
|
192
|
-
//# sourceMappingURL=Breadcrumbs-
|
|
193
|
+
//# sourceMappingURL=Breadcrumbs-BUc98niR.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs-DeUAfwz-.cjs","sources":["../../src/components/Breadcrumbs/Breadcrumbs.types.ts","../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/core/Breadcrumbs.tsx"],"sourcesContent":["import {\r\n RoundingType,\r\n ShadowType,\r\n SizeType,\r\n StateType,\r\n ThemeType,\r\n} from \"@/types/types\";\r\n\r\n/**\r\n * A breadcrumb item used to define a single step in the navigation path.\r\n */\r\nexport interface Breadcrumb {\r\n /**\r\n * The display label for the breadcrumb.\r\n */\r\n label: string;\r\n\r\n /**\r\n * Optional URL the breadcrumb should link to.\r\n * If not provided, it is rendered as plain text.\r\n */\r\n href?: string;\r\n}\r\n\r\n/**\r\n * Props for the Breadcrumbs component.\r\n */\r\nexport interface BreadcrumbsProps {\r\n /**\r\n * An array of breadcrumb items.\r\n */\r\n items: Breadcrumb[];\r\n\r\n /**\r\n * Disables interaction and styles as disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional custom separator node between breadcrumb items.\r\n * Defaults to a right chevron icon.\r\n */\r\n separator?: React.ReactNode;\r\n\r\n /**\r\n * Theme style to apply to the breadcrumbs\r\n * ('primary' | 'secondary' | 'tertiary' | 'quaternary' | 'clear').\r\n */\r\n theme?: ThemeType;\r\n\r\n /**\r\n * Rounding style to apply to the breadcrumbs\r\n * ('none' | 'small' | 'medium' | 'large' | 'full').\r\n */\r\n rounding?: RoundingType;\r\n\r\n /**\r\n * Shadow style to apply to the breadcrumbs\r\n * ('none' | 'light' | 'medium' | 'strong' | 'intense').\r\n */\r\n shadow?: ShadowType;\r\n\r\n /**\r\n * State of the breadcrumbs\r\n * ('success' | 'error' | 'warning' | 'disabled' | '').\r\n * Used for visual feedback.\r\n */\r\n state?: StateType;\r\n\r\n /**\r\n * Size of the breadcrumbs\r\n * ('xs' | 'small' | 'medium' | 'large' | 'xl').\r\n */\r\n size?: SizeType;\r\n\r\n /**\r\n * Additional class name for custom styling.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether to use the outline style.\r\n */\r\n outline?: boolean;\r\n\r\n /**\r\n * Maximum number of visible items before collapsing into an ellipsis.\r\n */\r\n maxVisible?: number;\r\n\r\n /**\r\n * Optional test ID for testing frameworks.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * Label used to represent collapsed breadcrumb items.\r\n */\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport interface BreadcrumbsBaseProps extends BreadcrumbsProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n ButtonComponent: React.ElementType;\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbsBaseProps,\r\n ELLIPSIS_LABEL,\r\n} from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\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 const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const handleExpand = () => setIsExpanded(true);\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\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 disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active\r\n );\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n onClick={disabled ? undefined : handleExpand}\r\n disabled={disabled}\r\n tabIndex={disabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n disabled ? (\r\n // Disabled: render non-interactive label for links\r\n <span\r\n className={classMap.link_disabled}\r\n title={item.label}\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={item.label}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","import React from \"react\";\r\nimport \"./Breadcrumbs.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport { Button } from \"../../../index.core\";\r\n\r\nconst classes = {\r\n breadcrumbs: \"breadcrumbs\",\r\n\r\n primary: \"breadcrumbs_primary\",\r\n secondary: \"breadcrumbs_secondary\",\r\n tertiary: \"breadcrumbs_tertiary\",\r\n quaternary: \"breadcrumbs_quaternary\",\r\n\r\n success: \"breadcrumbs_success\",\r\n warning: \"breadcrumbs_warning\",\r\n error: \"breadcrumbs_error\",\r\n\r\n clear: \"breadcrumbs_clear\",\r\n\r\n outline: \"breadcrumbs_outline\",\r\n disabled: \"breadcrumbs_disabled\",\r\n\r\n shadowNone: \"breadcrumbs_shadow-None\",\r\n shadowLight: \"breadcrumbs_shadow-Light\",\r\n shadowMedium: \"breadcrumbs_shadow-Medium\",\r\n shadowStrong: \"breadcrumbs_shadow-Strong\",\r\n shadowIntense: \"breadcrumbs_shadow-Intense\",\r\n\r\n roundNone: \"breadcrumbs_round-None\",\r\n roundSmall: \"breadcrumbs_round-Small\",\r\n roundMedium: \"breadcrumbs_round-Medium\",\r\n roundLarge: \"breadcrumbs_round-Large\",\r\n\r\n xs: \"breadcrumbs_xs\",\r\n small: \"breadcrumbs_small\",\r\n medium: \"breadcrumbs_medium\",\r\n large: \"breadcrumbs_large\",\r\n xl: \"breadcrumbs_xl\",\r\n\r\n list: \"breadcrumbs_list\",\r\n item: \"breadcrumbs_item\",\r\n item_animate: \"breadcrumbs_item_animate\",\r\n item_active: \"breadcrumbs_item_active\",\r\n ellipsis: \"breadcrumbs_ellipsis\",\r\n link: \"breadcrumbs_link\",\r\n link_label: \"breadcrumbs_link_label\",\r\n current: \"breadcrumbs_current\",\r\n separator: \"breadcrumbs_separator\",\r\n separator_icon: \"breadcrumbs_separator_icon\",\r\n};\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase {...props} classMap={classes} ButtonComponent={Button} />\r\n );\r\n};\r\n\r\nexport default Breadcrumbs;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useState","useMemo","combineClassNames","capitalize","jsx","jsxs","ArrowRightIcon","Button"],"mappings":";;;;;;;;;AAmGO,MAAM,iBAAiB;ACnFvB,MAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA,QAAQA,kBAAAA,gBAAA;AAAA,EACR,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAOC,kBAAAA,eAAA;AAAA,EACP,UAAU;AAAA,EACV,YAAY;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,IAAIC,MAAAA,SAAS,KAAK;AAClD,QAAM,eAAe,MAAM,cAAc,IAAI;AAE7C,MAAI,CAAC,SAAS,MAAM,WAAW,EAAG,QAAO;AAEzC,QAAM,eAA6BC,MAAAA,QAAQ,MAAM;AAC/C,QAAI,cAAc,CAAC,cAAc,MAAM,UAAU,WAAY,QAAO;AACpE,UAAM,QAAQ,MAAM,CAAC;AACrB,UAAM,YAAY,MAAM,MAAM,MAAM,UAAU,aAAa,EAAE;AAC7D,WAAO,CAAC,OAAO,EAAE,OAAO,eAAA,GAAkB,GAAG,SAAS;AAAA,EACxD,GAAG,CAAC,OAAO,YAAY,UAAU,CAAC;AAElC,QAAM,mBAAmBA,MAAAA;AAAAA,IACvB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,MACb,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,MACnD,YAAY,SAAS;AAAA,MACrB,WAAW,SAAS;AAAA,MACpB;AAAA,IAAA;AAAA,IAEJ;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAGF,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAW;AAAA,MACX,eAAa,SAAS,GAAG,MAAM,mBAAmB;AAAA,MAClD,WAAW;AAAA,MAEX,UAAAA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAa,SAAS,GAAG,MAAM,cAAc;AAAA,UAC7C,WAAS;AAAA,UACT,UAAS;AAAA,UAER,UAAA,aAAa,IAAI,CAAC,MAAM,UAAU;AACjC,kBAAM,SAAS,UAAU,aAAa,SAAS;AAC/C,kBAAM,aAAa,KAAK,UAAU;AAElC,kBAAM,gBAAgBF,WAAAA;AAAAA,cACpB,SAAS;AAAA,cACT,cAAc,CAAC,cAAc,SAAS;AAAA,cACtC,UAAU,SAAS;AAAA,YAAA;AAGrB,mBACEG,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,eAAa,SAAS,GAAG,MAAM,cAAc;AAAA,gBAE7C,WAAW;AAAA,gBACX,UAAS;AAAA,gBACT,WAAS;AAAA,gBACT,UAAS;AAAA,gBAER,UAAA;AAAA,kBAAA,aACCD,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,MAAK;AAAA,sBACL,WAAW,SAAS;AAAA,sBACpB,cAAW;AAAA,sBACX,iBAAe;AAAA,sBACf,SAAS,WAAW,SAAY;AAAA,sBAChC;AAAA,sBACA,UAAU,WAAW,KAAK;AAAA,sBAC1B,eAAa,SAAS,GAAG,MAAM,cAAc;AAAA,sBAE5C,UAAA,KAAK;AAAA,oBAAA;AAAA,kBAAA,IAEN,KAAK,QAAQ,CAAC,SAChB;AAAA;AAAA,oBAEEA,2BAAAA;AAAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,WAAW,SAAS;AAAA,wBACpB,OAAO,KAAK;AAAA,wBACZ,UAAS;AAAA,wBACT,eACE,SAAS,GAAG,MAAM,oBAAoB;AAAA,wBAGvC,UAAA,KAAK;AAAA,sBAAA;AAAA,oBAAA;AAAA,sBAGRA,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAM,KAAK;AAAA,sBACX,WAAW,SAAS;AAAA,sBACpB,OAAO,KAAK;AAAA,sBACZ,UAAS;AAAA,sBACT,eACE,SAAS,GAAG,MAAM,oBAAoB;AAAA,sBAGxC,UAAAA,2BAAAA,IAAC,UAAK,UAAS,QAAO,WAAW,SAAS,YACvC,eAAK,MAAA,CACR;AAAA,oBAAA;AAAA,kBAAA,IAIJA,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAW,SAAS;AAAA,sBACpB,UAAS;AAAA,sBACT,gBAAa;AAAA,sBACb,eACE,SAAS,GAAG,MAAM,sBAAsB;AAAA,sBAGzC,UAAA,KAAK;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAIT,CAAC,UACAA,2BAAAA,IAAC,QAAA,EAAK,WAAW,SAAS,WAAW,eAAY,QAC9C,UAAA,aAAaA,2BAAAA,IAACE,eAAAA,gBAAA,CAAA,CAAe,GAChC;AAAA,kBAEFF,+BAAC,UAAK,UAAS,YAAW,SAAS,GAAG,QAAQ,CAAC,GAAA,CAAI;AAAA,gBAAA;AAAA,cAAA;AAAA,cAlE9C,GAAG,KAAK,KAAK,IAAI,KAAK,QAAQ,KAAK;AAAA,YAAA;AAAA,UAqE9C,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;AAEA,gBAAgB,cAAc;ACrK9B,MAAM,UAAU;AAAA,EACd,aAAa;AAAA,EAEb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,UAAU;AAAA,EAEV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,cAAc;AAAA,EACd,aAAa;AAAA,EACb,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AAAA,EACX,gBAAgB;AAClB;AAEA,MAAM,cAA0C,CAAC,UAAU;AACzD,wCACG,iBAAA,EAAiB,GAAG,OAAO,UAAU,SAAS,iBAAiBG,OAAAA,QAAQ;AAE5E;;;"}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs-BUc98niR.cjs","sources":["../../src/components/Breadcrumbs/Breadcrumbs.types.ts","../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/core/Breadcrumbs.tsx"],"sourcesContent":["import {\r\n RoundingType,\r\n ShadowType,\r\n SizeType,\r\n StateType,\r\n ThemeType,\r\n} from \"@/types/types\";\r\n\r\n/**\r\n * A breadcrumb item used to define a single step in the navigation path.\r\n */\r\nexport interface Breadcrumb {\r\n /**\r\n * The display label for the breadcrumb.\r\n */\r\n label: string;\r\n\r\n /**\r\n * Optional URL the breadcrumb should link to.\r\n * If not provided, it is rendered as plain text.\r\n */\r\n href?: string;\r\n}\r\n\r\n/**\r\n * Props for the Breadcrumbs component.\r\n */\r\nexport interface BreadcrumbsProps {\r\n /**\r\n * An array of breadcrumb items.\r\n */\r\n items: Breadcrumb[];\r\n\r\n /**\r\n * Disables interaction and styles as disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional custom separator node between breadcrumb items.\r\n * Defaults to a right chevron icon.\r\n */\r\n separator?: React.ReactNode;\r\n\r\n /**\r\n * Theme style to apply to the breadcrumbs\r\n * ('primary' | 'secondary' | 'tertiary' | 'quaternary' | 'clear').\r\n */\r\n theme?: ThemeType;\r\n\r\n /**\r\n * Rounding style to apply to the breadcrumbs\r\n * ('none' | 'small' | 'medium' | 'large' | 'full').\r\n */\r\n rounding?: RoundingType;\r\n\r\n /**\r\n * Shadow style to apply to the breadcrumbs\r\n * ('none' | 'light' | 'medium' | 'strong' | 'intense').\r\n */\r\n shadow?: ShadowType;\r\n\r\n /**\r\n * State of the breadcrumbs\r\n * ('success' | 'error' | 'warning' | 'disabled' | '').\r\n * Used for visual feedback.\r\n */\r\n state?: StateType;\r\n\r\n /**\r\n * Size of the breadcrumbs\r\n * ('xs' | 'small' | 'medium' | 'large' | 'xl').\r\n */\r\n size?: SizeType;\r\n\r\n /**\r\n * Additional class name for custom styling.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether to use the outline style.\r\n */\r\n outline?: boolean;\r\n\r\n /**\r\n * Maximum number of visible items before collapsing into an ellipsis.\r\n */\r\n maxVisible?: number;\r\n\r\n /**\r\n * Optional test ID for testing frameworks.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * Label used to represent collapsed breadcrumb items.\r\n */\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport interface BreadcrumbsBaseProps extends BreadcrumbsProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n ButtonComponent: React.ElementType;\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbsBaseProps,\r\n ELLIPSIS_LABEL,\r\n} from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\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 const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const handleExpand = () => setIsExpanded(true);\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\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 disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active\r\n );\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n onClick={disabled ? undefined : handleExpand}\r\n disabled={disabled}\r\n tabIndex={disabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n disabled ? (\r\n // Disabled: render non-interactive label for links\r\n <span\r\n className={classMap.link_disabled}\r\n title={item.label}\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={item.label}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","import React from \"react\";\r\nimport \"./Breadcrumbs.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport { Button } from \"../../../index.core\";\r\n\r\nconst classes = {\r\n breadcrumbs: \"breadcrumbs\",\r\n\r\n primary: \"breadcrumbs_primary\",\r\n secondary: \"breadcrumbs_secondary\",\r\n tertiary: \"breadcrumbs_tertiary\",\r\n quaternary: \"breadcrumbs_quaternary\",\r\n\r\n success: \"breadcrumbs_success\",\r\n warning: \"breadcrumbs_warning\",\r\n error: \"breadcrumbs_error\",\r\n\r\n clear: \"breadcrumbs_clear\",\r\n\r\n outline: \"breadcrumbs_outline\",\r\n disabled: \"breadcrumbs_disabled\",\r\n\r\n shadowNone: \"breadcrumbs_shadow-None\",\r\n shadowLight: \"breadcrumbs_shadow-Light\",\r\n shadowMedium: \"breadcrumbs_shadow-Medium\",\r\n shadowStrong: \"breadcrumbs_shadow-Strong\",\r\n shadowIntense: \"breadcrumbs_shadow-Intense\",\r\n\r\n roundNone: \"breadcrumbs_round-None\",\r\n roundSmall: \"breadcrumbs_round-Small\",\r\n roundMedium: \"breadcrumbs_round-Medium\",\r\n roundLarge: \"breadcrumbs_round-Large\",\r\n\r\n xs: \"breadcrumbs_xs\",\r\n small: \"breadcrumbs_small\",\r\n medium: \"breadcrumbs_medium\",\r\n large: \"breadcrumbs_large\",\r\n xl: \"breadcrumbs_xl\",\r\n\r\n list: \"breadcrumbs_list\",\r\n item: \"breadcrumbs_item\",\r\n item_animate: \"breadcrumbs_item_animate\",\r\n item_active: \"breadcrumbs_item_active\",\r\n ellipsis: \"breadcrumbs_ellipsis\",\r\n link: \"breadcrumbs_link\",\r\n link_label: \"breadcrumbs_link_label\",\r\n current: \"breadcrumbs_current\",\r\n separator: \"breadcrumbs_separator\",\r\n separator_icon: \"breadcrumbs_separator_icon\",\r\n};\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase {...props} classMap={classes} ButtonComponent={Button} />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useState","useMemo","combineClassNames","capitalize","jsx","jsxs","ArrowRightIcon","Button"],"mappings":"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"}
|