boreal-ui 0.0.36 → 0.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/{Accordion-Cb-MHkcx.cjs → Accordion-Cn-Lzpin.cjs} +2 -1
- package/dist/core/{Accordion-Cb-MHkcx.cjs.map → Accordion-Cn-Lzpin.cjs.map} +1 -1
- package/dist/core/{Accordion-DDu1TFaX.js → Accordion-Cvvsfx1g.js} +2 -1
- package/dist/core/{Accordion-DDu1TFaX.js.map → Accordion-Cvvsfx1g.js.map} +1 -1
- package/dist/core/Accordion.cjs.js +1 -1
- package/dist/core/Accordion.js +1 -1
- package/dist/core/{Avatar-BFec6Gv4.js → Avatar-BM8AwOB6.js} +5 -2
- package/dist/core/{Avatar-BFec6Gv4.js.map → Avatar-BM8AwOB6.js.map} +1 -1
- package/dist/core/{Avatar-CeIz25Rt.cjs → Avatar-DOg8W9yf.cjs} +5 -2
- package/dist/core/{Avatar-CeIz25Rt.cjs.map → Avatar-DOg8W9yf.cjs.map} +1 -1
- package/dist/core/Avatar.cjs.js +1 -1
- package/dist/core/Avatar.js +1 -1
- package/dist/core/{Badge-C6qp0Eym.cjs → Badge-DOn6E2bS.cjs} +2 -1
- package/dist/core/{Badge-C6qp0Eym.cjs.map → Badge-DOn6E2bS.cjs.map} +1 -1
- package/dist/core/{Badge-MiX5w_Ui.js → Badge-Dpjq6lUF.js} +2 -1
- package/dist/core/{Badge-MiX5w_Ui.js.map → Badge-Dpjq6lUF.js.map} +1 -1
- package/dist/core/Badge.cjs.js +1 -1
- package/dist/core/Badge.js +1 -1
- package/dist/core/{Breadcrumbs-DeUAfwz-.cjs → Breadcrumbs-BUc98niR.cjs} +3 -2
- package/dist/core/{Breadcrumbs-DeUAfwz-.cjs.map → Breadcrumbs-BUc98niR.cjs.map} +1 -1
- package/dist/core/{Breadcrumbs-KHd0Wr_l.js → Breadcrumbs-Bh_Ocv4_.js} +3 -2
- package/dist/core/{Breadcrumbs-KHd0Wr_l.js.map → Breadcrumbs-Bh_Ocv4_.js.map} +1 -1
- package/dist/core/Breadcrumbs.cjs.js +1 -1
- package/dist/core/Breadcrumbs.js +1 -1
- package/dist/core/{Button-DxYuUx72.js → Button-CC0Q_XPy.js} +2 -1
- package/dist/core/{Button-DxYuUx72.js.map → Button-CC0Q_XPy.js.map} +1 -1
- package/dist/core/{Button-CBmiAYTl.cjs → Button-zvElXSem.cjs} +2 -1
- package/dist/core/{Button-CBmiAYTl.cjs.map → Button-zvElXSem.cjs.map} +1 -1
- package/dist/core/Button.cjs.js +1 -1
- package/dist/core/Button.js +1 -1
- package/dist/core/{Card-C8Nn4k-D.js → Card-B7Hjcknf.js} +5 -4
- package/dist/core/{Card-C8Nn4k-D.js.map → Card-B7Hjcknf.js.map} +1 -1
- package/dist/core/{Card-v23IopXR.cjs → Card-Bp8OvH80.cjs} +5 -4
- package/dist/core/{Card-v23IopXR.cjs.map → Card-Bp8OvH80.cjs.map} +1 -1
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/CheckBox.cjs.js +1 -1
- package/dist/core/CheckBox.js +1 -1
- package/dist/core/{Checkbox-CkidkPsK.js → Checkbox-BdNhCbz_.js} +3 -4
- package/dist/core/Checkbox-BdNhCbz_.js.map +1 -0
- package/dist/core/{Checkbox-dcfbhcGR.cjs → Checkbox-JvYzNuZp.cjs} +3 -4
- package/dist/core/Checkbox-JvYzNuZp.cjs.map +1 -0
- package/dist/core/{Chip-E--KGVgH.cjs → Chip-CWsfLyyU.cjs} +3 -2
- package/dist/core/{Chip-E--KGVgH.cjs.map → Chip-CWsfLyyU.cjs.map} +1 -1
- package/dist/core/{Chip-CshyG7SS.js → Chip-D4vbSudX.js} +3 -2
- package/dist/core/{Chip-CshyG7SS.js.map → Chip-D4vbSudX.js.map} +1 -1
- package/dist/core/Chip.cjs.js +1 -1
- package/dist/core/Chip.js +1 -1
- package/dist/core/{CircularProgress-CSkKaHhU.js → CircularProgress-CGqwPSPq.js} +2 -1
- package/dist/core/{CircularProgress-CSkKaHhU.js.map → CircularProgress-CGqwPSPq.js.map} +1 -1
- package/dist/core/{CircularProgress-CNh3NKwl.cjs → CircularProgress-DpLsV7FP.cjs} +2 -1
- package/dist/core/{CircularProgress-CNh3NKwl.cjs.map → CircularProgress-DpLsV7FP.cjs.map} +1 -1
- package/dist/core/CircularProgress.cjs.js +1 -1
- package/dist/core/CircularProgress.js +1 -1
- package/dist/core/{ColorPicker-Btkkzx1b.js → ColorPicker-CpHTSayd.js} +2 -1
- package/dist/core/{ColorPicker-Btkkzx1b.js.map → ColorPicker-CpHTSayd.js.map} +1 -1
- package/dist/core/{ColorPicker-D-X4hsS7.cjs → ColorPicker-CzL1SJCT.cjs} +2 -1
- package/dist/core/{ColorPicker-D-X4hsS7.cjs.map → ColorPicker-CzL1SJCT.cjs.map} +1 -1
- package/dist/core/ColorPicker.cjs.js +1 -1
- package/dist/core/ColorPicker.js +1 -1
- package/dist/core/{CommandPalette-B8jOhfm2.cjs → CommandPalette-CXKBDCbP.cjs} +3 -2
- package/dist/core/{CommandPalette-B8jOhfm2.cjs.map → CommandPalette-CXKBDCbP.cjs.map} +1 -1
- package/dist/core/{CommandPalette-BpRegx0J.js → CommandPalette-N556smLj.js} +3 -2
- package/dist/core/{CommandPalette-BpRegx0J.js.map → CommandPalette-N556smLj.js.map} +1 -1
- package/dist/core/CommandPalette.cjs.js +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/{DataTable-8q8mTnjE.cjs → DataTable-DIpKxAT_.cjs} +2 -1
- package/dist/core/{DataTable-8q8mTnjE.cjs.map → DataTable-DIpKxAT_.cjs.map} +1 -1
- package/dist/core/{DataTable-C3l5XKKC.js → DataTable-Dv6Bv-wh.js} +2 -1
- package/dist/core/{DataTable-C3l5XKKC.js.map → DataTable-Dv6Bv-wh.js.map} +1 -1
- package/dist/core/DataTable.cjs.js +1 -1
- package/dist/core/DataTable.js +1 -1
- package/dist/core/{DateTimePicker-CK3I5Gxw.js → DateTimePicker-BzS1nP5J.js} +2 -1
- package/dist/core/{DateTimePicker-CK3I5Gxw.js.map → DateTimePicker-BzS1nP5J.js.map} +1 -1
- package/dist/core/{DateTimePicker-Dj8LEv5L.cjs → DateTimePicker-D7bRXphw.cjs} +2 -1
- package/dist/core/{DateTimePicker-Dj8LEv5L.cjs.map → DateTimePicker-D7bRXphw.cjs.map} +1 -1
- package/dist/core/DateTimePicker.cjs.js +1 -1
- package/dist/core/DateTimePicker.js +1 -1
- package/dist/core/{Divider-BxiplAj2.js → Divider-7akvm9JA.js} +3 -2
- package/dist/core/{Divider-BxiplAj2.js.map → Divider-7akvm9JA.js.map} +1 -1
- package/dist/core/{Divider-Bn7ghdiP.cjs → Divider-CaSuFc3G.cjs} +3 -2
- package/dist/core/{Divider-Bn7ghdiP.cjs.map → Divider-CaSuFc3G.cjs.map} +1 -1
- package/dist/core/Divider.cjs.js +1 -1
- package/dist/core/Divider.js +1 -1
- package/dist/core/{Dropdown-Drug9EGs.js → Dropdown-CwofYHjq.js} +3 -2
- package/dist/core/{Dropdown-Drug9EGs.js.map → Dropdown-CwofYHjq.js.map} +1 -1
- package/dist/core/{Dropdown-BpEtC6bv.cjs → Dropdown-DvwHouyC.cjs} +3 -2
- package/dist/core/{Dropdown-BpEtC6bv.cjs.map → Dropdown-DvwHouyC.cjs.map} +1 -1
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-HSMqh1Og.js → EmptyState-Cp3ocTQX.js} +3 -2
- package/dist/core/{EmptyState-HSMqh1Og.js.map → EmptyState-Cp3ocTQX.js.map} +1 -1
- package/dist/core/{EmptyState-CknrkSpb.cjs → EmptyState-P-MSItCX.cjs} +3 -2
- package/dist/core/{EmptyState-CknrkSpb.cjs.map → EmptyState-P-MSItCX.cjs.map} +1 -1
- package/dist/core/EmptyState.cjs.js +1 -1
- package/dist/core/EmptyState.js +1 -1
- package/dist/core/{FileUpload-C_k2_dfF.cjs → FileUpload-Du7vDDdf.cjs} +6 -5
- package/dist/core/{FileUpload-C_k2_dfF.cjs.map → FileUpload-Du7vDDdf.cjs.map} +1 -1
- package/dist/core/{FileUpload-C6xeGLr8.js → FileUpload-Q8aDsaFs.js} +6 -5
- package/dist/core/{FileUpload-C6xeGLr8.js.map → FileUpload-Q8aDsaFs.js.map} +1 -1
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{Footer-lTLk-01g.cjs → Footer-DMOA1W7N.cjs} +40 -36
- package/dist/core/Footer-DMOA1W7N.cjs.map +1 -0
- package/dist/core/{Footer-D2DOWiIc.js → Footer-zO4RGjCl.js} +41 -37
- package/dist/core/Footer-zO4RGjCl.js.map +1 -0
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{FormGroup-B5kG6FR4.cjs → FormGroup-C2TWC17P.cjs} +2 -1
- package/dist/core/{FormGroup-B5kG6FR4.cjs.map → FormGroup-C2TWC17P.cjs.map} +1 -1
- package/dist/core/{FormGroup-CAJwxFcs.js → FormGroup-tSK_NN0-.js} +2 -1
- package/dist/core/{FormGroup-CAJwxFcs.js.map → FormGroup-tSK_NN0-.js.map} +1 -1
- package/dist/core/FormGroup.cjs.js +1 -1
- package/dist/core/FormGroup.js +1 -1
- package/dist/core/{IconButton-Cs4PHptF.cjs → IconButton-CR9bTZoJ.cjs} +2 -1
- package/dist/core/{IconButton-Cs4PHptF.cjs.map → IconButton-CR9bTZoJ.cjs.map} +1 -1
- package/dist/core/{IconButton-DY1ppFX-.js → IconButton-_lxTppua.js} +2 -1
- package/dist/core/{IconButton-DY1ppFX-.js.map → IconButton-_lxTppua.js.map} +1 -1
- package/dist/core/IconButton.cjs.js +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/{MarkdownRenderer-CScdSBLx.js → MarkdownRenderer-B1LmmpZm.js} +2 -1
- package/dist/core/{MarkdownRenderer-CScdSBLx.js.map → MarkdownRenderer-B1LmmpZm.js.map} +1 -1
- package/dist/core/{MarkdownRenderer-3-S5hKVG.cjs → MarkdownRenderer-LUXCa_a8.cjs} +2 -1
- package/dist/core/{MarkdownRenderer-3-S5hKVG.cjs.map → MarkdownRenderer-LUXCa_a8.cjs.map} +1 -1
- package/dist/core/MarkdownRenderer.cjs.js +1 -1
- package/dist/core/MarkdownRenderer.js +1 -1
- package/dist/core/MessagePopUp.cjs.js +1 -1
- package/dist/core/MessagePopUp.js +1 -1
- package/dist/core/{MessagePopup-CHCUOPLz.js → MessagePopup-BlbPMecd.js} +4 -3
- package/dist/core/{MessagePopup-CHCUOPLz.js.map → MessagePopup-BlbPMecd.js.map} +1 -1
- package/dist/core/{MessagePopup-CL_1uoVd.cjs → MessagePopup-hxloT7aK.cjs} +4 -3
- package/dist/core/{MessagePopup-CL_1uoVd.cjs.map → MessagePopup-hxloT7aK.cjs.map} +1 -1
- package/dist/core/{MetricBox-CdNvh1qG.cjs → MetricBox-BcOdQM-l.cjs} +2 -1
- package/dist/core/{MetricBox-CdNvh1qG.cjs.map → MetricBox-BcOdQM-l.cjs.map} +1 -1
- package/dist/core/{MetricBox-BzI1gx1P.js → MetricBox-Dh911MS2.js} +2 -1
- package/dist/core/{MetricBox-BzI1gx1P.js.map → MetricBox-Dh911MS2.js.map} +1 -1
- package/dist/core/MetricBox.cjs.js +1 -1
- package/dist/core/MetricBox.js +1 -1
- package/dist/core/{Modal-D8SK6y7Q.cjs → Modal-D-ZoA_xx.cjs} +3 -2
- package/dist/core/{Modal-D8SK6y7Q.cjs.map → Modal-D-ZoA_xx.cjs.map} +1 -1
- package/dist/core/{Modal-1d9Ivd05.js → Modal-D1G1Csp9.js} +3 -2
- package/dist/core/{Modal-1d9Ivd05.js.map → Modal-D1G1Csp9.js.map} +1 -1
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NavBar-D03-pQsT.cjs → NavBar-Bbd3SVHi.cjs} +2 -1
- package/dist/core/{NavBar-D03-pQsT.cjs.map → NavBar-Bbd3SVHi.cjs.map} +1 -1
- package/dist/core/{NavBar-CIImUvWA.js → NavBar-DujO5gH_.js} +2 -1
- package/dist/core/{NavBar-CIImUvWA.js.map → NavBar-DujO5gH_.js.map} +1 -1
- package/dist/core/NavBar.cjs.js +1 -1
- package/dist/core/NavBar.js +1 -1
- package/dist/core/{NotificationCenter-Ca_Gegaf.js → NotificationCenter-BrUNpJAx.js} +4 -3
- package/dist/core/{NotificationCenter-Ca_Gegaf.js.map → NotificationCenter-BrUNpJAx.js.map} +1 -1
- package/dist/core/{NotificationCenter-BjTSHg0M.cjs → NotificationCenter-Dqwu2Z6s.cjs} +4 -3
- package/dist/core/{NotificationCenter-BjTSHg0M.cjs.map → NotificationCenter-Dqwu2Z6s.cjs.map} +1 -1
- package/dist/core/NotificationCenter.cjs.js +1 -1
- package/dist/core/NotificationCenter.js +1 -1
- package/dist/core/{Pager-B-mFsJVZ.js → Pager-CZF6O7rq.js} +4 -3
- package/dist/core/{Pager-B-mFsJVZ.js.map → Pager-CZF6O7rq.js.map} +1 -1
- package/dist/core/{Pager-B3Hy6QIt.cjs → Pager-C_SG4CIc.cjs} +4 -3
- package/dist/core/{Pager-B3Hy6QIt.cjs.map → Pager-C_SG4CIc.cjs.map} +1 -1
- package/dist/core/Pager.cjs.js +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{PopOver-BnOcfrAC.js → PopOver-Bt80x5vL.js} +2 -1
- package/dist/core/{PopOver-BnOcfrAC.js.map → PopOver-Bt80x5vL.js.map} +1 -1
- package/dist/core/{PopOver-Gy7Gn9LW.cjs → PopOver-IzDFOu7Y.cjs} +2 -1
- package/dist/core/{PopOver-Gy7Gn9LW.cjs.map → PopOver-IzDFOu7Y.cjs.map} +1 -1
- package/dist/core/PopOver.cjs.js +1 -1
- package/dist/core/PopOver.js +1 -1
- package/dist/core/{ProgressBar-QkROTKv6.cjs → ProgressBar-BwjYOqoE.cjs} +2 -1
- package/dist/core/{ProgressBar-QkROTKv6.cjs.map → ProgressBar-BwjYOqoE.cjs.map} +1 -1
- package/dist/core/{ProgressBar-BAbEjBvm.js → ProgressBar-DaA5vvnq.js} +2 -1
- package/dist/core/{ProgressBar-BAbEjBvm.js.map → ProgressBar-DaA5vvnq.js.map} +1 -1
- package/dist/core/ProgressBar.cjs.js +1 -1
- package/dist/core/ProgressBar.js +1 -1
- package/dist/core/RadioButton-BxdmcaZg.cjs.map +1 -1
- package/dist/core/{RadioButton-B8QehL7o.js → RadioButton-DygrrlH_.js} +3 -3
- package/dist/core/RadioButton-DygrrlH_.js.map +1 -0
- package/dist/core/RadioButton.js +1 -1
- package/dist/core/{Rating-Dpmm_ZPv.js → Rating-B4qbA_y6.js} +2 -1
- package/dist/core/{Rating-Dpmm_ZPv.js.map → Rating-B4qbA_y6.js.map} +1 -1
- package/dist/core/{Rating-DwPu-mqi.cjs → Rating-U1MIoh5b.cjs} +2 -1
- package/dist/core/{Rating-DwPu-mqi.cjs.map → Rating-U1MIoh5b.cjs.map} +1 -1
- package/dist/core/Rating.cjs.js +1 -1
- package/dist/core/Rating.js +1 -1
- package/dist/core/{STT-DnhnXAIK.js → STT-Bdm78oOs.js} +2 -1
- package/dist/core/{STT-DnhnXAIK.js.map → STT-Bdm78oOs.js.map} +1 -1
- package/dist/core/{STT-Tf9R4S2f.cjs → STT-DKOwe6z3.cjs} +2 -1
- package/dist/core/{STT-Tf9R4S2f.cjs.map → STT-DKOwe6z3.cjs.map} +1 -1
- package/dist/core/ScrollToTop.cjs.js +1 -1
- package/dist/core/ScrollToTop.js +1 -1
- package/dist/core/{Select-CnX90XU7.cjs → Select-B5Zoc07A.cjs} +4 -6
- package/dist/core/{Select-CnX90XU7.cjs.map → Select-B5Zoc07A.cjs.map} +1 -1
- package/dist/core/{Select-BLhAAtFa.js → Select-DntK69DL.js} +5 -7
- package/dist/core/{Select-BLhAAtFa.js.map → Select-DntK69DL.js.map} +1 -1
- package/dist/core/Select.cjs.js +1 -1
- package/dist/core/Select.js +1 -1
- package/dist/core/{Sidebar-BoMGJwqC.cjs → Sidebar-13bKMpw7.cjs} +2 -1
- package/dist/core/{Sidebar-BoMGJwqC.cjs.map → Sidebar-13bKMpw7.cjs.map} +1 -1
- package/dist/core/{Sidebar-CnGBAT2_.js → Sidebar-DN_J0CwY.js} +2 -1
- package/dist/core/{Sidebar-CnGBAT2_.js.map → Sidebar-DN_J0CwY.js.map} +1 -1
- package/dist/core/Sidebar.cjs.js +1 -1
- package/dist/core/Sidebar.js +1 -1
- package/dist/core/{Skeleton-BlyxKLt_.cjs → Skeleton-BLVD5mDI.cjs} +2 -1
- package/dist/core/{Skeleton-BlyxKLt_.cjs.map → Skeleton-BLVD5mDI.cjs.map} +1 -1
- package/dist/core/{Skeleton-CMhlYg-Q.js → Skeleton-Cwn3_gc7.js} +2 -1
- package/dist/core/{Skeleton-CMhlYg-Q.js.map → Skeleton-Cwn3_gc7.js.map} +1 -1
- package/dist/core/Skeleton.cjs.js +1 -1
- package/dist/core/Skeleton.js +1 -1
- package/dist/core/{Slider-BT1Pi-VJ.cjs → Slider-S8KnYlkd.cjs} +2 -1
- package/dist/core/{Slider-BT1Pi-VJ.cjs.map → Slider-S8KnYlkd.cjs.map} +1 -1
- package/dist/core/{Slider-CZYfXDHn.js → Slider-WsZnPCUo.js} +2 -1
- package/dist/core/{Slider-CZYfXDHn.js.map → Slider-WsZnPCUo.js.map} +1 -1
- package/dist/core/Slider.cjs.js +1 -1
- package/dist/core/Slider.js +1 -1
- package/dist/core/{Spinner-ChxHCoaN.cjs → Spinner-CEIk_hpT.cjs} +2 -1
- package/dist/core/{Spinner-ChxHCoaN.cjs.map → Spinner-CEIk_hpT.cjs.map} +1 -1
- package/dist/core/{Spinner-BQlcBZmK.js → Spinner-D81UG24n.js} +2 -1
- package/dist/core/{Spinner-BQlcBZmK.js.map → Spinner-D81UG24n.js.map} +1 -1
- package/dist/core/Spinner.cjs.js +1 -1
- package/dist/core/Spinner.js +1 -1
- package/dist/core/{Stepper-BCjn0rYE.cjs → Stepper-BuCLqbtQ.cjs} +3 -2
- package/dist/core/{Stepper-BCjn0rYE.cjs.map → Stepper-BuCLqbtQ.cjs.map} +1 -1
- package/dist/core/{Stepper-0lxM6e2v.js → Stepper-Cjb7ckXo.js} +3 -2
- package/dist/core/{Stepper-0lxM6e2v.js.map → Stepper-Cjb7ckXo.js.map} +1 -1
- package/dist/core/Stepper.cjs.js +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{Tabs-C6lDM19i.cjs → Tabs-BheAr-wE.cjs} +2 -1
- package/dist/core/{Tabs-C6lDM19i.cjs.map → Tabs-BheAr-wE.cjs.map} +1 -1
- package/dist/core/{Tabs-BaKDr0uF.js → Tabs-CUDoy3wZ.js} +2 -1
- package/dist/core/{Tabs-BaKDr0uF.js.map → Tabs-CUDoy3wZ.js.map} +1 -1
- package/dist/core/Tabs.cjs.js +1 -1
- package/dist/core/Tabs.js +1 -1
- package/dist/core/TagInput.cjs.js +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/{Taginput-C_JJRoDF.js → Taginput-CKekAR72.js} +4 -3
- package/dist/core/{Taginput-C_JJRoDF.js.map → Taginput-CKekAR72.js.map} +1 -1
- package/dist/core/{Taginput-kqeTeVJY.cjs → Taginput-DgbxDttA.cjs} +4 -3
- package/dist/core/{Taginput-kqeTeVJY.cjs.map → Taginput-DgbxDttA.cjs.map} +1 -1
- package/dist/core/{TextInput-D38TZ4Pl.js → TextInput-7kV66ccj.js} +2 -2
- package/dist/core/{TextInput-D38TZ4Pl.js.map → TextInput-7kV66ccj.js.map} +1 -1
- package/dist/core/{TextInput-WY4O9Zya.cjs → TextInput-DFOjxri2.cjs} +2 -2
- package/dist/core/{TextInput-WY4O9Zya.cjs.map → TextInput-DFOjxri2.cjs.map} +1 -1
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/{Timeline-BfJd6flB.js → Timeline-BulLz34H.js} +2 -1
- package/dist/core/{Timeline-BfJd6flB.js.map → Timeline-BulLz34H.js.map} +1 -1
- package/dist/core/{Timeline-Bmnr7xnx.cjs → Timeline-Dd4Rr21W.cjs} +2 -1
- package/dist/core/{Timeline-Bmnr7xnx.cjs.map → Timeline-Dd4Rr21W.cjs.map} +1 -1
- package/dist/core/Timeline.cjs.js +1 -1
- package/dist/core/Timeline.js +1 -1
- package/dist/core/{Toggle-Dor7IEx3.cjs → Toggle-B4bJ4Jcj.cjs} +5 -4
- package/dist/core/Toggle-B4bJ4Jcj.cjs.map +1 -0
- package/dist/core/{Toggle-sPyKNt4P.js → Toggle-DxNHxjZn.js} +5 -4
- package/dist/core/Toggle-DxNHxjZn.js.map +1 -0
- package/dist/core/Toggle.cjs.js +1 -1
- package/dist/core/Toggle.js +1 -1
- package/dist/core/{Toolbar-CSDhcIPb.js → Toolbar-CQNKVKK8.js} +3 -2
- package/dist/core/{Toolbar-CSDhcIPb.js.map → Toolbar-CQNKVKK8.js.map} +1 -1
- package/dist/core/{Toolbar-xot4FSLU.cjs → Toolbar-DKSfwRUz.cjs} +3 -2
- package/dist/core/{Toolbar-xot4FSLU.cjs.map → Toolbar-DKSfwRUz.cjs.map} +1 -1
- package/dist/core/Toolbar.cjs.js +1 -1
- package/dist/core/Toolbar.js +1 -1
- package/dist/core/index.cjs.js +53 -54
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +55 -56
- package/dist/core/index.js.map +1 -1
- package/dist/core/style.css +1 -1
- package/dist/next/{Accordion-yypKft_c.js → Accordion-BkiAI6vY.js} +2 -1
- package/dist/next/{Accordion-yypKft_c.js.map → Accordion-BkiAI6vY.js.map} +1 -1
- package/dist/next/{Accordion-BCUMBFY6.cjs → Accordion-DKNh8FaP.cjs} +2 -1
- package/dist/next/{Accordion-BCUMBFY6.cjs.map → Accordion-DKNh8FaP.cjs.map} +1 -1
- package/dist/next/Accordion.cjs.js +1 -1
- package/dist/next/Accordion.js +1 -1
- package/dist/next/{Avatar-IjllaOdx.cjs → Avatar-Ctm74prt.cjs} +14 -10
- package/dist/next/{Avatar-IjllaOdx.cjs.map → Avatar-Ctm74prt.cjs.map} +1 -1
- package/dist/next/{Avatar-C227ps6T.js → Avatar-ijMVfQpY.js} +14 -10
- package/dist/next/{Avatar-C227ps6T.js.map → Avatar-ijMVfQpY.js.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Badge-DdJsnD_G.cjs → Badge-DbmM5wGc.cjs} +2 -1
- package/dist/next/{Badge-DdJsnD_G.cjs.map → Badge-DbmM5wGc.cjs.map} +1 -1
- package/dist/next/{Badge-C-JE6gYt.js → Badge-k6Dk5S_p.js} +2 -1
- package/dist/next/{Badge-C-JE6gYt.js.map → Badge-k6Dk5S_p.js.map} +1 -1
- package/dist/next/Badge.cjs.js +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-uPQIvIj-.cjs → Breadcrumbs-BrH6_8Kt.cjs} +3 -2
- package/dist/next/{Breadcrumbs-uPQIvIj-.cjs.map → Breadcrumbs-BrH6_8Kt.cjs.map} +1 -1
- package/dist/next/{Breadcrumbs-_qTMSpvE.js → Breadcrumbs-CWv3TrV_.js} +3 -2
- package/dist/next/{Breadcrumbs-_qTMSpvE.js.map → Breadcrumbs-CWv3TrV_.js.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-BF5Wp81D.js → Button-BjY7f3mw.js} +2 -1
- package/dist/next/{Button-BF5Wp81D.js.map → Button-BjY7f3mw.js.map} +1 -1
- package/dist/next/{Button-5qNmDKPi.cjs → Button-D8Kff8sN.cjs} +2 -1
- package/dist/next/{Button-5qNmDKPi.cjs.map → Button-D8Kff8sN.cjs.map} +1 -1
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-DdLlnwFq.cjs → Card-9Uf34mPf.cjs} +4 -3
- package/dist/next/{Card-DdLlnwFq.cjs.map → Card-9Uf34mPf.cjs.map} +1 -1
- package/dist/next/{Card-CFJnp6sf.js → Card-CL8WOI8g.js} +4 -3
- package/dist/next/{Card-CFJnp6sf.js.map → Card-CL8WOI8g.js.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.cjs.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/{Checkbox-BX2JIiMU.cjs → Checkbox-B-y0lEjJ.cjs} +3 -4
- package/dist/next/{Checkbox-BX2JIiMU.cjs.map → Checkbox-B-y0lEjJ.cjs.map} +1 -1
- package/dist/next/{Checkbox-CrK0JFu8.js → Checkbox-DVr6H6mN.js} +3 -4
- package/dist/next/{Checkbox-CrK0JFu8.js.map → Checkbox-DVr6H6mN.js.map} +1 -1
- package/dist/next/{Chip-BUVPtK2j.cjs → Chip-C4-KUcHh.cjs} +2 -1
- package/dist/next/{Chip-BUVPtK2j.cjs.map → Chip-C4-KUcHh.cjs.map} +1 -1
- package/dist/next/{Chip-3QqdBOHX.js → Chip-C8ayWG9-.js} +2 -1
- package/dist/next/{Chip-3QqdBOHX.js.map → Chip-C8ayWG9-.js.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CircularProgress-C7Zr-dLf.js → CircularProgress-Cz9G0WeQ.js} +2 -1
- package/dist/next/{CircularProgress-C7Zr-dLf.js.map → CircularProgress-Cz9G0WeQ.js.map} +1 -1
- package/dist/next/{CircularProgress-C7kuOtnG.cjs → CircularProgress-UhpLA94q.cjs} +2 -1
- package/dist/next/{CircularProgress-C7kuOtnG.cjs.map → CircularProgress-UhpLA94q.cjs.map} +1 -1
- package/dist/next/CircularProgress.cjs.js +1 -1
- package/dist/next/CircularProgress.js +1 -1
- package/dist/next/{ColorPicker-DgLJQRJu.js → ColorPicker-1naDOGhp.js} +2 -1
- package/dist/next/{ColorPicker-DgLJQRJu.js.map → ColorPicker-1naDOGhp.js.map} +1 -1
- package/dist/next/{ColorPicker-C3dyO_vv.cjs → ColorPicker-DvgeIT_p.cjs} +2 -1
- package/dist/next/{ColorPicker-C3dyO_vv.cjs.map → ColorPicker-DvgeIT_p.cjs.map} +1 -1
- package/dist/next/ColorPicker.cjs.js +1 -1
- package/dist/next/ColorPicker.js +1 -1
- package/dist/next/{CommandPalette-D-VgzCDu.js → CommandPalette-XP4v5FE6.js} +2 -1
- package/dist/next/{CommandPalette-D-VgzCDu.js.map → CommandPalette-XP4v5FE6.js.map} +1 -1
- package/dist/next/{CommandPalette-CzwGz-Py.cjs → CommandPalette-ypXbi8zW.cjs} +2 -1
- package/dist/next/{CommandPalette-CzwGz-Py.cjs.map → CommandPalette-ypXbi8zW.cjs.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{DataTable-mI4d3Caj.js → DataTable-jUelgv2H.js} +2 -1
- package/dist/next/{DataTable-mI4d3Caj.js.map → DataTable-jUelgv2H.js.map} +1 -1
- package/dist/next/{DataTable-CEtAY0ni.cjs → DataTable-jq0suGoA.cjs} +2 -1
- package/dist/next/{DataTable-CEtAY0ni.cjs.map → DataTable-jq0suGoA.cjs.map} +1 -1
- package/dist/next/DataTable.cjs.js +1 -1
- package/dist/next/DataTable.js +1 -1
- package/dist/next/{DateTimePicker-A94kVkvi.js → DateTimePicker-BTm6T3-E.js} +2 -1
- package/dist/next/{DateTimePicker-A94kVkvi.js.map → DateTimePicker-BTm6T3-E.js.map} +1 -1
- package/dist/next/{DateTimePicker-D96GYbVW.cjs → DateTimePicker-D5gEfxvd.cjs} +2 -1
- package/dist/next/{DateTimePicker-D96GYbVW.cjs.map → DateTimePicker-D5gEfxvd.cjs.map} +1 -1
- package/dist/next/DateTimePicker.cjs.js +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Divider-DjoDcCAu.js → Divider-BYKFFi3a.js} +3 -2
- package/dist/next/{Divider-DjoDcCAu.js.map → Divider-BYKFFi3a.js.map} +1 -1
- package/dist/next/{Divider-BMuNHQ9J.cjs → Divider-CczNc7mx.cjs} +3 -2
- package/dist/next/{Divider-BMuNHQ9J.cjs.map → Divider-CczNc7mx.cjs.map} +1 -1
- package/dist/next/Divider.cjs.js +1 -1
- package/dist/next/Divider.js +1 -1
- package/dist/next/{Dropdown-BrJnoyCw.js → Dropdown-CJGb6wyQ.js} +2 -1
- package/dist/next/{Dropdown-BrJnoyCw.js.map → Dropdown-CJGb6wyQ.js.map} +1 -1
- package/dist/next/{Dropdown-DU7oZ_ZP.cjs → Dropdown-yaMx19im.cjs} +2 -1
- package/dist/next/{Dropdown-DU7oZ_ZP.cjs.map → Dropdown-yaMx19im.cjs.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-DULVBTGn.cjs → EmptyState-CGPIGpz2.cjs} +3 -2
- package/dist/next/{EmptyState-DULVBTGn.cjs.map → EmptyState-CGPIGpz2.cjs.map} +1 -1
- package/dist/next/{EmptyState-JzLtobCN.js → EmptyState-DIymA2cZ.js} +3 -2
- package/dist/next/{EmptyState-JzLtobCN.js.map → EmptyState-DIymA2cZ.js.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-Bp7Pbj8m.js → FileUpload-CIued3w1.js} +5 -4
- package/dist/next/{FileUpload-Bp7Pbj8m.js.map → FileUpload-CIued3w1.js.map} +1 -1
- package/dist/next/{FileUpload-CUFWjI06.cjs → FileUpload-MVXOV0j9.cjs} +5 -4
- package/dist/next/{FileUpload-CUFWjI06.cjs.map → FileUpload-MVXOV0j9.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-BfzKhBAD.js → Footer-BSEbf6CL.js} +80 -75
- package/dist/next/Footer-BSEbf6CL.js.map +1 -0
- package/dist/next/{Footer-Cd9jSPv8.cjs → Footer-DAZLz11H.cjs} +79 -74
- package/dist/next/Footer-DAZLz11H.cjs.map +1 -0
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{FormGroup-DNvdijpi.cjs → FormGroup-6Ss6pNqV.cjs} +2 -1
- package/dist/next/{FormGroup-DNvdijpi.cjs.map → FormGroup-6Ss6pNqV.cjs.map} +1 -1
- package/dist/next/{FormGroup-DUVdekj1.js → FormGroup-DbUqgg_b.js} +2 -1
- package/dist/next/{FormGroup-DUVdekj1.js.map → FormGroup-DbUqgg_b.js.map} +1 -1
- package/dist/next/FormGroup.cjs.js +1 -1
- package/dist/next/FormGroup.js +1 -1
- package/dist/next/{MarkdownRenderer-CTF0Vhf5.js → MarkdownRenderer-B7lwemDw.js} +2 -1
- package/dist/next/{MarkdownRenderer-CTF0Vhf5.js.map → MarkdownRenderer-B7lwemDw.js.map} +1 -1
- package/dist/next/{MarkdownRenderer-BrVUEjkX.cjs → MarkdownRenderer-BvfBDz9X.cjs} +2 -1
- package/dist/next/{MarkdownRenderer-BrVUEjkX.cjs.map → MarkdownRenderer-BvfBDz9X.cjs.map} +1 -1
- package/dist/next/MarkdownRenderer.cjs.js +1 -1
- package/dist/next/MarkdownRenderer.js +1 -1
- package/dist/next/MessagePopUp.cjs.js +1 -1
- package/dist/next/MessagePopUp.js +1 -1
- package/dist/next/{MessagePopup-DCN-w-NA.js → MessagePopup-B5OaSUBr.js} +3 -2
- package/dist/next/{MessagePopup-DCN-w-NA.js.map → MessagePopup-B5OaSUBr.js.map} +1 -1
- package/dist/next/{MessagePopup-DB8VBIft.cjs → MessagePopup-BQ4OFvwo.cjs} +3 -2
- package/dist/next/{MessagePopup-DB8VBIft.cjs.map → MessagePopup-BQ4OFvwo.cjs.map} +1 -1
- package/dist/next/{MetricBox-CX3SSwgU.cjs → MetricBox-BylPOvoO.cjs} +2 -1
- package/dist/next/{MetricBox-CX3SSwgU.cjs.map → MetricBox-BylPOvoO.cjs.map} +1 -1
- package/dist/next/{MetricBox-CN8cgCgr.js → MetricBox-Dl3iruBZ.js} +2 -1
- package/dist/next/{MetricBox-CN8cgCgr.js.map → MetricBox-Dl3iruBZ.js.map} +1 -1
- package/dist/next/MetricBox.cjs.js +1 -1
- package/dist/next/MetricBox.js +1 -1
- package/dist/next/{Modal-BD9sPXIX.js → Modal-BARibygG.js} +2 -1
- package/dist/next/{Modal-BD9sPXIX.js.map → Modal-BARibygG.js.map} +1 -1
- package/dist/next/{Modal-BVjarg0E.cjs → Modal-CevpqeOy.cjs} +2 -1
- package/dist/next/{Modal-BVjarg0E.cjs.map → Modal-CevpqeOy.cjs.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-Dfljduy2.js → NavBar-Bucpo8_3.js} +2 -1
- package/dist/next/{NavBar-Dfljduy2.js.map → NavBar-Bucpo8_3.js.map} +1 -1
- package/dist/next/{NavBar-DT_k688s.cjs → NavBar-C5FBdZT6.cjs} +2 -1
- package/dist/next/{NavBar-DT_k688s.cjs.map → NavBar-C5FBdZT6.cjs.map} +1 -1
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-B2y-QbtY.cjs → NotificationCenter-BD58bbOZ.cjs} +3 -2
- package/dist/next/{NotificationCenter-B2y-QbtY.cjs.map → NotificationCenter-BD58bbOZ.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-C99EfjxX.js → NotificationCenter-CSwbscYh.js} +3 -2
- package/dist/next/{NotificationCenter-C99EfjxX.js.map → NotificationCenter-CSwbscYh.js.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-CB55NJSy.cjs → Pager-B-xaM28_.cjs} +3 -2
- package/dist/next/{Pager-CB55NJSy.cjs.map → Pager-B-xaM28_.cjs.map} +1 -1
- package/dist/next/{Pager-SZIzesuj.js → Pager-DWzCtb2Q.js} +3 -2
- package/dist/next/{Pager-SZIzesuj.js.map → Pager-DWzCtb2Q.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{PopOver-iFFxszSk.cjs → PopOver-Dp4eqN8G.cjs} +2 -1
- package/dist/next/{PopOver-iFFxszSk.cjs.map → PopOver-Dp4eqN8G.cjs.map} +1 -1
- package/dist/next/{PopOver-BbAFKptt.js → PopOver-QAYHaYcd.js} +2 -1
- package/dist/next/{PopOver-BbAFKptt.js.map → PopOver-QAYHaYcd.js.map} +1 -1
- package/dist/next/PopOver.cjs.js +1 -1
- package/dist/next/PopOver.js +1 -1
- package/dist/next/{ProgressBar-Csn4f4-c.js → ProgressBar-BrO0fvaM.js} +2 -1
- package/dist/next/{ProgressBar-Csn4f4-c.js.map → ProgressBar-BrO0fvaM.js.map} +1 -1
- package/dist/next/{ProgressBar-nXC_4OnG.cjs → ProgressBar-DfXSlpKX.cjs} +2 -1
- package/dist/next/{ProgressBar-nXC_4OnG.cjs.map → ProgressBar-DfXSlpKX.cjs.map} +1 -1
- package/dist/next/ProgressBar.cjs.js +1 -1
- package/dist/next/ProgressBar.js +1 -1
- package/dist/next/RadioButton-6cb-ZRjy.cjs.map +1 -1
- package/dist/next/{RadioButton-8E5GjzZu.js → RadioButton-Dz_e0WUT.js} +3 -3
- package/dist/next/{RadioButton-8E5GjzZu.js.map → RadioButton-Dz_e0WUT.js.map} +1 -1
- package/dist/next/RadioButton.js +1 -1
- package/dist/next/{Rating-Cpu_QzeB.cjs → Rating-C4pqzKNQ.cjs} +2 -1
- package/dist/next/{Rating-Cpu_QzeB.cjs.map → Rating-C4pqzKNQ.cjs.map} +1 -1
- package/dist/next/{Rating-DTMNrx0D.js → Rating-DbQ61tMY.js} +2 -1
- package/dist/next/{Rating-DTMNrx0D.js.map → Rating-DbQ61tMY.js.map} +1 -1
- package/dist/next/Rating.cjs.js +1 -1
- package/dist/next/Rating.js +1 -1
- package/dist/next/{STT-CGgFuLw2.cjs → STT-C6kV0zwW.cjs} +2 -1
- package/dist/next/{STT-CGgFuLw2.cjs.map → STT-C6kV0zwW.cjs.map} +1 -1
- package/dist/next/{STT-D-gwtml7.js → STT-CCzJFcVP.js} +2 -1
- package/dist/next/{STT-D-gwtml7.js.map → STT-CCzJFcVP.js.map} +1 -1
- package/dist/next/ScrollToTop.cjs.js +1 -1
- package/dist/next/ScrollToTop.js +1 -1
- package/dist/next/{Select-DcMXhPmp.cjs → Select-CSAN6B98.cjs} +4 -6
- package/dist/next/{Select-DcMXhPmp.cjs.map → Select-CSAN6B98.cjs.map} +1 -1
- package/dist/next/{Select-rZ9u_rNi.js → Select-CZivQIlV.js} +5 -7
- package/dist/next/{Select-rZ9u_rNi.js.map → Select-CZivQIlV.js.map} +1 -1
- package/dist/next/Select.cjs.js +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/{Sidebar-DAGCv1cb.js → Sidebar-BVeRWv61.js} +2 -1
- package/dist/next/{Sidebar-DAGCv1cb.js.map → Sidebar-BVeRWv61.js.map} +1 -1
- package/dist/next/{Sidebar-D2kCGLTC.cjs → Sidebar-DcDJjNrK.cjs} +2 -1
- package/dist/next/{Sidebar-D2kCGLTC.cjs.map → Sidebar-DcDJjNrK.cjs.map} +1 -1
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Skeleton-BfebLfbb.cjs → Skeleton-JgU17y-3.cjs} +2 -1
- package/dist/next/{Skeleton-BfebLfbb.cjs.map → Skeleton-JgU17y-3.cjs.map} +1 -1
- package/dist/next/{Skeleton-cWCNDrrp.js → Skeleton-rSW1X4hk.js} +2 -1
- package/dist/next/{Skeleton-cWCNDrrp.js.map → Skeleton-rSW1X4hk.js.map} +1 -1
- package/dist/next/Skeleton.cjs.js +1 -1
- package/dist/next/Skeleton.js +1 -1
- package/dist/next/{Slider-CuzYVS0J.cjs → Slider-B8e96nMm.cjs} +2 -1
- package/dist/next/{Slider-CuzYVS0J.cjs.map → Slider-B8e96nMm.cjs.map} +1 -1
- package/dist/next/{Slider-Bk0a8gqL.js → Slider-CdSPPw1x.js} +2 -1
- package/dist/next/{Slider-Bk0a8gqL.js.map → Slider-CdSPPw1x.js.map} +1 -1
- package/dist/next/Slider.cjs.js +1 -1
- package/dist/next/Slider.js +1 -1
- package/dist/next/{Spinner-CFah_Wyg.cjs → Spinner-B89FhxVt.cjs} +2 -1
- package/dist/next/{Spinner-CFah_Wyg.cjs.map → Spinner-B89FhxVt.cjs.map} +1 -1
- package/dist/next/{Spinner-BntSsGWn.js → Spinner-ChiOXzru.js} +2 -1
- package/dist/next/{Spinner-BntSsGWn.js.map → Spinner-ChiOXzru.js.map} +1 -1
- package/dist/next/Spinner.cjs.js +1 -1
- package/dist/next/Spinner.js +1 -1
- package/dist/next/{Stepper-59931F6-.js → Stepper-9uHSgp7y.js} +2 -1
- package/dist/next/{Stepper-59931F6-.js.map → Stepper-9uHSgp7y.js.map} +1 -1
- package/dist/next/{Stepper-YxxnY0y2.cjs → Stepper-UwSloxRf.cjs} +2 -1
- package/dist/next/{Stepper-YxxnY0y2.cjs.map → Stepper-UwSloxRf.cjs.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{Tabs-Dl389scs.js → Tabs-CvYx2xtH.js} +2 -1
- package/dist/next/{Tabs-Dl389scs.js.map → Tabs-CvYx2xtH.js.map} +1 -1
- package/dist/next/{Tabs-0GBOWBIt.cjs → Tabs-D2jqRrxR.cjs} +2 -1
- package/dist/next/{Tabs-0GBOWBIt.cjs.map → Tabs-D2jqRrxR.cjs.map} +1 -1
- package/dist/next/Tabs.cjs.js +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-Bjt_zbHy.js → TagInput-DUWgLslk.js} +2 -1
- package/dist/next/{TagInput-Bjt_zbHy.js.map → TagInput-DUWgLslk.js.map} +1 -1
- package/dist/next/{TagInput-Jswp7Yn5.cjs → TagInput-Dym0BPK1.cjs} +2 -1
- package/dist/next/{TagInput-Jswp7Yn5.cjs.map → TagInput-Dym0BPK1.cjs.map} +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{Timeline-KozBssou.js → Timeline-Cg0FWWVc.js} +2 -1
- package/dist/next/{Timeline-KozBssou.js.map → Timeline-Cg0FWWVc.js.map} +1 -1
- package/dist/next/{Timeline-Dju3pHLR.cjs → Timeline-DXSXZumg.cjs} +2 -1
- package/dist/next/{Timeline-Dju3pHLR.cjs.map → Timeline-DXSXZumg.cjs.map} +1 -1
- package/dist/next/Timeline.cjs.js +1 -1
- package/dist/next/Timeline.js +1 -1
- package/dist/next/{Toggle-BQG-5q5G.cjs → Toggle-BNK7uC_N.cjs} +5 -4
- package/dist/next/{Toggle-BQG-5q5G.cjs.map → Toggle-BNK7uC_N.cjs.map} +1 -1
- package/dist/next/{Toggle-Bb5d1QLE.js → Toggle-CnpONDwl.js} +5 -4
- package/dist/next/{Toggle-Bb5d1QLE.js.map → Toggle-CnpONDwl.js.map} +1 -1
- package/dist/next/Toggle.cjs.js +1 -1
- package/dist/next/Toggle.js +1 -1
- package/dist/next/{Toolbar-CHnjBixI.js → Toolbar-007Q19jl.js} +3 -2
- package/dist/next/{Toolbar-CHnjBixI.js.map → Toolbar-007Q19jl.js.map} +1 -1
- package/dist/next/{Toolbar-Dxscfy5X.cjs → Toolbar-DHUozW08.cjs} +3 -2
- package/dist/next/{Toolbar-Dxscfy5X.cjs.map → Toolbar-DHUozW08.cjs.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/index.cjs.js +43 -52
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +45 -54
- package/dist/next/index.js.map +1 -1
- package/dist/next/style.css +73 -73
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Avatar/core/Avatar.d.ts +1 -2
- package/dist/types/components/Avatar/core/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/next/Avatar.d.ts +1 -2
- package/dist/types/components/Avatar/next/Avatar.d.ts.map +1 -1
- package/dist/types/components/Checkbox/core/Checkbox.d.ts +1 -2
- package/dist/types/components/Checkbox/core/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Checkbox/next/Checkbox.d.ts +1 -2
- package/dist/types/components/Checkbox/next/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Chip/ChipGroup/core/ChipGroup.d.ts +1 -2
- package/dist/types/components/Chip/ChipGroup/core/ChipGroup.d.ts.map +1 -1
- package/dist/types/components/Chip/ChipGroup/next/ChipGroup.d.ts +1 -2
- package/dist/types/components/Chip/ChipGroup/next/ChipGroup.d.ts.map +1 -1
- package/dist/types/components/DataTable/core/DataTable.d.ts +3 -0
- package/dist/types/components/DataTable/core/DataTable.d.ts.map +1 -1
- package/dist/types/components/DataTable/next/DataTable.d.ts +3 -0
- package/dist/types/components/DataTable/next/DataTable.d.ts.map +1 -1
- package/dist/types/components/Divider/core/Divider.d.ts +1 -2
- package/dist/types/components/Divider/core/Divider.d.ts.map +1 -1
- package/dist/types/components/Divider/next/Divider.d.ts +1 -2
- package/dist/types/components/Divider/next/Divider.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.types.d.ts +4 -0
- package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
- package/dist/types/components/RadioButton/core/RadioButton.d.ts +1 -2
- package/dist/types/components/RadioButton/core/RadioButton.d.ts.map +1 -1
- package/dist/types/components/RadioButton/next/RadioButton.d.ts +1 -2
- package/dist/types/components/RadioButton/next/RadioButton.d.ts.map +1 -1
- package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts +1 -2
- package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts.map +1 -1
- package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts +1 -2
- package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts.map +1 -1
- package/dist/types/components/Select/core/Select.d.ts +1 -2
- package/dist/types/components/Select/core/Select.d.ts.map +1 -1
- package/dist/types/components/Select/next/Select.d.ts +1 -2
- package/dist/types/components/Select/next/Select.d.ts.map +1 -1
- package/dist/types/components/Toggle/core/Toggle.d.ts +1 -2
- package/dist/types/components/Toggle/core/Toggle.d.ts.map +1 -1
- package/dist/types/components/Toggle/next/Toggle.d.ts +1 -2
- package/dist/types/components/Toggle/next/Toggle.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/Checkbox-CkidkPsK.js.map +0 -1
- package/dist/core/Checkbox-dcfbhcGR.cjs.map +0 -1
- package/dist/core/Footer-D2DOWiIc.js.map +0 -1
- package/dist/core/Footer-lTLk-01g.cjs.map +0 -1
- package/dist/core/RadioButton-B8QehL7o.js.map +0 -1
- package/dist/core/Toggle-Dor7IEx3.cjs.map +0 -1
- package/dist/core/Toggle-sPyKNt4P.js.map +0 -1
- package/dist/next/Footer-BfzKhBAD.js.map +0 -1
- package/dist/next/Footer-Cd9jSPv8.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload-Bp7Pbj8m.js","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\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=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\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 FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\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=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\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 TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n"],"names":["error","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","rejectedFiles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUpload-CIued3w1.js","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\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=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\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 FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\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=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\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 TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\nFileUpload.displayName = \"FileUpload\";\r\nexport default FileUpload;\r\n"],"names":["error","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","rejectedFiles"],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ const React = require("react");
|
|
|
4
4
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
5
5
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
6
6
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
7
|
-
const Button = require("./Button-
|
|
7
|
+
const Button = require("./Button-D8Kff8sN.cjs");
|
|
8
8
|
const IconButton = require("./IconButton-VSz8qAIg.cjs");
|
|
9
|
-
const FormGroup = require("./FormGroup-
|
|
10
|
-
const ProgressBar = require("./ProgressBar-
|
|
9
|
+
const FormGroup = require("./FormGroup-6Ss6pNqV.cjs");
|
|
10
|
+
const ProgressBar = require("./ProgressBar-DfXSlpKX.cjs");
|
|
11
11
|
const FileIcon = (props) => /* @__PURE__ */ require$$2.jsxs(
|
|
12
12
|
"svg",
|
|
13
13
|
{
|
|
@@ -473,5 +473,6 @@ const FileUpload = (props) => {
|
|
|
473
473
|
}
|
|
474
474
|
);
|
|
475
475
|
};
|
|
476
|
+
FileUpload.displayName = "FileUpload";
|
|
476
477
|
exports.FileUpload = FileUpload;
|
|
477
|
-
//# sourceMappingURL=FileUpload-
|
|
478
|
+
//# sourceMappingURL=FileUpload-MVXOV0j9.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload-CUFWjI06.cjs","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\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=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\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 FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\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=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\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 TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n"],"names":["jsxs","jsx","error","getDefaultTheme","getDefaultRounding","getDefaultShadow","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","useState","rejectedFiles","useRef","useMemo","useEffect","combineClassNames","capitalize","Progressbar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUpload-MVXOV0j9.cjs","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\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=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\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 FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\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=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\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 TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\nFileUpload.displayName = \"FileUpload\";\r\nexport default FileUpload;\r\n"],"names":["jsxs","jsx","error","getDefaultTheme","getDefaultRounding","getDefaultShadow","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","useState","rejectedFiles","useRef","useMemo","useEffect","combineClassNames","capitalize","Progressbar"],"mappings":"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"}
|
package/dist/next/FileUpload.js
CHANGED
|
@@ -1,46 +1,50 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useContext, useMemo } from "react";
|
|
2
|
+
import { forwardRef, useContext, useMemo } from "react";
|
|
3
3
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
4
4
|
import { a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
6
|
import { I as IconButton } from "./IconButton-qQljwBB2.js";
|
|
7
7
|
import { a as ThemeContext } from "./ThemeContext-DSYDwr2m.js";
|
|
8
|
-
import { S as Select } from "./Select-
|
|
8
|
+
import { S as Select } from "./Select-CZivQIlV.js";
|
|
9
9
|
import { L as Link } from "./link-Bik5xH00.js";
|
|
10
10
|
import { I as Image } from "./image-CEz9QtOW.js";
|
|
11
|
-
const UserThemeSettings = (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
11
|
+
const UserThemeSettings = forwardRef(
|
|
12
|
+
({
|
|
13
|
+
theme = getDefaultTheme(),
|
|
14
|
+
shadow = getDefaultShadow(),
|
|
15
|
+
rounding = getDefaultRounding(),
|
|
16
|
+
state = "",
|
|
17
|
+
"data-testid": testId = "theme-select"
|
|
18
|
+
}, ref) => {
|
|
19
|
+
const ctx = useContext(ThemeContext);
|
|
20
|
+
if (!ctx)
|
|
21
|
+
throw new Error("ThemeContext is undefined. Wrap with ThemeProvider.");
|
|
22
|
+
const { selectedScheme, setSelectedScheme, schemes } = ctx;
|
|
23
|
+
const options = useMemo(
|
|
24
|
+
() => schemes.map((scheme, index) => ({
|
|
25
|
+
value: String(index),
|
|
26
|
+
label: scheme.name
|
|
27
|
+
})),
|
|
28
|
+
[schemes]
|
|
29
|
+
);
|
|
30
|
+
return /* @__PURE__ */ jsx("div", { className: `control-container`, children: /* @__PURE__ */ jsx(
|
|
31
|
+
Select,
|
|
32
|
+
{
|
|
33
|
+
ref,
|
|
34
|
+
theme,
|
|
35
|
+
state,
|
|
36
|
+
shadow,
|
|
37
|
+
rounding,
|
|
38
|
+
options,
|
|
39
|
+
"data-testid": testId,
|
|
40
|
+
value: String(selectedScheme),
|
|
41
|
+
ariaLabel: "Select Theme",
|
|
42
|
+
onChange: (value) => setSelectedScheme(parseInt(String(value), 10))
|
|
43
|
+
}
|
|
44
|
+
) });
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
UserThemeSettings.displayName = "UserThemeSettings";
|
|
44
48
|
const FooterBase = ({
|
|
45
49
|
theme = getDefaultTheme(),
|
|
46
50
|
attachment = "static",
|
|
@@ -171,38 +175,38 @@ const FooterBase = ({
|
|
|
171
175
|
] }) });
|
|
172
176
|
};
|
|
173
177
|
FooterBase.displayName = "FooterBase";
|
|
174
|
-
const noScroll = "
|
|
175
|
-
const errorMessage = "
|
|
176
|
-
const loadingContainer = "
|
|
177
|
-
const hideScrollbar = "
|
|
178
|
-
const sr_only = "
|
|
179
|
-
const footer = "
|
|
180
|
-
const primary = "
|
|
181
|
-
const secondary = "
|
|
182
|
-
const tertiary = "
|
|
183
|
-
const quaternary = "
|
|
184
|
-
const clear = "
|
|
185
|
-
const roundNone = "
|
|
186
|
-
const roundSmall = "
|
|
187
|
-
const roundMedium = "
|
|
188
|
-
const roundLarge = "
|
|
189
|
-
const roundFull = "
|
|
190
|
-
const shadowNone = "
|
|
191
|
-
const shadowLight = "
|
|
192
|
-
const shadowMedium = "
|
|
193
|
-
const shadowStrong = "
|
|
194
|
-
const shadowIntense = "
|
|
195
|
-
const attachmentStatic = "
|
|
196
|
-
const attachmentSticky = "
|
|
197
|
-
const attachmentFixed = "
|
|
198
|
-
const content = "
|
|
199
|
-
const left = "
|
|
200
|
-
const links = "
|
|
201
|
-
const logo = "
|
|
202
|
-
const social = "
|
|
203
|
-
const themeToggle = "
|
|
204
|
-
const spin = "
|
|
205
|
-
const pulse = "
|
|
178
|
+
const noScroll = "_noScroll_q8hpo_108";
|
|
179
|
+
const errorMessage = "_errorMessage_q8hpo_109";
|
|
180
|
+
const loadingContainer = "_loadingContainer_q8hpo_110";
|
|
181
|
+
const hideScrollbar = "_hideScrollbar_q8hpo_102";
|
|
182
|
+
const sr_only = "_sr_only_q8hpo_111";
|
|
183
|
+
const footer = "_footer_q8hpo_540";
|
|
184
|
+
const primary = "_primary_q8hpo_545";
|
|
185
|
+
const secondary = "_secondary_q8hpo_549";
|
|
186
|
+
const tertiary = "_tertiary_q8hpo_553";
|
|
187
|
+
const quaternary = "_quaternary_q8hpo_557";
|
|
188
|
+
const clear = "_clear_q8hpo_561";
|
|
189
|
+
const roundNone = "_roundNone_q8hpo_565";
|
|
190
|
+
const roundSmall = "_roundSmall_q8hpo_569";
|
|
191
|
+
const roundMedium = "_roundMedium_q8hpo_573";
|
|
192
|
+
const roundLarge = "_roundLarge_q8hpo_577";
|
|
193
|
+
const roundFull = "_roundFull_q8hpo_581";
|
|
194
|
+
const shadowNone = "_shadowNone_q8hpo_585";
|
|
195
|
+
const shadowLight = "_shadowLight_q8hpo_588";
|
|
196
|
+
const shadowMedium = "_shadowMedium_q8hpo_591";
|
|
197
|
+
const shadowStrong = "_shadowStrong_q8hpo_594";
|
|
198
|
+
const shadowIntense = "_shadowIntense_q8hpo_597";
|
|
199
|
+
const attachmentStatic = "_attachmentStatic_q8hpo_600";
|
|
200
|
+
const attachmentSticky = "_attachmentSticky_q8hpo_603";
|
|
201
|
+
const attachmentFixed = "_attachmentFixed_q8hpo_611";
|
|
202
|
+
const content = "_content_q8hpo_620";
|
|
203
|
+
const left = "_left_q8hpo_639";
|
|
204
|
+
const links = "_links_q8hpo_662";
|
|
205
|
+
const logo = "_logo_q8hpo_702";
|
|
206
|
+
const social = "_social_q8hpo_718";
|
|
207
|
+
const themeToggle = "_themeToggle_q8hpo_735";
|
|
208
|
+
const spin = "_spin_q8hpo_1";
|
|
209
|
+
const pulse = "_pulse_q8hpo_1";
|
|
206
210
|
const styles = {
|
|
207
211
|
noScroll,
|
|
208
212
|
errorMessage,
|
|
@@ -234,15 +238,15 @@ const styles = {
|
|
|
234
238
|
logo,
|
|
235
239
|
social,
|
|
236
240
|
themeToggle,
|
|
237
|
-
"fade-in": "_fade-
|
|
238
|
-
"slide-up": "_slide-
|
|
239
|
-
"spin-3d": "_spin-
|
|
241
|
+
"fade-in": "_fade-in_q8hpo_1",
|
|
242
|
+
"slide-up": "_slide-up_q8hpo_1",
|
|
243
|
+
"spin-3d": "_spin-3d_q8hpo_1",
|
|
240
244
|
spin,
|
|
241
245
|
pulse,
|
|
242
|
-
"fade-in-up": "_fade-in-
|
|
243
|
-
"progress-grow": "_progress-
|
|
244
|
-
"indeterminate-move": "_indeterminate-
|
|
245
|
-
"skeleton-loading": "_skeleton-
|
|
246
|
+
"fade-in-up": "_fade-in-up_q8hpo_1",
|
|
247
|
+
"progress-grow": "_progress-grow_q8hpo_1",
|
|
248
|
+
"indeterminate-move": "_indeterminate-move_q8hpo_1",
|
|
249
|
+
"skeleton-loading": "_skeleton-loading_q8hpo_1"
|
|
246
250
|
};
|
|
247
251
|
const Footer = (props) => {
|
|
248
252
|
return /* @__PURE__ */ jsx(
|
|
@@ -257,8 +261,9 @@ const Footer = (props) => {
|
|
|
257
261
|
}
|
|
258
262
|
);
|
|
259
263
|
};
|
|
264
|
+
Footer.displayName = "Footer";
|
|
260
265
|
export {
|
|
261
266
|
Footer as F,
|
|
262
267
|
UserThemeSettings as U
|
|
263
268
|
};
|
|
264
|
-
//# sourceMappingURL=Footer-
|
|
269
|
+
//# sourceMappingURL=Footer-BSEbf6CL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer-BSEbf6CL.js","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useContext, useMemo, forwardRef } from \"react\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\nimport { ThemeSelectProps } from \"../../Select.types\";\r\n\r\nconst UserThemeSettings = forwardRef<HTMLSelectElement, ThemeSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n },\r\n ref\r\n ) => {\r\n const ctx = useContext(ThemeContext);\r\n if (!ctx)\r\n throw new Error(\"ThemeContext is undefined. Wrap with ThemeProvider.\");\r\n\r\n const { selectedScheme, setSelectedScheme, schemes } = ctx;\r\n\r\n const options = useMemo(\r\n () =>\r\n schemes.map((scheme, index) => ({\r\n value: String(index),\r\n label: scheme.name,\r\n })),\r\n [schemes]\r\n );\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n ref={ref}\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={testId}\r\n value={String(selectedScheme)}\r\n ariaLabel=\"Select Theme\"\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(String(value), 10))\r\n }\r\n />\r\n </div>\r\n );\r\n }\r\n);\r\nUserThemeSettings.displayName = \"UserThemeSettings\";\r\nexport default UserThemeSettings;\r\n","import React, { useMemo } from \"react\";\r\nimport { BaseFooterProps, LogoSource } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children, ...rest }) => (\r\n <a href={href} {...rest}>\r\n {children}\r\n </a>\r\n ),\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n shadow !== \"none\" && classMap[`shadow${capitalize(shadow)}`],\r\n rounding !== \"none\" && classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, shadow, rounding, attachment, className]\r\n );\r\n\r\n const isLogoImage = (\r\n v: unknown\r\n ): v is { src: string; width?: number; height?: number } =>\r\n typeof v === \"object\" &&\r\n v !== null &&\r\n \"src\" in (v as Record<string, unknown>);\r\n\r\n const isImgLike = typeof logo === \"string\" || isLogoImage(logo);\r\n\r\n const imgLogo = isImgLike\r\n ? typeof logo === \"string\"\r\n ? { src: logo }\r\n : logo\r\n : undefined;\r\n\r\n const logoSrc = imgLogo?.src;\r\n const logoW = imgLogo?.width ?? 20;\r\n const logoH = imgLogo?.height ?? 20;\r\n\r\n return (\r\n <footer className={footerClass} data-testid={testId}>\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {isImgLike && logoSrc ? (\r\n typeof ImageComponent === \"string\" ? (\r\n <img\r\n className={classMap.logo}\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logoSrc}\r\n alt=\"Logo\"\r\n height={logoH}\r\n width={logoW}\r\n />\r\n ) : (\r\n <ImageComponent\r\n className={classMap.logo}\r\n data-testid={`${testId}-logo`}\r\n src={logoSrc}\r\n alt=\"Logo\"\r\n height={logoH}\r\n width={logoW}\r\n />\r\n )\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n role=\"img\"\r\n aria-label=\"Logo\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {\r\n logo as Exclude<\r\n LogoSource,\r\n string | { src: string; width?: number; height?: number }\r\n >\r\n }\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div\r\n className={classMap.copyright ?? classMap.left}\r\n data-testid={`${testId}-copyright`}\r\n >\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul>\r\n {links.map((link, i) => {\r\n const slug = (link.label || link.href || `link-${i}`)\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\");\r\n return (\r\n <li key={`${link.href ?? slug}-${i}`}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${slug}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n >\r\n <ThemeSelect theme=\"clear\" shadow=\"none\" aria-label=\"Theme\" />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <nav\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={`${social.href ?? social.title}-${index}`}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </nav>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nFooterBase.displayName = \"FooterBase\";\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\nFooter.displayName = \"Footer\";\r\nexport default Footer;\r\n"],"names":["links","logo","IconButton","social","ThemeSelect"],"mappings":"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"}
|