boreal-ui 0.0.25 → 0.0.27
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/{Badge-DfsFGYhY.js → Badge-DUALACa_.js} +2 -2
- package/dist/core/Badge-DUALACa_.js.map +1 -0
- package/dist/core/{Badge-LyKc0uJG.cjs → Badge-DwjSTlvN.cjs} +2 -2
- package/dist/core/Badge-DwjSTlvN.cjs.map +1 -0
- package/dist/core/Badge.cjs.js +1 -1
- package/dist/core/Badge.js +1 -1
- package/dist/core/{Breadcrumbs-DhioJUB9.js → Breadcrumbs-BKx89feu.js} +3 -3
- package/dist/core/Breadcrumbs-BKx89feu.js.map +1 -0
- package/dist/core/{Breadcrumbs-xmUgcTXF.cjs → Breadcrumbs-DrfR3704.cjs} +3 -3
- package/dist/core/Breadcrumbs-DrfR3704.cjs.map +1 -0
- package/dist/core/Breadcrumbs.cjs.js +1 -1
- package/dist/core/Breadcrumbs.js +1 -1
- package/dist/core/{Button-wz_We8xU.cjs → Button-BnyCKkUs.cjs} +2 -2
- package/dist/core/Button-BnyCKkUs.cjs.map +1 -0
- package/dist/core/{Button-DEYbr8xW.js → Button-brEyEh7E.js} +2 -2
- package/dist/core/Button-brEyEh7E.js.map +1 -0
- package/dist/core/Button.cjs.js +1 -1
- package/dist/core/Button.js +1 -1
- package/dist/core/{Card-CaCboEwS.js → Card-Bae4H8tR.js} +3 -3
- package/dist/core/{Card-CaCboEwS.js.map → Card-Bae4H8tR.js.map} +1 -1
- package/dist/core/{Card-B8vnbUG9.cjs → Card-BsYXSByx.cjs} +3 -3
- package/dist/core/{Card-B8vnbUG9.cjs.map → Card-BsYXSByx.cjs.map} +1 -1
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/{Checkbox-BLBbE9Ww.js → Checkbox-BykCObI-.js} +2 -2
- package/dist/core/Checkbox-BykCObI-.js.map +1 -0
- package/dist/core/{Checkbox-fVnseKGF.cjs → Checkbox-Ye8jGIKV.cjs} +2 -2
- package/dist/core/Checkbox-Ye8jGIKV.cjs.map +1 -0
- package/dist/core/Checkbox.cjs.js +1 -1
- package/dist/core/Checkbox.js +1 -1
- package/dist/core/{Chip-M8cB2nXM.js → Chip-DjWJJ19V.js} +2 -2
- package/dist/core/{Chip-M8cB2nXM.js.map → Chip-DjWJJ19V.js.map} +1 -1
- package/dist/core/{Chip-BtQlcu8Z.cjs → Chip-JKvM6DlT.cjs} +2 -2
- package/dist/core/{Chip-BtQlcu8Z.cjs.map → Chip-JKvM6DlT.cjs.map} +1 -1
- package/dist/core/Chip.cjs.js +1 -1
- package/dist/core/Chip.js +1 -1
- package/dist/core/{CommandPalette-CHOC0Z2m.js → CommandPalette-PhWRjxbF.js} +2 -2
- package/dist/core/{CommandPalette-CHOC0Z2m.js.map → CommandPalette-PhWRjxbF.js.map} +1 -1
- package/dist/core/{CommandPalette-XTi50U_E.cjs → CommandPalette-XZ3MmC7j.cjs} +2 -2
- package/dist/core/{CommandPalette-XTi50U_E.cjs.map → CommandPalette-XZ3MmC7j.cjs.map} +1 -1
- package/dist/core/CommandPalette.cjs.js +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/{Dropdown-CL7TH2lJ.js → Dropdown-CPKkSeq2.js} +2 -2
- package/dist/core/{Dropdown-CL7TH2lJ.js.map → Dropdown-CPKkSeq2.js.map} +1 -1
- package/dist/core/{Dropdown-CPsxvzTA.cjs → Dropdown-iTrhrEMO.cjs} +2 -2
- package/dist/core/{Dropdown-CPsxvzTA.cjs.map → Dropdown-iTrhrEMO.cjs.map} +1 -1
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-BAaCfJzO.cjs → EmptyState-C0TYr_9h.cjs} +2 -2
- package/dist/core/{EmptyState-BAaCfJzO.cjs.map → EmptyState-C0TYr_9h.cjs.map} +1 -1
- package/dist/core/{EmptyState-Bd-es_rG.js → EmptyState-DHNuzYnG.js} +2 -2
- package/dist/core/{EmptyState-Bd-es_rG.js.map → EmptyState-DHNuzYnG.js.map} +1 -1
- package/dist/core/EmptyState.cjs.js +1 -1
- package/dist/core/EmptyState.js +1 -1
- package/dist/core/{FileUpload-DxjQ2wnn.js → FileUpload-BJu-5NKg.js} +3 -3
- package/dist/core/{FileUpload-DxjQ2wnn.js.map → FileUpload-BJu-5NKg.js.map} +1 -1
- package/dist/core/{FileUpload-Dv2cvYI2.cjs → FileUpload-CuJ8RYA7.cjs} +3 -3
- package/dist/core/{FileUpload-Dv2cvYI2.cjs.map → FileUpload-CuJ8RYA7.cjs.map} +1 -1
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{Footer-Bi3OLtAi.js → Footer-CPg_4j5r.js} +3 -3
- package/dist/core/{Footer-Bi3OLtAi.js.map → Footer-CPg_4j5r.js.map} +1 -1
- package/dist/core/{Footer-CgPo0kjA.cjs → Footer-kLL_3Qc-.cjs} +3 -3
- package/dist/core/{Footer-CgPo0kjA.cjs.map → Footer-kLL_3Qc-.cjs.map} +1 -1
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{IconButton-BxUXK-xn.cjs → IconButton-BADgP1DD.cjs} +2 -2
- package/dist/core/IconButton-BADgP1DD.cjs.map +1 -0
- package/dist/core/{IconButton-B6cAP2hY.js → IconButton-Dsw2M1s8.js} +2 -2
- package/dist/core/IconButton-Dsw2M1s8.js.map +1 -0
- package/dist/core/IconButton.cjs.js +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/{MessagePopUp-CC7r9RHN.js → MessagePopUp--LfNe9F6.js} +3 -3
- package/dist/core/{MessagePopUp-CC7r9RHN.js.map → MessagePopUp--LfNe9F6.js.map} +1 -1
- package/dist/core/{MessagePopUp-BUS6ICem.cjs → MessagePopUp-D6rtyzX3.cjs} +3 -3
- package/dist/core/{MessagePopUp-BUS6ICem.cjs.map → MessagePopUp-D6rtyzX3.cjs.map} +1 -1
- package/dist/core/MessagePopUp.cjs.js +1 -1
- package/dist/core/MessagePopUp.js +1 -1
- package/dist/core/{Modal-CI2snbvk.cjs → Modal--5xg1kDj.cjs} +2 -2
- package/dist/core/{Modal-CI2snbvk.cjs.map → Modal--5xg1kDj.cjs.map} +1 -1
- package/dist/core/{Modal-BhQJOhWV.js → Modal-CYw6ZB5A.js} +2 -2
- package/dist/core/{Modal-BhQJOhWV.js.map → Modal-CYw6ZB5A.js.map} +1 -1
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NotificationCenter-Bp7AqnTg.js → NotificationCenter-C8acfI4Y.js} +3 -3
- package/dist/core/{NotificationCenter-Bp7AqnTg.js.map → NotificationCenter-C8acfI4Y.js.map} +1 -1
- package/dist/core/{NotificationCenter-DxaqoUD1.cjs → NotificationCenter-DdPqMwuQ.cjs} +3 -3
- package/dist/core/{NotificationCenter-DxaqoUD1.cjs.map → NotificationCenter-DdPqMwuQ.cjs.map} +1 -1
- package/dist/core/NotificationCenter.cjs.js +1 -1
- package/dist/core/NotificationCenter.js +1 -1
- package/dist/core/{Pager-2jW3cxx_.js → Pager-Dfaqg2oX.js} +3 -3
- package/dist/core/{Pager-2jW3cxx_.js.map → Pager-Dfaqg2oX.js.map} +1 -1
- package/dist/core/{Pager-ByVG_at-.cjs → Pager-DrKL8NGY.cjs} +3 -3
- package/dist/core/{Pager-ByVG_at-.cjs.map → Pager-DrKL8NGY.cjs.map} +1 -1
- package/dist/core/Pager.cjs.js +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{Stepper-PjUFCUBG.js → Stepper-B-wTooCi.js} +2 -2
- package/dist/core/{Stepper-PjUFCUBG.js.map → Stepper-B-wTooCi.js.map} +1 -1
- package/dist/core/{Stepper-BkmPckKd.cjs → Stepper-CZ0lJwyQ.cjs} +2 -2
- package/dist/core/{Stepper-BkmPckKd.cjs.map → Stepper-CZ0lJwyQ.cjs.map} +1 -1
- package/dist/core/Stepper.cjs.js +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{TagInput-CrScreYL.js → TagInput-B3yI5CWh.js} +3 -3
- package/dist/core/{TagInput-CrScreYL.js.map → TagInput-B3yI5CWh.js.map} +1 -1
- package/dist/core/{TagInput-BMPHihSz.cjs → TagInput-DftgiPXn.cjs} +3 -3
- package/dist/core/{TagInput-BMPHihSz.cjs.map → TagInput-DftgiPXn.cjs.map} +1 -1
- package/dist/core/TagInput.cjs.js +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/{TextArea-B0it55lO.js → TextArea-DrU4oCj0.js} +3 -3
- package/dist/core/TextArea-DrU4oCj0.js.map +1 -0
- package/dist/core/{TextArea-Dn9aynnY.cjs → TextArea-Nj-eO3Pv.cjs} +3 -3
- package/dist/core/TextArea-Nj-eO3Pv.cjs.map +1 -0
- package/dist/core/TextArea.cjs.js +1 -1
- package/dist/core/TextArea.js +1 -1
- package/dist/core/{TextInput-8AbKEfUH.cjs → TextInput-BP3o-iku.cjs} +2 -2
- package/dist/core/{TextInput-8AbKEfUH.cjs.map → TextInput-BP3o-iku.cjs.map} +1 -1
- package/dist/core/{TextInput-CtI8fsXR.js → TextInput-CXb9gNEa.js} +2 -2
- package/dist/core/{TextInput-CtI8fsXR.js.map → TextInput-CXb9gNEa.js.map} +1 -1
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/{next/ThemeContext-Bo0vLczy.js → core/ThemeContext-B-z-faEj.js} +30 -30
- package/dist/core/ThemeContext-B-z-faEj.js.map +1 -0
- package/dist/core/{ThemeContext-CtZXUeeU.cjs → ThemeContext-CtNdJ7LK.cjs} +29 -29
- package/dist/core/ThemeContext-CtNdJ7LK.cjs.map +1 -0
- package/dist/core/ThemeProvider.cjs.js +1 -1
- package/dist/core/ThemeProvider.js +1 -1
- package/dist/core/index.cjs.js +21 -21
- package/dist/core/index.js +21 -21
- package/dist/next/{Avatar-B3eTb_Xz.js → Avatar-CKByQz4V.js} +3 -3
- package/dist/next/{Avatar-B3eTb_Xz.js.map → Avatar-CKByQz4V.js.map} +1 -1
- package/dist/next/{Avatar-BX8mh_3b.cjs → Avatar-Cd_TqEqJ.cjs} +3 -3
- package/dist/next/{Avatar-BX8mh_3b.cjs.map → Avatar-Cd_TqEqJ.cjs.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Badge-d7iY-oiw.cjs → Badge-DUUW_Zp1.cjs} +2 -2
- package/dist/next/Badge-DUUW_Zp1.cjs.map +1 -0
- package/dist/next/{Badge-C4JwPL9J.js → Badge-DywmGB1E.js} +2 -2
- package/dist/next/Badge-DywmGB1E.js.map +1 -0
- package/dist/next/Badge.cjs.js +1 -1
- package/dist/next/Badge.js +1 -1
- package/dist/next/{Breadcrumbs-LfCnghHj.js → Breadcrumbs-CsQGqIFq.js} +4 -4
- package/dist/next/Breadcrumbs-CsQGqIFq.js.map +1 -0
- package/dist/next/{Breadcrumbs-CEHoh3s2.cjs → Breadcrumbs-pw9Ow6LT.cjs} +4 -4
- package/dist/next/Breadcrumbs-pw9Ow6LT.cjs.map +1 -0
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-Cw9aGFLo.cjs → Button-CksDHAGT.cjs} +3 -3
- package/dist/next/Button-CksDHAGT.cjs.map +1 -0
- package/dist/next/{Button-CDvdEOSq.js → Button-DUYFGciR.js} +3 -3
- package/dist/next/Button-DUYFGciR.js.map +1 -0
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-CaPhq4Ut.js → Card-DFKVGnWo.js} +4 -4
- package/dist/next/{Card-CaPhq4Ut.js.map → Card-DFKVGnWo.js.map} +1 -1
- package/dist/next/{Card-Bk3Kx1sY.cjs → Card-HHvgocCd.cjs} +4 -4
- package/dist/next/{Card-Bk3Kx1sY.cjs.map → Card-HHvgocCd.cjs.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/{Checkbox-CiHMrYmz.js → Checkbox-3k5UZ20q.js} +2 -2
- package/dist/next/Checkbox-3k5UZ20q.js.map +1 -0
- package/dist/next/{Checkbox-wdW0yOxr.cjs → Checkbox-CFz2oqPW.cjs} +2 -2
- package/dist/next/Checkbox-CFz2oqPW.cjs.map +1 -0
- package/dist/next/Checkbox.cjs.js +1 -1
- package/dist/next/Checkbox.js +1 -1
- package/dist/next/{Chip-CVEIkG-f.cjs → Chip-CPe_ATTn.cjs} +2 -2
- package/dist/next/{Chip-CVEIkG-f.cjs.map → Chip-CPe_ATTn.cjs.map} +1 -1
- package/dist/next/{Chip-06q10So-.js → Chip-DngJ3Nsm.js} +2 -2
- package/dist/next/{Chip-06q10So-.js.map → Chip-DngJ3Nsm.js.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CommandPalette-FO3S6xly.cjs → CommandPalette-BExinZ-y.cjs} +2 -2
- package/dist/next/{CommandPalette-FO3S6xly.cjs.map → CommandPalette-BExinZ-y.cjs.map} +1 -1
- package/dist/next/{CommandPalette-BvgDewF1.js → CommandPalette-BKamGmgu.js} +2 -2
- package/dist/next/{CommandPalette-BvgDewF1.js.map → CommandPalette-BKamGmgu.js.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{Dropdown-C_B5tfQD.js → Dropdown-B2xAwrlF.js} +2 -2
- package/dist/next/{Dropdown-C_B5tfQD.js.map → Dropdown-B2xAwrlF.js.map} +1 -1
- package/dist/next/{Dropdown-Pjjqikm8.cjs → Dropdown-COJxJqzC.cjs} +2 -2
- package/dist/next/{Dropdown-Pjjqikm8.cjs.map → Dropdown-COJxJqzC.cjs.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-Bo9W0BX5.js → EmptyState-DeYWnFaJ.js} +2 -2
- package/dist/next/{EmptyState-Bo9W0BX5.js.map → EmptyState-DeYWnFaJ.js.map} +1 -1
- package/dist/next/{EmptyState-DCjBopC6.cjs → EmptyState-DepuL2N8.cjs} +2 -2
- package/dist/next/{EmptyState-DCjBopC6.cjs.map → EmptyState-DepuL2N8.cjs.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-BGK2Pg4X.js → FileUpload-C91Pd8t7.js} +3 -3
- package/dist/next/{FileUpload-BGK2Pg4X.js.map → FileUpload-C91Pd8t7.js.map} +1 -1
- package/dist/next/{FileUpload-DoMMMgwj.cjs → FileUpload-tiwkr7n-.cjs} +3 -3
- package/dist/next/{FileUpload-DoMMMgwj.cjs.map → FileUpload-tiwkr7n-.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-EX62svri.cjs → Footer-BkA5H1MS.cjs} +5 -5
- package/dist/next/{Footer-EX62svri.cjs.map → Footer-BkA5H1MS.cjs.map} +1 -1
- package/dist/next/{Footer-CWUge4tr.js → Footer-BvTet1LG.js} +5 -5
- package/dist/next/{Footer-CWUge4tr.js.map → Footer-BvTet1LG.js.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{IconButton-DxGzuz13.js → IconButton-BjZZm2hJ.js} +3 -3
- package/dist/next/IconButton-BjZZm2hJ.js.map +1 -0
- package/dist/next/{IconButton-1BW390eT.cjs → IconButton-DvfiteNA.cjs} +3 -3
- package/dist/next/IconButton-DvfiteNA.cjs.map +1 -0
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/{MessagePopUp-CRXKWJcY.cjs → MessagePopUp-8Jk_jkt_.cjs} +3 -3
- package/dist/next/{MessagePopUp-CRXKWJcY.cjs.map → MessagePopUp-8Jk_jkt_.cjs.map} +1 -1
- package/dist/next/{MessagePopUp-r4RzD_hc.js → MessagePopUp-DCP7uPnZ.js} +3 -3
- package/dist/next/{MessagePopUp-r4RzD_hc.js.map → MessagePopUp-DCP7uPnZ.js.map} +1 -1
- package/dist/next/MessagePopUp.cjs.js +1 -1
- package/dist/next/MessagePopUp.js +1 -1
- package/dist/next/{Modal-BUWht7j9.cjs → Modal-C2aLpohd.cjs} +2 -2
- package/dist/next/{Modal-BUWht7j9.cjs.map → Modal-C2aLpohd.cjs.map} +1 -1
- package/dist/next/{Modal-HVhtE6zt.js → Modal-DFnJUiOY.js} +2 -2
- package/dist/next/{Modal-HVhtE6zt.js.map → Modal-DFnJUiOY.js.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-CO4v6_28.cjs → NavBar-CqPh60CY.cjs} +3 -3
- package/dist/next/{NavBar-CO4v6_28.cjs.map → NavBar-CqPh60CY.cjs.map} +1 -1
- package/dist/next/{NavBar-CKo-nom2.js → NavBar-CtpkmbXJ.js} +3 -3
- package/dist/next/{NavBar-CKo-nom2.js.map → NavBar-CtpkmbXJ.js.map} +1 -1
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-Bi6LJr55.cjs → NotificationCenter-ChaO0Xu5.cjs} +3 -3
- package/dist/next/{NotificationCenter-Bi6LJr55.cjs.map → NotificationCenter-ChaO0Xu5.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-OqRd6YfC.js → NotificationCenter-ySBsv_F4.js} +3 -3
- package/dist/next/{NotificationCenter-OqRd6YfC.js.map → NotificationCenter-ySBsv_F4.js.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-AgAN8E1P.js → Pager-BYY7KOKU.js} +3 -3
- package/dist/next/{Pager-AgAN8E1P.js.map → Pager-BYY7KOKU.js.map} +1 -1
- package/dist/next/{Pager-DCW208Vq.cjs → Pager-Bbbq04I_.cjs} +3 -3
- package/dist/next/{Pager-DCW208Vq.cjs.map → Pager-Bbbq04I_.cjs.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{Sidebar-R1NSvWHu.js → Sidebar-CB2Lm-J-.js} +3 -3
- package/dist/next/{Sidebar-R1NSvWHu.js.map → Sidebar-CB2Lm-J-.js.map} +1 -1
- package/dist/next/{Sidebar-C_zefcbg.cjs → Sidebar-hBHcsbrg.cjs} +3 -3
- package/dist/next/{Sidebar-C_zefcbg.cjs.map → Sidebar-hBHcsbrg.cjs.map} +1 -1
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Stepper-JSC7kNUK.cjs → Stepper-DOdGXz4_.cjs} +2 -2
- package/dist/next/{Stepper-JSC7kNUK.cjs.map → Stepper-DOdGXz4_.cjs.map} +1 -1
- package/dist/next/{Stepper-DPIt2hlL.js → Stepper-tDpx2gnl.js} +2 -2
- package/dist/next/{Stepper-DPIt2hlL.js.map → Stepper-tDpx2gnl.js.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{TagInput-DjHDSsny.js → TagInput-BqNnh1L9.js} +3 -3
- package/dist/next/{TagInput-DjHDSsny.js.map → TagInput-BqNnh1L9.js.map} +1 -1
- package/dist/next/{TagInput-BwoUWtRR.cjs → TagInput-DUD9_g1b.cjs} +3 -3
- package/dist/next/{TagInput-BwoUWtRR.cjs.map → TagInput-DUD9_g1b.cjs.map} +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextArea-BDYg--3P.js → TextArea-Bmkg-d0v.js} +3 -3
- package/dist/next/TextArea-Bmkg-d0v.js.map +1 -0
- package/dist/next/{TextArea-OVtBBpaP.cjs → TextArea-OpFozktU.cjs} +3 -3
- package/dist/next/TextArea-OpFozktU.cjs.map +1 -0
- package/dist/next/TextArea.cjs.js +1 -1
- package/dist/next/TextArea.js +1 -1
- package/dist/next/{TextInput-DXXcGZtq.js → TextInput-BQPtN14M.js} +2 -2
- package/dist/next/{TextInput-DXXcGZtq.js.map → TextInput-BQPtN14M.js.map} +1 -1
- package/dist/next/{TextInput--th5kygP.cjs → TextInput-k8U0_lSm.cjs} +2 -2
- package/dist/next/{TextInput--th5kygP.cjs.map → TextInput-k8U0_lSm.cjs.map} +1 -1
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/{core/ThemeContext-Bo0vLczy.js → next/ThemeContext-B-z-faEj.js} +30 -30
- package/dist/next/ThemeContext-B-z-faEj.js.map +1 -0
- package/dist/next/{ThemeContext-BNR3_OIq.cjs → ThemeContext-BHzkqvlv.cjs} +29 -29
- package/dist/next/ThemeContext-BHzkqvlv.cjs.map +1 -0
- package/dist/next/ThemeInitScript-CIctCIv1.js +385 -0
- package/dist/next/ThemeInitScript-CIctCIv1.js.map +1 -0
- package/dist/next/ThemeInitScript-DqO2SVvW.cjs +384 -0
- package/dist/next/ThemeInitScript-DqO2SVvW.cjs.map +1 -0
- package/dist/next/ThemeInitScript.cjs.js +4 -0
- package/dist/next/ThemeInitScript.cjs.js.map +1 -0
- package/dist/next/ThemeInitScript.js +5 -0
- package/dist/next/ThemeInitScript.js.map +1 -0
- package/dist/next/ThemeProvider.cjs.js +1 -1
- package/dist/next/ThemeProvider.js +1 -1
- package/dist/next/{Toolbar-DleUmVkR.cjs → Toolbar-Bu_meSGb.cjs} +2 -2
- package/dist/next/{Toolbar-DleUmVkR.cjs.map → Toolbar-Bu_meSGb.cjs.map} +1 -1
- package/dist/next/{Toolbar-Dme9QqMY.js → Toolbar-Dd6pf5wP.js} +2 -2
- package/dist/next/{Toolbar-Dme9QqMY.js.map → Toolbar-Dd6pf5wP.js.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/head-manager-context.shared-runtime-7_8Oqhy0.js +30 -0
- package/dist/next/head-manager-context.shared-runtime-7_8Oqhy0.js.map +1 -0
- package/dist/next/head-manager-context.shared-runtime-Cgj8ROpJ.cjs +29 -0
- package/dist/next/head-manager-context.shared-runtime-Cgj8ROpJ.cjs.map +1 -0
- package/dist/next/{image-VX9Ty9NQ.cjs → image-MEZ6sESv.cjs} +13 -35
- package/dist/next/image-MEZ6sESv.cjs.map +1 -0
- package/dist/next/{image-CEz9QtOW.js → image-h6PDRhrT.js} +4 -26
- package/dist/next/image-h6PDRhrT.js.map +1 -0
- package/dist/next/index.cjs.js +27 -25
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +40 -38
- package/dist/next/index.js.map +1 -1
- package/dist/next/{link-Bik5xH00.js → link-BY93bHEw.js} +9 -92
- package/dist/next/link-BY93bHEw.js.map +1 -0
- package/dist/next/{link-hxAaLm0Q.cjs → link-Dyf-9ObB.cjs} +10 -93
- package/dist/next/link-Dyf-9ObB.cjs.map +1 -0
- package/dist/next/{navigation-m012syo9.cjs → navigation-CcfNESvg.cjs} +5 -4
- package/dist/next/{navigation-m012syo9.cjs.map → navigation-CcfNESvg.cjs.map} +1 -1
- package/dist/next/{navigation-DTwYCgCL.js → navigation-ChnNGxEG.js} +3 -2
- package/dist/next/{navigation-DTwYCgCL.js.map → navigation-ChnNGxEG.js.map} +1 -1
- package/dist/next/request-idle-callback-B3JHNaij.js +88 -0
- package/dist/next/request-idle-callback-B3JHNaij.js.map +1 -0
- package/dist/next/request-idle-callback-BIq6SiN0.cjs +87 -0
- package/dist/next/request-idle-callback-BIq6SiN0.cjs.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/TextArea/TextArea.types.d.ts +1 -1
- package/dist/types/components/TextArea/TextArea.types.d.ts.map +1 -1
- package/dist/types/context/ThemeContext.d.ts +3 -1
- package/dist/types/context/ThemeContext.d.ts.map +1 -1
- package/dist/types/context/ThemeContext.types.d.ts +6 -0
- package/dist/types/context/ThemeContext.types.d.ts.map +1 -1
- package/dist/types/context/ThemeInitScript.d.ts +3 -0
- package/dist/types/context/ThemeInitScript.d.ts.map +1 -0
- package/dist/types/index.next.d.ts +1 -0
- package/dist/types/index.next.d.ts.map +1 -1
- package/package.json +6 -1
- package/dist/core/Badge-DfsFGYhY.js.map +0 -1
- package/dist/core/Badge-LyKc0uJG.cjs.map +0 -1
- package/dist/core/Breadcrumbs-DhioJUB9.js.map +0 -1
- package/dist/core/Breadcrumbs-xmUgcTXF.cjs.map +0 -1
- package/dist/core/Button-DEYbr8xW.js.map +0 -1
- package/dist/core/Button-wz_We8xU.cjs.map +0 -1
- package/dist/core/Checkbox-BLBbE9Ww.js.map +0 -1
- package/dist/core/Checkbox-fVnseKGF.cjs.map +0 -1
- package/dist/core/IconButton-B6cAP2hY.js.map +0 -1
- package/dist/core/IconButton-BxUXK-xn.cjs.map +0 -1
- package/dist/core/TextArea-B0it55lO.js.map +0 -1
- package/dist/core/TextArea-Dn9aynnY.cjs.map +0 -1
- package/dist/core/ThemeContext-Bo0vLczy.js.map +0 -1
- package/dist/core/ThemeContext-CtZXUeeU.cjs.map +0 -1
- package/dist/next/Badge-C4JwPL9J.js.map +0 -1
- package/dist/next/Badge-d7iY-oiw.cjs.map +0 -1
- package/dist/next/Breadcrumbs-CEHoh3s2.cjs.map +0 -1
- package/dist/next/Breadcrumbs-LfCnghHj.js.map +0 -1
- package/dist/next/Button-CDvdEOSq.js.map +0 -1
- package/dist/next/Button-Cw9aGFLo.cjs.map +0 -1
- package/dist/next/Checkbox-CiHMrYmz.js.map +0 -1
- package/dist/next/Checkbox-wdW0yOxr.cjs.map +0 -1
- package/dist/next/IconButton-1BW390eT.cjs.map +0 -1
- package/dist/next/IconButton-DxGzuz13.js.map +0 -1
- package/dist/next/TextArea-BDYg--3P.js.map +0 -1
- package/dist/next/TextArea-OVtBBpaP.cjs.map +0 -1
- package/dist/next/ThemeContext-BNR3_OIq.cjs.map +0 -1
- package/dist/next/ThemeContext-Bo0vLczy.js.map +0 -1
- package/dist/next/image-CEz9QtOW.js.map +0 -1
- package/dist/next/image-VX9Ty9NQ.cjs.map +0 -1
- package/dist/next/link-Bik5xH00.js.map +0 -1
- package/dist/next/link-hxAaLm0Q.cjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const NotificationCenter = require("./NotificationCenter-
|
|
3
|
+
const NotificationCenter = require("./NotificationCenter-DdPqMwuQ.cjs");
|
|
4
4
|
exports.default = NotificationCenter.NotificationCenter;
|
|
5
5
|
exports.themeIcons = NotificationCenter.themeIcons;
|
|
6
6
|
//# sourceMappingURL=NotificationCenter.cjs.js.map
|
|
@@ -2,8 +2,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { A as ArrowRightIcon } from "./ArrowRightIcon-BYQv5XS8.js";
|
|
3
3
|
import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { B as Button } from "./Button-
|
|
6
|
-
import { I as IconButton } from "./IconButton-
|
|
5
|
+
import { B as Button } from "./Button-brEyEh7E.js";
|
|
6
|
+
import { I as IconButton } from "./IconButton-Dsw2M1s8.js";
|
|
7
7
|
const ArrowLeftIcon = (props) => /* @__PURE__ */ jsx(
|
|
8
8
|
"svg",
|
|
9
9
|
{
|
|
@@ -163,4 +163,4 @@ const Pager = (props) => {
|
|
|
163
163
|
export {
|
|
164
164
|
Pager as P
|
|
165
165
|
};
|
|
166
|
-
//# sourceMappingURL=Pager-
|
|
166
|
+
//# sourceMappingURL=Pager-Dfaqg2oX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pager-
|
|
1
|
+
{"version":3,"file":"Pager-Dfaqg2oX.js","sources":["../../src/Icons/ArrowLeftIcon.tsx","../../src/components/Pager/PagerBase.tsx","../../src/components/Pager/core/Pager.tsx"],"sourcesContent":["const ArrowLeftIcon: 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 fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.287 18.6929C15.5673 18.5768 15.75 18.3033 15.75 18V5.99998C15.75 5.69663 15.5673 5.42315 15.287 5.30707C15.0068 5.19098 14.6842 5.25515 14.4697 5.46965L8.46967 11.4696C8.17678 11.7625 8.17678 12.2374 8.46967 12.5303L14.4697 18.5303C14.6842 18.7448 15.0068 18.809 15.287 18.6929Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import React from \"react\";\r\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../Icons\";\r\nimport { PaginationProps } from \"./Pager.types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BasePagerProps extends PaginationProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BasePager: React.FC<BasePagerProps> = ({\r\n totalItems,\r\n itemsPerPage,\r\n currentPage,\r\n serverControlled = false,\r\n onPageChange,\r\n className = \"\",\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n \"data-testid\": testId = \"pager\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const totalPages = Math.ceil(totalItems / itemsPerPage);\r\n const pages = serverControlled\r\n ? []\r\n : Array.from({ length: totalPages }, (_, i) => i + 1);\r\n\r\n return (\r\n <nav\r\n className={`${classMap.wrapper} ${className}`}\r\n aria-label=\"Pagination Navigation\"\r\n role=\"navigation\"\r\n data-testid={testId}\r\n >\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowLeftIcon}\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n className={classMap.controlButton}\r\n disabled={currentPage === 1}\r\n aria-label=\"Go to previous page\"\r\n title=\"Previous Page\"\r\n onClick={() => onPageChange(currentPage - 1)}\r\n data-testid={`${testId}-prev`}\r\n />\r\n </div>\r\n\r\n <div className={classMap.controls} role=\"list\">\r\n {serverControlled ? (\r\n <div\r\n className={classMap.buttonWrapper}\r\n role=\"listitem\"\r\n data-testid={`${testId}-page-${currentPage}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => onPageChange(currentPage)}\r\n aria-label={`Page ${currentPage}`}\r\n aria-current=\"page\"\r\n disabled\r\n className={`${classMap.button} ${classMap.active}`}\r\n data-testid={`${testId}-button-${currentPage}`}\r\n >\r\n {currentPage}\r\n </Button>\r\n </div>\r\n ) : (\r\n pages.map((page) => (\r\n <div\r\n key={page}\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${page}`}\r\n role=\"listitem\"\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => onPageChange(page)}\r\n aria-label={`Go to page ${page}`}\r\n aria-current={page === currentPage ? \"page\" : undefined}\r\n disabled={page === currentPage}\r\n className={`${classMap.button} ${\r\n page === currentPage ? classMap.active : \"\"\r\n }`}\r\n data-testid={`${testId}-button-${page}`}\r\n >\r\n {page}\r\n </Button>\r\n </div>\r\n ))\r\n )}\r\n </div>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowRightIcon}\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n size={size}\r\n className={classMap.controlButton}\r\n disabled={currentPage === totalPages}\r\n aria-label=\"Go to next page\"\r\n title=\"Next Page\"\r\n onClick={() => onPageChange(currentPage + 1)}\r\n data-testid={`${testId}-next`}\r\n />\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BasePager;\r\n","import React from \"react\";\r\nimport BasePager from \"../PagerBase\";\r\nimport { Button, IconButton } from \"@/index.core\";\r\nimport \"./Pager.scss\";\r\nimport { PaginationProps } from \"../Pager.types\";\r\n\r\nconst classes = {\r\n wrapper: \"pagination\",\r\n controls: \"pagination_controls\",\r\n controlButton: \"pagination_control_button\",\r\n buttonWrapper: \"pagination_button_wrapper\",\r\n button: \"pagination_button\",\r\n active: \"pagination_active\",\r\n};\r\n\r\nconst Pager: React.FC<PaginationProps> = (props) => {\r\n return (\r\n <BasePager\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\n\r\nexport default Pager;\r\n"],"names":["Button","IconButton"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const ArrowRightIcon = require("./ArrowRightIcon-ClXQHGAD.cjs");
|
|
4
4
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
5
5
|
;/* empty css */
|
|
6
|
-
const Button = require("./Button-
|
|
7
|
-
const IconButton = require("./IconButton-
|
|
6
|
+
const Button = require("./Button-BnyCKkUs.cjs");
|
|
7
|
+
const IconButton = require("./IconButton-BADgP1DD.cjs");
|
|
8
8
|
const ArrowLeftIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
9
9
|
"svg",
|
|
10
10
|
{
|
|
@@ -162,4 +162,4 @@ const Pager = (props) => {
|
|
|
162
162
|
);
|
|
163
163
|
};
|
|
164
164
|
exports.Pager = Pager;
|
|
165
|
-
//# sourceMappingURL=Pager-
|
|
165
|
+
//# sourceMappingURL=Pager-DrKL8NGY.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pager-
|
|
1
|
+
{"version":3,"file":"Pager-DrKL8NGY.cjs","sources":["../../src/Icons/ArrowLeftIcon.tsx","../../src/components/Pager/PagerBase.tsx","../../src/components/Pager/core/Pager.tsx"],"sourcesContent":["const ArrowLeftIcon: 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 fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.287 18.6929C15.5673 18.5768 15.75 18.3033 15.75 18V5.99998C15.75 5.69663 15.5673 5.42315 15.287 5.30707C15.0068 5.19098 14.6842 5.25515 14.4697 5.46965L8.46967 11.4696C8.17678 11.7625 8.17678 12.2374 8.46967 12.5303L14.4697 18.5303C14.6842 18.7448 15.0068 18.809 15.287 18.6929Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import React from \"react\";\r\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../Icons\";\r\nimport { PaginationProps } from \"./Pager.types\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface BasePagerProps extends PaginationProps {\r\n Button: React.ComponentType<any>;\r\n IconButton: React.ComponentType<any>;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BasePager: React.FC<BasePagerProps> = ({\r\n totalItems,\r\n itemsPerPage,\r\n currentPage,\r\n serverControlled = false,\r\n onPageChange,\r\n className = \"\",\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n \"data-testid\": testId = \"pager\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const totalPages = Math.ceil(totalItems / itemsPerPage);\r\n const pages = serverControlled\r\n ? []\r\n : Array.from({ length: totalPages }, (_, i) => i + 1);\r\n\r\n return (\r\n <nav\r\n className={`${classMap.wrapper} ${className}`}\r\n aria-label=\"Pagination Navigation\"\r\n role=\"navigation\"\r\n data-testid={testId}\r\n >\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowLeftIcon}\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n className={classMap.controlButton}\r\n disabled={currentPage === 1}\r\n aria-label=\"Go to previous page\"\r\n title=\"Previous Page\"\r\n onClick={() => onPageChange(currentPage - 1)}\r\n data-testid={`${testId}-prev`}\r\n />\r\n </div>\r\n\r\n <div className={classMap.controls} role=\"list\">\r\n {serverControlled ? (\r\n <div\r\n className={classMap.buttonWrapper}\r\n role=\"listitem\"\r\n data-testid={`${testId}-page-${currentPage}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => onPageChange(currentPage)}\r\n aria-label={`Page ${currentPage}`}\r\n aria-current=\"page\"\r\n disabled\r\n className={`${classMap.button} ${classMap.active}`}\r\n data-testid={`${testId}-button-${currentPage}`}\r\n >\r\n {currentPage}\r\n </Button>\r\n </div>\r\n ) : (\r\n pages.map((page) => (\r\n <div\r\n key={page}\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${page}`}\r\n role=\"listitem\"\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => onPageChange(page)}\r\n aria-label={`Go to page ${page}`}\r\n aria-current={page === currentPage ? \"page\" : undefined}\r\n disabled={page === currentPage}\r\n className={`${classMap.button} ${\r\n page === currentPage ? classMap.active : \"\"\r\n }`}\r\n data-testid={`${testId}-button-${page}`}\r\n >\r\n {page}\r\n </Button>\r\n </div>\r\n ))\r\n )}\r\n </div>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowRightIcon}\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n size={size}\r\n className={classMap.controlButton}\r\n disabled={currentPage === totalPages}\r\n aria-label=\"Go to next page\"\r\n title=\"Next Page\"\r\n onClick={() => onPageChange(currentPage + 1)}\r\n data-testid={`${testId}-next`}\r\n />\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BasePager;\r\n","import React from \"react\";\r\nimport BasePager from \"../PagerBase\";\r\nimport { Button, IconButton } from \"@/index.core\";\r\nimport \"./Pager.scss\";\r\nimport { PaginationProps } from \"../Pager.types\";\r\n\r\nconst classes = {\r\n wrapper: \"pagination\",\r\n controls: \"pagination_controls\",\r\n controlButton: \"pagination_control_button\",\r\n buttonWrapper: \"pagination_button_wrapper\",\r\n button: \"pagination_button\",\r\n active: \"pagination_active\",\r\n};\r\n\r\nconst Pager: React.FC<PaginationProps> = (props) => {\r\n return (\r\n <BasePager\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\n\r\nexport default Pager;\r\n"],"names":["jsx","getDefaultSize","getDefaultTheme","getDefaultRounding","getDefaultShadow","Button","IconButton","jsxs","ArrowRightIcon"],"mappings":"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"}
|
package/dist/core/Pager.cjs.js
CHANGED
package/dist/core/Pager.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
3
3
|
import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import { I as IconButton } from "./IconButton-
|
|
5
|
+
import { I as IconButton } from "./IconButton-Dsw2M1s8.js";
|
|
6
6
|
const StepperBase = ({
|
|
7
7
|
steps,
|
|
8
8
|
activeStep,
|
|
@@ -144,4 +144,4 @@ const Stepper = (props) => /* @__PURE__ */ jsx(StepperBase, { ...props, classMap
|
|
|
144
144
|
export {
|
|
145
145
|
Stepper as S
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=Stepper-
|
|
147
|
+
//# sourceMappingURL=Stepper-B-wTooCi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper-
|
|
1
|
+
{"version":3,"file":"Stepper-B-wTooCi.js","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/core/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { StepperProps } from \"./Stepper.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface StepperBaseProps extends StepperProps {\r\n classMap: Record<string, string>;\r\n IconButtonComponent: React.FC<any>;\r\n}\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const groupLabelId = `${testId}-label`;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className\r\n )}\r\n role=\"list\"\r\n aria-labelledby={groupLabelId}\r\n data-testid={testId}\r\n >\r\n <span id={groupLabelId} className=\"sr_only\">\r\n Progress Stepper\r\n </span>\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const canFocus = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n const label = `Step ${index + 1} of ${stepCount}: ${step.label}`;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\"\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\"\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={label}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={canFocus ? 0 : -1}\r\n onClick={() => onStepClick?.(index)}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n\r\n {index < steps.length - 1 && (\r\n <div\r\n className={classMap.connector}\r\n aria-hidden=\"true\"\r\n data-testid={`${stepId}-connector`}\r\n />\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StepperBase;\r\n","import React from \"react\";\r\nimport \"./Stepper.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport { IconButton } from \"@/index.core\";\r\n\r\nconst classes = {\r\n stepper: \"stepper\",\r\n horizontal: \"stepper_horizontal\",\r\n vertical: \"stepper_vertical\",\r\n primary: \"stepper_primary\",\r\n secondary: \"stepper_secondary\",\r\n tertiary: \"stepper_tertiary\",\r\n quaternary: \"stepper_quaternary\",\r\n success: \"stepper_success\",\r\n warning: \"stepper_warning\",\r\n error: \"stepper_error\",\r\n clear: \"stepper_clear\",\r\n xs: \"stepper_xs\",\r\n medium: \"stepper_medium\",\r\n small: \"stepper_small\",\r\n large: \"stepper_large\",\r\n xl: \"stepper_xl\",\r\n step: \"stepper_step\",\r\n active: \"stepper_active\",\r\n completed: \"stepper_completed\",\r\n disabled: \"stepper_disabled\",\r\n clickable: \"stepper_clickable\",\r\n stepButton: \"stepper_step_button\",\r\n stepLabel: \"stepper_step_label\",\r\n connector: \"stepper_connector\",\r\n};\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={classes} IconButtonComponent={IconButton} />\r\n);\r\n\r\nexport default Stepper;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
4
4
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
5
5
|
;/* empty css */
|
|
6
|
-
const IconButton = require("./IconButton-
|
|
6
|
+
const IconButton = require("./IconButton-BADgP1DD.cjs");
|
|
7
7
|
const StepperBase = ({
|
|
8
8
|
steps,
|
|
9
9
|
activeStep,
|
|
@@ -143,4 +143,4 @@ const classes = {
|
|
|
143
143
|
};
|
|
144
144
|
const Stepper = (props) => /* @__PURE__ */ jsxRuntime.jsx(StepperBase, { ...props, classMap: classes, IconButtonComponent: IconButton.IconButton });
|
|
145
145
|
exports.Stepper = Stepper;
|
|
146
|
-
//# sourceMappingURL=Stepper-
|
|
146
|
+
//# sourceMappingURL=Stepper-CZ0lJwyQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper-
|
|
1
|
+
{"version":3,"file":"Stepper-CZ0lJwyQ.cjs","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/core/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { StepperProps } from \"./Stepper.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport interface StepperBaseProps extends StepperProps {\r\n classMap: Record<string, string>;\r\n IconButtonComponent: React.FC<any>;\r\n}\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const groupLabelId = `${testId}-label`;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className\r\n )}\r\n role=\"list\"\r\n aria-labelledby={groupLabelId}\r\n data-testid={testId}\r\n >\r\n <span id={groupLabelId} className=\"sr_only\">\r\n Progress Stepper\r\n </span>\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const canFocus = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n const label = `Step ${index + 1} of ${stepCount}: ${step.label}`;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\"\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\"\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={label}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={canFocus ? 0 : -1}\r\n onClick={() => onStepClick?.(index)}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n\r\n {index < steps.length - 1 && (\r\n <div\r\n className={classMap.connector}\r\n aria-hidden=\"true\"\r\n data-testid={`${stepId}-connector`}\r\n />\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StepperBase;\r\n","import React from \"react\";\r\nimport \"./Stepper.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport { IconButton } from \"@/index.core\";\r\n\r\nconst classes = {\r\n stepper: \"stepper\",\r\n horizontal: \"stepper_horizontal\",\r\n vertical: \"stepper_vertical\",\r\n primary: \"stepper_primary\",\r\n secondary: \"stepper_secondary\",\r\n tertiary: \"stepper_tertiary\",\r\n quaternary: \"stepper_quaternary\",\r\n success: \"stepper_success\",\r\n warning: \"stepper_warning\",\r\n error: \"stepper_error\",\r\n clear: \"stepper_clear\",\r\n xs: \"stepper_xs\",\r\n medium: \"stepper_medium\",\r\n small: \"stepper_small\",\r\n large: \"stepper_large\",\r\n xl: \"stepper_xl\",\r\n step: \"stepper_step\",\r\n active: \"stepper_active\",\r\n completed: \"stepper_completed\",\r\n disabled: \"stepper_disabled\",\r\n clickable: \"stepper_clickable\",\r\n stepButton: \"stepper_step_button\",\r\n stepLabel: \"stepper_step_label\",\r\n connector: \"stepper_connector\",\r\n};\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={classes} IconButtonComponent={IconButton} />\r\n);\r\n\r\nexport default Stepper;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultShadow","getDefaultRounding","jsxs","combineClassNames","jsx","IconButton"],"mappings":"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"}
|
package/dist/core/Stepper.cjs.js
CHANGED
package/dist/core/Stepper.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { B as Button } from "./Button-
|
|
3
|
-
import { T as TextInput } from "./TextInput-
|
|
2
|
+
import { B as Button } from "./Button-brEyEh7E.js";
|
|
3
|
+
import { T as TextInput } from "./TextInput-CXb9gNEa.js";
|
|
4
4
|
import { useId, useState, useEffect, useMemo } from "react";
|
|
5
5
|
import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
|
|
6
6
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
@@ -242,4 +242,4 @@ const TagInput = (props) => {
|
|
|
242
242
|
export {
|
|
243
243
|
TagInput as T
|
|
244
244
|
};
|
|
245
|
-
//# sourceMappingURL=TagInput-
|
|
245
|
+
//# sourceMappingURL=TagInput-B3yI5CWh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput-CrScreYL.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n} from \"react\";\r\nimport { TagInputProps } from \"./Taginput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TagInputBase: React.FC<\r\n TagInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n TextInput: React.FC<any>;\r\n }\r\n> = ({\r\n tags = [],\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Existing tags can be removed using the remove button next to each tag.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const inputId = useId();\r\n const descId = `${inputId}-desc`;\r\n const labelId = `${inputId}-label`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [debounceTimeout, setDebounceTimeout] = useState<NodeJS.Timeout | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions || !inputValue.trim()) {\r\n setSuggestions([]);\r\n return;\r\n }\r\n\r\n if (debounceTimeout) {\r\n clearTimeout(debounceTimeout);\r\n }\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(inputValue);\r\n setSuggestions(result);\r\n } catch (error) {\r\n console.error(\"Failed to fetch tag suggestions:\", error);\r\n }\r\n }, debounceMs);\r\n\r\n setDebounceTimeout(timeout);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const handleAddTag = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (\r\n (event.key === \"Enter\" || event.key === \",\") &&\r\n inputValue.trim() !== \"\"\r\n ) {\r\n event.preventDefault();\r\n const newTag = inputValue.trim();\r\n if (!tagList.includes(newTag)) {\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}`);\r\n }\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n const handleRemoveTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}`);\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size]\r\n ),\r\n [classMap, theme, state, size]\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul\r\n className={classMap.tagContainer}\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions removals\"\r\n data-testid={`${testId}-list`}\r\n >\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={tag}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => handleRemoveTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleAddTag}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={descId}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n {suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={`${inputId}-listbox`}\r\n title=\"suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={index}\r\n className={classMap.suggestionItem}\r\n onClick={() => {\r\n if (!tagList.includes(suggestion)) {\r\n const updated = [...tagList, suggestion];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${suggestion}`);\r\n }\r\n setInputValue(\"\");\r\n setSuggestions([]);\r\n }}\r\n role=\"option\"\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div aria-live=\"polite\" className=\"sr_only\">\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../Button/core/Button\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../Taginput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\n\r\nexport default TagInput;\r\n"],"names":["TextInput","IconButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TagInput-B3yI5CWh.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n} from \"react\";\r\nimport { TagInputProps } from \"./Taginput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TagInputBase: React.FC<\r\n TagInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n TextInput: React.FC<any>;\r\n }\r\n> = ({\r\n tags = [],\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Existing tags can be removed using the remove button next to each tag.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const inputId = useId();\r\n const descId = `${inputId}-desc`;\r\n const labelId = `${inputId}-label`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [debounceTimeout, setDebounceTimeout] = useState<NodeJS.Timeout | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions || !inputValue.trim()) {\r\n setSuggestions([]);\r\n return;\r\n }\r\n\r\n if (debounceTimeout) {\r\n clearTimeout(debounceTimeout);\r\n }\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(inputValue);\r\n setSuggestions(result);\r\n } catch (error) {\r\n console.error(\"Failed to fetch tag suggestions:\", error);\r\n }\r\n }, debounceMs);\r\n\r\n setDebounceTimeout(timeout);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const handleAddTag = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (\r\n (event.key === \"Enter\" || event.key === \",\") &&\r\n inputValue.trim() !== \"\"\r\n ) {\r\n event.preventDefault();\r\n const newTag = inputValue.trim();\r\n if (!tagList.includes(newTag)) {\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}`);\r\n }\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n const handleRemoveTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}`);\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size]\r\n ),\r\n [classMap, theme, state, size]\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul\r\n className={classMap.tagContainer}\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions removals\"\r\n data-testid={`${testId}-list`}\r\n >\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={tag}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => handleRemoveTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleAddTag}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={descId}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n {suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={`${inputId}-listbox`}\r\n title=\"suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={index}\r\n className={classMap.suggestionItem}\r\n onClick={() => {\r\n if (!tagList.includes(suggestion)) {\r\n const updated = [...tagList, suggestion];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${suggestion}`);\r\n }\r\n setInputValue(\"\");\r\n setSuggestions([]);\r\n }}\r\n role=\"option\"\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div aria-live=\"polite\" className=\"sr_only\">\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../Button/core/Button\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../Taginput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\n\r\nexport default TagInput;\r\n"],"names":["TextInput","IconButton"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
-
const Button = require("./Button-
|
|
4
|
-
const TextInput = require("./TextInput-
|
|
3
|
+
const Button = require("./Button-BnyCKkUs.cjs");
|
|
4
|
+
const TextInput = require("./TextInput-BP3o-iku.cjs");
|
|
5
5
|
const React = require("react");
|
|
6
6
|
const CloseIcon = require("./CloseIcon-DSnN6ggf.cjs");
|
|
7
7
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
@@ -241,4 +241,4 @@ const TagInput = (props) => {
|
|
|
241
241
|
);
|
|
242
242
|
};
|
|
243
243
|
exports.TagInput = TagInput;
|
|
244
|
-
//# sourceMappingURL=TagInput-
|
|
244
|
+
//# sourceMappingURL=TagInput-DftgiPXn.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput-BMPHihSz.cjs","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n} from \"react\";\r\nimport { TagInputProps } from \"./Taginput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TagInputBase: React.FC<\r\n TagInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n TextInput: React.FC<any>;\r\n }\r\n> = ({\r\n tags = [],\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Existing tags can be removed using the remove button next to each tag.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const inputId = useId();\r\n const descId = `${inputId}-desc`;\r\n const labelId = `${inputId}-label`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [debounceTimeout, setDebounceTimeout] = useState<NodeJS.Timeout | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions || !inputValue.trim()) {\r\n setSuggestions([]);\r\n return;\r\n }\r\n\r\n if (debounceTimeout) {\r\n clearTimeout(debounceTimeout);\r\n }\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(inputValue);\r\n setSuggestions(result);\r\n } catch (error) {\r\n console.error(\"Failed to fetch tag suggestions:\", error);\r\n }\r\n }, debounceMs);\r\n\r\n setDebounceTimeout(timeout);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const handleAddTag = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (\r\n (event.key === \"Enter\" || event.key === \",\") &&\r\n inputValue.trim() !== \"\"\r\n ) {\r\n event.preventDefault();\r\n const newTag = inputValue.trim();\r\n if (!tagList.includes(newTag)) {\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}`);\r\n }\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n const handleRemoveTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}`);\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size]\r\n ),\r\n [classMap, theme, state, size]\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul\r\n className={classMap.tagContainer}\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions removals\"\r\n data-testid={`${testId}-list`}\r\n >\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={tag}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => handleRemoveTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleAddTag}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={descId}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n {suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={`${inputId}-listbox`}\r\n title=\"suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={index}\r\n className={classMap.suggestionItem}\r\n onClick={() => {\r\n if (!tagList.includes(suggestion)) {\r\n const updated = [...tagList, suggestion];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${suggestion}`);\r\n }\r\n setInputValue(\"\");\r\n setSuggestions([]);\r\n }}\r\n role=\"option\"\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div aria-live=\"polite\" className=\"sr_only\">\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../Button/core/Button\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../Taginput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\n\r\nexport default TagInput;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","TextInput","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","CloseIcon","IconButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TagInput-DftgiPXn.cjs","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n} from \"react\";\r\nimport { TagInputProps } from \"./Taginput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TagInputBase: React.FC<\r\n TagInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n TextInput: React.FC<any>;\r\n }\r\n> = ({\r\n tags = [],\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Existing tags can be removed using the remove button next to each tag.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const inputId = useId();\r\n const descId = `${inputId}-desc`;\r\n const labelId = `${inputId}-label`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [debounceTimeout, setDebounceTimeout] = useState<NodeJS.Timeout | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions || !inputValue.trim()) {\r\n setSuggestions([]);\r\n return;\r\n }\r\n\r\n if (debounceTimeout) {\r\n clearTimeout(debounceTimeout);\r\n }\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(inputValue);\r\n setSuggestions(result);\r\n } catch (error) {\r\n console.error(\"Failed to fetch tag suggestions:\", error);\r\n }\r\n }, debounceMs);\r\n\r\n setDebounceTimeout(timeout);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const handleAddTag = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (\r\n (event.key === \"Enter\" || event.key === \",\") &&\r\n inputValue.trim() !== \"\"\r\n ) {\r\n event.preventDefault();\r\n const newTag = inputValue.trim();\r\n if (!tagList.includes(newTag)) {\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}`);\r\n }\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n const handleRemoveTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}`);\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size]\r\n ),\r\n [classMap, theme, state, size]\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap]\r\n );\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul\r\n className={classMap.tagContainer}\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions removals\"\r\n data-testid={`${testId}-list`}\r\n >\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={tag}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => handleRemoveTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleAddTag}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={descId}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n {suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={`${inputId}-listbox`}\r\n title=\"suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={index}\r\n className={classMap.suggestionItem}\r\n onClick={() => {\r\n if (!tagList.includes(suggestion)) {\r\n const updated = [...tagList, suggestion];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${suggestion}`);\r\n }\r\n setInputValue(\"\");\r\n setSuggestions([]);\r\n }}\r\n role=\"option\"\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div aria-live=\"polite\" className=\"sr_only\">\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../Button/core/Button\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../Taginput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\n\r\nexport default TagInput;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","TextInput","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","CloseIcon","IconButton"],"mappings":";;;;;;;;;AAkBA,MAAM,eAMF,CAAC;AAAA,EACH,OAAO,CAAA;AAAA,EACP;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQA,kBAAAA,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,OAAOC,kBAAAA,eAAA;AAAA,EACP,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT,eAAe,SAAS;AAAA,EACxB,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,UAAUC,MAAAA,MAAA;AAChB,QAAM,SAAS,GAAG,OAAO;AACzB,QAAM,UAAU,GAAG,OAAO;AAE1B,QAAM,CAAC,YAAY,aAAa,IAAIC,MAAAA,SAAS,EAAE;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAIA,MAAAA,SAAmB,IAAI;AACrD,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAiB,EAAE;AAEvD,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAmB,CAAA,CAAE;AAC3D,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA;AAAAA,IAC5C;AAAA,EAAA;AAGFC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,oBAAoB,CAAC,WAAW,QAAQ;AAC3C,qBAAe,CAAA,CAAE;AACjB;AAAA,IACF;AAEA,QAAI,iBAAiB;AACnB,mBAAa,eAAe;AAAA,IAC9B;AAEA,UAAM,UAAU,WAAW,YAAY;AACrC,UAAI;AACF,cAAM,SAAS,MAAM,iBAAiB,UAAU;AAChD,uBAAe,MAAM;AAAA,MACvB,SAAS,OAAO;AACd,gBAAQ,MAAM,oCAAoC,KAAK;AAAA,MACzD;AAAA,IACF,GAAG,UAAU;AAEb,uBAAmB,OAAO;AAE1B,WAAO,MAAM,aAAa,OAAO;AAAA,EACnC,GAAG,CAAC,YAAY,kBAAkB,UAAU,CAAC;AAE7C,QAAM,eAAe,CAAC,UAA2C;AAC/D,SACG,MAAM,QAAQ,WAAW,MAAM,QAAQ,QACxC,WAAW,KAAA,MAAW,IACtB;AACA,YAAM,eAAA;AACN,YAAM,SAAS,WAAW,KAAA;AAC1B,UAAI,CAAC,QAAQ,SAAS,MAAM,GAAG;AAC7B,cAAM,UAAU,CAAC,GAAG,SAAS,MAAM;AACnC,mBAAW,OAAO;AAClB,6CAAW;AACX,sBAAc,aAAa,MAAM,EAAE;AAAA,MACrC;AACA,oBAAc,EAAE;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,kBAAkB,CAAC,QAAgB;AACvC,UAAM,UAAU,QAAQ,OAAO,CAAC,MAAM,MAAM,GAAG;AAC/C,eAAW,OAAO;AAClB,yCAAW;AACX,kBAAc,eAAe,GAAG,EAAE;AAAA,EACpC;AAEA,QAAM,eAAeC,MAAAA;AAAAA,IACnB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,IAAA;AAAA,IAEjB,CAAC,UAAU,OAAO,OAAO,IAAI;AAAA,EAAA;AAG/B,QAAM,WAAWD,MAAAA;AAAAA,IACf,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,QAAQ;AAAA,EAAA;AAGX,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,eAAa;AAAA,MAEb,UAAA;AAAA,QAAAC,+BAAC,SAAA,EAAM,IAAI,SAAS,WAAU,WAAU,UAAA,aAExC;AAAA,QACAA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAU;AAAA,YACV,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,aAAU;AAAA,YACV,iBAAc;AAAA,YACd,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA,QAAQ,IAAI,CAAC,KAAK,UACjBD,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAW;AAAA,gBACX,MAAK;AAAA,gBACL,eAAa,GAAG,MAAM,QAAQ,KAAK;AAAA,gBAEnC,UAAA;AAAA,kBAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAW,SAAS,UAAW,UAAA,KAAI;AAAA,kBACzCA,2BAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,cAAY,cAAc,GAAG;AAAA,sBAC7B,WAAW,SAAS;AAAA,sBACpB,SAAS,MAAM,gBAAgB,GAAG;AAAA,sBAClC,eAAa,GAAG,MAAM,WAAW,KAAK;AAAA,sBACtC,MAAMC,UAAAA;AAAAA,sBACN,MAAK;AAAA,sBACL,OAAM;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACR;AAAA,cAAA;AAAA,cAfK;AAAA,YAAA,CAiBR;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHD,2BAAAA,IAAC,OAAA,EAAI,WAAW,SAAS,cACvB,UAAAA,2BAAAA;AAAAA,UAACR;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,MAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,SAAS;AAAA,YACpB,OAAO;AAAA,YACP,aAAa,QAAQ,WAAW,IAAI,cAAc;AAAA,YAClD,UAAU,CAAC,MACT,cAAc,EAAE,OAAO,KAAK;AAAA,YAE9B,WAAW;AAAA,YACX,cAAW;AAAA,YACX,oBAAkB;AAAA,YAClB,eAAa,GAAG,MAAM;AAAA,UAAA;AAAA,QAAA,GAE1B;AAAA,QACC,YAAY,SAAS,KACpBQ,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,MAAK;AAAA,YACL,IAAI,GAAG,OAAO;AAAA,YACd,OAAM;AAAA,YACN,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA,YAAY,IAAI,CAAC,YAAY,UAC5BA,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAW,SAAS;AAAA,gBACpB,SAAS,MAAM;AACb,sBAAI,CAAC,QAAQ,SAAS,UAAU,GAAG;AACjC,0BAAM,UAAU,CAAC,GAAG,SAAS,UAAU;AACvC,+BAAW,OAAO;AAClB,yDAAW;AACX,kCAAc,aAAa,UAAU,EAAE;AAAA,kBACzC;AACA,gCAAc,EAAE;AAChB,iCAAe,CAAA,CAAE;AAAA,gBACnB;AAAA,gBACA,MAAK;AAAA,gBACL,eAAa,GAAG,MAAM,eAAe,KAAK;AAAA,gBAEzC,UAAA;AAAA,cAAA;AAAA,cAfI;AAAA,YAAA,CAiBR;AAAA,UAAA;AAAA,QAAA;AAAA,uCAIJ,OAAA,EAAI,aAAU,UAAS,WAAU,WAC/B,UAAA,WAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AC3NA,MAAM,UAAU;AAAA,EACd,UAAU;AAAA,EACV,cAAc;AAAA,EACd,KAAK;AAAA,EACL,UAAU;AAAA,EACV,cAAc;AAAA,EACd,cAAc;AAAA,EACd,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAEhB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,WAAoC,CAAC,UAAU;AACnD,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MAAA,YACVE,OAAAA;AAAAA,MAAA,WACAV,UAAAA;AAAAA,IAAA;AAAA,EAAA;AAGN;;"}
|
package/dist/core/TagInput.js
CHANGED
|
@@ -9,7 +9,7 @@ const TextAreaBase = forwardRef(
|
|
|
9
9
|
placeholder = "Enter text",
|
|
10
10
|
readOnly = false,
|
|
11
11
|
outline = false,
|
|
12
|
-
|
|
12
|
+
autocomplete = false,
|
|
13
13
|
theme = getDefaultTheme(),
|
|
14
14
|
rounding = getDefaultRounding(),
|
|
15
15
|
shadow = getDefaultShadow(),
|
|
@@ -57,7 +57,7 @@ const TextAreaBase = forwardRef(
|
|
|
57
57
|
placeholder,
|
|
58
58
|
"aria-label": ariaLabel || placeholder,
|
|
59
59
|
"aria-describedby": descriptionId,
|
|
60
|
-
autoComplete,
|
|
60
|
+
autoComplete: autocomplete ? "on" : "off",
|
|
61
61
|
readOnly,
|
|
62
62
|
disabled,
|
|
63
63
|
style: {
|
|
@@ -126,4 +126,4 @@ TextArea.displayName = "TextArea";
|
|
|
126
126
|
export {
|
|
127
127
|
TextArea as T
|
|
128
128
|
};
|
|
129
|
-
//# sourceMappingURL=TextArea-
|
|
129
|
+
//# sourceMappingURL=TextArea-DrU4oCj0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea-DrU4oCj0.js","sources":["../../src/components/TextArea/TextAreaBase.tsx","../../src/components/TextArea/core/TextArea.tsx"],"sourcesContent":["import { forwardRef, useId, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { TextAreaProps } from \"./TextArea.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TextAreaBase = forwardRef<\r\n HTMLTextAreaElement,\r\n TextAreaProps & { classMap: Record<string, string> }\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n placeholder = \"Enter text\",\r\n readOnly = false,\r\n outline = false,\r\n autocomplete = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n resizable = true,\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n height,\r\n classMap,\r\n className = \"\",\r\n \"data-testid\": testId = \"text-area\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const descriptionId = ariaDescription ? `${id}-description` : undefined;\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.textArea,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, outline, disabled, rounding, shadow, className]\r\n );\r\n\r\n return (\r\n <div className={wrapperClass} data-testid={testId}>\r\n {Icon && (\r\n <div\r\n className={classMap.iconContainer}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon />\r\n </div>\r\n )}\r\n\r\n <textarea\r\n ref={ref}\r\n id={id}\r\n placeholder={placeholder}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descriptionId}\r\n autoComplete={autocomplete ? \"on\" : \"off\"}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n style={{\r\n height,\r\n resize: resizable ? undefined : \"none\",\r\n }}\r\n className={classMap.textInput}\r\n data-testid={`${testId}-input`}\r\n {...props}\r\n />\r\n\r\n <div\r\n className={classMap.customResizeHandle}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-resize-handle`}\r\n />\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descriptionId}\r\n className={\"sr_only\"}\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nTextAreaBase.displayName = \"TextAreaBase\";\r\n\r\nexport default TextAreaBase;\r\n","import { forwardRef } from \"react\";\r\nimport TextAreaBase from \"../TextAreaBase\";\r\nimport type { TextAreaProps } from \"../TextArea.types\";\r\nimport \"./TextArea.scss\";\r\n\r\nconst classes = {\r\n textArea: \"textArea\",\r\n textInput: \"textArea_textInput\",\r\n icon: \"textArea_icon\",\r\n\r\n primary: \"textArea_primary\",\r\n secondary: \"textArea_secondary\",\r\n tertiary: \"textArea_tertiary\",\r\n quaternary: \"textArea_quaternary\",\r\n\r\n success: \"textArea_success\",\r\n error: \"textArea_error\",\r\n warning: \"textArea_warning\",\r\n\r\n clear: \"textArea_clear\",\r\n\r\n outline: \"textArea_outline\",\r\n\r\n disabled: \"textArea_disabled\",\r\n\r\n errorMessage: \"textArea_errorMessage\",\r\n iconContainer: \"textArea_iconContainer\",\r\n errorMessageContainer: \"textArea_errorMessageContainer\",\r\n\r\n shadowNone: \"textArea_shadow-None\",\r\n shadowLight: \"textArea_shadow-Light\",\r\n shadowMedium: \"textArea_shadow-Medium\",\r\n shadowStrong: \"textArea_shadow-Strong\",\r\n shadowIntense: \"textArea_shadow-Intense\",\r\n\r\n roundNone: \"textArea_round-None\",\r\n roundSmall: \"textArea_round-Small\",\r\n roundMedium: \"textArea_round-Medium\",\r\n roundLarge: \"textArea_round-Large\",\r\n};\r\n\r\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\r\n (props, ref) => {\r\n return <TextAreaBase {...props} ref={ref} classMap={classes} />;\r\n }\r\n);\r\n\r\nTextArea.displayName = \"TextArea\";\r\n\r\nexport default TextArea;\r\n"],"names":[],"mappings":";;;;;AAUA,MAAM,eAAe;AAAA,EAInB,CACE;AAAA,IACE,MAAM;AAAA,IACN,cAAc;AAAA,IACd,WAAW;AAAA,IACX,UAAU;AAAA,IACV,eAAe;AAAA,IACf,QAAQ,gBAAA;AAAA,IACR,WAAW,mBAAA;AAAA,IACX,SAAS,iBAAA;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,SAAS;AAAA,IACxB,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,KAAK,MAAA;AACX,UAAM,gBAAgB,kBAAkB,GAAG,EAAE,iBAAiB;AAE9D,UAAM,eAAe;AAAA,MACnB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,WAAW,SAAS;AAAA,QACpB,YAAY,SAAS;AAAA,QACrB,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnD;AAAA,MAAA;AAAA,MAEJ,CAAC,UAAU,SAAS,UAAU,UAAU,QAAQ,SAAS;AAAA,IAAA;AAG3D,WACE,qBAAC,OAAA,EAAI,WAAW,cAAc,eAAa,QACxC,UAAA;AAAA,MAAA,QACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,UAEtB,8BAAC,MAAA,CAAA,CAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAIV;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAY,aAAa;AAAA,UACzB,oBAAkB;AAAA,UAClB,cAAc,eAAe,OAAO;AAAA,UACpC;AAAA,UACA;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA,QAAQ,YAAY,SAAY;AAAA,UAAA;AAAA,UAElC,WAAW,SAAS;AAAA,UACpB,eAAa,GAAG,MAAM;AAAA,UACrB,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAGN;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAGvB,mBACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,WAAW;AAAA,UACX,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;ACpG3B,MAAM,UAAU;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EAEN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EAET,OAAO;AAAA,EAEP,SAAS;AAAA,EAET,UAAU;AAAA,EAEV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,uBAAuB;AAAA,EAEvB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,WAAW;AAAA,EACf,CAAC,OAAO,QAAQ;AACd,+BAAQ,cAAA,EAAc,GAAG,OAAO,KAAU,UAAU,SAAS;AAAA,EAC/D;AACF;AAEA,SAAS,cAAc;"}
|
|
@@ -10,7 +10,7 @@ const TextAreaBase = React.forwardRef(
|
|
|
10
10
|
placeholder = "Enter text",
|
|
11
11
|
readOnly = false,
|
|
12
12
|
outline = false,
|
|
13
|
-
|
|
13
|
+
autocomplete = false,
|
|
14
14
|
theme = borealStyleConfig.getDefaultTheme(),
|
|
15
15
|
rounding = borealStyleConfig.getDefaultRounding(),
|
|
16
16
|
shadow = borealStyleConfig.getDefaultShadow(),
|
|
@@ -58,7 +58,7 @@ const TextAreaBase = React.forwardRef(
|
|
|
58
58
|
placeholder,
|
|
59
59
|
"aria-label": ariaLabel || placeholder,
|
|
60
60
|
"aria-describedby": descriptionId,
|
|
61
|
-
autoComplete,
|
|
61
|
+
autoComplete: autocomplete ? "on" : "off",
|
|
62
62
|
readOnly,
|
|
63
63
|
disabled,
|
|
64
64
|
style: {
|
|
@@ -125,4 +125,4 @@ const TextArea = React.forwardRef(
|
|
|
125
125
|
);
|
|
126
126
|
TextArea.displayName = "TextArea";
|
|
127
127
|
exports.TextArea = TextArea;
|
|
128
|
-
//# sourceMappingURL=TextArea-
|
|
128
|
+
//# sourceMappingURL=TextArea-Nj-eO3Pv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea-Nj-eO3Pv.cjs","sources":["../../src/components/TextArea/TextAreaBase.tsx","../../src/components/TextArea/core/TextArea.tsx"],"sourcesContent":["import { forwardRef, useId, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { TextAreaProps } from \"./TextArea.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TextAreaBase = forwardRef<\r\n HTMLTextAreaElement,\r\n TextAreaProps & { classMap: Record<string, string> }\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n placeholder = \"Enter text\",\r\n readOnly = false,\r\n outline = false,\r\n autocomplete = false,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n resizable = true,\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n height,\r\n classMap,\r\n className = \"\",\r\n \"data-testid\": testId = \"text-area\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const descriptionId = ariaDescription ? `${id}-description` : undefined;\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.textArea,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, outline, disabled, rounding, shadow, className]\r\n );\r\n\r\n return (\r\n <div className={wrapperClass} data-testid={testId}>\r\n {Icon && (\r\n <div\r\n className={classMap.iconContainer}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon />\r\n </div>\r\n )}\r\n\r\n <textarea\r\n ref={ref}\r\n id={id}\r\n placeholder={placeholder}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descriptionId}\r\n autoComplete={autocomplete ? \"on\" : \"off\"}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n style={{\r\n height,\r\n resize: resizable ? undefined : \"none\",\r\n }}\r\n className={classMap.textInput}\r\n data-testid={`${testId}-input`}\r\n {...props}\r\n />\r\n\r\n <div\r\n className={classMap.customResizeHandle}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-resize-handle`}\r\n />\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descriptionId}\r\n className={\"sr_only\"}\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nTextAreaBase.displayName = \"TextAreaBase\";\r\n\r\nexport default TextAreaBase;\r\n","import { forwardRef } from \"react\";\r\nimport TextAreaBase from \"../TextAreaBase\";\r\nimport type { TextAreaProps } from \"../TextArea.types\";\r\nimport \"./TextArea.scss\";\r\n\r\nconst classes = {\r\n textArea: \"textArea\",\r\n textInput: \"textArea_textInput\",\r\n icon: \"textArea_icon\",\r\n\r\n primary: \"textArea_primary\",\r\n secondary: \"textArea_secondary\",\r\n tertiary: \"textArea_tertiary\",\r\n quaternary: \"textArea_quaternary\",\r\n\r\n success: \"textArea_success\",\r\n error: \"textArea_error\",\r\n warning: \"textArea_warning\",\r\n\r\n clear: \"textArea_clear\",\r\n\r\n outline: \"textArea_outline\",\r\n\r\n disabled: \"textArea_disabled\",\r\n\r\n errorMessage: \"textArea_errorMessage\",\r\n iconContainer: \"textArea_iconContainer\",\r\n errorMessageContainer: \"textArea_errorMessageContainer\",\r\n\r\n shadowNone: \"textArea_shadow-None\",\r\n shadowLight: \"textArea_shadow-Light\",\r\n shadowMedium: \"textArea_shadow-Medium\",\r\n shadowStrong: \"textArea_shadow-Strong\",\r\n shadowIntense: \"textArea_shadow-Intense\",\r\n\r\n roundNone: \"textArea_round-None\",\r\n roundSmall: \"textArea_round-Small\",\r\n roundMedium: \"textArea_round-Medium\",\r\n roundLarge: \"textArea_round-Large\",\r\n};\r\n\r\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\r\n (props, ref) => {\r\n return <TextAreaBase {...props} ref={ref} classMap={classes} />;\r\n }\r\n);\r\n\r\nTextArea.displayName = \"TextArea\";\r\n\r\nexport default TextArea;\r\n"],"names":["forwardRef","getDefaultTheme","getDefaultRounding","getDefaultShadow","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
|
package/dist/core/TextArea.js
CHANGED