boreal-ui 0.0.35 → 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-D6hxjkE1.cjs → Accordion-Cn-Lzpin.cjs} +7 -2
- package/dist/core/Accordion-Cn-Lzpin.cjs.map +1 -0
- package/dist/core/{Accordion-CY5BCoA7.js → Accordion-Cvvsfx1g.js} +7 -2
- package/dist/core/Accordion-Cvvsfx1g.js.map +1 -0
- 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-DOn6E2bS.cjs.map +1 -0
- package/dist/core/{Badge-MiX5w_Ui.js → Badge-Dpjq6lUF.js} +2 -1
- package/dist/core/Badge-Dpjq6lUF.js.map +1 -0
- package/dist/core/Badge.cjs.js +1 -1
- package/dist/core/Badge.js +1 -1
- package/dist/core/{Breadcrumbs-hKtLDMrC.cjs → Breadcrumbs-BUc98niR.cjs} +3 -2
- package/dist/core/Breadcrumbs-BUc98niR.cjs.map +1 -0
- package/dist/core/{Breadcrumbs-BulpkVaU.js → Breadcrumbs-Bh_Ocv4_.js} +3 -2
- package/dist/core/Breadcrumbs-Bh_Ocv4_.js.map +1 -0
- package/dist/core/Breadcrumbs.cjs.js +1 -1
- package/dist/core/Breadcrumbs.js +1 -1
- package/dist/core/{Button-sz60qyTn.js → Button-CC0Q_XPy.js} +21 -16
- package/dist/core/Button-CC0Q_XPy.js.map +1 -0
- package/dist/core/{Button-CD1ETVvS.cjs → Button-zvElXSem.cjs} +21 -16
- package/dist/core/Button-zvElXSem.cjs.map +1 -0
- package/dist/core/Button.cjs.js +1 -1
- package/dist/core/Button.js +1 -1
- package/dist/core/{Card-Bagax-bx.js → Card-B7Hjcknf.js} +9 -8
- package/dist/core/Card-B7Hjcknf.js.map +1 -0
- package/dist/core/{Card-DtHJdWNq.cjs → Card-Bp8OvH80.cjs} +9 -8
- package/dist/core/Card-Bp8OvH80.cjs.map +1 -0
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/CheckBox.cjs.js +1 -1
- package/dist/core/CheckBox.js +1 -1
- package/dist/core/{Checkbox-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-C8spwPgH.cjs → Chip-CWsfLyyU.cjs} +3 -2
- package/dist/core/Chip-CWsfLyyU.cjs.map +1 -0
- package/dist/core/{Chip-DxwLK-G6.js → Chip-D4vbSudX.js} +3 -2
- package/dist/core/Chip-D4vbSudX.js.map +1 -0
- 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-SxHF3-VM.cjs → CommandPalette-CXKBDCbP.cjs} +3 -2
- package/dist/core/{CommandPalette-SxHF3-VM.cjs.map → CommandPalette-CXKBDCbP.cjs.map} +1 -1
- package/dist/core/{CommandPalette-Dmy5lWzv.js → CommandPalette-N556smLj.js} +3 -2
- package/dist/core/{CommandPalette-Dmy5lWzv.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-Cq_QZBV5.js → DateTimePicker-BzS1nP5J.js} +3 -2
- package/dist/core/DateTimePicker-BzS1nP5J.js.map +1 -0
- package/dist/core/{DateTimePicker-DU-vjgee.cjs → DateTimePicker-D7bRXphw.cjs} +3 -2
- package/dist/core/DateTimePicker-D7bRXphw.cjs.map +1 -0
- 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-GA_yvFVS.js → Dropdown-CwofYHjq.js} +3 -2
- package/dist/core/Dropdown-CwofYHjq.js.map +1 -0
- package/dist/core/{Dropdown-Dlo--tIl.cjs → Dropdown-DvwHouyC.cjs} +3 -2
- package/dist/core/Dropdown-DvwHouyC.cjs.map +1 -0
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-CSnwsLvV.js → EmptyState-Cp3ocTQX.js} +3 -2
- package/dist/core/{EmptyState-CSnwsLvV.js.map → EmptyState-Cp3ocTQX.js.map} +1 -1
- package/dist/core/{EmptyState-1ZbzRKLl.cjs → EmptyState-P-MSItCX.cjs} +3 -2
- package/dist/core/{EmptyState-1ZbzRKLl.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-aqWEEHIW.cjs → FileUpload-Du7vDDdf.cjs} +8 -7
- package/dist/core/FileUpload-Du7vDDdf.cjs.map +1 -0
- package/dist/core/{FileUpload-DJ1wI_Bm.js → FileUpload-Q8aDsaFs.js} +8 -7
- package/dist/core/FileUpload-Q8aDsaFs.js.map +1 -0
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{Footer-VpViLKN_.cjs → Footer-DMOA1W7N.cjs} +59 -43
- package/dist/core/Footer-DMOA1W7N.cjs.map +1 -0
- package/dist/core/{Footer-9x3F5gZx.js → Footer-zO4RGjCl.js} +60 -44
- 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-Bjjlbqiq.cjs → IconButton-CR9bTZoJ.cjs} +3 -2
- package/dist/core/IconButton-CR9bTZoJ.cjs.map +1 -0
- package/dist/core/{IconButton-DgfUCfo9.js → IconButton-_lxTppua.js} +3 -2
- package/dist/core/IconButton-_lxTppua.js.map +1 -0
- package/dist/core/IconButton.cjs.js +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/{MarkdownRenderer-COnLzf0t.js → MarkdownRenderer-B1LmmpZm.js} +3 -1
- package/dist/core/MarkdownRenderer-B1LmmpZm.js.map +1 -0
- package/dist/core/{MarkdownRenderer-OUEnVOLG.cjs → MarkdownRenderer-LUXCa_a8.cjs} +3 -1
- package/dist/core/MarkdownRenderer-LUXCa_a8.cjs.map +1 -0
- 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-eNK7XvUn.js → MessagePopup-BlbPMecd.js} +6 -6
- package/dist/core/MessagePopup-BlbPMecd.js.map +1 -0
- package/dist/core/{MessagePopup-D2nlhTvG.cjs → MessagePopup-hxloT7aK.cjs} +6 -6
- package/dist/core/MessagePopup-hxloT7aK.cjs.map +1 -0
- 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-B7IqleCB.cjs → Modal-D-ZoA_xx.cjs} +3 -2
- package/dist/core/Modal-D-ZoA_xx.cjs.map +1 -0
- package/dist/core/{Modal-Cy0AsPTV.js → Modal-D1G1Csp9.js} +3 -2
- package/dist/core/Modal-D1G1Csp9.js.map +1 -0
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NavBar-DUNxiip6.cjs → NavBar-Bbd3SVHi.cjs} +5 -4
- package/dist/core/NavBar-Bbd3SVHi.cjs.map +1 -0
- package/dist/core/{NavBar-CBC9YPkH.js → NavBar-DujO5gH_.js} +5 -4
- package/dist/core/NavBar-DujO5gH_.js.map +1 -0
- package/dist/core/NavBar.cjs.js +1 -1
- package/dist/core/NavBar.js +1 -1
- package/dist/core/{NotificationCenter-DgSWWT0G.js → NotificationCenter-BrUNpJAx.js} +77 -66
- package/dist/core/{NotificationCenter-DgSWWT0G.js.map → NotificationCenter-BrUNpJAx.js.map} +1 -1
- package/dist/core/{NotificationCenter-c99_Xq4J.cjs → NotificationCenter-Dqwu2Z6s.cjs} +77 -66
- package/dist/core/{NotificationCenter-c99_Xq4J.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-Dr2H_Q5L.js → Pager-CZF6O7rq.js} +4 -3
- package/dist/core/{Pager-Dr2H_Q5L.js.map → Pager-CZF6O7rq.js.map} +1 -1
- package/dist/core/{Pager-BWlXTFPR.cjs → Pager-C_SG4CIc.cjs} +4 -3
- package/dist/core/{Pager-BWlXTFPR.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-C65ai0xO.cjs → Select-B5Zoc07A.cjs} +5 -14
- package/dist/core/Select-B5Zoc07A.cjs.map +1 -0
- package/dist/core/{Select-bMjOWXRX.js → Select-DntK69DL.js} +6 -15
- package/dist/core/Select-DntK69DL.js.map +1 -0
- 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-13bKMpw7.cjs.map +1 -0
- package/dist/core/{Sidebar-CnGBAT2_.js → Sidebar-DN_J0CwY.js} +2 -1
- package/dist/core/Sidebar-DN_J0CwY.js.map +1 -0
- 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-gvaKLuno.cjs → Stepper-BuCLqbtQ.cjs} +3 -10
- package/dist/core/Stepper-BuCLqbtQ.cjs.map +1 -0
- package/dist/core/{Stepper-CxZGa2CS.js → Stepper-Cjb7ckXo.js} +3 -10
- package/dist/core/Stepper-Cjb7ckXo.js.map +1 -0
- 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-BheAr-wE.cjs.map +1 -0
- package/dist/core/{Tabs-BaKDr0uF.js → Tabs-CUDoy3wZ.js} +2 -1
- package/dist/core/Tabs-CUDoy3wZ.js.map +1 -0
- 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-5LKYwPzy.js → Taginput-CKekAR72.js} +4 -3
- package/dist/core/{Taginput-5LKYwPzy.js.map → Taginput-CKekAR72.js.map} +1 -1
- package/dist/core/{Taginput-RYBBGWLK.cjs → Taginput-DgbxDttA.cjs} +4 -3
- package/dist/core/{Taginput-RYBBGWLK.cjs.map → Taginput-DgbxDttA.cjs.map} +1 -1
- package/dist/core/{TextArea-BAFMXw6Y.cjs → TextArea-BJGUr6r_.cjs} +2 -2
- package/dist/core/{TextArea-BAFMXw6Y.cjs.map → TextArea-BJGUr6r_.cjs.map} +1 -1
- package/dist/core/{TextArea-C2S64tIN.js → TextArea-CIdsUIzt.js} +2 -2
- package/dist/core/{TextArea-C2S64tIN.js.map → TextArea-CIdsUIzt.js.map} +1 -1
- package/dist/core/TextArea.cjs.js +1 -1
- package/dist/core/TextArea.js +1 -1
- package/dist/core/{TextInput-DQPZXEA2.js → TextInput-7kV66ccj.js} +2 -2
- package/dist/core/TextInput-7kV66ccj.js.map +1 -0
- package/dist/core/{TextInput-5Bpg7Tdt.cjs → TextInput-DFOjxri2.cjs} +2 -2
- package/dist/core/TextInput-DFOjxri2.cjs.map +1 -0
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/{ThemeContext-D_SPnedS.cjs → ThemeContext-D1AV88GN.cjs} +2 -1
- package/dist/core/ThemeContext-D1AV88GN.cjs.map +1 -0
- package/dist/{next/ThemeContext-DJ18CFaV.js → core/ThemeContext-DSYDwr2m.js} +2 -1
- package/dist/core/ThemeContext-DSYDwr2m.js.map +1 -0
- package/dist/core/ThemeProvider.cjs.js +1 -1
- package/dist/core/ThemeProvider.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/{Tooltip-iUp73wB4.js → Tooltip-BzRqlOTz.js} +3 -5
- package/dist/core/Tooltip-BzRqlOTz.js.map +1 -0
- package/dist/core/{Tooltip-BzmV7ztl.cjs → Tooltip-DS7DSyij.cjs} +2 -4
- package/dist/core/Tooltip-DS7DSyij.cjs.map +1 -0
- package/dist/core/Tooltip.cjs.js +1 -1
- package/dist/core/Tooltip.js +1 -1
- package/dist/core/index.cjs.js +56 -57
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +58 -59
- package/dist/core/index.js.map +1 -1
- package/dist/core/style.css +6701 -1913
- package/dist/next/{Accordion-81qBJa4M.js → Accordion-BkiAI6vY.js} +59 -52
- package/dist/next/Accordion-BkiAI6vY.js.map +1 -0
- package/dist/next/{Accordion-CmbMyudL.cjs → Accordion-DKNh8FaP.cjs} +59 -52
- package/dist/next/Accordion-DKNh8FaP.cjs.map +1 -0
- package/dist/next/Accordion.cjs.js +1 -1
- package/dist/next/Accordion.js +1 -1
- package/dist/next/{Avatar-hwM3F1Jw.cjs → Avatar-Ctm74prt.cjs} +59 -55
- package/dist/next/{Avatar-hwM3F1Jw.cjs.map → Avatar-Ctm74prt.cjs.map} +1 -1
- package/dist/next/{Avatar-96V7QHyt.js → Avatar-ijMVfQpY.js} +59 -55
- package/dist/next/{Avatar-96V7QHyt.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-DLSfi5vo.cjs → Badge-DbmM5wGc.cjs} +32 -31
- package/dist/next/Badge-DbmM5wGc.cjs.map +1 -0
- package/dist/next/{Badge-BG9cWEDv.js → Badge-k6Dk5S_p.js} +32 -31
- package/dist/next/Badge-k6Dk5S_p.js.map +1 -0
- package/dist/next/Badge.cjs.js +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-veVO4yuY.cjs → Breadcrumbs-BrH6_8Kt.cjs} +39 -38
- package/dist/next/Breadcrumbs-BrH6_8Kt.cjs.map +1 -0
- package/dist/next/{Breadcrumbs-IO2iNAjN.js → Breadcrumbs-CWv3TrV_.js} +39 -38
- package/dist/next/Breadcrumbs-CWv3TrV_.js.map +1 -0
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-DN8rTQSp.js → Button-BjY7f3mw.js} +66 -63
- package/dist/next/Button-BjY7f3mw.js.map +1 -0
- package/dist/next/{Button-sIKQmn_c.cjs → Button-D8Kff8sN.cjs} +66 -63
- package/dist/next/Button-D8Kff8sN.cjs.map +1 -0
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-CAH-CrbH.cjs → Card-9Uf34mPf.cjs} +73 -68
- package/dist/next/Card-9Uf34mPf.cjs.map +1 -0
- package/dist/next/{Card-KFr31XTs.js → Card-CL8WOI8g.js} +73 -68
- package/dist/next/Card-CL8WOI8g.js.map +1 -0
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.cjs.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/{Checkbox-DXRmAtTt.cjs → Checkbox-B-y0lEjJ.cjs} +46 -47
- package/dist/next/{Checkbox-DXRmAtTt.cjs.map → Checkbox-B-y0lEjJ.cjs.map} +1 -1
- package/dist/next/{Checkbox-CU-XrZC7.js → Checkbox-DVr6H6mN.js} +46 -47
- package/dist/next/{Checkbox-CU-XrZC7.js.map → Checkbox-DVr6H6mN.js.map} +1 -1
- package/dist/next/{Chip-C7w9CTed.cjs → Chip-C4-KUcHh.cjs} +52 -51
- package/dist/next/Chip-C4-KUcHh.cjs.map +1 -0
- package/dist/next/{Chip-Qa_1km99.js → Chip-C8ayWG9-.js} +52 -51
- package/dist/next/Chip-C8ayWG9-.js.map +1 -0
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CircularProgress-C3vHw9Vz.js → CircularProgress-Cz9G0WeQ.js} +48 -47
- package/dist/next/{CircularProgress-C3vHw9Vz.js.map → CircularProgress-Cz9G0WeQ.js.map} +1 -1
- package/dist/next/{CircularProgress-B0pzDdsh.cjs → CircularProgress-UhpLA94q.cjs} +48 -47
- package/dist/next/{CircularProgress-B0pzDdsh.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-4Fw0fwbk.js → ColorPicker-1naDOGhp.js} +43 -40
- package/dist/next/{ColorPicker-4Fw0fwbk.js.map → ColorPicker-1naDOGhp.js.map} +1 -1
- package/dist/next/{ColorPicker-CDHrECBi.cjs → ColorPicker-DvgeIT_p.cjs} +43 -40
- package/dist/next/{ColorPicker-CDHrECBi.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-D6ZeGNWl.js → CommandPalette-XP4v5FE6.js} +43 -42
- package/dist/next/{CommandPalette-D6ZeGNWl.js.map → CommandPalette-XP4v5FE6.js.map} +1 -1
- package/dist/next/{CommandPalette-DHTJFymB.cjs → CommandPalette-ypXbi8zW.cjs} +43 -42
- package/dist/next/{CommandPalette-DHTJFymB.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-D17xbmiu.js → DataTable-jUelgv2H.js} +42 -41
- package/dist/next/{DataTable-D17xbmiu.js.map → DataTable-jUelgv2H.js.map} +1 -1
- package/dist/next/{DataTable-B0-pq0MG.cjs → DataTable-jq0suGoA.cjs} +42 -41
- package/dist/next/{DataTable-B0-pq0MG.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-BJnnZBgd.js → DateTimePicker-BTm6T3-E.js} +55 -33
- package/dist/next/DateTimePicker-BTm6T3-E.js.map +1 -0
- package/dist/next/{DateTimePicker-DivMR4Oe.cjs → DateTimePicker-D5gEfxvd.cjs} +55 -33
- package/dist/next/DateTimePicker-D5gEfxvd.cjs.map +1 -0
- package/dist/next/DateTimePicker.cjs.js +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Divider-BGf_EQkK.js → Divider-BYKFFi3a.js} +39 -17
- package/dist/next/{Divider-BGf_EQkK.js.map → Divider-BYKFFi3a.js.map} +1 -1
- package/dist/next/{Divider-Bew1Qx5f.cjs → Divider-CczNc7mx.cjs} +39 -17
- package/dist/next/{Divider-Bew1Qx5f.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-BvUfz8G7.js → Dropdown-CJGb6wyQ.js} +24 -21
- package/dist/next/Dropdown-CJGb6wyQ.js.map +1 -0
- package/dist/next/{Dropdown-BbdsK4H6.cjs → Dropdown-yaMx19im.cjs} +24 -21
- package/dist/next/Dropdown-yaMx19im.cjs.map +1 -0
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-DMIL8ecB.cjs → EmptyState-CGPIGpz2.cjs} +39 -38
- package/dist/next/{EmptyState-DMIL8ecB.cjs.map → EmptyState-CGPIGpz2.cjs.map} +1 -1
- package/dist/next/{EmptyState-CNii02MI.js → EmptyState-DIymA2cZ.js} +39 -38
- package/dist/next/{EmptyState-CNii02MI.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-BxmKK5BE.js → FileUpload-CIued3w1.js} +56 -53
- package/dist/next/{FileUpload-BxmKK5BE.js.map → FileUpload-CIued3w1.js.map} +1 -1
- package/dist/next/{FileUpload-C95H9D4N.cjs → FileUpload-MVXOV0j9.cjs} +56 -53
- package/dist/next/{FileUpload-C95H9D4N.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-DhBE3lNY.js → Footer-BeT6tWIv.js} +100 -83
- package/dist/next/Footer-BeT6tWIv.js.map +1 -0
- package/dist/next/{Footer-C98DQNB3.cjs → Footer-C_hq989i.cjs} +99 -82
- 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-DXvH4AmB.cjs → FormGroup-6Ss6pNqV.cjs} +40 -37
- package/dist/next/{FormGroup-DXvH4AmB.cjs.map → FormGroup-6Ss6pNqV.cjs.map} +1 -1
- package/dist/next/{FormGroup-DSDuqKWJ.js → FormGroup-DbUqgg_b.js} +40 -37
- package/dist/next/{FormGroup-DSDuqKWJ.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/{IconButton-C3WpabtT.cjs → IconButton-VSz8qAIg.cjs} +43 -51
- package/dist/next/{IconButton-C3WpabtT.cjs.map → IconButton-VSz8qAIg.cjs.map} +1 -1
- package/dist/next/{IconButton-B_j-S10f.js → IconButton-qQljwBB2.js} +43 -51
- package/dist/next/{IconButton-B_j-S10f.js.map → IconButton-qQljwBB2.js.map} +1 -1
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/{MarkdownRenderer-r0prlhyN.js → MarkdownRenderer-B7lwemDw.js} +14 -12
- package/dist/next/MarkdownRenderer-B7lwemDw.js.map +1 -0
- package/dist/next/{MarkdownRenderer-ByOcqHm_.cjs → MarkdownRenderer-BvfBDz9X.cjs} +14 -12
- package/dist/next/MarkdownRenderer-BvfBDz9X.cjs.map +1 -0
- 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-BFKRiymY.js → MessagePopup-B5OaSUBr.js} +21 -18
- package/dist/next/MessagePopup-B5OaSUBr.js.map +1 -0
- package/dist/next/{MessagePopup-CcM5nRAG.cjs → MessagePopup-BQ4OFvwo.cjs} +21 -18
- package/dist/next/MessagePopup-BQ4OFvwo.cjs.map +1 -0
- package/dist/next/{MetricBox-B9AG8u6p.cjs → MetricBox-BylPOvoO.cjs} +64 -63
- package/dist/next/{MetricBox-B9AG8u6p.cjs.map → MetricBox-BylPOvoO.cjs.map} +1 -1
- package/dist/next/{MetricBox-CM85hhlk.js → MetricBox-Dl3iruBZ.js} +64 -63
- package/dist/next/{MetricBox-CM85hhlk.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-DIZf7sgL.js → Modal-BARibygG.js} +18 -17
- package/dist/next/Modal-BARibygG.js.map +1 -0
- package/dist/next/{Modal-hk84_P6s.cjs → Modal-CevpqeOy.cjs} +18 -17
- package/dist/next/Modal-CevpqeOy.cjs.map +1 -0
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-kgNrVtKB.js → NavBar-Bucpo8_3.js} +41 -39
- package/dist/next/NavBar-Bucpo8_3.js.map +1 -0
- package/dist/next/{NavBar-yvxI6w8C.cjs → NavBar-C5FBdZT6.cjs} +41 -39
- package/dist/next/NavBar-C5FBdZT6.cjs.map +1 -0
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-CLMiEWUG.cjs → NotificationCenter-BD58bbOZ.cjs} +127 -105
- package/dist/next/{NotificationCenter-CLMiEWUG.cjs.map → NotificationCenter-BD58bbOZ.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-D3Eucn9z.js → NotificationCenter-CSwbscYh.js} +127 -105
- package/dist/next/{NotificationCenter-D3Eucn9z.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-BpTg_723.cjs → Pager-B-xaM28_.cjs} +9 -8
- package/dist/next/{Pager-BpTg_723.cjs.map → Pager-B-xaM28_.cjs.map} +1 -1
- package/dist/next/{Pager-nKqhRoht.js → Pager-DWzCtb2Q.js} +9 -8
- package/dist/next/{Pager-nKqhRoht.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-DoS-aqXT.cjs → PopOver-Dp4eqN8G.cjs} +41 -40
- package/dist/next/{PopOver-DoS-aqXT.cjs.map → PopOver-Dp4eqN8G.cjs.map} +1 -1
- package/dist/next/{PopOver-BBFa0Sr0.js → PopOver-QAYHaYcd.js} +41 -40
- package/dist/next/{PopOver-BBFa0Sr0.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-BIojCvdG.js → ProgressBar-BrO0fvaM.js} +44 -43
- package/dist/next/{ProgressBar-BIojCvdG.js.map → ProgressBar-BrO0fvaM.js.map} +1 -1
- package/dist/next/{ProgressBar-DyyIhH1C.cjs → ProgressBar-DfXSlpKX.cjs} +44 -43
- package/dist/next/{ProgressBar-DyyIhH1C.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-V4J4u58H.cjs → RadioButton-6cb-ZRjy.cjs} +41 -41
- package/dist/next/{RadioButton-V4J4u58H.cjs.map → RadioButton-6cb-ZRjy.cjs.map} +1 -1
- package/dist/next/{RadioButton-B2yQz2_q.js → RadioButton-Dz_e0WUT.js} +43 -43
- package/dist/next/{RadioButton-B2yQz2_q.js.map → RadioButton-Dz_e0WUT.js.map} +1 -1
- package/dist/next/RadioButton.cjs.js +1 -1
- package/dist/next/RadioButton.js +1 -1
- package/dist/next/{Rating-C1Lb-VqV.cjs → Rating-C4pqzKNQ.cjs} +36 -35
- package/dist/next/{Rating-C1Lb-VqV.cjs.map → Rating-C4pqzKNQ.cjs.map} +1 -1
- package/dist/next/{Rating-DQsfA43l.js → Rating-DbQ61tMY.js} +36 -35
- package/dist/next/{Rating-DQsfA43l.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-BygzgjFx.cjs → STT-C6kV0zwW.cjs} +15 -14
- package/dist/next/{STT-BygzgjFx.cjs.map → STT-C6kV0zwW.cjs.map} +1 -1
- package/dist/next/{STT-DKdM1tbk.js → STT-CCzJFcVP.js} +15 -14
- package/dist/next/{STT-DKdM1tbk.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-D4QdlQ6W.cjs → Select-CSAN6B98.cjs} +54 -68
- package/dist/next/Select-CSAN6B98.cjs.map +1 -0
- package/dist/next/{Select-B3JaOW2f.js → Select-CZivQIlV.js} +55 -69
- package/dist/next/Select-CZivQIlV.js.map +1 -0
- package/dist/next/Select.cjs.js +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/{Sidebar-C6NbdjWV.js → Sidebar-BVeRWv61.js} +55 -74
- package/dist/next/Sidebar-BVeRWv61.js.map +1 -0
- package/dist/next/{Sidebar-CbQ4ssz-.cjs → Sidebar-DcDJjNrK.cjs} +55 -74
- package/dist/next/Sidebar-DcDJjNrK.cjs.map +1 -0
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Skeleton-BCbvshNz.cjs → Skeleton-JgU17y-3.cjs} +27 -26
- package/dist/next/{Skeleton-BCbvshNz.cjs.map → Skeleton-JgU17y-3.cjs.map} +1 -1
- package/dist/next/{Skeleton-D8Jqmncm.js → Skeleton-rSW1X4hk.js} +27 -26
- package/dist/next/{Skeleton-D8Jqmncm.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-BLoEjvbT.cjs → Slider-B8e96nMm.cjs} +44 -43
- package/dist/next/{Slider-BLoEjvbT.cjs.map → Slider-B8e96nMm.cjs.map} +1 -1
- package/dist/next/{Slider-q_hjFuqb.js → Slider-CdSPPw1x.js} +44 -43
- package/dist/next/{Slider-q_hjFuqb.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-Bk_yQWCK.cjs → Spinner-B89FhxVt.cjs} +45 -34
- package/dist/next/{Spinner-Bk_yQWCK.cjs.map → Spinner-B89FhxVt.cjs.map} +1 -1
- package/dist/next/{Spinner-CagtJg0l.js → Spinner-ChiOXzru.js} +45 -34
- package/dist/next/{Spinner-CagtJg0l.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-b-0SYFcE.js → Stepper-9uHSgp7y.js} +47 -60
- package/dist/next/{Stepper-b-0SYFcE.js.map → Stepper-9uHSgp7y.js.map} +1 -1
- package/dist/next/{Stepper-CWXKcAae.cjs → Stepper-UwSloxRf.cjs} +47 -60
- package/dist/next/{Stepper-CWXKcAae.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-B94nrX75.js → Tabs-CvYx2xtH.js} +45 -44
- package/dist/next/Tabs-CvYx2xtH.js.map +1 -0
- package/dist/next/{Tabs-Dom5sh_U.cjs → Tabs-D2jqRrxR.cjs} +45 -44
- package/dist/next/Tabs-D2jqRrxR.cjs.map +1 -0
- package/dist/next/Tabs.cjs.js +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-C8hyzJ7f.js → TagInput-DUWgLslk.js} +56 -55
- package/dist/next/{TagInput-C8hyzJ7f.js.map → TagInput-DUWgLslk.js.map} +1 -1
- package/dist/next/{TagInput-B6PAcCaw.cjs → TagInput-Dym0BPK1.cjs} +56 -55
- package/dist/next/{TagInput-B6PAcCaw.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/{TextArea-Cn2q5KhJ.cjs → TextArea-9AvILSCY.cjs} +37 -37
- package/dist/next/{TextArea-Cn2q5KhJ.cjs.map → TextArea-9AvILSCY.cjs.map} +1 -1
- package/dist/next/{TextArea-C9VGM6pu.js → TextArea-xg4t0Lzo.js} +37 -37
- package/dist/next/{TextArea-C9VGM6pu.js.map → TextArea-xg4t0Lzo.js.map} +1 -1
- package/dist/next/TextArea.cjs.js +1 -1
- package/dist/next/TextArea.js +1 -1
- package/dist/next/{TextInput-CUBY6wCB.cjs → TextInput-Cr0WjibW.cjs} +37 -58
- package/dist/next/TextInput-Cr0WjibW.cjs.map +1 -0
- package/dist/next/{TextInput-Zywm-WEW.js → TextInput-D9dzooMU.js} +37 -58
- package/dist/next/TextInput-D9dzooMU.js.map +1 -0
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/{core/ThemeContext-DJ18CFaV.js → next/ThemeContext-DSYDwr2m.js} +2 -1
- package/dist/next/ThemeContext-DSYDwr2m.js.map +1 -0
- package/dist/next/{ThemeContext-Iy-HHefR.cjs → ThemeContext-npFEznyu.cjs} +2 -1
- package/dist/next/ThemeContext-npFEznyu.cjs.map +1 -0
- package/dist/next/ThemeProvider.cjs.js +1 -1
- package/dist/next/ThemeProvider.js +1 -1
- package/dist/next/{Timeline-CQxYIXCz.js → Timeline-Cg0FWWVc.js} +33 -47
- package/dist/next/{Timeline-CQxYIXCz.js.map → Timeline-Cg0FWWVc.js.map} +1 -1
- package/dist/next/{Timeline-BWx1ROuN.cjs → Timeline-DXSXZumg.cjs} +33 -47
- package/dist/next/{Timeline-BWx1ROuN.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-Cs4ail9L.cjs → Toggle-BNK7uC_N.cjs} +36 -35
- package/dist/next/{Toggle-Cs4ail9L.cjs.map → Toggle-BNK7uC_N.cjs.map} +1 -1
- package/dist/next/{Toggle-Br6GTHrq.js → Toggle-CnpONDwl.js} +36 -35
- package/dist/next/{Toggle-Br6GTHrq.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-DgiSHpuZ.js → Toolbar-007Q19jl.js} +36 -35
- package/dist/next/{Toolbar-DgiSHpuZ.js.map → Toolbar-007Q19jl.js.map} +1 -1
- package/dist/next/{Toolbar-CyjJbHtq.cjs → Toolbar-DHUozW08.cjs} +36 -35
- package/dist/next/{Toolbar-CyjJbHtq.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/{Tooltip-D5_lSH1z.js → Tooltip-2XEuDIAw.js} +41 -43
- package/dist/next/Tooltip-2XEuDIAw.js.map +1 -0
- package/dist/next/{Tooltip-1m3gCuRE.cjs → Tooltip-FCqrcC7D.cjs} +40 -42
- package/dist/next/Tooltip-FCqrcC7D.cjs.map +1 -0
- package/dist/next/Tooltip.cjs.js +1 -1
- package/dist/next/Tooltip.js +1 -1
- package/dist/next/index.cjs.js +49 -58
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +50 -59
- package/dist/next/index.js.map +1 -1
- package/dist/next/style.css +13026 -8293
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Accordion/AccordionBase.d.ts.map +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/Badge/BadgeBase.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsBase.d.ts.map +1 -1
- package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
- package/dist/types/components/Button/core/Button.d.ts +1 -2
- package/dist/types/components/Button/core/Button.d.ts.map +1 -1
- package/dist/types/components/Button/next/Button.d.ts +1 -2
- package/dist/types/components/Button/next/Button.d.ts.map +1 -1
- package/dist/types/components/Card/Card.types.d.ts +27 -6
- package/dist/types/components/Card/Card.types.d.ts.map +1 -1
- package/dist/types/components/Card/CardBase.d.ts.map +1 -1
- package/dist/types/components/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/ChipBase.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/DateTimePicker/DateTimePickerBase.d.ts.map +1 -1
- package/dist/types/components/Divider/Divider.types.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/Dropdown/Dropdown.types.d.ts +4 -1
- package/dist/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownBase.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyState.types.d.ts +2 -1
- package/dist/types/components/EmptyState/EmptyState.types.d.ts.map +1 -1
- package/dist/types/components/FileUpload/FileUpload.types.d.ts +8 -4
- package/dist/types/components/FileUpload/FileUpload.types.d.ts.map +1 -1
- package/dist/types/components/Footer/Footer.types.d.ts +33 -11
- package/dist/types/components/Footer/Footer.types.d.ts.map +1 -1
- package/dist/types/components/Footer/FooterBase.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.types.d.ts +4 -0
- package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
- package/dist/types/components/IconButton/core/IconButton.d.ts +1 -2
- package/dist/types/components/IconButton/core/IconButton.d.ts.map +1 -1
- package/dist/types/components/IconButton/next/IconButton.d.ts +2 -3
- package/dist/types/components/IconButton/next/IconButton.d.ts.map +1 -1
- package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
- package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts +8 -2
- package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts.map +1 -1
- package/dist/types/components/MessagePopUp/core/MessagePopup.d.ts.map +1 -1
- package/dist/types/components/Modal/Modal.types.d.ts +4 -1
- package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts +4 -2
- package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/NotificationCenterBase.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
- package/dist/types/components/Pager/Pager.types.d.ts +4 -2
- package/dist/types/components/Pager/Pager.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/Select.types.d.ts +7 -0
- package/dist/types/components/Select/Select.types.d.ts.map +1 -1
- package/dist/types/components/Select/SelectBase.d.ts.map +1 -1
- package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts +2 -10
- package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts.map +1 -1
- package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts +2 -10
- 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/Sidebar/SidebarBase.d.ts.map +1 -1
- package/dist/types/components/Sidebar/next/Sidebar.d.ts.map +1 -1
- package/dist/types/components/Stepper/Stepper.types.d.ts +2 -1
- package/dist/types/components/Stepper/Stepper.types.d.ts.map +1 -1
- package/dist/types/components/Stepper/StepperBase.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tabs.types.d.ts +2 -0
- package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/types/components/TagInput/Taginput.types.d.ts +4 -2
- package/dist/types/components/TagInput/Taginput.types.d.ts.map +1 -1
- package/dist/types/components/TextInput/TextInput.types.d.ts +5 -0
- package/dist/types/components/TextInput/TextInput.types.d.ts.map +1 -1
- package/dist/types/components/TextInput/TextInputBase.d.ts +2 -5
- package/dist/types/components/TextInput/TextInputBase.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/dist/types/components/Toolbar/Toolbar.types.d.ts +2 -1
- package/dist/types/components/Toolbar/Toolbar.types.d.ts.map +1 -1
- package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
- package/dist/types/context/ThemeContext.d.ts.map +1 -1
- package/package.json +13 -4
- package/dist/core/Accordion-CY5BCoA7.js.map +0 -1
- package/dist/core/Accordion-D6hxjkE1.cjs.map +0 -1
- package/dist/core/Badge-C6qp0Eym.cjs.map +0 -1
- package/dist/core/Badge-MiX5w_Ui.js.map +0 -1
- package/dist/core/Breadcrumbs-BulpkVaU.js.map +0 -1
- package/dist/core/Breadcrumbs-hKtLDMrC.cjs.map +0 -1
- package/dist/core/Button-CD1ETVvS.cjs.map +0 -1
- package/dist/core/Button-sz60qyTn.js.map +0 -1
- package/dist/core/Card-Bagax-bx.js.map +0 -1
- package/dist/core/Card-DtHJdWNq.cjs.map +0 -1
- package/dist/core/Checkbox-CkidkPsK.js.map +0 -1
- package/dist/core/Checkbox-dcfbhcGR.cjs.map +0 -1
- package/dist/core/Chip-C8spwPgH.cjs.map +0 -1
- package/dist/core/Chip-DxwLK-G6.js.map +0 -1
- package/dist/core/DateTimePicker-Cq_QZBV5.js.map +0 -1
- package/dist/core/DateTimePicker-DU-vjgee.cjs.map +0 -1
- package/dist/core/Dropdown-Dlo--tIl.cjs.map +0 -1
- package/dist/core/Dropdown-GA_yvFVS.js.map +0 -1
- package/dist/core/FileUpload-DJ1wI_Bm.js.map +0 -1
- package/dist/core/FileUpload-aqWEEHIW.cjs.map +0 -1
- package/dist/core/Footer-9x3F5gZx.js.map +0 -1
- package/dist/core/Footer-VpViLKN_.cjs.map +0 -1
- package/dist/core/IconButton-Bjjlbqiq.cjs.map +0 -1
- package/dist/core/IconButton-DgfUCfo9.js.map +0 -1
- package/dist/core/MarkdownRenderer-COnLzf0t.js.map +0 -1
- package/dist/core/MarkdownRenderer-OUEnVOLG.cjs.map +0 -1
- package/dist/core/MessagePopup-D2nlhTvG.cjs.map +0 -1
- package/dist/core/MessagePopup-eNK7XvUn.js.map +0 -1
- package/dist/core/Modal-B7IqleCB.cjs.map +0 -1
- package/dist/core/Modal-Cy0AsPTV.js.map +0 -1
- package/dist/core/NavBar-CBC9YPkH.js.map +0 -1
- package/dist/core/NavBar-DUNxiip6.cjs.map +0 -1
- package/dist/core/RadioButton-B8QehL7o.js.map +0 -1
- package/dist/core/Select-C65ai0xO.cjs.map +0 -1
- package/dist/core/Select-bMjOWXRX.js.map +0 -1
- package/dist/core/Sidebar-BoMGJwqC.cjs.map +0 -1
- package/dist/core/Sidebar-CnGBAT2_.js.map +0 -1
- package/dist/core/Stepper-CxZGa2CS.js.map +0 -1
- package/dist/core/Stepper-gvaKLuno.cjs.map +0 -1
- package/dist/core/Tabs-BaKDr0uF.js.map +0 -1
- package/dist/core/Tabs-C6lDM19i.cjs.map +0 -1
- package/dist/core/TextInput-5Bpg7Tdt.cjs.map +0 -1
- package/dist/core/TextInput-DQPZXEA2.js.map +0 -1
- package/dist/core/ThemeContext-DJ18CFaV.js.map +0 -1
- package/dist/core/ThemeContext-D_SPnedS.cjs.map +0 -1
- package/dist/core/Toggle-Dor7IEx3.cjs.map +0 -1
- package/dist/core/Toggle-sPyKNt4P.js.map +0 -1
- package/dist/core/Tooltip-BzmV7ztl.cjs.map +0 -1
- package/dist/core/Tooltip-iUp73wB4.js.map +0 -1
- package/dist/next/Accordion-81qBJa4M.js.map +0 -1
- package/dist/next/Accordion-CmbMyudL.cjs.map +0 -1
- package/dist/next/Badge-BG9cWEDv.js.map +0 -1
- package/dist/next/Badge-DLSfi5vo.cjs.map +0 -1
- package/dist/next/Breadcrumbs-IO2iNAjN.js.map +0 -1
- package/dist/next/Breadcrumbs-veVO4yuY.cjs.map +0 -1
- package/dist/next/Button-DN8rTQSp.js.map +0 -1
- package/dist/next/Button-sIKQmn_c.cjs.map +0 -1
- package/dist/next/Card-CAH-CrbH.cjs.map +0 -1
- package/dist/next/Card-KFr31XTs.js.map +0 -1
- package/dist/next/Chip-C7w9CTed.cjs.map +0 -1
- package/dist/next/Chip-Qa_1km99.js.map +0 -1
- package/dist/next/DateTimePicker-BJnnZBgd.js.map +0 -1
- package/dist/next/DateTimePicker-DivMR4Oe.cjs.map +0 -1
- package/dist/next/Dropdown-BbdsK4H6.cjs.map +0 -1
- package/dist/next/Dropdown-BvUfz8G7.js.map +0 -1
- package/dist/next/Footer-C98DQNB3.cjs.map +0 -1
- package/dist/next/Footer-DhBE3lNY.js.map +0 -1
- package/dist/next/MarkdownRenderer-ByOcqHm_.cjs.map +0 -1
- package/dist/next/MarkdownRenderer-r0prlhyN.js.map +0 -1
- package/dist/next/MessagePopup-BFKRiymY.js.map +0 -1
- package/dist/next/MessagePopup-CcM5nRAG.cjs.map +0 -1
- package/dist/next/Modal-DIZf7sgL.js.map +0 -1
- package/dist/next/Modal-hk84_P6s.cjs.map +0 -1
- package/dist/next/NavBar-kgNrVtKB.js.map +0 -1
- package/dist/next/NavBar-yvxI6w8C.cjs.map +0 -1
- package/dist/next/Select-B3JaOW2f.js.map +0 -1
- package/dist/next/Select-D4QdlQ6W.cjs.map +0 -1
- package/dist/next/Sidebar-C6NbdjWV.js.map +0 -1
- package/dist/next/Sidebar-CbQ4ssz-.cjs.map +0 -1
- package/dist/next/Tabs-B94nrX75.js.map +0 -1
- package/dist/next/Tabs-Dom5sh_U.cjs.map +0 -1
- package/dist/next/TextInput-CUBY6wCB.cjs.map +0 -1
- package/dist/next/TextInput-Zywm-WEW.js.map +0 -1
- package/dist/next/ThemeContext-DJ18CFaV.js.map +0 -1
- package/dist/next/ThemeContext-Iy-HHefR.cjs.map +0 -1
- package/dist/next/Tooltip-1m3gCuRE.cjs.map +0 -1
- package/dist/next/Tooltip-D5_lSH1z.js.map +0 -1
- package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts +0 -24
- package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts.map +0 -1
|
@@ -43,7 +43,11 @@ const AccordionBase = ({
|
|
|
43
43
|
const toggleAccordion = () => {
|
|
44
44
|
if (disabled) return;
|
|
45
45
|
if (!isToggleable && isExpanded) return;
|
|
46
|
-
|
|
46
|
+
if (isControlled) {
|
|
47
|
+
onToggle == null ? void 0 : onToggle(!expanded);
|
|
48
|
+
} else {
|
|
49
|
+
setInternalExpanded((prev) => !prev);
|
|
50
|
+
}
|
|
47
51
|
};
|
|
48
52
|
const handleKeyDown = (e) => {
|
|
49
53
|
if (disabled) return;
|
|
@@ -208,5 +212,6 @@ const generateUniqueId = /* @__PURE__ */ (() => {
|
|
|
208
212
|
return () => `accordion-core-${counter++}`;
|
|
209
213
|
})();
|
|
210
214
|
const Accordion = (props) => /* @__PURE__ */ jsxRuntime.jsx(AccordionBase, { ...props, getUniqueId: generateUniqueId, classMap: classes });
|
|
215
|
+
Accordion.displayName = "Accordion";
|
|
211
216
|
exports.Accordion = Accordion;
|
|
212
|
-
//# sourceMappingURL=Accordion-
|
|
217
|
+
//# sourceMappingURL=Accordion-Cn-Lzpin.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -42,7 +42,11 @@ const AccordionBase = ({
|
|
|
42
42
|
const toggleAccordion = () => {
|
|
43
43
|
if (disabled) return;
|
|
44
44
|
if (!isToggleable && isExpanded) return;
|
|
45
|
-
|
|
45
|
+
if (isControlled) {
|
|
46
|
+
onToggle == null ? void 0 : onToggle(!expanded);
|
|
47
|
+
} else {
|
|
48
|
+
setInternalExpanded((prev) => !prev);
|
|
49
|
+
}
|
|
46
50
|
};
|
|
47
51
|
const handleKeyDown = (e) => {
|
|
48
52
|
if (disabled) return;
|
|
@@ -207,7 +211,8 @@ const generateUniqueId = /* @__PURE__ */ (() => {
|
|
|
207
211
|
return () => `accordion-core-${counter++}`;
|
|
208
212
|
})();
|
|
209
213
|
const Accordion = (props) => /* @__PURE__ */ jsx(AccordionBase, { ...props, getUniqueId: generateUniqueId, classMap: classes });
|
|
214
|
+
Accordion.displayName = "Accordion";
|
|
210
215
|
export {
|
|
211
216
|
Accordion as A
|
|
212
217
|
};
|
|
213
|
-
//# sourceMappingURL=Accordion-
|
|
218
|
+
//# sourceMappingURL=Accordion-Cvvsfx1g.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":"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"}
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -5,7 +5,7 @@ import { A as ArrowRightIcon } from "./ArrowRightIcon-BYQv5XS8.js";
|
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
6
|
import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
7
7
|
/* empty css */
|
|
8
|
-
import { B as Button } from "./Button-
|
|
8
|
+
import { B as Button } from "./Button-CC0Q_XPy.js";
|
|
9
9
|
const ELLIPSIS_LABEL = "…";
|
|
10
10
|
const BreadcrumbsBase = ({
|
|
11
11
|
items,
|
|
@@ -186,8 +186,9 @@ const classes = {
|
|
|
186
186
|
const Breadcrumbs = (props) => {
|
|
187
187
|
return /* @__PURE__ */ jsx(BreadcrumbsBase, { ...props, classMap: classes, ButtonComponent: Button });
|
|
188
188
|
};
|
|
189
|
+
Breadcrumbs.displayName = "Breadcrumbs";
|
|
189
190
|
export {
|
|
190
191
|
Breadcrumbs as B,
|
|
191
192
|
ELLIPSIS_LABEL as E
|
|
192
193
|
};
|
|
193
|
-
//# sourceMappingURL=Breadcrumbs-
|
|
194
|
+
//# sourceMappingURL=Breadcrumbs-Bh_Ocv4_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumbs-Bh_Ocv4_.js","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":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const Breadcrumbs = require("./Breadcrumbs-
|
|
3
|
+
const Breadcrumbs = require("./Breadcrumbs-BUc98niR.cjs");
|
|
4
4
|
exports.ELLIPSIS_LABEL = Breadcrumbs.ELLIPSIS_LABEL;
|
|
5
5
|
exports.default = Breadcrumbs.Breadcrumbs;
|
|
6
6
|
//# sourceMappingURL=Breadcrumbs.cjs.js.map
|
package/dist/core/Breadcrumbs.js
CHANGED
|
@@ -86,6 +86,7 @@ const ButtonBase = forwardRef(
|
|
|
86
86
|
)
|
|
87
87
|
] });
|
|
88
88
|
if (href) {
|
|
89
|
+
const Comp = LinkComponent ?? "a";
|
|
89
90
|
const external = (isExternal ?? /^https?:\/\//i.test(href)) && !disabled;
|
|
90
91
|
const linkCommon = {
|
|
91
92
|
ref,
|
|
@@ -96,18 +97,21 @@ const ButtonBase = forwardRef(
|
|
|
96
97
|
...computedAriaLabel ? { "aria-label": computedAriaLabel } : {},
|
|
97
98
|
"data-testid": testId
|
|
98
99
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
100
|
+
if (Comp === "a") {
|
|
101
|
+
return /* @__PURE__ */ jsx(
|
|
102
|
+
"a",
|
|
103
|
+
{
|
|
104
|
+
...linkCommon,
|
|
105
|
+
href: disabled ? void 0 : href,
|
|
106
|
+
target: external ? "_blank" : void 0,
|
|
107
|
+
rel: external ? "noopener noreferrer" : void 0,
|
|
108
|
+
...rest,
|
|
109
|
+
children: content
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
return /* @__PURE__ */ jsx(
|
|
114
|
+
Comp,
|
|
111
115
|
{
|
|
112
116
|
...linkCommon,
|
|
113
117
|
href,
|
|
@@ -137,11 +141,11 @@ ButtonBase.displayName = "ButtonBase";
|
|
|
137
141
|
const classes = {
|
|
138
142
|
button: "button",
|
|
139
143
|
icon: "button_icon",
|
|
140
|
-
buttonIcon: "
|
|
144
|
+
buttonIcon: "button_button_icon",
|
|
141
145
|
buttonLabel: "button_label",
|
|
142
146
|
loader: "button_loader",
|
|
143
147
|
link: "button_link",
|
|
144
|
-
fullWidth: "
|
|
148
|
+
fullWidth: "button_full_width",
|
|
145
149
|
disabled: "button_disabled",
|
|
146
150
|
outline: "button_outline",
|
|
147
151
|
primary: "button_primary",
|
|
@@ -167,8 +171,9 @@ const classes = {
|
|
|
167
171
|
roundMedium: "button_round-Medium",
|
|
168
172
|
roundLarge: "button_round-Large"
|
|
169
173
|
};
|
|
170
|
-
const Button = (props) => /* @__PURE__ */ jsx(ButtonBase, { ...props, classMap: classes });
|
|
174
|
+
const Button = forwardRef((props, ref) => /* @__PURE__ */ jsx(ButtonBase, { ...props, classMap: classes, ref }));
|
|
175
|
+
Button.displayName = "Button";
|
|
171
176
|
export {
|
|
172
177
|
Button as B
|
|
173
178
|
};
|
|
174
|
-
//# sourceMappingURL=Button-
|
|
179
|
+
//# sourceMappingURL=Button-CC0Q_XPy.js.map
|