boreal-ui 0.0.34 → 0.0.35
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/{Card-BRExeyNd.js → Card-Bagax-bx.js} +2 -2
- package/dist/core/{Card-BRExeyNd.js.map → Card-Bagax-bx.js.map} +1 -1
- package/dist/core/{Card-jrGaJLdX.cjs → Card-DtHJdWNq.cjs} +2 -2
- package/dist/core/{Card-jrGaJLdX.cjs.map → Card-DtHJdWNq.cjs.map} +1 -1
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/{Chip-C6sk2qAd.cjs → Chip-C8spwPgH.cjs} +2 -2
- package/dist/core/{Chip-C6sk2qAd.cjs.map → Chip-C8spwPgH.cjs.map} +1 -1
- package/dist/core/{Chip-ByR2AKjl.js → Chip-DxwLK-G6.js} +2 -2
- package/dist/core/{Chip-ByR2AKjl.js.map → Chip-DxwLK-G6.js.map} +1 -1
- package/dist/core/Chip.cjs.js +1 -1
- package/dist/core/Chip.js +1 -1
- package/dist/core/{CommandPalette-KcMGDC0i.js → CommandPalette-Dmy5lWzv.js} +2 -2
- package/dist/core/{CommandPalette-KcMGDC0i.js.map → CommandPalette-Dmy5lWzv.js.map} +1 -1
- package/dist/core/{CommandPalette-IOV8q6GZ.cjs → CommandPalette-SxHF3-VM.cjs} +2 -2
- package/dist/core/{CommandPalette-IOV8q6GZ.cjs.map → CommandPalette-SxHF3-VM.cjs.map} +1 -1
- package/dist/core/CommandPalette.cjs.js +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/{Dropdown-CJo6T9__.cjs → Dropdown-Dlo--tIl.cjs} +2 -2
- package/dist/core/{Dropdown-CJo6T9__.cjs.map → Dropdown-Dlo--tIl.cjs.map} +1 -1
- package/dist/core/{Dropdown-Dzjmt9gx.js → Dropdown-GA_yvFVS.js} +2 -2
- package/dist/core/{Dropdown-Dzjmt9gx.js.map → Dropdown-GA_yvFVS.js.map} +1 -1
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{FileUpload-Bcu5v4TO.js → FileUpload-DJ1wI_Bm.js} +2 -2
- package/dist/core/{FileUpload-Bcu5v4TO.js.map → FileUpload-DJ1wI_Bm.js.map} +1 -1
- package/dist/core/{FileUpload-DrPV-Oiy.cjs → FileUpload-aqWEEHIW.cjs} +2 -2
- package/dist/core/{FileUpload-DrPV-Oiy.cjs.map → FileUpload-aqWEEHIW.cjs.map} +1 -1
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{Footer-vLVfqKWf.js → Footer-9x3F5gZx.js} +2 -2
- package/dist/core/{Footer-vLVfqKWf.js.map → Footer-9x3F5gZx.js.map} +1 -1
- package/dist/core/{Footer-DrYZJObN.cjs → Footer-VpViLKN_.cjs} +2 -2
- package/dist/core/{Footer-DrYZJObN.cjs.map → Footer-VpViLKN_.cjs.map} +1 -1
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{IconButton-D_W4nsPZ.cjs → IconButton-Bjjlbqiq.cjs} +4 -2
- package/dist/core/IconButton-Bjjlbqiq.cjs.map +1 -0
- package/dist/core/{IconButton-B9WWbeSM.js → IconButton-DgfUCfo9.js} +4 -2
- package/dist/core/IconButton-DgfUCfo9.js.map +1 -0
- package/dist/core/IconButton.cjs.js +1 -1
- package/dist/core/IconButton.js +1 -1
- package/dist/core/MessagePopUp.cjs.js +1 -1
- package/dist/core/MessagePopUp.js +1 -1
- package/dist/core/{MessagePopup-CIsMNnVM.cjs → MessagePopup-D2nlhTvG.cjs} +2 -2
- package/dist/core/{MessagePopup-CIsMNnVM.cjs.map → MessagePopup-D2nlhTvG.cjs.map} +1 -1
- package/dist/core/{MessagePopup-DiipcrNp.js → MessagePopup-eNK7XvUn.js} +2 -2
- package/dist/core/{MessagePopup-DiipcrNp.js.map → MessagePopup-eNK7XvUn.js.map} +1 -1
- package/dist/core/{Modal-BdxvP-Ei.cjs → Modal-B7IqleCB.cjs} +2 -2
- package/dist/core/{Modal-BdxvP-Ei.cjs.map → Modal-B7IqleCB.cjs.map} +1 -1
- package/dist/core/{Modal-Bi8OdWKS.js → Modal-Cy0AsPTV.js} +2 -2
- package/dist/core/{Modal-Bi8OdWKS.js.map → Modal-Cy0AsPTV.js.map} +1 -1
- package/dist/core/Modal.cjs.js +1 -1
- package/dist/core/Modal.js +1 -1
- package/dist/core/{NotificationCenter-BkoTAZCz.js → NotificationCenter-DgSWWT0G.js} +2 -2
- package/dist/core/{NotificationCenter-BkoTAZCz.js.map → NotificationCenter-DgSWWT0G.js.map} +1 -1
- package/dist/core/{NotificationCenter-DpdzdrPB.cjs → NotificationCenter-c99_Xq4J.cjs} +2 -2
- package/dist/core/{NotificationCenter-DpdzdrPB.cjs.map → NotificationCenter-c99_Xq4J.cjs.map} +1 -1
- package/dist/core/NotificationCenter.cjs.js +1 -1
- package/dist/core/NotificationCenter.js +1 -1
- package/dist/core/{Pager-CcIEdgIe.cjs → Pager-BWlXTFPR.cjs} +2 -2
- package/dist/core/{Pager-CcIEdgIe.cjs.map → Pager-BWlXTFPR.cjs.map} +1 -1
- package/dist/core/{Pager-De-awunI.js → Pager-Dr2H_Q5L.js} +2 -2
- package/dist/core/{Pager-De-awunI.js.map → Pager-Dr2H_Q5L.js.map} +1 -1
- package/dist/core/Pager.cjs.js +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{Stepper-DNSzwiZR.js → Stepper-CxZGa2CS.js} +2 -2
- package/dist/core/{Stepper-DNSzwiZR.js.map → Stepper-CxZGa2CS.js.map} +1 -1
- package/dist/core/{Stepper-Cphvkx0O.cjs → Stepper-gvaKLuno.cjs} +2 -2
- package/dist/core/{Stepper-Cphvkx0O.cjs.map → Stepper-gvaKLuno.cjs.map} +1 -1
- package/dist/core/Stepper.cjs.js +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{Tabs-gpyaJFUs.js → Tabs-BaKDr0uF.js} +84 -36
- package/dist/core/Tabs-BaKDr0uF.js.map +1 -0
- package/dist/core/{Tabs-DptKFvPK.cjs → Tabs-C6lDM19i.cjs} +83 -35
- package/dist/core/Tabs-C6lDM19i.cjs.map +1 -0
- package/dist/core/Tabs.cjs.js +1 -1
- package/dist/core/Tabs.js +1 -1
- package/dist/core/TagInput.cjs.js +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/Taginput-5LKYwPzy.js +311 -0
- package/dist/core/Taginput-5LKYwPzy.js.map +1 -0
- package/dist/core/Taginput-RYBBGWLK.cjs +310 -0
- package/dist/core/Taginput-RYBBGWLK.cjs.map +1 -0
- package/dist/core/{TextArea-Nj-eO3Pv.cjs → TextArea-BAFMXw6Y.cjs} +17 -6
- package/dist/core/TextArea-BAFMXw6Y.cjs.map +1 -0
- package/dist/core/{TextArea-DrU4oCj0.js → TextArea-C2S64tIN.js} +17 -6
- package/dist/core/TextArea-C2S64tIN.js.map +1 -0
- package/dist/core/TextArea.cjs.js +1 -1
- package/dist/core/TextArea.js +1 -1
- package/dist/core/{TextInput-B03e-LMT.cjs → TextInput-5Bpg7Tdt.cjs} +28 -11
- package/dist/core/TextInput-5Bpg7Tdt.cjs.map +1 -0
- package/dist/core/{TextInput-C8mNE1R4.js → TextInput-DQPZXEA2.js} +28 -11
- package/dist/core/TextInput-DQPZXEA2.js.map +1 -0
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/{Timeline-D7fd8-u_.js → Timeline-BfJd6flB.js} +22 -16
- package/dist/core/Timeline-BfJd6flB.js.map +1 -0
- package/dist/core/{Timeline-Dk0q-8BZ.cjs → Timeline-Bmnr7xnx.cjs} +22 -16
- package/dist/core/Timeline-Bmnr7xnx.cjs.map +1 -0
- package/dist/core/Timeline.cjs.js +1 -1
- package/dist/core/Timeline.js +1 -1
- package/dist/core/{Toggle-v31rt4Ya.cjs → Toggle-Dor7IEx3.cjs} +36 -15
- package/dist/core/Toggle-Dor7IEx3.cjs.map +1 -0
- package/dist/core/{Toggle-CZftIdc3.js → Toggle-sPyKNt4P.js} +38 -17
- package/dist/core/Toggle-sPyKNt4P.js.map +1 -0
- package/dist/core/Toggle.cjs.js +1 -1
- package/dist/core/Toggle.js +1 -1
- package/dist/core/{Toolbar-Tf01bUjT.js → Toolbar-CSDhcIPb.js} +15 -11
- package/dist/core/Toolbar-CSDhcIPb.js.map +1 -0
- package/dist/core/{Toolbar-zZrwUT66.cjs → Toolbar-xot4FSLU.cjs} +15 -11
- package/dist/core/Toolbar-xot4FSLU.cjs.map +1 -0
- package/dist/core/Toolbar.cjs.js +1 -1
- package/dist/core/Toolbar.js +1 -1
- package/dist/core/Tooltip-BzmV7ztl.cjs +120 -0
- package/dist/core/Tooltip-BzmV7ztl.cjs.map +1 -0
- package/dist/core/Tooltip-iUp73wB4.js +121 -0
- package/dist/core/Tooltip-iUp73wB4.js.map +1 -0
- package/dist/core/Tooltip.cjs.js +1 -1
- package/dist/core/Tooltip.js +1 -1
- package/dist/core/index.cjs.js +20 -20
- package/dist/core/index.js +20 -20
- package/dist/core/style.css +20 -10
- package/dist/next/{Card-BQTJkNCL.cjs → Card-CAH-CrbH.cjs} +2 -2
- package/dist/next/{Card-BQTJkNCL.cjs.map → Card-CAH-CrbH.cjs.map} +1 -1
- package/dist/next/{Card-B9EjkoVy.js → Card-KFr31XTs.js} +2 -2
- package/dist/next/{Card-B9EjkoVy.js.map → Card-KFr31XTs.js.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/{Chip-CfJ473TI.cjs → Chip-C7w9CTed.cjs} +2 -2
- package/dist/next/{Chip-CfJ473TI.cjs.map → Chip-C7w9CTed.cjs.map} +1 -1
- package/dist/next/{Chip-CekCQRke.js → Chip-Qa_1km99.js} +2 -2
- package/dist/next/{Chip-CekCQRke.js.map → Chip-Qa_1km99.js.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CommandPalette-BEDyY7vY.js → CommandPalette-D6ZeGNWl.js} +2 -2
- package/dist/next/{CommandPalette-BEDyY7vY.js.map → CommandPalette-D6ZeGNWl.js.map} +1 -1
- package/dist/next/{CommandPalette-DhyChRCJ.cjs → CommandPalette-DHTJFymB.cjs} +2 -2
- package/dist/next/{CommandPalette-DhyChRCJ.cjs.map → CommandPalette-DHTJFymB.cjs.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{Dropdown-qvuelg8z.cjs → Dropdown-BbdsK4H6.cjs} +2 -2
- package/dist/next/{Dropdown-qvuelg8z.cjs.map → Dropdown-BbdsK4H6.cjs.map} +1 -1
- package/dist/next/{Dropdown-DqYjIelJ.js → Dropdown-BvUfz8G7.js} +2 -2
- package/dist/next/{Dropdown-DqYjIelJ.js.map → Dropdown-BvUfz8G7.js.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{FileUpload-BSqFdKZD.js → FileUpload-BxmKK5BE.js} +2 -2
- package/dist/next/{FileUpload-BSqFdKZD.js.map → FileUpload-BxmKK5BE.js.map} +1 -1
- package/dist/next/{FileUpload-DpxmgS-B.cjs → FileUpload-C95H9D4N.cjs} +2 -2
- package/dist/next/{FileUpload-DpxmgS-B.cjs.map → FileUpload-C95H9D4N.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-CukKL1zM.cjs → Footer-C98DQNB3.cjs} +2 -2
- package/dist/next/{Footer-CukKL1zM.cjs.map → Footer-C98DQNB3.cjs.map} +1 -1
- package/dist/next/{Footer-CD8eu471.js → Footer-DhBE3lNY.js} +2 -2
- package/dist/next/{Footer-CD8eu471.js.map → Footer-DhBE3lNY.js.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{IconButton-B1r838wY.js → IconButton-B_j-S10f.js} +4 -2
- package/dist/next/IconButton-B_j-S10f.js.map +1 -0
- package/dist/next/{IconButton--X_Bqn4g.cjs → IconButton-C3WpabtT.cjs} +4 -2
- package/dist/next/IconButton-C3WpabtT.cjs.map +1 -0
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/MessagePopUp.cjs.js +1 -1
- package/dist/next/MessagePopUp.js +1 -1
- package/dist/next/{MessagePopup-Bjgods-d.js → MessagePopup-BFKRiymY.js} +2 -2
- package/dist/next/{MessagePopup-Bjgods-d.js.map → MessagePopup-BFKRiymY.js.map} +1 -1
- package/dist/next/{MessagePopup-BL7842Cu.cjs → MessagePopup-CcM5nRAG.cjs} +2 -2
- package/dist/next/{MessagePopup-BL7842Cu.cjs.map → MessagePopup-CcM5nRAG.cjs.map} +1 -1
- package/dist/next/{Modal-BddVxoXY.js → Modal-DIZf7sgL.js} +2 -2
- package/dist/next/{Modal-BddVxoXY.js.map → Modal-DIZf7sgL.js.map} +1 -1
- package/dist/next/{Modal-Bauehvf1.cjs → Modal-hk84_P6s.cjs} +2 -2
- package/dist/next/{Modal-Bauehvf1.cjs.map → Modal-hk84_P6s.cjs.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NotificationCenter-dkrHsIKr.cjs → NotificationCenter-CLMiEWUG.cjs} +2 -2
- package/dist/next/{NotificationCenter-dkrHsIKr.cjs.map → NotificationCenter-CLMiEWUG.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-DlbqVzzr.js → NotificationCenter-D3Eucn9z.js} +2 -2
- package/dist/next/{NotificationCenter-DlbqVzzr.js.map → NotificationCenter-D3Eucn9z.js.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-jPCTdMIg.cjs → Pager-BpTg_723.cjs} +2 -2
- package/dist/next/{Pager-jPCTdMIg.cjs.map → Pager-BpTg_723.cjs.map} +1 -1
- package/dist/next/{Pager-CGqvekhJ.js → Pager-nKqhRoht.js} +2 -2
- package/dist/next/{Pager-CGqvekhJ.js.map → Pager-nKqhRoht.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{Stepper-kC6EOZ_b.cjs → Stepper-CWXKcAae.cjs} +2 -2
- package/dist/next/{Stepper-kC6EOZ_b.cjs.map → Stepper-CWXKcAae.cjs.map} +1 -1
- package/dist/next/{Stepper-BzItximd.js → Stepper-b-0SYFcE.js} +2 -2
- package/dist/next/{Stepper-BzItximd.js.map → Stepper-b-0SYFcE.js.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{Tabs-CuF_JTan.js → Tabs-B94nrX75.js} +84 -36
- package/dist/next/Tabs-B94nrX75.js.map +1 -0
- package/dist/next/{Tabs-DhQgzZKQ.cjs → Tabs-Dom5sh_U.cjs} +83 -35
- package/dist/next/Tabs-Dom5sh_U.cjs.map +1 -0
- package/dist/next/Tabs.cjs.js +1 -1
- package/dist/next/Tabs.js +1 -1
- package/dist/next/{TagInput-DuvUD94J.cjs → TagInput-B6PAcCaw.cjs} +152 -87
- package/dist/next/TagInput-B6PAcCaw.cjs.map +1 -0
- package/dist/next/{TagInput-CJ2XdMU0.js → TagInput-C8hyzJ7f.js} +153 -88
- package/dist/next/TagInput-C8hyzJ7f.js.map +1 -0
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextArea-Bmkg-d0v.js → TextArea-C9VGM6pu.js} +17 -6
- package/dist/next/TextArea-C9VGM6pu.js.map +1 -0
- package/dist/next/{TextArea-OpFozktU.cjs → TextArea-Cn2q5KhJ.cjs} +17 -6
- package/dist/next/TextArea-Cn2q5KhJ.cjs.map +1 -0
- package/dist/next/TextArea.cjs.js +1 -1
- package/dist/next/TextArea.js +1 -1
- package/dist/next/{TextInput-CpbTf99E.cjs → TextInput-CUBY6wCB.cjs} +66 -49
- package/dist/next/TextInput-CUBY6wCB.cjs.map +1 -0
- package/dist/next/{TextInput-G1Pvtebv.js → TextInput-Zywm-WEW.js} +66 -49
- package/dist/next/TextInput-Zywm-WEW.js.map +1 -0
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/{Timeline-jmKmKwxD.cjs → Timeline-BWx1ROuN.cjs} +22 -16
- package/dist/next/Timeline-BWx1ROuN.cjs.map +1 -0
- package/dist/next/{Timeline-WHRPqD31.js → Timeline-CQxYIXCz.js} +22 -16
- package/dist/next/Timeline-CQxYIXCz.js.map +1 -0
- package/dist/next/Timeline.cjs.js +1 -1
- package/dist/next/Timeline.js +1 -1
- package/dist/next/{Toggle-D1vM9KrI.js → Toggle-Br6GTHrq.js} +38 -17
- package/dist/next/Toggle-Br6GTHrq.js.map +1 -0
- package/dist/next/{Toggle-ei8CN3th.cjs → Toggle-Cs4ail9L.cjs} +36 -15
- package/dist/next/Toggle-Cs4ail9L.cjs.map +1 -0
- package/dist/next/Toggle.cjs.js +1 -1
- package/dist/next/Toggle.js +1 -1
- package/dist/next/{Toolbar-Dv6focMM.cjs → Toolbar-CyjJbHtq.cjs} +15 -11
- package/dist/next/Toolbar-CyjJbHtq.cjs.map +1 -0
- package/dist/next/{Toolbar-Dw__aR2C.js → Toolbar-DgiSHpuZ.js} +15 -11
- package/dist/next/Toolbar-DgiSHpuZ.js.map +1 -0
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/Tooltip-1m3gCuRE.cjs +165 -0
- package/dist/next/Tooltip-1m3gCuRE.cjs.map +1 -0
- package/dist/next/Tooltip-D5_lSH1z.js +166 -0
- package/dist/next/Tooltip-D5_lSH1z.js.map +1 -0
- package/dist/next/Tooltip.cjs.js +1 -1
- package/dist/next/Tooltip.js +1 -1
- package/dist/next/index.cjs.js +20 -20
- package/dist/next/index.js +20 -20
- package/dist/next/style.css +82 -71
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/IconButton/IconButton.types.d.ts +2 -0
- package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButtonBase.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tabs.types.d.ts +5 -0
- package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabsBase.d.ts +2 -4
- package/dist/types/components/Tabs/TabsBase.d.ts.map +1 -1
- package/dist/types/components/TagInput/TagInputBase.d.ts +2 -6
- package/dist/types/components/TagInput/TagInputBase.d.ts.map +1 -1
- package/dist/types/components/TagInput/Taginput.types.d.ts +5 -0
- package/dist/types/components/TagInput/Taginput.types.d.ts.map +1 -1
- package/dist/types/components/TagInput/core/Taginput.d.ts.map +1 -1
- package/dist/types/components/TextArea/TextAreaBase.d.ts.map +1 -1
- package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
- package/dist/types/components/Timeline/TimelineBase.d.ts.map +1 -1
- package/dist/types/components/Toggle/Toggle.types.d.ts +3 -0
- package/dist/types/components/Toggle/Toggle.types.d.ts.map +1 -1
- package/dist/types/components/Toggle/ToggleBase.d.ts +1 -4
- package/dist/types/components/Toggle/ToggleBase.d.ts.map +1 -1
- package/dist/types/components/Toolbar/ToolbarBase.d.ts +2 -1
- package/dist/types/components/Toolbar/ToolbarBase.d.ts.map +1 -1
- package/dist/types/components/Tooltip/TooltipBase.d.ts +4 -2
- package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/IconButton-B9WWbeSM.js.map +0 -1
- package/dist/core/IconButton-D_W4nsPZ.cjs.map +0 -1
- package/dist/core/Tabs-DptKFvPK.cjs.map +0 -1
- package/dist/core/Tabs-gpyaJFUs.js.map +0 -1
- package/dist/core/Taginput-BNZg4SGI.cjs +0 -244
- package/dist/core/Taginput-BNZg4SGI.cjs.map +0 -1
- package/dist/core/Taginput-D0wKEzGh.js +0 -245
- package/dist/core/Taginput-D0wKEzGh.js.map +0 -1
- package/dist/core/TextArea-DrU4oCj0.js.map +0 -1
- package/dist/core/TextArea-Nj-eO3Pv.cjs.map +0 -1
- package/dist/core/TextInput-B03e-LMT.cjs.map +0 -1
- package/dist/core/TextInput-C8mNE1R4.js.map +0 -1
- package/dist/core/Timeline-D7fd8-u_.js.map +0 -1
- package/dist/core/Timeline-Dk0q-8BZ.cjs.map +0 -1
- package/dist/core/Toggle-CZftIdc3.js.map +0 -1
- package/dist/core/Toggle-v31rt4Ya.cjs.map +0 -1
- package/dist/core/Toolbar-Tf01bUjT.js.map +0 -1
- package/dist/core/Toolbar-zZrwUT66.cjs.map +0 -1
- package/dist/core/Tooltip-5SfsTZvz.cjs +0 -105
- package/dist/core/Tooltip-5SfsTZvz.cjs.map +0 -1
- package/dist/core/Tooltip-XfsZnGgV.js +0 -106
- package/dist/core/Tooltip-XfsZnGgV.js.map +0 -1
- package/dist/next/IconButton--X_Bqn4g.cjs.map +0 -1
- package/dist/next/IconButton-B1r838wY.js.map +0 -1
- package/dist/next/Tabs-CuF_JTan.js.map +0 -1
- package/dist/next/Tabs-DhQgzZKQ.cjs.map +0 -1
- package/dist/next/TagInput-CJ2XdMU0.js.map +0 -1
- package/dist/next/TagInput-DuvUD94J.cjs.map +0 -1
- package/dist/next/TextArea-Bmkg-d0v.js.map +0 -1
- package/dist/next/TextArea-OpFozktU.cjs.map +0 -1
- package/dist/next/TextInput-CpbTf99E.cjs.map +0 -1
- package/dist/next/TextInput-G1Pvtebv.js.map +0 -1
- package/dist/next/Timeline-WHRPqD31.js.map +0 -1
- package/dist/next/Timeline-jmKmKwxD.cjs.map +0 -1
- package/dist/next/Toggle-D1vM9KrI.js.map +0 -1
- package/dist/next/Toggle-ei8CN3th.cjs.map +0 -1
- package/dist/next/Toolbar-Dv6focMM.cjs.map +0 -1
- package/dist/next/Toolbar-Dw__aR2C.js.map +0 -1
- package/dist/next/Tooltip-CnwS0tgW.cjs +0 -150
- package/dist/next/Tooltip-CnwS0tgW.cjs.map +0 -1
- package/dist/next/Tooltip-DhRckexD.js +0 -151
- package/dist/next/Tooltip-DhRckexD.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { I as IconButton } from "./IconButton-
|
|
3
|
-
import { T as TextInput } from "./TextInput-
|
|
4
|
-
import { useId, useState, useEffect, useMemo } from "react";
|
|
2
|
+
import { I as IconButton } from "./IconButton-B_j-S10f.js";
|
|
3
|
+
import { T as TextInput } from "./TextInput-Zywm-WEW.js";
|
|
4
|
+
import { useId, useState, useRef, useEffect, useMemo } from "react";
|
|
5
5
|
import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
|
|
6
6
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
7
7
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
@@ -103,58 +103,116 @@ const TagInputBase = ({
|
|
|
103
103
|
rounding = getDefaultRounding(),
|
|
104
104
|
shadow = getDefaultShadow(),
|
|
105
105
|
"data-testid": testId = "tag-input",
|
|
106
|
-
ariaDescription = "Type a tag and press Enter or comma to add.
|
|
106
|
+
ariaDescription = "Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.",
|
|
107
107
|
classMap,
|
|
108
108
|
IconButton: IconButton2,
|
|
109
109
|
TextInput: TextInput2
|
|
110
110
|
}) => {
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
const
|
|
111
|
+
const uid = useId();
|
|
112
|
+
const inputId = `${testId}-input-${uid}`;
|
|
113
|
+
const descId = `${testId}-desc-${uid}`;
|
|
114
|
+
const labelId = `${testId}-label-${uid}`;
|
|
115
|
+
const listboxId = `${testId}-listbox-${uid}`;
|
|
116
|
+
const statusId = `${testId}-status-${uid}`;
|
|
114
117
|
const [inputValue, setInputValue] = useState("");
|
|
115
118
|
const [tagList, setTagList] = useState(tags);
|
|
116
119
|
const [lastAction, setLastAction] = useState("");
|
|
117
120
|
const [suggestions, setSuggestions] = useState([]);
|
|
118
|
-
const [
|
|
119
|
-
|
|
120
|
-
);
|
|
121
|
+
const [open, setOpen] = useState(false);
|
|
122
|
+
const [activeIndex, setActiveIndex] = useState(-1);
|
|
123
|
+
const debounceRef = useRef(null);
|
|
124
|
+
const hasTag = (val) => tagList.some((t) => t.toLowerCase() === val.toLowerCase());
|
|
121
125
|
useEffect(() => {
|
|
122
|
-
if (!fetchSuggestions
|
|
126
|
+
if (!fetchSuggestions) {
|
|
123
127
|
setSuggestions([]);
|
|
128
|
+
setOpen(false);
|
|
124
129
|
return;
|
|
125
130
|
}
|
|
126
|
-
if (
|
|
127
|
-
|
|
131
|
+
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
132
|
+
const query = inputValue.trim();
|
|
133
|
+
if (!query) {
|
|
134
|
+
setSuggestions([]);
|
|
135
|
+
setOpen(false);
|
|
136
|
+
setActiveIndex(-1);
|
|
137
|
+
return;
|
|
128
138
|
}
|
|
129
|
-
|
|
139
|
+
debounceRef.current = setTimeout(async () => {
|
|
130
140
|
try {
|
|
131
|
-
const result = await fetchSuggestions(
|
|
132
|
-
setSuggestions(result);
|
|
133
|
-
|
|
134
|
-
|
|
141
|
+
const result = await fetchSuggestions(query);
|
|
142
|
+
setSuggestions(result || []);
|
|
143
|
+
setOpen(((result == null ? void 0 : result.length) ?? 0) > 0);
|
|
144
|
+
setActiveIndex(((result == null ? void 0 : result.length) ?? 0) > 0 ? 0 : -1);
|
|
145
|
+
} catch {
|
|
146
|
+
setSuggestions([]);
|
|
147
|
+
setOpen(false);
|
|
148
|
+
setActiveIndex(-1);
|
|
135
149
|
}
|
|
136
150
|
}, debounceMs);
|
|
137
|
-
|
|
138
|
-
|
|
151
|
+
return () => {
|
|
152
|
+
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
153
|
+
};
|
|
139
154
|
}, [inputValue, fetchSuggestions, debounceMs]);
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
setLastAction(`Added tag ${newTag}`);
|
|
149
|
-
}
|
|
150
|
-
setInputValue("");
|
|
151
|
-
}
|
|
155
|
+
const addTag = (raw) => {
|
|
156
|
+
const newTag = raw.trim();
|
|
157
|
+
if (!newTag || hasTag(newTag)) return false;
|
|
158
|
+
const updated = [...tagList, newTag];
|
|
159
|
+
setTagList(updated);
|
|
160
|
+
onChange == null ? void 0 : onChange(updated);
|
|
161
|
+
setLastAction(`Added tag ${newTag}.`);
|
|
162
|
+
return true;
|
|
152
163
|
};
|
|
153
|
-
const
|
|
164
|
+
const removeTag = (tag2) => {
|
|
154
165
|
const updated = tagList.filter((t) => t !== tag2);
|
|
155
166
|
setTagList(updated);
|
|
156
167
|
onChange == null ? void 0 : onChange(updated);
|
|
157
|
-
setLastAction(`Removed tag ${tag2}
|
|
168
|
+
setLastAction(`Removed tag ${tag2}.`);
|
|
169
|
+
};
|
|
170
|
+
const handleKeyDown = (event) => {
|
|
171
|
+
const { key } = event;
|
|
172
|
+
if (open && suggestions.length > 0) {
|
|
173
|
+
if (key === "ArrowDown") {
|
|
174
|
+
event.preventDefault();
|
|
175
|
+
setActiveIndex((i) => (i + 1) % suggestions.length);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (key === "ArrowUp") {
|
|
179
|
+
event.preventDefault();
|
|
180
|
+
setActiveIndex(
|
|
181
|
+
(i) => (i - 1 + suggestions.length) % suggestions.length
|
|
182
|
+
);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (key === "Enter") {
|
|
186
|
+
event.preventDefault();
|
|
187
|
+
const choice = suggestions[activeIndex];
|
|
188
|
+
if (choice && addTag(choice)) {
|
|
189
|
+
setInputValue("");
|
|
190
|
+
}
|
|
191
|
+
setSuggestions([]);
|
|
192
|
+
setOpen(false);
|
|
193
|
+
setActiveIndex(-1);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (key === "Escape") {
|
|
197
|
+
event.preventDefault();
|
|
198
|
+
setSuggestions([]);
|
|
199
|
+
setOpen(false);
|
|
200
|
+
setActiveIndex(-1);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (key === "Enter" || key === ",") {
|
|
205
|
+
event.preventDefault();
|
|
206
|
+
if (addTag(inputValue)) setInputValue("");
|
|
207
|
+
setSuggestions([]);
|
|
208
|
+
setOpen(false);
|
|
209
|
+
setActiveIndex(-1);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (key === "Backspace" && inputValue === "" && tagList.length > 0) {
|
|
213
|
+
const last = tagList[tagList.length - 1];
|
|
214
|
+
removeTag(last);
|
|
215
|
+
}
|
|
158
216
|
};
|
|
159
217
|
const wrapperClass = useMemo(
|
|
160
218
|
() => combineClassNames(
|
|
@@ -171,15 +229,22 @@ const TagInputBase = ({
|
|
|
171
229
|
shadow && classMap[`shadow${capitalize(shadow)}`],
|
|
172
230
|
rounding && classMap[`round${capitalize(rounding)}`]
|
|
173
231
|
),
|
|
174
|
-
[classMap]
|
|
232
|
+
[classMap, shadow, rounding]
|
|
175
233
|
);
|
|
234
|
+
const handleSuggestionClick = (suggestion) => {
|
|
235
|
+
if (addTag(suggestion)) setInputValue("");
|
|
236
|
+
setSuggestions([]);
|
|
237
|
+
setOpen(false);
|
|
238
|
+
setActiveIndex(-1);
|
|
239
|
+
};
|
|
240
|
+
const activeOptionId = open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : void 0;
|
|
176
241
|
return /* @__PURE__ */ jsxs(
|
|
177
242
|
"div",
|
|
178
243
|
{
|
|
179
244
|
className: wrapperClass,
|
|
180
245
|
role: "group",
|
|
181
246
|
"aria-labelledby": labelId,
|
|
182
|
-
"aria-describedby": descId
|
|
247
|
+
"aria-describedby": `${descId} ${statusId}`,
|
|
183
248
|
"data-testid": testId,
|
|
184
249
|
children: [
|
|
185
250
|
/* @__PURE__ */ jsx("label", { id: labelId, className: "sr_only", children: "Tag Input" }),
|
|
@@ -192,40 +257,33 @@ const TagInputBase = ({
|
|
|
192
257
|
children: ariaDescription
|
|
193
258
|
}
|
|
194
259
|
),
|
|
195
|
-
/* @__PURE__ */ jsx(
|
|
196
|
-
"
|
|
260
|
+
/* @__PURE__ */ jsx("ul", { className: classMap.tagContainer, "data-testid": `${testId}-list`, children: tagList.map((tag2, index) => /* @__PURE__ */ jsxs(
|
|
261
|
+
"li",
|
|
197
262
|
{
|
|
198
|
-
className:
|
|
199
|
-
|
|
200
|
-
"
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
)
|
|
223
|
-
]
|
|
224
|
-
},
|
|
225
|
-
tag2
|
|
226
|
-
))
|
|
227
|
-
}
|
|
228
|
-
),
|
|
263
|
+
className: tagClass,
|
|
264
|
+
role: "listitem",
|
|
265
|
+
"data-testid": `${testId}-tag-${index}`,
|
|
266
|
+
children: [
|
|
267
|
+
/* @__PURE__ */ jsx("span", { className: classMap.tagLabel, children: tag2 }),
|
|
268
|
+
/* @__PURE__ */ jsx(
|
|
269
|
+
IconButton2,
|
|
270
|
+
{
|
|
271
|
+
type: "button",
|
|
272
|
+
"aria-label": `Remove tag ${tag2}`,
|
|
273
|
+
className: classMap.removeButton,
|
|
274
|
+
onClick: () => removeTag(tag2),
|
|
275
|
+
"data-testid": `${testId}-remove-${index}`,
|
|
276
|
+
icon: CloseIcon,
|
|
277
|
+
size: "small",
|
|
278
|
+
theme: "clear",
|
|
279
|
+
shadow: "none",
|
|
280
|
+
iconClassName: classMap.removeButtonIcon
|
|
281
|
+
}
|
|
282
|
+
)
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
`${tag2}-${index}`
|
|
286
|
+
)) }),
|
|
229
287
|
/* @__PURE__ */ jsx("div", { className: classMap.inputWrapper, children: /* @__PURE__ */ jsx(
|
|
230
288
|
TextInput2,
|
|
231
289
|
{
|
|
@@ -239,47 +297,54 @@ const TagInputBase = ({
|
|
|
239
297
|
value: inputValue,
|
|
240
298
|
placeholder: tagList.length === 0 ? placeholder : "",
|
|
241
299
|
onChange: (e) => setInputValue(e.target.value),
|
|
242
|
-
onKeyDown:
|
|
300
|
+
onKeyDown: handleKeyDown,
|
|
301
|
+
autoComplete: "off",
|
|
302
|
+
role: "combobox",
|
|
303
|
+
"aria-autocomplete": "list",
|
|
304
|
+
"aria-expanded": open,
|
|
305
|
+
"aria-controls": listboxId,
|
|
306
|
+
"aria-activedescendant": activeOptionId,
|
|
243
307
|
"aria-label": "Add new tag",
|
|
244
|
-
"aria-describedby": descId
|
|
308
|
+
"aria-describedby": `${descId} ${statusId}`,
|
|
245
309
|
"data-testid": `${testId}-input`
|
|
246
310
|
}
|
|
247
311
|
) }),
|
|
248
|
-
suggestions.length > 0 && /* @__PURE__ */ jsx(
|
|
312
|
+
open && suggestions.length > 0 && /* @__PURE__ */ jsx(
|
|
249
313
|
"ul",
|
|
250
314
|
{
|
|
251
315
|
className: classMap.suggestionList,
|
|
252
316
|
role: "listbox",
|
|
253
|
-
id:
|
|
254
|
-
|
|
317
|
+
id: listboxId,
|
|
318
|
+
"aria-label": "Tag suggestions",
|
|
255
319
|
"data-testid": `${testId}-suggestions`,
|
|
256
320
|
children: suggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
|
|
257
321
|
"li",
|
|
258
322
|
{
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
onChange == null ? void 0 : onChange(updated);
|
|
265
|
-
setLastAction(`Added tag ${suggestion}`);
|
|
266
|
-
}
|
|
267
|
-
setInputValue("");
|
|
268
|
-
setSuggestions([]);
|
|
269
|
-
},
|
|
323
|
+
id: `${listboxId}-opt-${index}`,
|
|
324
|
+
className: combineClassNames(
|
|
325
|
+
classMap.suggestionItem,
|
|
326
|
+
index === activeIndex && (classMap.active || "")
|
|
327
|
+
),
|
|
270
328
|
role: "option",
|
|
329
|
+
"aria-selected": index === activeIndex,
|
|
330
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
331
|
+
onClick: () => handleSuggestionClick(suggestion),
|
|
271
332
|
"data-testid": `${testId}-suggestion-${index}`,
|
|
272
333
|
children: suggestion
|
|
273
334
|
},
|
|
274
|
-
index
|
|
335
|
+
`${suggestion}-${index}`
|
|
275
336
|
))
|
|
276
337
|
}
|
|
277
338
|
),
|
|
278
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ jsxs("div", { id: statusId, "aria-live": "polite", className: "sr_only", children: [
|
|
340
|
+
open && suggestions.length > 0 ? `${suggestions.length} suggestion${suggestions.length === 1 ? "" : "s"} available.` : "",
|
|
341
|
+
lastAction
|
|
342
|
+
] })
|
|
279
343
|
]
|
|
280
344
|
}
|
|
281
345
|
);
|
|
282
346
|
};
|
|
347
|
+
TagInputBase.displayName = "TagInputBase";
|
|
283
348
|
const TagInput = (props) => {
|
|
284
349
|
return /* @__PURE__ */ jsx(
|
|
285
350
|
TagInputBase,
|
|
@@ -294,4 +359,4 @@ const TagInput = (props) => {
|
|
|
294
359
|
export {
|
|
295
360
|
TagInput as T
|
|
296
361
|
};
|
|
297
|
-
//# sourceMappingURL=TagInput-
|
|
362
|
+
//# sourceMappingURL=TagInput-C8hyzJ7f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagInput-C8hyzJ7f.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/next/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } 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<TagInputBaseProps> = ({\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. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const inputId = `${testId}-input-${uid}`;\r\n const descId = `${testId}-desc-${uid}`;\r\n const labelId = `${testId}-label-${uid}`;\r\n const listboxId = `${testId}-listbox-${uid}`;\r\n const statusId = `${testId}-status-${uid}`;\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 const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n return;\r\n }\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (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 handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length\r\n );\r\n return;\r\n }\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\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, shadow, rounding]\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string) => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\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} ${statusId}`}\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 className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\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={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\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={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={`${descId} ${statusId}`}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label=\"Tag suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\")\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\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 id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport styles from \"./Taginput.module.scss\";\r\nimport { IconButton, TextInput } from \"@/index.next\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../Taginput.types\";\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={styles}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\n\r\nexport default TagInput;\r\n"],"names":["IconButton","TextInput","tag"],"mappings":"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"}
|
package/dist/next/TagInput.js
CHANGED
|
@@ -22,9 +22,12 @@ const TextAreaBase = forwardRef(
|
|
|
22
22
|
classMap,
|
|
23
23
|
className = "",
|
|
24
24
|
"data-testid": testId = "text-area",
|
|
25
|
+
id: idProp,
|
|
26
|
+
required,
|
|
25
27
|
...props
|
|
26
28
|
}, ref) => {
|
|
27
|
-
const
|
|
29
|
+
const autoId = useId();
|
|
30
|
+
const id = idProp || autoId;
|
|
28
31
|
const descriptionId = ariaDescription ? `${id}-description` : void 0;
|
|
29
32
|
const wrapperClass = useMemo(
|
|
30
33
|
() => combineClassNames(
|
|
@@ -37,8 +40,11 @@ const TextAreaBase = forwardRef(
|
|
|
37
40
|
rounding && classMap[`round${capitalize(rounding)}`],
|
|
38
41
|
className
|
|
39
42
|
),
|
|
40
|
-
[classMap, outline2, disabled2,
|
|
43
|
+
[classMap, theme, state, outline2, disabled2, shadow, rounding, className]
|
|
41
44
|
);
|
|
45
|
+
const computedLabel = ariaLabel || placeholder;
|
|
46
|
+
const describedBy = descriptionId || void 0;
|
|
47
|
+
const isError = state === "error";
|
|
42
48
|
return /* @__PURE__ */ jsxs("div", { className: wrapperClass, "data-testid": testId, children: [
|
|
43
49
|
Icon && /* @__PURE__ */ jsx(
|
|
44
50
|
"div",
|
|
@@ -46,7 +52,7 @@ const TextAreaBase = forwardRef(
|
|
|
46
52
|
className: classMap.iconContainer,
|
|
47
53
|
"aria-hidden": "true",
|
|
48
54
|
"data-testid": `${testId}-icon`,
|
|
49
|
-
children: /* @__PURE__ */ jsx(Icon, {})
|
|
55
|
+
children: /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true" })
|
|
50
56
|
}
|
|
51
57
|
),
|
|
52
58
|
/* @__PURE__ */ jsx(
|
|
@@ -55,11 +61,16 @@ const TextAreaBase = forwardRef(
|
|
|
55
61
|
ref,
|
|
56
62
|
id,
|
|
57
63
|
placeholder,
|
|
58
|
-
"aria-label":
|
|
59
|
-
"aria-describedby":
|
|
64
|
+
"aria-label": computedLabel,
|
|
65
|
+
"aria-describedby": describedBy,
|
|
66
|
+
"aria-invalid": isError || void 0,
|
|
67
|
+
"aria-required": required || void 0,
|
|
68
|
+
"aria-readonly": readOnly || void 0,
|
|
69
|
+
"aria-disabled": disabled2 || void 0,
|
|
60
70
|
autoComplete: autocomplete ? "on" : "off",
|
|
61
71
|
readOnly,
|
|
62
72
|
disabled: disabled2,
|
|
73
|
+
required,
|
|
63
74
|
style: {
|
|
64
75
|
height,
|
|
65
76
|
resize: resizable ? void 0 : "none"
|
|
@@ -149,4 +160,4 @@ TextArea.displayName = "TextArea";
|
|
|
149
160
|
export {
|
|
150
161
|
TextArea as T
|
|
151
162
|
};
|
|
152
|
-
//# sourceMappingURL=TextArea-
|
|
163
|
+
//# sourceMappingURL=TextArea-C9VGM6pu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea-C9VGM6pu.js","sources":["../../src/components/TextArea/TextAreaBase.tsx","../../src/components/TextArea/next/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 id: idProp,\r\n required,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const autoId = useId();\r\n const id = idProp || autoId;\r\n\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, theme, state, outline, disabled, shadow, rounding, className]\r\n );\r\n\r\n const computedLabel = ariaLabel || placeholder;\r\n\r\n const describedBy = descriptionId || undefined;\r\n\r\n const isError = state === \"error\";\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 aria-hidden=\"true\" />\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={computedLabel}\r\n aria-describedby={describedBy}\r\n aria-invalid={isError || undefined}\r\n aria-required={required || undefined}\r\n aria-readonly={readOnly || undefined}\r\n aria-disabled={disabled || undefined}\r\n autoComplete={autocomplete ? \"on\" : \"off\"}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n required={required}\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","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport TextAreaBase from \"../TextAreaBase\";\r\nimport type { TextAreaProps } from \"../TextArea.types\";\r\nimport styles from \"./TextArea.module.scss\";\r\n\r\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\r\n (props, ref) => {\r\n return <TextAreaBase {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nTextArea.displayName = \"TextArea\";\r\n\r\nexport default TextArea;\r\n"],"names":["outline","disabled"],"mappings":";;;;;AAUA,MAAM,eAAe;AAAA,EAInB,CACE;AAAA,IACE,MAAM;AAAA,IACN,cAAc;AAAA,IACd,WAAW;AAAA,IACX,SAAAA,WAAU;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,UAAAC,YAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,SAAS;AAAA,IACxB,IAAI;AAAA,IACJ;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,SAAS,MAAA;AACf,UAAM,KAAK,UAAU;AAErB,UAAM,gBAAgB,kBAAkB,GAAG,EAAE,iBAAiB;AAE9D,UAAM,eAAe;AAAA,MACnB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACdD,YAAW,SAAS;AAAA,QACpBC,aAAY,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,OAAO,OAAOD,UAASC,WAAU,QAAQ,UAAU,SAAS;AAAA,IAAA;AAGzE,UAAM,gBAAgB,aAAa;AAEnC,UAAM,cAAc,iBAAiB;AAErC,UAAM,UAAU,UAAU;AAE1B,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,UAAA,oBAAC,MAAA,EAAK,eAAY,OAAA,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,MAI7B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAY;AAAA,UACZ,oBAAkB;AAAA,UAClB,gBAAc,WAAW;AAAA,UACzB,iBAAe,YAAY;AAAA,UAC3B,iBAAe,YAAY;AAAA,UAC3B,iBAAeA,aAAY;AAAA,UAC3B,cAAc,eAAe,OAAO;AAAA,UACpC;AAAA,UACA,UAAAA;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,WAAU;AAAA,UACV,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjH3B,MAAM,WAAW;AAAA,EACf,CAAC,OAAO,QAAQ;AACd,+BAAQ,cAAA,EAAc,GAAG,OAAO,KAAU,UAAU,QAAQ;AAAA,EAC9D;AACF;AAEA,SAAS,cAAc;"}
|
|
@@ -23,9 +23,12 @@ const TextAreaBase = React.forwardRef(
|
|
|
23
23
|
classMap,
|
|
24
24
|
className = "",
|
|
25
25
|
"data-testid": testId = "text-area",
|
|
26
|
+
id: idProp,
|
|
27
|
+
required,
|
|
26
28
|
...props
|
|
27
29
|
}, ref) => {
|
|
28
|
-
const
|
|
30
|
+
const autoId = React.useId();
|
|
31
|
+
const id = idProp || autoId;
|
|
29
32
|
const descriptionId = ariaDescription ? `${id}-description` : void 0;
|
|
30
33
|
const wrapperClass = React.useMemo(
|
|
31
34
|
() => classNames.combineClassNames(
|
|
@@ -38,8 +41,11 @@ const TextAreaBase = React.forwardRef(
|
|
|
38
41
|
rounding && classMap[`round${capitalize.capitalize(rounding)}`],
|
|
39
42
|
className
|
|
40
43
|
),
|
|
41
|
-
[classMap, outline2, disabled2,
|
|
44
|
+
[classMap, theme, state, outline2, disabled2, shadow, rounding, className]
|
|
42
45
|
);
|
|
46
|
+
const computedLabel = ariaLabel || placeholder;
|
|
47
|
+
const describedBy = descriptionId || void 0;
|
|
48
|
+
const isError = state === "error";
|
|
43
49
|
return /* @__PURE__ */ require$$2.jsxs("div", { className: wrapperClass, "data-testid": testId, children: [
|
|
44
50
|
Icon && /* @__PURE__ */ require$$2.jsx(
|
|
45
51
|
"div",
|
|
@@ -47,7 +53,7 @@ const TextAreaBase = React.forwardRef(
|
|
|
47
53
|
className: classMap.iconContainer,
|
|
48
54
|
"aria-hidden": "true",
|
|
49
55
|
"data-testid": `${testId}-icon`,
|
|
50
|
-
children: /* @__PURE__ */ require$$2.jsx(Icon, {})
|
|
56
|
+
children: /* @__PURE__ */ require$$2.jsx(Icon, { "aria-hidden": "true" })
|
|
51
57
|
}
|
|
52
58
|
),
|
|
53
59
|
/* @__PURE__ */ require$$2.jsx(
|
|
@@ -56,11 +62,16 @@ const TextAreaBase = React.forwardRef(
|
|
|
56
62
|
ref,
|
|
57
63
|
id,
|
|
58
64
|
placeholder,
|
|
59
|
-
"aria-label":
|
|
60
|
-
"aria-describedby":
|
|
65
|
+
"aria-label": computedLabel,
|
|
66
|
+
"aria-describedby": describedBy,
|
|
67
|
+
"aria-invalid": isError || void 0,
|
|
68
|
+
"aria-required": required || void 0,
|
|
69
|
+
"aria-readonly": readOnly || void 0,
|
|
70
|
+
"aria-disabled": disabled2 || void 0,
|
|
61
71
|
autoComplete: autocomplete ? "on" : "off",
|
|
62
72
|
readOnly,
|
|
63
73
|
disabled: disabled2,
|
|
74
|
+
required,
|
|
64
75
|
style: {
|
|
65
76
|
height,
|
|
66
77
|
resize: resizable ? void 0 : "none"
|
|
@@ -148,4 +159,4 @@ const TextArea = React.forwardRef(
|
|
|
148
159
|
);
|
|
149
160
|
TextArea.displayName = "TextArea";
|
|
150
161
|
exports.TextArea = TextArea;
|
|
151
|
-
//# sourceMappingURL=TextArea-
|
|
162
|
+
//# sourceMappingURL=TextArea-Cn2q5KhJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea-Cn2q5KhJ.cjs","sources":["../../src/components/TextArea/TextAreaBase.tsx","../../src/components/TextArea/next/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 id: idProp,\r\n required,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const autoId = useId();\r\n const id = idProp || autoId;\r\n\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, theme, state, outline, disabled, shadow, rounding, className]\r\n );\r\n\r\n const computedLabel = ariaLabel || placeholder;\r\n\r\n const describedBy = descriptionId || undefined;\r\n\r\n const isError = state === \"error\";\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 aria-hidden=\"true\" />\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={computedLabel}\r\n aria-describedby={describedBy}\r\n aria-invalid={isError || undefined}\r\n aria-required={required || undefined}\r\n aria-readonly={readOnly || undefined}\r\n aria-disabled={disabled || undefined}\r\n autoComplete={autocomplete ? \"on\" : \"off\"}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n required={required}\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","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport TextAreaBase from \"../TextAreaBase\";\r\nimport type { TextAreaProps } from \"../TextArea.types\";\r\nimport styles from \"./TextArea.module.scss\";\r\n\r\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\r\n (props, ref) => {\r\n return <TextAreaBase {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nTextArea.displayName = \"TextArea\";\r\n\r\nexport default TextArea;\r\n"],"names":["forwardRef","outline","getDefaultTheme","getDefaultRounding","getDefaultShadow","disabled","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
|
package/dist/next/TextArea.js
CHANGED