@cordwainer/cw-elements 1.0.3 → 1.1.0-alpha.1
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/cdn/chunks/{chunk.L5ZEEGKA.js → chunk.23QJ7NJJ.js} +2 -2
- package/cdn/chunks/{chunk.PLLWAFGU.js → chunk.2AVZV55V.js} +1 -1
- package/cdn/chunks/{chunk.UU6PFMXT.js → chunk.2BZYHVAA.js} +1 -1
- package/cdn/chunks/{chunk.BRDR23J7.js → chunk.2ELMNABV.js} +1 -1
- package/cdn/chunks/{chunk.KKNABC46.js → chunk.2KRRVOTP.js} +1 -1
- package/cdn/chunks/{chunk.LUGCUBOX.js → chunk.2KRVWKPV.js} +1 -1
- package/cdn/chunks/{chunk.JPNJJ5LC.js → chunk.2M4B6U6R.js} +1 -1
- package/cdn/chunks/{chunk.TCSE25HK.js → chunk.2MAEADU5.js} +1 -1
- package/cdn/chunks/{chunk.WOEBD6LC.js → chunk.2QQBAJ2H.js} +1 -1
- package/cdn/chunks/{chunk.KOZ6K4KB.js → chunk.2QZ36WJT.js} +3 -3
- package/cdn/chunks/{chunk.DQAWKO65.js → chunk.36KJB3ZP.js} +5 -5
- package/cdn/chunks/{chunk.3WEFI5D7.js → chunk.3EFTNCB7.js} +1 -1
- package/cdn/chunks/{chunk.XHIZYSOX.js → chunk.3XT5BPUQ.js} +1 -1
- package/cdn/chunks/{chunk.SPGXP4KE.js → chunk.3ZFAS3AL.js} +1 -1
- package/cdn/chunks/{chunk.ZQQ2VRTL.js → chunk.423POR7Z.js} +1 -1
- package/cdn/chunks/{chunk.SMFERX2T.js → chunk.454DLRAB.js} +1 -1
- package/cdn/chunks/{chunk.TTLE7BKW.js → chunk.4FOMW3EY.js} +1 -1
- package/cdn/chunks/{chunk.E3ENMZZJ.js → chunk.4OV6VPEK.js} +2 -2
- package/cdn/chunks/{chunk.N4V2MUJF.js → chunk.4R6BRK42.js} +1 -1
- package/cdn/chunks/chunk.57GIFBAS.js +341 -0
- package/cdn/chunks/{chunk.4CIDPXAY.js → chunk.5BZAHCJF.js} +1 -1
- package/cdn/chunks/{chunk.BJNGUGY3.js → chunk.5CNMIFJF.js} +1 -1
- package/cdn/chunks/{chunk.AHAJ7OZZ.js → chunk.5DTXWFT4.js} +2 -2
- package/cdn/chunks/{chunk.UWP6RHHS.js → chunk.5I7XA6M5.js} +1 -1
- package/{dist/chunks/chunk.ANHE2WFW.js → cdn/chunks/chunk.5JUMTF32.js} +1 -1
- package/cdn/chunks/{chunk.DHESEN7B.js → chunk.5QU7YOU6.js} +4 -4
- package/cdn/chunks/{chunk.XIJ5MMLY.js → chunk.5U7RICDJ.js} +1 -1
- package/cdn/chunks/{chunk.XF36G36X.js → chunk.5YUYCGQ7.js} +2 -2
- package/cdn/chunks/{chunk.HLRX7KTA.js → chunk.63AEUNNE.js} +1 -1
- package/cdn/chunks/{chunk.ACBP6OFO.js → chunk.64DQ5UHZ.js} +1 -1
- package/{dist/chunks/chunk.UFRGXMNI.js → cdn/chunks/chunk.6LD6OBAE.js} +1 -1
- package/cdn/chunks/{chunk.RVQFGDP5.js → chunk.6ZML6PPJ.js} +1 -1
- package/cdn/chunks/{chunk.JIPM32DT.js → chunk.7CXBIEPO.js} +1 -1
- package/cdn/chunks/{chunk.XZ4JKK5S.js → chunk.7DV4KFED.js} +1 -1
- package/cdn/chunks/{chunk.CIGGIY2H.js → chunk.7FKGS4NN.js} +1 -1
- package/cdn/chunks/{chunk.KYTQR7YW.js → chunk.7H5E2H5H.js} +1 -1
- package/cdn/chunks/{chunk.OPGPYL6M.js → chunk.7J4YZAP7.js} +2 -2
- package/cdn/chunks/{chunk.4IRRRSCC.js → chunk.7NFLO67E.js} +1 -1
- package/cdn/chunks/{chunk.NGBE7CGI.js → chunk.7QIFZGLU.js} +1 -1
- package/cdn/chunks/{chunk.P7OJIK3I.js → chunk.A32RWXXM.js} +1 -1
- package/cdn/chunks/{chunk.HS4CJ7PO.js → chunk.ACNV6AUB.js} +2 -2
- package/{dist/chunks/chunk.UAZCJ6QG.js → cdn/chunks/chunk.AJ3ANPQ3.js} +1 -1
- package/cdn/chunks/{chunk.TY6Z2QNH.js → chunk.AK66EZZ6.js} +2 -2
- package/{dist/chunks/chunk.T25J2IHG.js → cdn/chunks/chunk.AP7BJUVF.js} +1 -1
- package/cdn/chunks/{chunk.YG3DTK7H.js → chunk.APMZOTIL.js} +1 -1
- package/cdn/chunks/{chunk.H3YHS4A2.js → chunk.AQC4MW3D.js} +1 -1
- package/cdn/chunks/{chunk.L4VU3CEF.js → chunk.AVK2F7R7.js} +1 -1
- package/{dist/chunks/chunk.E6O5QIVP.js → cdn/chunks/chunk.AVZR5QUK.js} +1 -1
- package/cdn/chunks/{chunk.ZVCP457Q.js → chunk.B5NOVYX6.js} +1 -1
- package/cdn/chunks/{chunk.4AM6XMKQ.js → chunk.B665IET3.js} +1 -1
- package/{dist/chunks/chunk.G6M65V6R.js → cdn/chunks/chunk.BBY4XHBV.js} +1 -1
- package/cdn/chunks/{chunk.O3MV4WDU.js → chunk.BBZR4SMX.js} +1 -1
- package/cdn/chunks/chunk.BCYWOL5T.js +33 -0
- package/{dist/chunks/chunk.YVLMZLTH.js → cdn/chunks/chunk.BL3LDZZ2.js} +1 -1
- package/cdn/chunks/{chunk.MKMC55HU.js → chunk.BVRVVV3H.js} +1 -1
- package/cdn/chunks/{chunk.RGIC5PFY.js → chunk.BXLLLPP4.js} +1 -1
- package/cdn/chunks/{chunk.TLTQO3CH.js → chunk.BYQOAATK.js} +1 -1
- package/{dist/chunks/chunk.ZHZ3PLWC.js → cdn/chunks/chunk.CFC7WPIH.js} +1 -1
- package/{dist/chunks/chunk.QOZNNXXE.js → cdn/chunks/chunk.CIO7YZYM.js} +1 -1
- package/cdn/chunks/{chunk.AYAHOY7H.js → chunk.CIWFI7M7.js} +1 -1
- package/cdn/chunks/{chunk.2SZ44Q7D.js → chunk.CXSU5TA7.js} +1 -1
- package/cdn/chunks/{chunk.C4N4QJUT.js → chunk.D755QAZ2.js} +1 -1
- package/cdn/chunks/{chunk.FFZ2BP5P.js → chunk.DCDGAB72.js} +1 -1
- package/cdn/chunks/{chunk.QXPOR5HV.js → chunk.DDVLQEIQ.js} +1 -1
- package/cdn/chunks/{chunk.LZ577XOU.js → chunk.DG6RRSBW.js} +1 -1
- package/cdn/chunks/{chunk.GZUHFML5.js → chunk.DMOBOOGK.js} +1 -1
- package/cdn/chunks/{chunk.43MUAJCV.js → chunk.DODFRSSI.js} +2 -2
- package/cdn/chunks/{chunk.J34BGR2T.js → chunk.DULA3BXU.js} +2 -2
- package/cdn/chunks/{chunk.CFQJHSSK.js → chunk.EF4W5VAI.js} +8 -8
- package/cdn/chunks/{chunk.U5GNII6R.js → chunk.EK2GM3E7.js} +1 -1
- package/cdn/chunks/{chunk.OESEEZOO.js → chunk.EKA5IZBB.js} +1 -1
- package/{dist/chunks/chunk.JECDUKTT.js → cdn/chunks/chunk.EP3EOPIN.js} +1 -1
- package/cdn/chunks/{chunk.A2IV4J54.js → chunk.EUJOOI64.js} +1 -1
- package/cdn/chunks/{chunk.L7ROUYT4.js → chunk.F4XOF4OO.js} +1 -1
- package/{dist/chunks/chunk.3EMXJHKK.js → cdn/chunks/chunk.FA53EVHS.js} +1 -1
- package/cdn/chunks/{chunk.JTRSQY5G.js → chunk.FCANBYWU.js} +5 -5
- package/{dist/chunks/chunk.F7DY7EII.js → cdn/chunks/chunk.FD2BLKNF.js} +1 -1
- package/cdn/chunks/{chunk.SMRIWF2S.js → chunk.FIKR7I4P.js} +1 -1
- package/{dist/chunks/chunk.FXJFE27W.js → cdn/chunks/chunk.FNTJI56Z.js} +1 -1
- package/{dist/chunks/chunk.HRODKK2V.js → cdn/chunks/chunk.FU5AEFPB.js} +1 -1
- package/cdn/chunks/{chunk.EHHWE3LS.js → chunk.G3JTEGO6.js} +1 -1
- package/cdn/chunks/{chunk.HGHAGNDK.js → chunk.G4F5AGXC.js} +1 -1
- package/cdn/chunks/{chunk.FMCF6L7Y.js → chunk.G4S6PHF2.js} +1 -1
- package/cdn/chunks/{chunk.7IYRG36H.js → chunk.G6WVVAXZ.js} +1 -1
- package/{dist/chunks/chunk.HDE5RX2K.js → cdn/chunks/chunk.G7ONJPZV.js} +1 -1
- package/cdn/chunks/{chunk.JIF4PGM7.js → chunk.GAFXEGCL.js} +4 -4
- package/{dist/chunks/chunk.KDZTBW7D.js → cdn/chunks/chunk.GHZHB7GZ.js} +1 -1
- package/cdn/chunks/chunk.GKTPFSX2.js +11 -0
- package/cdn/chunks/{chunk.RBUASREB.js → chunk.GO7KGZOP.js} +9 -9
- package/cdn/chunks/{chunk.YFO4ZW45.js → chunk.GVVKJKG6.js} +1 -1
- package/cdn/chunks/{chunk.L3HSJDIL.js → chunk.HHXNLZL6.js} +2 -2
- package/cdn/chunks/{chunk.AD6S3FNO.js → chunk.HIF2OHVM.js} +1 -1
- package/cdn/chunks/{chunk.GQ6D6Y7V.js → chunk.HMT745MR.js} +1 -1
- package/{dist/chunks/chunk.DD4CHTVK.js → cdn/chunks/chunk.HNNT46J6.js} +1 -1
- package/cdn/chunks/{chunk.6XXSWUEV.js → chunk.HRUSWDQO.js} +1 -1
- package/cdn/chunks/{chunk.OITV5Q4M.js → chunk.HYY2OEES.js} +1 -1
- package/cdn/chunks/{chunk.DLOQPGSH.js → chunk.IJV5TSMJ.js} +1 -1
- package/cdn/chunks/{chunk.QEKOQQNR.js → chunk.IST3R6UF.js} +1 -1
- package/cdn/chunks/{chunk.OHDELZVG.js → chunk.J22HNHPX.js} +1 -1
- package/cdn/chunks/{chunk.SHAQUV67.js → chunk.J3WFI2KI.js} +1 -1
- package/cdn/chunks/{chunk.P4KFYA6W.js → chunk.JDNQB5GE.js} +1 -1
- package/cdn/chunks/{chunk.FZLL5W67.js → chunk.JKVP3CWK.js} +1 -1
- package/cdn/chunks/{chunk.HYISJTDZ.js → chunk.JNVGCUJV.js} +2 -2
- package/cdn/chunks/{chunk.RTLK5JPO.js → chunk.JWIYHJZV.js} +1 -1
- package/cdn/chunks/{chunk.QWVE24DV.js → chunk.JYAECO5B.js} +1 -1
- package/cdn/chunks/{chunk.UILESE4L.js → chunk.JYEWLHBO.js} +1 -1
- package/{dist/chunks/chunk.M2AG3GLJ.js → cdn/chunks/chunk.KDPC7QBC.js} +1 -1
- package/cdn/chunks/{chunk.7OZ22UC2.js → chunk.KKDGIKPZ.js} +1 -1
- package/cdn/chunks/{chunk.6LMG674A.js → chunk.KVJ5VZD5.js} +1 -1
- package/{dist/chunks/chunk.BHPSDIUZ.js → cdn/chunks/chunk.KZWBHZBX.js} +1 -1
- package/cdn/chunks/{chunk.7VHYET4Z.js → chunk.L6FHFQMH.js} +1 -1
- package/cdn/chunks/{chunk.I6KI64WH.js → chunk.L76DX3LO.js} +1 -1
- package/cdn/chunks/{chunk.YSELPFTP.js → chunk.LJXRCZI7.js} +1 -1
- package/cdn/chunks/{chunk.EHLCOUWY.js → chunk.LOYDJCRX.js} +1 -1
- package/cdn/chunks/{chunk.Y6NDVPIT.js → chunk.LSZCLNXC.js} +1 -1
- package/cdn/chunks/{chunk.2SBPTIVZ.js → chunk.LTOS2OMK.js} +1 -1
- package/cdn/chunks/{chunk.WBLTQD6C.js → chunk.LTSCKEZA.js} +4 -4
- package/{dist/chunks/chunk.JQPDPO4H.js → cdn/chunks/chunk.M3T2MZBI.js} +1 -1
- package/cdn/chunks/{chunk.KV5T4QLP.js → chunk.M5Y3CVH5.js} +1 -1
- package/cdn/chunks/{chunk.A5U2MRBT.js → chunk.MA7BRXRJ.js} +4 -4
- package/{dist/chunks/chunk.XUZBVMW7.js → cdn/chunks/chunk.MOOLNJWA.js} +1 -1
- package/cdn/chunks/{chunk.H6VYJGLA.js → chunk.MPKZLETH.js} +2 -2
- package/cdn/chunks/{chunk.E45UKEGD.js → chunk.MQCVKOGC.js} +1 -1
- package/cdn/chunks/{chunk.MKLVZ667.js → chunk.MREAUPYK.js} +1 -1
- package/cdn/chunks/chunk.N6NGURUS.js +967 -0
- package/cdn/chunks/{chunk.XNMKNLYR.js → chunk.N7Z7YFPG.js} +1 -1
- package/cdn/chunks/{chunk.RH6LIJFS.js → chunk.O4IXCC3Q.js} +1 -1
- package/cdn/chunks/{chunk.YG7T6UCH.js → chunk.OBBP4SDL.js} +2 -2
- package/cdn/chunks/{chunk.66DIT4A6.js → chunk.OFAB73NQ.js} +1 -1
- package/cdn/chunks/{chunk.SWR3SNWR.js → chunk.OFICDQUP.js} +1 -1
- package/{dist/chunks/chunk.HOHI2BQZ.js → cdn/chunks/chunk.OHS5HEB7.js} +1 -1
- package/cdn/chunks/{chunk.DOWZF6IJ.js → chunk.OMQZMDHO.js} +4 -4
- package/cdn/chunks/{chunk.2MBBWAS7.js → chunk.OOID47SK.js} +1 -1
- package/cdn/chunks/{chunk.7VZWUFNK.js → chunk.ORXAOSYG.js} +1 -1
- package/cdn/chunks/{chunk.Q7NNOIM7.js → chunk.PEOS3WEQ.js} +1 -1
- package/cdn/chunks/{chunk.LBW5NBV6.js → chunk.PLA2L3GD.js} +1 -1
- package/cdn/chunks/{chunk.37SIMBWB.js → chunk.PMION4XH.js} +3 -3
- package/cdn/chunks/{chunk.XZBGILKA.js → chunk.PVO3FADL.js} +1 -1
- package/cdn/chunks/{chunk.YL2XWZJ6.js → chunk.PWDUNF72.js} +2 -2
- package/cdn/chunks/{chunk.XGBZFDFN.js → chunk.QBDAXQRD.js} +2 -2
- package/{dist/chunks/chunk.EDJXBUG2.js → cdn/chunks/chunk.QEEST3EB.js} +1 -1
- package/cdn/chunks/{chunk.7KJ3FFQC.js → chunk.QEU47NC2.js} +1 -1
- package/cdn/chunks/{chunk.CV7H2AAD.js → chunk.QGL5IXBT.js} +1 -1
- package/cdn/chunks/{chunk.JCGJ5ILX.js → chunk.RAF72V64.js} +1 -1
- package/{dist/chunks/chunk.MNDJRNQX.js → cdn/chunks/chunk.RETIUTF2.js} +1 -1
- package/cdn/chunks/{chunk.ANKYWNXV.js → chunk.RG2ZQTZT.js} +1 -1
- package/cdn/chunks/{chunk.Z4LMVVXH.js → chunk.RLDOF26C.js} +1 -1
- package/cdn/chunks/{chunk.Q3KIIXIF.js → chunk.RQTACNRD.js} +1 -1
- package/cdn/chunks/{chunk.TR7FQ3ZG.js → chunk.RRQWN4VQ.js} +1 -1
- package/cdn/chunks/{chunk.D3CH37HR.js → chunk.S36OHWCD.js} +1 -1
- package/cdn/chunks/{chunk.MKUT34KI.js → chunk.SFDCC6RP.js} +1 -1
- package/cdn/chunks/{chunk.JZOKGM7V.js → chunk.STHQ7WFY.js} +1 -1
- package/cdn/chunks/{chunk.2A5EVHQW.js → chunk.T2MLBJCH.js} +2 -2
- package/cdn/chunks/{chunk.RF5CSPCC.js → chunk.TDV6FYZX.js} +2 -2
- package/cdn/chunks/{chunk.RW7KVOST.js → chunk.TEFTEV42.js} +1 -1
- package/{dist/chunks/chunk.6YXYHHVS.js → cdn/chunks/chunk.TLS5MIRB.js} +1 -1
- package/cdn/chunks/{chunk.EI63SNKE.js → chunk.TMLGI2RQ.js} +1 -1
- package/cdn/chunks/{chunk.6KU7ANFF.js → chunk.UCSRLWA2.js} +1 -1
- package/cdn/chunks/{chunk.7FBTQVS6.js → chunk.UOCMT5KF.js} +1 -1
- package/cdn/chunks/{chunk.TKEECB7E.js → chunk.URQUUCLV.js} +1 -1
- package/cdn/chunks/{chunk.YVCV474L.js → chunk.VDKDAFO4.js} +1 -1
- package/cdn/chunks/{chunk.TM5VNFZE.js → chunk.VG3JLKZT.js} +1 -1
- package/cdn/chunks/{chunk.YB6NPK7S.js → chunk.VGZACMVS.js} +1 -1
- package/{dist/chunks/chunk.PJH66TLC.js → cdn/chunks/chunk.VX3O2XFT.js} +1 -1
- package/cdn/chunks/{chunk.GHKLTH2F.js → chunk.W3A4O5SL.js} +1 -1
- package/cdn/chunks/{chunk.W2UXVIQE.js → chunk.WFIK4QKU.js} +1 -1
- package/{dist/chunks/chunk.KRWWGSDD.js → cdn/chunks/chunk.X4MRYMNI.js} +1 -1
- package/cdn/chunks/{chunk.TLMJU2OB.js → chunk.X5LEEANE.js} +1 -1
- package/cdn/chunks/{chunk.HO5H3XLJ.js → chunk.X5OOOBYY.js} +1 -1
- package/cdn/chunks/{chunk.LZDH4W5S.js → chunk.XDHHJ5CI.js} +1 -1
- package/cdn/chunks/{chunk.I7S4EEMN.js → chunk.XMOKORIS.js} +1 -1
- package/cdn/chunks/{chunk.5W77ZLUX.js → chunk.XRJQMOKI.js} +3 -3
- package/cdn/chunks/{chunk.LCWF66XK.js → chunk.XTSPN4R2.js} +1 -1
- package/{dist/chunks/chunk.DHR6SD6T.js → cdn/chunks/chunk.Y5IX73JH.js} +1 -1
- package/{dist/chunks/chunk.LYXWBS3Q.js → cdn/chunks/chunk.YJB5ER7V.js} +1 -1
- package/cdn/chunks/{chunk.ORMYBK76.js → chunk.YMCVVN7I.js} +1 -1
- package/cdn/chunks/{chunk.CEYI3GND.js → chunk.YQGDVTMB.js} +2 -2
- package/cdn/chunks/{chunk.HUI4TPYQ.js → chunk.YQKIZ6FS.js} +1 -1
- package/cdn/chunks/{chunk.ECW76WEO.js → chunk.ZRUOMTCM.js} +1 -1
- package/cdn/components/alert/alert.component.js +5 -5
- package/cdn/components/alert/alert.js +6 -6
- package/cdn/components/animated-image/animated-image.component.js +4 -4
- package/cdn/components/animated-image/animated-image.js +5 -5
- package/cdn/components/animation/animation.component.js +2 -2
- package/cdn/components/animation/animation.js +3 -3
- package/cdn/components/avatar/avatar.component.js +4 -4
- package/cdn/components/avatar/avatar.js +5 -5
- package/cdn/components/badge/badge.component.js +2 -2
- package/cdn/components/badge/badge.js +3 -3
- package/cdn/components/breadcrumb/breadcrumb.component.js +4 -4
- package/cdn/components/breadcrumb/breadcrumb.js +5 -5
- package/cdn/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
- package/cdn/components/breadcrumb-item/breadcrumb-item.js +3 -3
- package/cdn/components/button/button.component.js +5 -5
- package/cdn/components/button/button.js +6 -6
- package/cdn/components/button-group/button-group.component.js +2 -2
- package/cdn/components/button-group/button-group.js +3 -3
- package/cdn/components/card/card.component.js +2 -2
- package/cdn/components/card/card.js +3 -3
- package/cdn/components/carousel/carousel.component.js +4 -4
- package/cdn/components/carousel/carousel.js +5 -5
- package/cdn/components/carousel-item/carousel-item.component.js +2 -2
- package/cdn/components/carousel-item/carousel-item.js +3 -3
- package/cdn/components/checkbox/checkbox.component.js +4 -4
- package/cdn/components/checkbox/checkbox.js +5 -5
- package/cdn/components/color-picker/color-picker.component.js +13 -13
- package/cdn/components/color-picker/color-picker.js +14 -14
- package/cdn/components/combobox/combobox.component.d.ts +219 -0
- package/cdn/components/combobox/combobox.component.js +44 -0
- package/cdn/components/combobox/combobox.d.ts +8 -0
- package/cdn/components/combobox/combobox.js +45 -0
- package/cdn/components/combobox/combobox.styles.d.ts +2 -0
- package/cdn/components/combobox/combobox.styles.js +8 -0
- package/cdn/components/copy-button/copy-button.component.js +7 -7
- package/cdn/components/copy-button/copy-button.js +8 -8
- package/cdn/components/details/details.component.js +4 -4
- package/cdn/components/details/details.js +5 -5
- package/cdn/components/dialog/dialog.component.js +7 -7
- package/cdn/components/dialog/dialog.js +8 -8
- package/cdn/components/divider/divider.component.js +2 -2
- package/cdn/components/divider/divider.js +3 -3
- package/cdn/components/drawer/drawer.component.js +6 -6
- package/cdn/components/drawer/drawer.js +7 -7
- package/cdn/components/dropdown/dropdown.component.js +3 -3
- package/cdn/components/dropdown/dropdown.js +4 -4
- package/cdn/components/format-bytes/format-bytes.component.js +2 -2
- package/cdn/components/format-bytes/format-bytes.js +3 -3
- package/cdn/components/format-date/format-date.component.js +2 -2
- package/cdn/components/format-date/format-date.js +3 -3
- package/cdn/components/format-number/format-number.component.js +2 -2
- package/cdn/components/format-number/format-number.js +3 -3
- package/cdn/components/icon/icon.component.js +3 -3
- package/cdn/components/icon/icon.js +4 -4
- package/cdn/components/icon-button/icon-button.component.js +4 -4
- package/cdn/components/icon-button/icon-button.js +5 -5
- package/cdn/components/image-comparer/image-comparer.component.js +4 -4
- package/cdn/components/image-comparer/image-comparer.js +5 -5
- package/cdn/components/include/include.component.js +3 -3
- package/cdn/components/include/include.js +4 -4
- package/cdn/components/input/input.component.js +4 -4
- package/cdn/components/input/input.js +5 -5
- package/cdn/components/menu/menu.component.js +2 -2
- package/cdn/components/menu/menu.js +3 -3
- package/cdn/components/menu-item/menu-item.component.js +6 -6
- package/cdn/components/menu-item/menu-item.js +7 -7
- package/cdn/components/menu-label/menu-label.component.js +2 -2
- package/cdn/components/menu-label/menu-label.js +3 -3
- package/cdn/components/mutation-observer/mutation-observer.component.js +2 -2
- package/cdn/components/mutation-observer/mutation-observer.js +3 -3
- package/cdn/components/option/option.component.js +4 -4
- package/cdn/components/option/option.js +5 -5
- package/cdn/components/popup/popup.component.js +2 -2
- package/cdn/components/popup/popup.js +3 -3
- package/cdn/components/progress-bar/progress-bar.component.js +2 -2
- package/cdn/components/progress-bar/progress-bar.js +3 -3
- package/cdn/components/progress-ring/progress-ring.component.js +2 -2
- package/cdn/components/progress-ring/progress-ring.js +3 -3
- package/cdn/components/qr-code/qr-code.component.js +2 -2
- package/cdn/components/qr-code/qr-code.js +3 -3
- package/cdn/components/radio/radio.component.js +4 -4
- package/cdn/components/radio/radio.js +5 -5
- package/cdn/components/radio-button/radio-button.component.js +2 -2
- package/cdn/components/radio-button/radio-button.js +3 -3
- package/cdn/components/radio-group/radio-group.component.js +3 -3
- package/cdn/components/radio-group/radio-group.js +4 -4
- package/cdn/components/range/range.component.js +2 -2
- package/cdn/components/range/range.js +3 -3
- package/cdn/components/rating/rating.component.js +5 -5
- package/cdn/components/rating/rating.js +6 -6
- package/cdn/components/relative-time/relative-time.component.js +2 -2
- package/cdn/components/relative-time/relative-time.js +3 -3
- package/cdn/components/resize-observer/resize-observer.component.js +2 -2
- package/cdn/components/resize-observer/resize-observer.js +3 -3
- package/cdn/components/select/select.component.js +9 -9
- package/cdn/components/select/select.js +10 -10
- package/cdn/components/skeleton/skeleton.component.js +2 -2
- package/cdn/components/skeleton/skeleton.js +3 -3
- package/cdn/components/spinner/spinner.component.js +2 -2
- package/cdn/components/spinner/spinner.js +3 -3
- package/cdn/components/split-panel/split-panel.component.js +2 -2
- package/cdn/components/split-panel/split-panel.js +3 -3
- package/cdn/components/switch/switch.component.js +2 -2
- package/cdn/components/switch/switch.js +3 -3
- package/cdn/components/tab/tab.component.js +5 -5
- package/cdn/components/tab/tab.js +6 -6
- package/cdn/components/tab-group/tab-group.component.js +6 -6
- package/cdn/components/tab-group/tab-group.js +7 -7
- package/cdn/components/tab-panel/tab-panel.component.js +2 -2
- package/cdn/components/tab-panel/tab-panel.js +3 -3
- package/cdn/components/tag/tag.component.js +5 -5
- package/cdn/components/tag/tag.js +6 -6
- package/cdn/components/textarea/textarea.component.js +2 -2
- package/cdn/components/textarea/textarea.js +3 -3
- package/cdn/components/tooltip/tooltip.component.js +3 -3
- package/cdn/components/tooltip/tooltip.js +4 -4
- package/cdn/components/tree/tree.component.js +8 -8
- package/cdn/components/tree/tree.js +9 -9
- package/cdn/components/tree-item/tree-item.component.js +6 -6
- package/cdn/components/tree-item/tree-item.js +7 -7
- package/cdn/components/visually-hidden/visually-hidden.component.js +2 -2
- package/cdn/components/visually-hidden/visually-hidden.js +3 -3
- package/cdn/custom-elements.json +1151 -1
- package/cdn/cw-elements.d.ts +1 -0
- package/cdn/cw-elements.js +166 -160
- package/cdn/react/alert/index.js +6 -6
- package/cdn/react/animated-image/index.js +5 -5
- package/cdn/react/animation/index.js +3 -3
- package/cdn/react/avatar/index.js +5 -5
- package/cdn/react/badge/index.js +3 -3
- package/cdn/react/breadcrumb/index.js +5 -5
- package/cdn/react/breadcrumb-item/index.js +3 -3
- package/cdn/react/button/index.js +6 -6
- package/cdn/react/button-group/index.js +3 -3
- package/cdn/react/card/index.js +3 -3
- package/cdn/react/carousel/index.js +5 -5
- package/cdn/react/carousel-item/index.js +3 -3
- package/cdn/react/checkbox/index.js +5 -5
- package/cdn/react/color-picker/index.js +14 -14
- package/cdn/react/combobox/index.d.ts +87 -0
- package/cdn/react/combobox/index.js +45 -0
- package/cdn/react/copy-button/index.js +8 -8
- package/cdn/react/details/index.js +5 -5
- package/cdn/react/dialog/index.js +8 -8
- package/cdn/react/divider/index.js +3 -3
- package/cdn/react/drawer/index.js +7 -7
- package/cdn/react/dropdown/index.js +4 -4
- package/cdn/react/format-bytes/index.js +3 -3
- package/cdn/react/format-date/index.js +3 -3
- package/cdn/react/format-number/index.js +3 -3
- package/cdn/react/icon/index.js +4 -4
- package/cdn/react/icon-button/index.js +5 -5
- package/cdn/react/image-comparer/index.js +5 -5
- package/cdn/react/include/index.js +4 -4
- package/cdn/react/index.d.ts +1 -0
- package/cdn/react/index.js +182 -176
- package/cdn/react/input/index.js +5 -5
- package/cdn/react/menu/index.js +3 -3
- package/cdn/react/menu-item/index.js +7 -7
- package/cdn/react/menu-label/index.js +3 -3
- package/cdn/react/mutation-observer/index.js +3 -3
- package/cdn/react/option/index.js +5 -5
- package/cdn/react/popup/index.js +3 -3
- package/cdn/react/progress-bar/index.js +3 -3
- package/cdn/react/progress-ring/index.js +3 -3
- package/cdn/react/qr-code/index.js +3 -3
- package/cdn/react/radio/index.js +5 -5
- package/cdn/react/radio-button/index.js +3 -3
- package/cdn/react/radio-group/index.js +4 -4
- package/cdn/react/range/index.js +3 -3
- package/cdn/react/rating/index.js +6 -6
- package/cdn/react/relative-time/index.js +3 -3
- package/cdn/react/resize-observer/index.js +3 -3
- package/cdn/react/select/index.js +10 -10
- package/cdn/react/skeleton/index.js +3 -3
- package/cdn/react/spinner/index.js +3 -3
- package/cdn/react/split-panel/index.js +3 -3
- package/cdn/react/switch/index.js +3 -3
- package/cdn/react/tab/index.js +6 -6
- package/cdn/react/tab-group/index.js +7 -7
- package/cdn/react/tab-panel/index.js +3 -3
- package/cdn/react/tag/index.js +6 -6
- package/cdn/react/textarea/index.js +3 -3
- package/cdn/react/tooltip/index.js +4 -4
- package/cdn/react/tree/index.js +9 -9
- package/cdn/react/tree-item/index.js +7 -7
- package/cdn/react/visually-hidden/index.js +3 -3
- package/cdn/types/vue/index.d.ts +158 -0
- package/cdn/vscode.html-custom-data.json +119 -0
- package/cdn/web-types.json +355 -1
- package/dist/chunks/{chunk.36MZCQXU.js → chunk.2747IIKP.js} +1 -1
- package/dist/chunks/{chunk.YRXC5ETZ.js → chunk.2IO5RPED.js} +1 -1
- package/dist/chunks/{chunk.TZG3G36D.js → chunk.2LPGT5X7.js} +1 -1
- package/dist/chunks/{chunk.U6GD7RA5.js → chunk.2WXOAVPT.js} +1 -1
- package/{cdn/chunks/chunk.5FKQOEKB.js → dist/chunks/chunk.3G3EPS43.js} +1 -1
- package/dist/chunks/{chunk.LTJ3ANS7.js → chunk.3KCAFARP.js} +1 -1
- package/dist/chunks/{chunk.CPNPX6S7.js → chunk.3MWRZHJI.js} +2 -2
- package/dist/chunks/{chunk.YUDVWN6S.js → chunk.3XXDGLXD.js} +1 -1
- package/dist/chunks/{chunk.7I3N4VKN.js → chunk.44QRCJ3U.js} +1 -1
- package/dist/chunks/{chunk.UL7SBSXX.js → chunk.45UF2NV7.js} +2 -2
- package/dist/chunks/{chunk.PKOA4DIJ.js → chunk.52M7YFL5.js} +4 -4
- package/dist/chunks/{chunk.66AMABIA.js → chunk.567JN6DK.js} +1 -1
- package/{cdn/chunks/chunk.3262A2RG.js → dist/chunks/chunk.5QIUN6VE.js} +1 -1
- package/dist/chunks/{chunk.EVII3AXJ.js → chunk.5QQSIF7Z.js} +1 -1
- package/dist/chunks/{chunk.SY2IIVVQ.js → chunk.5UHOHCG6.js} +1 -1
- package/dist/chunks/{chunk.AGFIG65W.js → chunk.65GPXPS4.js} +1 -1
- package/{cdn/chunks/chunk.NXWBJTYQ.js → dist/chunks/chunk.665FBIVN.js} +1 -1
- package/dist/chunks/{chunk.EMZ442PQ.js → chunk.6IFYZB4Q.js} +9 -9
- package/dist/chunks/{chunk.62C747SM.js → chunk.6UINBE7O.js} +1 -1
- package/dist/chunks/{chunk.L7HUUF24.js → chunk.6XW7V33W.js} +1 -1
- package/dist/chunks/{chunk.DQIRIOBB.js → chunk.7433LIYL.js} +1 -1
- package/dist/chunks/{chunk.Z2I7ITAV.js → chunk.763YHQPW.js} +1 -1
- package/{cdn/chunks/chunk.IBRIHWFK.js → dist/chunks/chunk.7MUQRKSL.js} +1 -1
- package/dist/chunks/{chunk.4OCGYOOT.js → chunk.7OV3SGRD.js} +1 -1
- package/dist/chunks/{chunk.5A2AVMPJ.js → chunk.7SIWEJUF.js} +2 -2
- package/dist/chunks/{chunk.UF5F44EE.js → chunk.7TGFFVOO.js} +1 -1
- package/{cdn/chunks/chunk.QVT32MJC.js → dist/chunks/chunk.AGM34VVK.js} +1 -1
- package/dist/chunks/{chunk.WBFHQSPC.js → chunk.AI4SASOJ.js} +1 -1
- package/dist/chunks/{chunk.OP2IZEZE.js → chunk.AL65PY7V.js} +1 -1
- package/dist/chunks/{chunk.O5OIXIRM.js → chunk.AR6SR2WY.js} +1 -1
- package/dist/chunks/{chunk.BZUG556F.js → chunk.ARSNH6JV.js} +1 -1
- package/dist/chunks/{chunk.44L7SRPK.js → chunk.AUK3FUDQ.js} +1 -1
- package/dist/chunks/{chunk.PXU77CI5.js → chunk.AVRTUBBV.js} +1 -1
- package/dist/chunks/{chunk.DRX7ZWPK.js → chunk.AZHMWS6L.js} +1 -1
- package/dist/chunks/{chunk.AFVDL4XO.js → chunk.BGVXOK25.js} +1 -1
- package/{cdn/chunks/chunk.5CZ3RSWA.js → dist/chunks/chunk.BK6L7XUN.js} +1 -1
- package/dist/chunks/{chunk.KSZAQSOO.js → chunk.BRWGDDSD.js} +1 -1
- package/dist/chunks/{chunk.EASVNPP3.js → chunk.C5WPJECI.js} +2 -2
- package/dist/chunks/{chunk.HRTLU4OR.js → chunk.C7UXSUZS.js} +1 -1
- package/dist/chunks/{chunk.UW3YGYZF.js → chunk.CBBCTNVQ.js} +1 -1
- package/dist/chunks/{chunk.TEXG3V5D.js → chunk.CVMFCNMM.js} +1 -1
- package/dist/chunks/{chunk.VXDJVRIH.js → chunk.CVOBAEVZ.js} +1 -1
- package/dist/chunks/chunk.CZCGIYSR.js +338 -0
- package/dist/chunks/{chunk.NGS2GE2N.js → chunk.D24OLOG5.js} +1 -1
- package/{cdn/chunks/chunk.5YE55SVX.js → dist/chunks/chunk.D3EVDN26.js} +1 -1
- package/{cdn/chunks/chunk.3MBUK4N5.js → dist/chunks/chunk.DESAXJQ5.js} +1 -1
- package/dist/chunks/{chunk.RCGIQXPE.js → chunk.DGVJSWGF.js} +1 -1
- package/dist/chunks/{chunk.6REPXOV2.js → chunk.DM5MBJXC.js} +2 -2
- package/dist/chunks/{chunk.56JVAFOW.js → chunk.DOB2DE43.js} +1 -1
- package/dist/chunks/{chunk.JQXGML5I.js → chunk.DQHJ5K4Z.js} +4 -4
- package/dist/chunks/{chunk.FXUPPYRG.js → chunk.DSY23EIY.js} +1 -1
- package/dist/chunks/{chunk.ETZMOOLO.js → chunk.E42PJXHU.js} +1 -1
- package/dist/chunks/{chunk.HY3GW4MF.js → chunk.E6532JK6.js} +1 -1
- package/dist/chunks/{chunk.IQKCYCJD.js → chunk.EBQIFLA3.js} +2 -2
- package/dist/chunks/{chunk.QRHPRDG2.js → chunk.EIC7L5SA.js} +1 -1
- package/dist/chunks/{chunk.QDCIHSOI.js → chunk.EUJQPPBD.js} +1 -1
- package/dist/chunks/{chunk.XC25AJEF.js → chunk.F4CQKCWM.js} +2 -2
- package/dist/chunks/{chunk.XKAOTPRC.js → chunk.FCSLBJKP.js} +1 -1
- package/dist/chunks/{chunk.RKT7G4BL.js → chunk.FFOZ5QYG.js} +1 -1
- package/dist/chunks/{chunk.S2Y3A3AM.js → chunk.GA7G5JW4.js} +2 -2
- package/{cdn/chunks/chunk.2COBQQ72.js → dist/chunks/chunk.GDJZZD46.js} +1 -1
- package/dist/chunks/{chunk.O5ZG7J4B.js → chunk.GDTFI5GT.js} +2 -2
- package/dist/chunks/{chunk.PUABCOFU.js → chunk.GF2IXBUV.js} +1 -1
- package/{cdn/chunks/chunk.5GIZDV7W.js → dist/chunks/chunk.GOBD4Z65.js} +1 -1
- package/dist/chunks/{chunk.D5J66JPV.js → chunk.GULR3V5I.js} +1 -1
- package/dist/chunks/{chunk.D2G52ZGP.js → chunk.HDSCF2QB.js} +1 -1
- package/dist/chunks/{chunk.2WWRIQU5.js → chunk.HE37CRVM.js} +1 -1
- package/dist/chunks/{chunk.DQWXJ5OO.js → chunk.HFKJXCTI.js} +2 -2
- package/dist/chunks/{chunk.3IWXNFPK.js → chunk.HGYRJZEQ.js} +1 -1
- package/dist/chunks/{chunk.25DBUKBD.js → chunk.HJPFAS7Y.js} +1 -1
- package/{cdn/chunks/chunk.KOXJFB6O.js → dist/chunks/chunk.HOXXIMTY.js} +1 -1
- package/dist/chunks/{chunk.QW2MM7A4.js → chunk.IEYNC5ZO.js} +2 -2
- package/dist/chunks/{chunk.FMTXOEH4.js → chunk.IFDMWT4R.js} +1 -1
- package/dist/chunks/{chunk.6GLJMNLF.js → chunk.IG74SDTK.js} +1 -1
- package/dist/chunks/{chunk.2J2H5W2L.js → chunk.IJ6QAZGA.js} +1 -1
- package/{cdn/chunks/chunk.PM37NS6R.js → dist/chunks/chunk.IKWWODYQ.js} +1 -1
- package/dist/chunks/{chunk.PTURT3LB.js → chunk.INTNI2AM.js} +1 -1
- package/dist/chunks/{chunk.GJH2YKWQ.js → chunk.J7MTCPEZ.js} +1 -1
- package/dist/chunks/{chunk.RLEISJRJ.js → chunk.JEUQMOE6.js} +1 -1
- package/dist/chunks/{chunk.LQJYBS5E.js → chunk.JMQ7CTGW.js} +1 -1
- package/dist/chunks/{chunk.DYPNSJFE.js → chunk.K6UUETAU.js} +1 -1
- package/dist/chunks/{chunk.CXZNHRVR.js → chunk.KBFG6YOY.js} +3 -3
- package/dist/chunks/{chunk.FLMZEQSZ.js → chunk.KIDIHVHM.js} +1 -1
- package/dist/chunks/{chunk.QFOOSPUP.js → chunk.KLMDKBSQ.js} +1 -1
- package/dist/chunks/{chunk.IKUYKBO4.js → chunk.KNVWXOX5.js} +1 -1
- package/dist/chunks/{chunk.4DFHYFII.js → chunk.KOKMERMV.js} +1 -1
- package/{cdn/chunks/chunk.MFGDBCHN.js → dist/chunks/chunk.KRYDATMA.js} +1 -1
- package/dist/chunks/{chunk.KKFZJXVH.js → chunk.KT35R72U.js} +1 -1
- package/dist/chunks/{chunk.HHU3WBEO.js → chunk.KT4VDHOS.js} +1 -1
- package/dist/chunks/{chunk.XCF7CFRR.js → chunk.L6QTSP3C.js} +2 -2
- package/dist/chunks/{chunk.IM2UWHYW.js → chunk.LDYA5LEF.js} +1 -1
- package/{cdn/chunks/chunk.TKE527J7.js → dist/chunks/chunk.LE7AQJCB.js} +1 -1
- package/dist/chunks/{chunk.PHBLDWGW.js → chunk.LJZYTPHX.js} +2 -2
- package/dist/chunks/{chunk.WTGB44YK.js → chunk.LKYPNZHC.js} +1 -1
- package/dist/chunks/{chunk.5662BZAR.js → chunk.M22HSCZX.js} +2 -2
- package/dist/chunks/{chunk.E2O25FNN.js → chunk.MBTECJ34.js} +1 -1
- package/dist/chunks/{chunk.KROEUMQN.js → chunk.MDNPNMFX.js} +4 -4
- package/dist/chunks/{chunk.TM2K2VOC.js → chunk.MGGJ5IGG.js} +1 -1
- package/dist/chunks/{chunk.OP34ILHF.js → chunk.MNDGAY37.js} +1 -1
- package/dist/chunks/{chunk.4NDG46JO.js → chunk.MZPA3A6E.js} +1 -1
- package/dist/chunks/{chunk.Z2IXAT5N.js → chunk.NBSCYGEO.js} +1 -1
- package/dist/chunks/{chunk.GVUMLOIR.js → chunk.NDCLKVTA.js} +5 -5
- package/{cdn/chunks/chunk.EHPA5QTP.js → dist/chunks/chunk.NDYXHETJ.js} +1 -1
- package/dist/chunks/{chunk.Y5ZYCHKK.js → chunk.NM6FV6GO.js} +1 -1
- package/dist/chunks/{chunk.QTX5MLC4.js → chunk.NMGHEELN.js} +2 -2
- package/dist/chunks/{chunk.WWZY5XKI.js → chunk.NQRPSUW2.js} +1 -1
- package/dist/chunks/{chunk.R33Z4OMO.js → chunk.NX5IE35B.js} +1 -1
- package/dist/chunks/{chunk.TDTPJGI7.js → chunk.NYYMMRQF.js} +1 -1
- package/dist/chunks/{chunk.W4Z25FAS.js → chunk.O4BM2XHQ.js} +1 -1
- package/dist/chunks/{chunk.NBD2IHTY.js → chunk.OMKCBDVN.js} +1 -1
- package/{cdn/chunks/chunk.5NAM7XRN.js → dist/chunks/chunk.OXJKUKQI.js} +1 -1
- package/dist/chunks/{chunk.NRRR52DX.js → chunk.P2GJ4VV3.js} +1 -1
- package/dist/chunks/{chunk.QDWLFJVV.js → chunk.P6WYIVRU.js} +1 -1
- package/dist/chunks/{chunk.T3V7LRHS.js → chunk.P7RKLO6R.js} +1 -1
- package/dist/chunks/{chunk.UDAYXY7O.js → chunk.PJOUZH3H.js} +1 -1
- package/dist/chunks/{chunk.DRTTJSJH.js → chunk.PMCE6ODO.js} +1 -1
- package/dist/chunks/{chunk.2GLSHNYS.js → chunk.PMK6QNRC.js} +1 -1
- package/dist/chunks/{chunk.2GRSESM4.js → chunk.PQSKOESY.js} +1 -1
- package/dist/chunks/{chunk.G4U57SOA.js → chunk.PRUL2VS7.js} +1 -1
- package/dist/chunks/{chunk.2W6AVKJ3.js → chunk.PTFZH4OX.js} +1 -1
- package/dist/chunks/{chunk.C2DCJFUM.js → chunk.Q2BZ5L4Q.js} +1 -1
- package/dist/chunks/{chunk.AOVLR7JD.js → chunk.Q4YNMCNT.js} +4 -4
- package/dist/chunks/{chunk.Z5POFS5S.js → chunk.QAT3D7DX.js} +1 -1
- package/dist/chunks/{chunk.NN3ZWPJX.js → chunk.QGH7J6CH.js} +1 -1
- package/dist/chunks/{chunk.564UI6PW.js → chunk.QHO2UAQT.js} +1 -1
- package/{cdn/chunks/chunk.3H7X4FT7.js → dist/chunks/chunk.QIDODUL4.js} +1 -1
- package/{cdn/chunks/chunk.PU2FRPCZ.js → dist/chunks/chunk.QIRVGE6Z.js} +1 -1
- package/dist/chunks/{chunk.D3BAPYS4.js → chunk.QTH5KWYR.js} +1 -1
- package/dist/chunks/{chunk.LRZVQO2O.js → chunk.QW57S6BW.js} +1 -1
- package/dist/chunks/{chunk.BDHMZWKP.js → chunk.QXFO3QWK.js} +1 -1
- package/dist/chunks/{chunk.SUSYSSMZ.js → chunk.R73XOGFN.js} +1 -1
- package/{cdn/chunks/chunk.6BQKHBKT.js → dist/chunks/chunk.RBIK3ZI2.js} +1 -1
- package/dist/chunks/{chunk.Y4JGOR4A.js → chunk.RDEJ5UJC.js} +1 -1
- package/dist/chunks/{chunk.MMPT3YUH.js → chunk.RRA5SLN5.js} +2 -2
- package/dist/chunks/{chunk.JFSBJ5M5.js → chunk.RSQDRTVW.js} +1 -1
- package/dist/chunks/{chunk.H7XO3O2G.js → chunk.RX7RUQZB.js} +1 -1
- package/dist/chunks/{chunk.EUZUWL7P.js → chunk.S3F7MIGD.js} +1 -1
- package/dist/chunks/{chunk.H6PSWXCY.js → chunk.SDC54GIC.js} +1 -1
- package/{cdn/chunks/chunk.FNYA6AEO.js → dist/chunks/chunk.SFYH2R4X.js} +1 -1
- package/dist/chunks/{chunk.EIBS2Z7P.js → chunk.SJ24DYR2.js} +1 -1
- package/dist/chunks/{chunk.ONTO4X2V.js → chunk.SMSBTM6G.js} +1 -1
- package/dist/chunks/chunk.SPZTN6LU.js +11 -0
- package/dist/chunks/chunk.SXSVZZB4.js +959 -0
- package/{cdn/chunks/chunk.2CIIZRV6.js → dist/chunks/chunk.SZPMEWOB.js} +1 -1
- package/dist/chunks/{chunk.XPSAM3J7.js → chunk.T7XLHTVV.js} +1 -1
- package/dist/chunks/{chunk.GMATCVRU.js → chunk.TKBUILRJ.js} +1 -1
- package/dist/chunks/chunk.TMGWXVEU.js +33 -0
- package/dist/chunks/{chunk.EY5ALKH5.js → chunk.U23GUW3O.js} +1 -1
- package/dist/chunks/{chunk.VMYDYO3D.js → chunk.U45TJLC6.js} +1 -1
- package/dist/chunks/{chunk.7RHIZ2X6.js → chunk.U7K3BGXK.js} +2 -2
- package/{cdn/chunks/chunk.HNCLB7RZ.js → dist/chunks/chunk.UDU53G4K.js} +1 -1
- package/{cdn/chunks/chunk.52LF3CZT.js → dist/chunks/chunk.UKRLMHI6.js} +1 -1
- package/dist/chunks/{chunk.62B6AN4G.js → chunk.UQJ6QVAZ.js} +1 -1
- package/dist/chunks/{chunk.A7BVYOGM.js → chunk.UR6NVETE.js} +1 -1
- package/dist/chunks/{chunk.TB57WXUT.js → chunk.UXEEZOF7.js} +1 -1
- package/dist/chunks/{chunk.VBYVEMQD.js → chunk.V3Z2BTMH.js} +1 -1
- package/dist/chunks/{chunk.AECOOL73.js → chunk.V53K453G.js} +1 -1
- package/dist/chunks/{chunk.E5JRHEXH.js → chunk.VIDPDBD4.js} +3 -3
- package/dist/chunks/{chunk.K6SO2YK2.js → chunk.VJ2NXK6M.js} +1 -1
- package/dist/chunks/{chunk.EJYF7PE7.js → chunk.VMMAAE4P.js} +8 -8
- package/dist/chunks/{chunk.UWQP3K4H.js → chunk.VTHFNCHH.js} +1 -1
- package/dist/chunks/{chunk.LP3LYQNE.js → chunk.W2VPO4VE.js} +4 -4
- package/dist/chunks/{chunk.FXKV67MH.js → chunk.WF35TQ3B.js} +1 -1
- package/dist/chunks/{chunk.WLPBOIVK.js → chunk.WQHQN73Y.js} +1 -1
- package/{cdn/chunks/chunk.AAK7KQLT.js → dist/chunks/chunk.WRL4DMNY.js} +1 -1
- package/{cdn/chunks/chunk.FBUJEC6X.js → dist/chunks/chunk.X2ZJLZBO.js} +1 -1
- package/dist/chunks/{chunk.D24TMZV4.js → chunk.X5NZMCF5.js} +1 -1
- package/dist/chunks/{chunk.FJTQ32X4.js → chunk.XHFMC7NL.js} +1 -1
- package/{cdn/chunks/chunk.WF4B5CX5.js → dist/chunks/chunk.XISG4TGO.js} +1 -1
- package/{cdn/chunks/chunk.HG2RYHY6.js → dist/chunks/chunk.XJFKIUZL.js} +1 -1
- package/dist/chunks/{chunk.LNTLR2EB.js → chunk.XLC63U4A.js} +2 -2
- package/dist/chunks/{chunk.F2URQJQT.js → chunk.XSSQNTMJ.js} +3 -3
- package/dist/chunks/{chunk.7S6VSYA5.js → chunk.XTLMFQRG.js} +1 -1
- package/{cdn/chunks/chunk.3H3FIH4V.js → dist/chunks/chunk.XTZWIN4P.js} +1 -1
- package/dist/chunks/{chunk.4TIVNLRE.js → chunk.YFCIPDEQ.js} +1 -1
- package/dist/chunks/{chunk.N7FPHAE2.js → chunk.Z5GWLXE7.js} +2 -2
- package/dist/chunks/{chunk.YWLTG6BC.js → chunk.ZON7Z32S.js} +1 -1
- package/{cdn/chunks/chunk.2KPKFPBC.js → dist/chunks/chunk.ZQVN5QDH.js} +1 -1
- package/dist/chunks/{chunk.3E3JPGHN.js → chunk.ZR4MRID5.js} +1 -1
- package/dist/components/alert/alert.component.js +5 -5
- package/dist/components/alert/alert.js +6 -6
- package/dist/components/animated-image/animated-image.component.js +4 -4
- package/dist/components/animated-image/animated-image.js +5 -5
- package/dist/components/animation/animation.component.js +2 -2
- package/dist/components/animation/animation.js +3 -3
- package/dist/components/avatar/avatar.component.js +4 -4
- package/dist/components/avatar/avatar.js +5 -5
- package/dist/components/badge/badge.component.js +2 -2
- package/dist/components/badge/badge.js +3 -3
- package/dist/components/breadcrumb/breadcrumb.component.js +4 -4
- package/dist/components/breadcrumb/breadcrumb.js +5 -5
- package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
- package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
- package/dist/components/button/button.component.js +5 -5
- package/dist/components/button/button.js +6 -6
- package/dist/components/button-group/button-group.component.js +2 -2
- package/dist/components/button-group/button-group.js +3 -3
- package/dist/components/card/card.component.js +2 -2
- package/dist/components/card/card.js +3 -3
- package/dist/components/carousel/carousel.component.js +4 -4
- package/dist/components/carousel/carousel.js +5 -5
- package/dist/components/carousel-item/carousel-item.component.js +2 -2
- package/dist/components/carousel-item/carousel-item.js +3 -3
- package/dist/components/checkbox/checkbox.component.js +4 -4
- package/dist/components/checkbox/checkbox.js +5 -5
- package/dist/components/color-picker/color-picker.component.js +13 -13
- package/dist/components/color-picker/color-picker.js +14 -14
- package/dist/components/combobox/combobox.component.d.ts +219 -0
- package/dist/components/combobox/combobox.component.js +36 -0
- package/dist/components/combobox/combobox.d.ts +8 -0
- package/dist/components/combobox/combobox.js +37 -0
- package/dist/components/combobox/combobox.styles.d.ts +2 -0
- package/dist/components/combobox/combobox.styles.js +7 -0
- package/dist/components/copy-button/copy-button.component.js +7 -7
- package/dist/components/copy-button/copy-button.js +8 -8
- package/dist/components/details/details.component.js +4 -4
- package/dist/components/details/details.js +5 -5
- package/dist/components/dialog/dialog.component.js +7 -7
- package/dist/components/dialog/dialog.js +8 -8
- package/dist/components/divider/divider.component.js +2 -2
- package/dist/components/divider/divider.js +3 -3
- package/dist/components/drawer/drawer.component.js +6 -6
- package/dist/components/drawer/drawer.js +7 -7
- package/dist/components/dropdown/dropdown.component.js +3 -3
- package/dist/components/dropdown/dropdown.js +4 -4
- package/dist/components/format-bytes/format-bytes.component.js +2 -2
- package/dist/components/format-bytes/format-bytes.js +3 -3
- package/dist/components/format-date/format-date.component.js +2 -2
- package/dist/components/format-date/format-date.js +3 -3
- package/dist/components/format-number/format-number.component.js +2 -2
- package/dist/components/format-number/format-number.js +3 -3
- package/dist/components/icon/icon.component.js +3 -3
- package/dist/components/icon/icon.js +4 -4
- package/dist/components/icon-button/icon-button.component.js +4 -4
- package/dist/components/icon-button/icon-button.js +5 -5
- package/dist/components/image-comparer/image-comparer.component.js +4 -4
- package/dist/components/image-comparer/image-comparer.js +5 -5
- package/dist/components/include/include.component.js +3 -3
- package/dist/components/include/include.js +4 -4
- package/dist/components/input/input.component.js +4 -4
- package/dist/components/input/input.js +5 -5
- package/dist/components/menu/menu.component.js +2 -2
- package/dist/components/menu/menu.js +3 -3
- package/dist/components/menu-item/menu-item.component.js +6 -6
- package/dist/components/menu-item/menu-item.js +7 -7
- package/dist/components/menu-label/menu-label.component.js +2 -2
- package/dist/components/menu-label/menu-label.js +3 -3
- package/dist/components/mutation-observer/mutation-observer.component.js +2 -2
- package/dist/components/mutation-observer/mutation-observer.js +3 -3
- package/dist/components/option/option.component.js +4 -4
- package/dist/components/option/option.js +5 -5
- package/dist/components/popup/popup.component.js +2 -2
- package/dist/components/popup/popup.js +3 -3
- package/dist/components/progress-bar/progress-bar.component.js +2 -2
- package/dist/components/progress-bar/progress-bar.js +3 -3
- package/dist/components/progress-ring/progress-ring.component.js +2 -2
- package/dist/components/progress-ring/progress-ring.js +3 -3
- package/dist/components/qr-code/qr-code.component.js +2 -2
- package/dist/components/qr-code/qr-code.js +3 -3
- package/dist/components/radio/radio.component.js +4 -4
- package/dist/components/radio/radio.js +5 -5
- package/dist/components/radio-button/radio-button.component.js +2 -2
- package/dist/components/radio-button/radio-button.js +3 -3
- package/dist/components/radio-group/radio-group.component.js +3 -3
- package/dist/components/radio-group/radio-group.js +4 -4
- package/dist/components/range/range.component.js +2 -2
- package/dist/components/range/range.js +3 -3
- package/dist/components/rating/rating.component.js +4 -4
- package/dist/components/rating/rating.js +5 -5
- package/dist/components/relative-time/relative-time.component.js +2 -2
- package/dist/components/relative-time/relative-time.js +3 -3
- package/dist/components/resize-observer/resize-observer.component.js +2 -2
- package/dist/components/resize-observer/resize-observer.js +3 -3
- package/dist/components/select/select.component.js +9 -9
- package/dist/components/select/select.js +10 -10
- package/dist/components/skeleton/skeleton.component.js +2 -2
- package/dist/components/skeleton/skeleton.js +3 -3
- package/dist/components/spinner/spinner.component.js +2 -2
- package/dist/components/spinner/spinner.js +3 -3
- package/dist/components/split-panel/split-panel.component.js +2 -2
- package/dist/components/split-panel/split-panel.js +3 -3
- package/dist/components/switch/switch.component.js +2 -2
- package/dist/components/switch/switch.js +3 -3
- package/dist/components/tab/tab.component.js +5 -5
- package/dist/components/tab/tab.js +6 -6
- package/dist/components/tab-group/tab-group.component.js +6 -6
- package/dist/components/tab-group/tab-group.js +7 -7
- package/dist/components/tab-panel/tab-panel.component.js +2 -2
- package/dist/components/tab-panel/tab-panel.js +3 -3
- package/dist/components/tag/tag.component.js +5 -5
- package/dist/components/tag/tag.js +6 -6
- package/dist/components/textarea/textarea.component.js +2 -2
- package/dist/components/textarea/textarea.js +3 -3
- package/dist/components/tooltip/tooltip.component.js +3 -3
- package/dist/components/tooltip/tooltip.js +4 -4
- package/dist/components/tree/tree.component.js +8 -8
- package/dist/components/tree/tree.js +9 -9
- package/dist/components/tree-item/tree-item.component.js +6 -6
- package/dist/components/tree-item/tree-item.js +7 -7
- package/dist/components/visually-hidden/visually-hidden.component.js +2 -2
- package/dist/components/visually-hidden/visually-hidden.js +3 -3
- package/dist/custom-elements.json +1151 -1
- package/dist/cw-elements.d.ts +1 -0
- package/dist/cw-elements.js +165 -159
- package/dist/react/alert/index.js +6 -6
- package/dist/react/animated-image/index.js +5 -5
- package/dist/react/animation/index.js +3 -3
- package/dist/react/avatar/index.js +5 -5
- package/dist/react/badge/index.js +3 -3
- package/dist/react/breadcrumb/index.js +5 -5
- package/dist/react/breadcrumb-item/index.js +3 -3
- package/dist/react/button/index.js +6 -6
- package/dist/react/button-group/index.js +3 -3
- package/dist/react/card/index.js +3 -3
- package/dist/react/carousel/index.js +5 -5
- package/dist/react/carousel-item/index.js +3 -3
- package/dist/react/checkbox/index.js +5 -5
- package/dist/react/color-picker/index.js +14 -14
- package/dist/react/combobox/index.d.ts +87 -0
- package/dist/react/combobox/index.js +37 -0
- package/dist/react/copy-button/index.js +8 -8
- package/dist/react/details/index.js +5 -5
- package/dist/react/dialog/index.js +8 -8
- package/dist/react/divider/index.js +3 -3
- package/dist/react/drawer/index.js +7 -7
- package/dist/react/dropdown/index.js +4 -4
- package/dist/react/format-bytes/index.js +3 -3
- package/dist/react/format-date/index.js +3 -3
- package/dist/react/format-number/index.js +3 -3
- package/dist/react/icon/index.js +4 -4
- package/dist/react/icon-button/index.js +5 -5
- package/dist/react/image-comparer/index.js +5 -5
- package/dist/react/include/index.js +4 -4
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.js +181 -175
- package/dist/react/input/index.js +5 -5
- package/dist/react/menu/index.js +3 -3
- package/dist/react/menu-item/index.js +7 -7
- package/dist/react/menu-label/index.js +3 -3
- package/dist/react/mutation-observer/index.js +3 -3
- package/dist/react/option/index.js +5 -5
- package/dist/react/popup/index.js +3 -3
- package/dist/react/progress-bar/index.js +3 -3
- package/dist/react/progress-ring/index.js +3 -3
- package/dist/react/qr-code/index.js +3 -3
- package/dist/react/radio/index.js +5 -5
- package/dist/react/radio-button/index.js +3 -3
- package/dist/react/radio-group/index.js +4 -4
- package/dist/react/range/index.js +3 -3
- package/dist/react/rating/index.js +5 -5
- package/dist/react/relative-time/index.js +3 -3
- package/dist/react/resize-observer/index.js +3 -3
- package/dist/react/select/index.js +10 -10
- package/dist/react/skeleton/index.js +3 -3
- package/dist/react/spinner/index.js +3 -3
- package/dist/react/split-panel/index.js +3 -3
- package/dist/react/switch/index.js +3 -3
- package/dist/react/tab/index.js +6 -6
- package/dist/react/tab-group/index.js +7 -7
- package/dist/react/tab-panel/index.js +3 -3
- package/dist/react/tag/index.js +6 -6
- package/dist/react/textarea/index.js +3 -3
- package/dist/react/tooltip/index.js +4 -4
- package/dist/react/tree/index.js +9 -9
- package/dist/react/tree-item/index.js +7 -7
- package/dist/react/visually-hidden/index.js +3 -3
- package/dist/types/vue/index.d.ts +158 -0
- package/dist/vscode.html-custom-data.json +119 -0
- package/dist/web-types.json +355 -1
- package/package.json +1 -1
|
@@ -0,0 +1,967 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CwTag
|
|
3
|
+
} from "./chunk.OBBP4SDL.js";
|
|
4
|
+
import {
|
|
5
|
+
o
|
|
6
|
+
} from "./chunk.G4QG77C5.js";
|
|
7
|
+
import {
|
|
8
|
+
scrollIntoView
|
|
9
|
+
} from "./chunk.PH2N3MLE.js";
|
|
10
|
+
import {
|
|
11
|
+
CwVisuallyHidden
|
|
12
|
+
} from "./chunk.MQCVKOGC.js";
|
|
13
|
+
import {
|
|
14
|
+
CwPopup
|
|
15
|
+
} from "./chunk.BBZR4SMX.js";
|
|
16
|
+
import {
|
|
17
|
+
form_control_styles_default
|
|
18
|
+
} from "./chunk.DJVND463.js";
|
|
19
|
+
import {
|
|
20
|
+
combobox_styles_default
|
|
21
|
+
} from "./chunk.57GIFBAS.js";
|
|
22
|
+
import {
|
|
23
|
+
CwSpinner
|
|
24
|
+
} from "./chunk.2BZYHVAA.js";
|
|
25
|
+
import {
|
|
26
|
+
FormControlController
|
|
27
|
+
} from "./chunk.FIVNGT4O.js";
|
|
28
|
+
import {
|
|
29
|
+
getAnimation,
|
|
30
|
+
setDefaultAnimation
|
|
31
|
+
} from "./chunk.JSLXCIMZ.js";
|
|
32
|
+
import {
|
|
33
|
+
waitForEvent
|
|
34
|
+
} from "./chunk.B4BZKR24.js";
|
|
35
|
+
import {
|
|
36
|
+
animateTo,
|
|
37
|
+
stopAnimations
|
|
38
|
+
} from "./chunk.3CTNMS55.js";
|
|
39
|
+
import {
|
|
40
|
+
LocalizeController
|
|
41
|
+
} from "./chunk.Z46D7BRX.js";
|
|
42
|
+
import {
|
|
43
|
+
HasSlotController
|
|
44
|
+
} from "./chunk.BVGZUUCX.js";
|
|
45
|
+
import {
|
|
46
|
+
e
|
|
47
|
+
} from "./chunk.VBR4VS53.js";
|
|
48
|
+
import {
|
|
49
|
+
CwIcon
|
|
50
|
+
} from "./chunk.5QU7YOU6.js";
|
|
51
|
+
import {
|
|
52
|
+
watch
|
|
53
|
+
} from "./chunk.RB5L7E7Z.js";
|
|
54
|
+
import {
|
|
55
|
+
component_styles_default
|
|
56
|
+
} from "./chunk.NJIHXHXI.js";
|
|
57
|
+
import {
|
|
58
|
+
CwElement,
|
|
59
|
+
e as e2,
|
|
60
|
+
n,
|
|
61
|
+
r
|
|
62
|
+
} from "./chunk.IJV5TSMJ.js";
|
|
63
|
+
import {
|
|
64
|
+
b
|
|
65
|
+
} from "./chunk.6A2LG33L.js";
|
|
66
|
+
import {
|
|
67
|
+
__decorateClass
|
|
68
|
+
} from "./chunk.QIOX6AG5.js";
|
|
69
|
+
|
|
70
|
+
// src/components/combobox/combobox.component.ts
|
|
71
|
+
var nextOptionId = 0;
|
|
72
|
+
var CwCombobox = class extends CwElement {
|
|
73
|
+
constructor() {
|
|
74
|
+
super(...arguments);
|
|
75
|
+
this.formControlController = new FormControlController(this, {
|
|
76
|
+
assumeInteractionOn: ["cw-blur", "cw-input"]
|
|
77
|
+
});
|
|
78
|
+
this.hasSlotController = new HasSlotController(this, "help-text", "label");
|
|
79
|
+
this.localize = new LocalizeController(this);
|
|
80
|
+
/** A free-text value the user has typed that doesn't match any option. Only used when `allowCustomValue` is set. */
|
|
81
|
+
this.customValue = "";
|
|
82
|
+
this.hasFocus = false;
|
|
83
|
+
this.displayLabel = "";
|
|
84
|
+
this.selectedOptions = [];
|
|
85
|
+
this.activeOptionId = "";
|
|
86
|
+
this.hasVisibleOptions = true;
|
|
87
|
+
this.valueHasChanged = false;
|
|
88
|
+
this.isFiltering = false;
|
|
89
|
+
this.name = "";
|
|
90
|
+
this._value = "";
|
|
91
|
+
this.defaultValue = "";
|
|
92
|
+
this.size = "medium";
|
|
93
|
+
this.placeholder = "";
|
|
94
|
+
this.multiple = false;
|
|
95
|
+
this.maxOptionsVisible = 3;
|
|
96
|
+
this.disabled = false;
|
|
97
|
+
this.clearable = false;
|
|
98
|
+
this.allowCustomValue = false;
|
|
99
|
+
this.loading = false;
|
|
100
|
+
this.open = false;
|
|
101
|
+
this.hoist = false;
|
|
102
|
+
this.filled = false;
|
|
103
|
+
this.pill = false;
|
|
104
|
+
this.label = "";
|
|
105
|
+
this.placement = "bottom";
|
|
106
|
+
this.helpText = "";
|
|
107
|
+
this.form = "";
|
|
108
|
+
this.required = false;
|
|
109
|
+
this.getTag = (option) => {
|
|
110
|
+
return b`
|
|
111
|
+
<cw-tag
|
|
112
|
+
part="tag"
|
|
113
|
+
exportparts="
|
|
114
|
+
base:tag__base,
|
|
115
|
+
content:tag__content,
|
|
116
|
+
remove-button:tag__remove-button,
|
|
117
|
+
remove-button__base:tag__remove-button__base
|
|
118
|
+
"
|
|
119
|
+
?pill=${this.pill}
|
|
120
|
+
size=${this.size}
|
|
121
|
+
removable
|
|
122
|
+
@cw-remove=${(event) => this.handleTagRemove(event, option)}
|
|
123
|
+
>
|
|
124
|
+
${option.getTextLabel()}
|
|
125
|
+
</cw-tag>
|
|
126
|
+
`;
|
|
127
|
+
};
|
|
128
|
+
this.handleDocumentFocusIn = (event) => {
|
|
129
|
+
const path = event.composedPath();
|
|
130
|
+
if (this && !path.includes(this)) {
|
|
131
|
+
this.hide();
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
this.handleDocumentKeyDown = (event) => {
|
|
135
|
+
const target = event.target;
|
|
136
|
+
const isClearButton = target.closest(".combobox__clear") !== null;
|
|
137
|
+
const isIconButton = target.closest("cw-icon-button") !== null;
|
|
138
|
+
if (isClearButton || isIconButton) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (event.key === "Escape" && this.open && !this.closeWatcher) {
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
event.stopPropagation();
|
|
144
|
+
this.hide();
|
|
145
|
+
this.displayInput.focus({ preventScroll: true });
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (event.key === "Enter") {
|
|
149
|
+
if (!this.open) {
|
|
150
|
+
this.show();
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
event.preventDefault();
|
|
154
|
+
if (this.currentOption && !this.currentOption.disabled) {
|
|
155
|
+
this.selectOption(this.currentOption);
|
|
156
|
+
} else if (this.allowCustomValue) {
|
|
157
|
+
const typedValue = this.displayLabel.trim();
|
|
158
|
+
if (typedValue !== "") {
|
|
159
|
+
this.commitCustomValue(typedValue);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (["ArrowUp", "ArrowDown", "Home", "End"].includes(event.key)) {
|
|
165
|
+
const visibleOptions = this.getVisibleOptions();
|
|
166
|
+
const currentIndex = this.currentOption ? visibleOptions.indexOf(this.currentOption) : -1;
|
|
167
|
+
let newIndex = Math.max(0, currentIndex);
|
|
168
|
+
event.preventDefault();
|
|
169
|
+
if (!this.open) {
|
|
170
|
+
this.show();
|
|
171
|
+
if (this.currentOption) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (visibleOptions.length === 0) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (event.key === "ArrowDown") {
|
|
179
|
+
newIndex = currentIndex + 1;
|
|
180
|
+
if (newIndex > visibleOptions.length - 1) newIndex = 0;
|
|
181
|
+
} else if (event.key === "ArrowUp") {
|
|
182
|
+
newIndex = currentIndex - 1;
|
|
183
|
+
if (newIndex < 0) newIndex = visibleOptions.length - 1;
|
|
184
|
+
} else if (event.key === "Home") {
|
|
185
|
+
newIndex = 0;
|
|
186
|
+
} else if (event.key === "End") {
|
|
187
|
+
newIndex = visibleOptions.length - 1;
|
|
188
|
+
}
|
|
189
|
+
this.setCurrentOption(visibleOptions[newIndex]);
|
|
190
|
+
if (this.currentOption) {
|
|
191
|
+
scrollIntoView(this.currentOption, this.listbox, "vertical", "auto");
|
|
192
|
+
}
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if (event.key === "Backspace" && this.multiple && this.displayLabel === "" && this.selectedOptions.length > 0) {
|
|
196
|
+
const lastOption = this.selectedOptions[this.selectedOptions.length - 1];
|
|
197
|
+
this.toggleOptionSelection(lastOption, false);
|
|
198
|
+
this.valueHasChanged = true;
|
|
199
|
+
this.updateComplete.then(() => {
|
|
200
|
+
this.emit("cw-input");
|
|
201
|
+
this.emit("cw-change");
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
this.handleDocumentMouseDown = (event) => {
|
|
206
|
+
const path = event.composedPath();
|
|
207
|
+
if (this && !path.includes(this)) {
|
|
208
|
+
this.hide();
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
get value() {
|
|
213
|
+
return this._value;
|
|
214
|
+
}
|
|
215
|
+
set value(val) {
|
|
216
|
+
if (this.multiple) {
|
|
217
|
+
val = Array.isArray(val) ? val : val.split(" ");
|
|
218
|
+
} else {
|
|
219
|
+
val = Array.isArray(val) ? val.join(" ") : val;
|
|
220
|
+
}
|
|
221
|
+
if (this._value === val) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
this.valueHasChanged = true;
|
|
225
|
+
this._value = val;
|
|
226
|
+
}
|
|
227
|
+
/** Gets the validity state object */
|
|
228
|
+
get validity() {
|
|
229
|
+
return this.valueInput.validity;
|
|
230
|
+
}
|
|
231
|
+
/** Gets the validation message */
|
|
232
|
+
get validationMessage() {
|
|
233
|
+
return this.valueInput.validationMessage;
|
|
234
|
+
}
|
|
235
|
+
connectedCallback() {
|
|
236
|
+
super.connectedCallback();
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
this.handleDefaultSlotChange();
|
|
239
|
+
});
|
|
240
|
+
this.open = false;
|
|
241
|
+
}
|
|
242
|
+
addOpenListeners() {
|
|
243
|
+
var _a;
|
|
244
|
+
document.addEventListener("focusin", this.handleDocumentFocusIn);
|
|
245
|
+
document.addEventListener("keydown", this.handleDocumentKeyDown);
|
|
246
|
+
document.addEventListener("mousedown", this.handleDocumentMouseDown);
|
|
247
|
+
if (this.getRootNode() !== document) {
|
|
248
|
+
this.getRootNode().addEventListener("focusin", this.handleDocumentFocusIn);
|
|
249
|
+
}
|
|
250
|
+
if ("CloseWatcher" in window) {
|
|
251
|
+
(_a = this.closeWatcher) == null ? void 0 : _a.destroy();
|
|
252
|
+
this.closeWatcher = new CloseWatcher();
|
|
253
|
+
this.closeWatcher.onclose = () => {
|
|
254
|
+
if (this.open) {
|
|
255
|
+
this.hide();
|
|
256
|
+
this.displayInput.focus({ preventScroll: true });
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
removeOpenListeners() {
|
|
262
|
+
var _a;
|
|
263
|
+
document.removeEventListener("focusin", this.handleDocumentFocusIn);
|
|
264
|
+
document.removeEventListener("keydown", this.handleDocumentKeyDown);
|
|
265
|
+
document.removeEventListener("mousedown", this.handleDocumentMouseDown);
|
|
266
|
+
if (this.getRootNode() !== document) {
|
|
267
|
+
this.getRootNode().removeEventListener("focusin", this.handleDocumentFocusIn);
|
|
268
|
+
}
|
|
269
|
+
(_a = this.closeWatcher) == null ? void 0 : _a.destroy();
|
|
270
|
+
}
|
|
271
|
+
handleFocus() {
|
|
272
|
+
this.hasFocus = true;
|
|
273
|
+
this.emit("cw-focus");
|
|
274
|
+
}
|
|
275
|
+
handleBlur() {
|
|
276
|
+
this.hasFocus = false;
|
|
277
|
+
this.isFiltering = false;
|
|
278
|
+
this.filterOptions("");
|
|
279
|
+
if (!this.multiple) {
|
|
280
|
+
const selectedOption = this.selectedOptions[0];
|
|
281
|
+
const typedValue = this.displayLabel.trim();
|
|
282
|
+
if (selectedOption) {
|
|
283
|
+
if (typedValue !== selectedOption.getTextLabel()) {
|
|
284
|
+
if (this.allowCustomValue && typedValue !== "") {
|
|
285
|
+
this.commitCustomValue(typedValue);
|
|
286
|
+
} else if (typedValue === "") {
|
|
287
|
+
this.valueHasChanged = true;
|
|
288
|
+
this.setSelectedOptions([]);
|
|
289
|
+
} else {
|
|
290
|
+
this.displayLabel = selectedOption.getTextLabel();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
} else if (this.allowCustomValue && typedValue !== "" && typedValue !== this.customValue) {
|
|
294
|
+
this.commitCustomValue(typedValue);
|
|
295
|
+
} else if (typedValue === "" && this.customValue !== "") {
|
|
296
|
+
this.valueHasChanged = true;
|
|
297
|
+
this.customValue = "";
|
|
298
|
+
this.setSelectedOptions([]);
|
|
299
|
+
} else if (!this.allowCustomValue) {
|
|
300
|
+
this.displayLabel = this.customValue;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
this.emit("cw-blur");
|
|
304
|
+
}
|
|
305
|
+
handleLabelClick() {
|
|
306
|
+
this.displayInput.focus();
|
|
307
|
+
}
|
|
308
|
+
handleComboboxMouseDown(event) {
|
|
309
|
+
const path = event.composedPath();
|
|
310
|
+
const isIconButton = path.some((el) => el instanceof Element && el.tagName.toLowerCase() === "cw-icon-button");
|
|
311
|
+
const isInput = path[0] === this.displayInput;
|
|
312
|
+
if (this.disabled || isIconButton) {
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
if (!isInput) {
|
|
316
|
+
event.preventDefault();
|
|
317
|
+
this.displayInput.focus({ preventScroll: true });
|
|
318
|
+
}
|
|
319
|
+
if (!this.open) {
|
|
320
|
+
this.show();
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
handleComboboxKeyDown(event) {
|
|
324
|
+
if (event.key === "Tab") {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
event.stopPropagation();
|
|
328
|
+
this.handleDocumentKeyDown(event);
|
|
329
|
+
}
|
|
330
|
+
handleInput(event) {
|
|
331
|
+
const target = event.target;
|
|
332
|
+
this.displayLabel = target.value;
|
|
333
|
+
this.customValue = "";
|
|
334
|
+
this.isFiltering = true;
|
|
335
|
+
this.filterOptions(this.displayLabel);
|
|
336
|
+
if (!this.open) {
|
|
337
|
+
this.show();
|
|
338
|
+
}
|
|
339
|
+
const visibleOptions = this.getVisibleOptions();
|
|
340
|
+
this.setCurrentOption(visibleOptions[0]);
|
|
341
|
+
this.emit("cw-input");
|
|
342
|
+
}
|
|
343
|
+
handleClearClick(event) {
|
|
344
|
+
event.stopPropagation();
|
|
345
|
+
this.valueHasChanged = true;
|
|
346
|
+
this.customValue = "";
|
|
347
|
+
const hasValue = Array.isArray(this.value) ? this.value.length > 0 : this.value !== "";
|
|
348
|
+
if (hasValue || this.displayLabel !== "") {
|
|
349
|
+
this.setSelectedOptions([]);
|
|
350
|
+
this.displayLabel = "";
|
|
351
|
+
this.isFiltering = false;
|
|
352
|
+
this.filterOptions("");
|
|
353
|
+
this.displayInput.focus({ preventScroll: true });
|
|
354
|
+
this.updateComplete.then(() => {
|
|
355
|
+
this.emit("cw-clear");
|
|
356
|
+
this.emit("cw-input");
|
|
357
|
+
this.emit("cw-change");
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
handleClearMouseDown(event) {
|
|
362
|
+
event.stopPropagation();
|
|
363
|
+
event.preventDefault();
|
|
364
|
+
}
|
|
365
|
+
handleOptionClick(event) {
|
|
366
|
+
const target = event.target;
|
|
367
|
+
const option = target.closest("cw-option");
|
|
368
|
+
if (option && !option.disabled) {
|
|
369
|
+
this.selectOption(option);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
// Prevent mousing down on an option from moving focus off the display input. Otherwise the resulting blur would
|
|
373
|
+
// reset the type-ahead filter (and therefore the layout of the listbox) before the subsequent `mouseup` fires,
|
|
374
|
+
// causing the click to land on the wrong option.
|
|
375
|
+
handleListboxMouseDown(event) {
|
|
376
|
+
event.preventDefault();
|
|
377
|
+
}
|
|
378
|
+
/* @internal - used by options to update labels */
|
|
379
|
+
handleDefaultSlotChange() {
|
|
380
|
+
if (!customElements.get("cw-option")) {
|
|
381
|
+
customElements.whenDefined("cw-option").then(() => this.handleDefaultSlotChange());
|
|
382
|
+
}
|
|
383
|
+
const allOptions = this.getAllOptions();
|
|
384
|
+
const val = this.valueHasChanged ? this.value : this.defaultValue;
|
|
385
|
+
const value = Array.isArray(val) ? val : [val];
|
|
386
|
+
const matchingOptions = allOptions.filter((el) => value.includes(el.value));
|
|
387
|
+
this.updateCustomValue(val, matchingOptions);
|
|
388
|
+
this.setSelectedOptions(matchingOptions);
|
|
389
|
+
this.filterOptions(this.isFiltering ? this.displayLabel : "");
|
|
390
|
+
}
|
|
391
|
+
handleTagRemove(event, option) {
|
|
392
|
+
event.stopPropagation();
|
|
393
|
+
this.valueHasChanged = true;
|
|
394
|
+
if (!this.disabled) {
|
|
395
|
+
this.toggleOptionSelection(option, false);
|
|
396
|
+
this.updateComplete.then(() => {
|
|
397
|
+
this.emit("cw-input");
|
|
398
|
+
this.emit("cw-change");
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
// Gets an array of all <cw-option> elements
|
|
403
|
+
getAllOptions() {
|
|
404
|
+
return [...this.querySelectorAll("cw-option")];
|
|
405
|
+
}
|
|
406
|
+
// Gets all <cw-option> elements that match the current filter
|
|
407
|
+
getVisibleOptions() {
|
|
408
|
+
return this.getAllOptions().filter((option) => !option.hidden);
|
|
409
|
+
}
|
|
410
|
+
// Hides options that don't match the given query and tracks whether any options remain visible
|
|
411
|
+
filterOptions(filter) {
|
|
412
|
+
var _a;
|
|
413
|
+
const normalized = filter.trim().toLowerCase();
|
|
414
|
+
const allOptions = this.getAllOptions();
|
|
415
|
+
let hasVisibleOption = false;
|
|
416
|
+
allOptions.forEach((option) => {
|
|
417
|
+
const matches = normalized === "" || option.getTextLabel().toLowerCase().includes(normalized);
|
|
418
|
+
option.hidden = !matches;
|
|
419
|
+
if (matches) {
|
|
420
|
+
hasVisibleOption = true;
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
this.hasVisibleOptions = hasVisibleOption;
|
|
424
|
+
if ((_a = this.currentOption) == null ? void 0 : _a.hidden) {
|
|
425
|
+
this.setCurrentOption(this.getVisibleOptions()[0]);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
// Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard or by
|
|
429
|
+
// typing). Only one option may be "current" at a time. Unlike a standard listbox, focus remains on the input;
|
|
430
|
+
// `aria-activedescendant` is used to communicate the current option instead.
|
|
431
|
+
setCurrentOption(option) {
|
|
432
|
+
const allOptions = this.getAllOptions();
|
|
433
|
+
allOptions.forEach((el) => {
|
|
434
|
+
el.current = false;
|
|
435
|
+
el.tabIndex = -1;
|
|
436
|
+
});
|
|
437
|
+
if (option) {
|
|
438
|
+
if (!option.id) {
|
|
439
|
+
option.id = `cw-combobox-option-${++nextOptionId}`;
|
|
440
|
+
}
|
|
441
|
+
this.currentOption = option;
|
|
442
|
+
this.activeOptionId = option.id;
|
|
443
|
+
option.current = true;
|
|
444
|
+
option.tabIndex = 0;
|
|
445
|
+
} else {
|
|
446
|
+
this.currentOption = void 0;
|
|
447
|
+
this.activeOptionId = "";
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
// Sets the selected option(s)
|
|
451
|
+
setSelectedOptions(option) {
|
|
452
|
+
const allOptions = this.getAllOptions();
|
|
453
|
+
const newSelectedOptions = Array.isArray(option) ? option : [option];
|
|
454
|
+
allOptions.forEach((el) => el.selected = false);
|
|
455
|
+
if (newSelectedOptions.length) {
|
|
456
|
+
newSelectedOptions.forEach((el) => el.selected = true);
|
|
457
|
+
}
|
|
458
|
+
this.selectionChanged();
|
|
459
|
+
}
|
|
460
|
+
// Toggles an option's selected state
|
|
461
|
+
toggleOptionSelection(option, force) {
|
|
462
|
+
if (force === true || force === false) {
|
|
463
|
+
option.selected = force;
|
|
464
|
+
} else {
|
|
465
|
+
option.selected = !option.selected;
|
|
466
|
+
}
|
|
467
|
+
this.selectionChanged();
|
|
468
|
+
}
|
|
469
|
+
// Determines whether a free-text value should be tracked as the combobox's value
|
|
470
|
+
updateCustomValue(rawValue, matchingOptions) {
|
|
471
|
+
const candidate = Array.isArray(rawValue) ? rawValue[0] : rawValue;
|
|
472
|
+
if (!this.multiple && this.allowCustomValue && matchingOptions.length === 0 && candidate) {
|
|
473
|
+
this.customValue = candidate;
|
|
474
|
+
} else {
|
|
475
|
+
this.customValue = "";
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
// Sets the value and display label to a free-text value that doesn't match any option
|
|
479
|
+
commitCustomValue(text) {
|
|
480
|
+
const oldValue = this.value;
|
|
481
|
+
this.valueHasChanged = true;
|
|
482
|
+
this.customValue = text;
|
|
483
|
+
this.setSelectedOptions([]);
|
|
484
|
+
this.isFiltering = false;
|
|
485
|
+
this.filterOptions("");
|
|
486
|
+
if (this.open) {
|
|
487
|
+
this.hide();
|
|
488
|
+
}
|
|
489
|
+
if (this.value !== oldValue) {
|
|
490
|
+
this.updateComplete.then(() => {
|
|
491
|
+
this.emit("cw-input");
|
|
492
|
+
this.emit("cw-change");
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
// This method must be called whenever the selection changes. It will update the selected options cache, the current
|
|
497
|
+
// value, and the display label
|
|
498
|
+
selectionChanged() {
|
|
499
|
+
const options = this.getAllOptions();
|
|
500
|
+
this.selectedOptions = options.filter((el) => el.selected);
|
|
501
|
+
const cachedValueHasChanged = this.valueHasChanged;
|
|
502
|
+
if (this.multiple) {
|
|
503
|
+
this.value = this.selectedOptions.map((el) => el.value);
|
|
504
|
+
} else {
|
|
505
|
+
const selectedOption = this.selectedOptions[0];
|
|
506
|
+
if (selectedOption) {
|
|
507
|
+
this.customValue = "";
|
|
508
|
+
this.value = selectedOption.value;
|
|
509
|
+
this.displayLabel = selectedOption.getTextLabel();
|
|
510
|
+
} else {
|
|
511
|
+
this.value = this.customValue;
|
|
512
|
+
this.displayLabel = this.customValue;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
this.valueHasChanged = cachedValueHasChanged;
|
|
516
|
+
this.updateComplete.then(() => {
|
|
517
|
+
this.formControlController.updateValidity();
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
// Selects an option, updating the input and (for single-select) closing the listbox
|
|
521
|
+
selectOption(option) {
|
|
522
|
+
const oldValue = this.value;
|
|
523
|
+
this.valueHasChanged = true;
|
|
524
|
+
this.customValue = "";
|
|
525
|
+
if (this.multiple) {
|
|
526
|
+
this.toggleOptionSelection(option);
|
|
527
|
+
this.displayLabel = "";
|
|
528
|
+
} else {
|
|
529
|
+
this.setSelectedOptions(option);
|
|
530
|
+
}
|
|
531
|
+
this.isFiltering = false;
|
|
532
|
+
this.filterOptions("");
|
|
533
|
+
this.updateComplete.then(() => {
|
|
534
|
+
this.setCurrentOption(option);
|
|
535
|
+
if (this.value !== oldValue) {
|
|
536
|
+
this.emit("cw-input");
|
|
537
|
+
this.emit("cw-change");
|
|
538
|
+
}
|
|
539
|
+
if (!this.multiple) {
|
|
540
|
+
this.hide();
|
|
541
|
+
}
|
|
542
|
+
this.displayInput.focus({ preventScroll: true });
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
get tags() {
|
|
546
|
+
return this.selectedOptions.map((option, index) => {
|
|
547
|
+
if (index < this.maxOptionsVisible || this.maxOptionsVisible <= 0) {
|
|
548
|
+
const tag = this.getTag(option, index);
|
|
549
|
+
return b`<div @cw-remove=${(e3) => this.handleTagRemove(e3, option)}>
|
|
550
|
+
${typeof tag === "string" ? o(tag) : tag}
|
|
551
|
+
</div>`;
|
|
552
|
+
} else if (index === this.maxOptionsVisible) {
|
|
553
|
+
return b`<cw-tag size=${this.size}>+${this.selectedOptions.length - index}</cw-tag>`;
|
|
554
|
+
}
|
|
555
|
+
return b``;
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
handleInvalid(event) {
|
|
559
|
+
this.formControlController.setValidity(false);
|
|
560
|
+
this.formControlController.emitInvalidEvent(event);
|
|
561
|
+
}
|
|
562
|
+
handleDisabledChange() {
|
|
563
|
+
if (this.disabled) {
|
|
564
|
+
this.open = false;
|
|
565
|
+
this.handleOpenChange();
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
attributeChangedCallback(name, oldVal, newVal) {
|
|
569
|
+
super.attributeChangedCallback(name, oldVal, newVal);
|
|
570
|
+
if (name === "value") {
|
|
571
|
+
const cachedValueHasChanged = this.valueHasChanged;
|
|
572
|
+
this.value = this.defaultValue;
|
|
573
|
+
this.valueHasChanged = cachedValueHasChanged;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
handleValueChange() {
|
|
577
|
+
if (!this.valueHasChanged) {
|
|
578
|
+
const cachedValueHasChanged = this.valueHasChanged;
|
|
579
|
+
this.value = this.defaultValue;
|
|
580
|
+
this.valueHasChanged = cachedValueHasChanged;
|
|
581
|
+
}
|
|
582
|
+
const allOptions = this.getAllOptions();
|
|
583
|
+
const value = Array.isArray(this.value) ? this.value : [this.value];
|
|
584
|
+
const matchingOptions = allOptions.filter((el) => value.includes(el.value));
|
|
585
|
+
this.updateCustomValue(this.value, matchingOptions);
|
|
586
|
+
this.setSelectedOptions(matchingOptions);
|
|
587
|
+
}
|
|
588
|
+
async handleOpenChange() {
|
|
589
|
+
if (this.open && !this.disabled) {
|
|
590
|
+
this.setCurrentOption(this.selectedOptions[0] || this.getVisibleOptions()[0]);
|
|
591
|
+
this.emit("cw-show");
|
|
592
|
+
this.addOpenListeners();
|
|
593
|
+
await stopAnimations(this);
|
|
594
|
+
this.listbox.hidden = false;
|
|
595
|
+
this.popup.active = true;
|
|
596
|
+
requestAnimationFrame(() => {
|
|
597
|
+
this.setCurrentOption(this.currentOption);
|
|
598
|
+
});
|
|
599
|
+
const { keyframes, options } = getAnimation(this, "combobox.show", { dir: this.localize.dir() });
|
|
600
|
+
await animateTo(this.popup.popup, keyframes, options);
|
|
601
|
+
if (this.currentOption) {
|
|
602
|
+
scrollIntoView(this.currentOption, this.listbox, "vertical", "auto");
|
|
603
|
+
}
|
|
604
|
+
this.emit("cw-after-show");
|
|
605
|
+
} else {
|
|
606
|
+
this.emit("cw-hide");
|
|
607
|
+
this.removeOpenListeners();
|
|
608
|
+
await stopAnimations(this);
|
|
609
|
+
const { keyframes, options } = getAnimation(this, "combobox.hide", { dir: this.localize.dir() });
|
|
610
|
+
await animateTo(this.popup.popup, keyframes, options);
|
|
611
|
+
this.listbox.hidden = true;
|
|
612
|
+
this.popup.active = false;
|
|
613
|
+
this.emit("cw-after-hide");
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
/** Shows the listbox. */
|
|
617
|
+
async show() {
|
|
618
|
+
if (this.open || this.disabled) {
|
|
619
|
+
this.open = false;
|
|
620
|
+
return void 0;
|
|
621
|
+
}
|
|
622
|
+
this.open = true;
|
|
623
|
+
return waitForEvent(this, "cw-after-show");
|
|
624
|
+
}
|
|
625
|
+
/** Hides the listbox. */
|
|
626
|
+
async hide() {
|
|
627
|
+
if (!this.open || this.disabled) {
|
|
628
|
+
this.open = false;
|
|
629
|
+
return void 0;
|
|
630
|
+
}
|
|
631
|
+
this.open = false;
|
|
632
|
+
return waitForEvent(this, "cw-after-hide");
|
|
633
|
+
}
|
|
634
|
+
/** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
|
|
635
|
+
checkValidity() {
|
|
636
|
+
return this.valueInput.checkValidity();
|
|
637
|
+
}
|
|
638
|
+
/** Gets the associated form, if one exists. */
|
|
639
|
+
getForm() {
|
|
640
|
+
return this.formControlController.getForm();
|
|
641
|
+
}
|
|
642
|
+
/** Checks for validity and shows the browser's validation message if the control is invalid. */
|
|
643
|
+
reportValidity() {
|
|
644
|
+
return this.valueInput.reportValidity();
|
|
645
|
+
}
|
|
646
|
+
/** Sets a custom validation message. Pass an empty string to restore validity. */
|
|
647
|
+
setCustomValidity(message) {
|
|
648
|
+
this.valueInput.setCustomValidity(message);
|
|
649
|
+
this.formControlController.updateValidity();
|
|
650
|
+
}
|
|
651
|
+
/** Sets focus on the control. */
|
|
652
|
+
focus(options) {
|
|
653
|
+
this.displayInput.focus(options);
|
|
654
|
+
}
|
|
655
|
+
/** Removes focus from the control. */
|
|
656
|
+
blur() {
|
|
657
|
+
this.displayInput.blur();
|
|
658
|
+
}
|
|
659
|
+
render() {
|
|
660
|
+
const hasLabelSlot = this.hasSlotController.test("label");
|
|
661
|
+
const hasHelpTextSlot = this.hasSlotController.test("help-text");
|
|
662
|
+
const hasLabel = this.label ? true : !!hasLabelSlot;
|
|
663
|
+
const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
|
|
664
|
+
const hasValue = Array.isArray(this.value) ? this.value.length > 0 : this.value !== "";
|
|
665
|
+
const hasClearIcon = this.clearable && !this.disabled && (hasValue || this.displayLabel !== "");
|
|
666
|
+
const showNoOptions = this.open && !this.loading && !this.hasVisibleOptions;
|
|
667
|
+
return b`
|
|
668
|
+
<div
|
|
669
|
+
part="form-control"
|
|
670
|
+
class=${e({
|
|
671
|
+
"form-control": true,
|
|
672
|
+
"form-control--small": this.size === "small",
|
|
673
|
+
"form-control--medium": this.size === "medium",
|
|
674
|
+
"form-control--large": this.size === "large",
|
|
675
|
+
"form-control--has-label": hasLabel,
|
|
676
|
+
"form-control--has-help-text": hasHelpText
|
|
677
|
+
})}
|
|
678
|
+
>
|
|
679
|
+
<label
|
|
680
|
+
id="label"
|
|
681
|
+
part="form-control-label"
|
|
682
|
+
class="form-control__label"
|
|
683
|
+
aria-hidden=${hasLabel ? "false" : "true"}
|
|
684
|
+
@click=${this.handleLabelClick}
|
|
685
|
+
>
|
|
686
|
+
<slot name="label">${this.label}</slot>
|
|
687
|
+
</label>
|
|
688
|
+
|
|
689
|
+
<div part="form-control-input" class="form-control-input">
|
|
690
|
+
<cw-popup
|
|
691
|
+
class=${e({
|
|
692
|
+
combobox: true,
|
|
693
|
+
"combobox--standard": true,
|
|
694
|
+
"combobox--filled": this.filled,
|
|
695
|
+
"combobox--pill": this.pill,
|
|
696
|
+
"combobox--open": this.open,
|
|
697
|
+
"combobox--disabled": this.disabled,
|
|
698
|
+
"combobox--multiple": this.multiple,
|
|
699
|
+
"combobox--focused": this.hasFocus,
|
|
700
|
+
"combobox--top": this.placement === "top",
|
|
701
|
+
"combobox--bottom": this.placement === "bottom",
|
|
702
|
+
"combobox--small": this.size === "small",
|
|
703
|
+
"combobox--medium": this.size === "medium",
|
|
704
|
+
"combobox--large": this.size === "large"
|
|
705
|
+
})}
|
|
706
|
+
placement=${this.placement}
|
|
707
|
+
strategy=${this.hoist ? "fixed" : "absolute"}
|
|
708
|
+
flip
|
|
709
|
+
shift
|
|
710
|
+
sync="width"
|
|
711
|
+
auto-size="vertical"
|
|
712
|
+
auto-size-padding="10"
|
|
713
|
+
>
|
|
714
|
+
<div
|
|
715
|
+
part="combobox"
|
|
716
|
+
class="combobox__control"
|
|
717
|
+
slot="anchor"
|
|
718
|
+
@keydown=${this.handleComboboxKeyDown}
|
|
719
|
+
@mousedown=${this.handleComboboxMouseDown}
|
|
720
|
+
>
|
|
721
|
+
<slot part="prefix" name="prefix" class="combobox__prefix"></slot>
|
|
722
|
+
|
|
723
|
+
${this.multiple ? b`<div part="tags" class="combobox__tags">${this.tags}</div>` : ""}
|
|
724
|
+
|
|
725
|
+
<input
|
|
726
|
+
part="display-input"
|
|
727
|
+
class="combobox__display-input"
|
|
728
|
+
type="text"
|
|
729
|
+
placeholder=${this.placeholder}
|
|
730
|
+
.disabled=${this.disabled}
|
|
731
|
+
.value=${this.displayLabel}
|
|
732
|
+
autocomplete="off"
|
|
733
|
+
spellcheck="false"
|
|
734
|
+
autocapitalize="off"
|
|
735
|
+
aria-controls="listbox"
|
|
736
|
+
aria-expanded=${this.open ? "true" : "false"}
|
|
737
|
+
aria-haspopup="listbox"
|
|
738
|
+
aria-autocomplete="list"
|
|
739
|
+
aria-activedescendant=${this.activeOptionId}
|
|
740
|
+
aria-labelledby="label"
|
|
741
|
+
aria-disabled=${this.disabled ? "true" : "false"}
|
|
742
|
+
aria-describedby="help-text"
|
|
743
|
+
role="combobox"
|
|
744
|
+
@input=${this.handleInput}
|
|
745
|
+
@focus=${this.handleFocus}
|
|
746
|
+
@blur=${this.handleBlur}
|
|
747
|
+
/>
|
|
748
|
+
|
|
749
|
+
<input
|
|
750
|
+
class="combobox__value-input"
|
|
751
|
+
type="text"
|
|
752
|
+
?disabled=${this.disabled}
|
|
753
|
+
?required=${this.required}
|
|
754
|
+
.value=${Array.isArray(this.value) ? this.value.join(", ") : this.value}
|
|
755
|
+
tabindex="-1"
|
|
756
|
+
aria-hidden="true"
|
|
757
|
+
@focus=${() => this.focus()}
|
|
758
|
+
@invalid=${this.handleInvalid}
|
|
759
|
+
/>
|
|
760
|
+
|
|
761
|
+
${hasClearIcon ? b`
|
|
762
|
+
<button
|
|
763
|
+
part="clear-button"
|
|
764
|
+
class="combobox__clear"
|
|
765
|
+
type="button"
|
|
766
|
+
aria-label=${this.localize.term("clearEntry")}
|
|
767
|
+
@mousedown=${this.handleClearMouseDown}
|
|
768
|
+
@click=${this.handleClearClick}
|
|
769
|
+
tabindex="-1"
|
|
770
|
+
>
|
|
771
|
+
<slot name="clear-icon">
|
|
772
|
+
<cw-icon name="x-circle-fill" library="system"></cw-icon>
|
|
773
|
+
</slot>
|
|
774
|
+
</button>
|
|
775
|
+
` : ""}
|
|
776
|
+
|
|
777
|
+
<slot name="suffix" part="suffix" class="combobox__suffix"></slot>
|
|
778
|
+
|
|
779
|
+
<slot name="expand-icon" part="expand-icon" class="combobox__expand-icon">
|
|
780
|
+
<cw-icon library="system" name="chevron-down"></cw-icon>
|
|
781
|
+
</slot>
|
|
782
|
+
</div>
|
|
783
|
+
|
|
784
|
+
<div
|
|
785
|
+
id="listbox"
|
|
786
|
+
role="listbox"
|
|
787
|
+
aria-expanded=${this.open ? "true" : "false"}
|
|
788
|
+
aria-multiselectable=${this.multiple ? "true" : "false"}
|
|
789
|
+
aria-labelledby="label"
|
|
790
|
+
part="listbox"
|
|
791
|
+
class="combobox__listbox"
|
|
792
|
+
tabindex="-1"
|
|
793
|
+
@mousedown=${this.handleListboxMouseDown}
|
|
794
|
+
@mouseup=${this.handleOptionClick}
|
|
795
|
+
@slotchange=${this.handleDefaultSlotChange}
|
|
796
|
+
>
|
|
797
|
+
<slot></slot>
|
|
798
|
+
|
|
799
|
+
${this.loading ? b`
|
|
800
|
+
<div part="loading" class="combobox__loading">
|
|
801
|
+
<cw-spinner></cw-spinner>
|
|
802
|
+
</div>
|
|
803
|
+
` : ""}
|
|
804
|
+
${showNoOptions ? b`
|
|
805
|
+
<div part="no-options" class="combobox__no-options">
|
|
806
|
+
<slot name="no-options">No matching options found.</slot>
|
|
807
|
+
</div>
|
|
808
|
+
` : ""}
|
|
809
|
+
</div>
|
|
810
|
+
</cw-popup>
|
|
811
|
+
</div>
|
|
812
|
+
|
|
813
|
+
<div
|
|
814
|
+
part="form-control-help-text"
|
|
815
|
+
id="help-text"
|
|
816
|
+
class="form-control__help-text"
|
|
817
|
+
aria-hidden=${hasHelpText ? "false" : "true"}
|
|
818
|
+
>
|
|
819
|
+
<slot name="help-text">${this.helpText}</slot>
|
|
820
|
+
</div>
|
|
821
|
+
|
|
822
|
+
${this.multiple ? b`
|
|
823
|
+
<cw-visually-hidden role="status" aria-live="polite">
|
|
824
|
+
${this.localize.term("numOptionsSelected", this.selectedOptions.length)}
|
|
825
|
+
</cw-visually-hidden>
|
|
826
|
+
` : ""}
|
|
827
|
+
</div>
|
|
828
|
+
`;
|
|
829
|
+
}
|
|
830
|
+
};
|
|
831
|
+
CwCombobox.styles = [component_styles_default, form_control_styles_default, combobox_styles_default];
|
|
832
|
+
CwCombobox.dependencies = {
|
|
833
|
+
"cw-icon": CwIcon,
|
|
834
|
+
"cw-popup": CwPopup,
|
|
835
|
+
"cw-spinner": CwSpinner,
|
|
836
|
+
"cw-tag": CwTag,
|
|
837
|
+
"cw-visually-hidden": CwVisuallyHidden
|
|
838
|
+
};
|
|
839
|
+
__decorateClass([
|
|
840
|
+
e2(".combobox")
|
|
841
|
+
], CwCombobox.prototype, "popup", 2);
|
|
842
|
+
__decorateClass([
|
|
843
|
+
e2(".combobox__control")
|
|
844
|
+
], CwCombobox.prototype, "combobox", 2);
|
|
845
|
+
__decorateClass([
|
|
846
|
+
e2(".combobox__display-input")
|
|
847
|
+
], CwCombobox.prototype, "displayInput", 2);
|
|
848
|
+
__decorateClass([
|
|
849
|
+
e2(".combobox__value-input")
|
|
850
|
+
], CwCombobox.prototype, "valueInput", 2);
|
|
851
|
+
__decorateClass([
|
|
852
|
+
e2(".combobox__listbox")
|
|
853
|
+
], CwCombobox.prototype, "listbox", 2);
|
|
854
|
+
__decorateClass([
|
|
855
|
+
r()
|
|
856
|
+
], CwCombobox.prototype, "hasFocus", 2);
|
|
857
|
+
__decorateClass([
|
|
858
|
+
r()
|
|
859
|
+
], CwCombobox.prototype, "displayLabel", 2);
|
|
860
|
+
__decorateClass([
|
|
861
|
+
r()
|
|
862
|
+
], CwCombobox.prototype, "currentOption", 2);
|
|
863
|
+
__decorateClass([
|
|
864
|
+
r()
|
|
865
|
+
], CwCombobox.prototype, "selectedOptions", 2);
|
|
866
|
+
__decorateClass([
|
|
867
|
+
r()
|
|
868
|
+
], CwCombobox.prototype, "activeOptionId", 2);
|
|
869
|
+
__decorateClass([
|
|
870
|
+
r()
|
|
871
|
+
], CwCombobox.prototype, "hasVisibleOptions", 2);
|
|
872
|
+
__decorateClass([
|
|
873
|
+
r()
|
|
874
|
+
], CwCombobox.prototype, "valueHasChanged", 2);
|
|
875
|
+
__decorateClass([
|
|
876
|
+
r()
|
|
877
|
+
], CwCombobox.prototype, "isFiltering", 2);
|
|
878
|
+
__decorateClass([
|
|
879
|
+
n()
|
|
880
|
+
], CwCombobox.prototype, "name", 2);
|
|
881
|
+
__decorateClass([
|
|
882
|
+
r()
|
|
883
|
+
], CwCombobox.prototype, "value", 1);
|
|
884
|
+
__decorateClass([
|
|
885
|
+
n({ attribute: "value" })
|
|
886
|
+
], CwCombobox.prototype, "defaultValue", 2);
|
|
887
|
+
__decorateClass([
|
|
888
|
+
n({ reflect: true })
|
|
889
|
+
], CwCombobox.prototype, "size", 2);
|
|
890
|
+
__decorateClass([
|
|
891
|
+
n()
|
|
892
|
+
], CwCombobox.prototype, "placeholder", 2);
|
|
893
|
+
__decorateClass([
|
|
894
|
+
n({ type: Boolean, reflect: true })
|
|
895
|
+
], CwCombobox.prototype, "multiple", 2);
|
|
896
|
+
__decorateClass([
|
|
897
|
+
n({ attribute: "max-options-visible", type: Number })
|
|
898
|
+
], CwCombobox.prototype, "maxOptionsVisible", 2);
|
|
899
|
+
__decorateClass([
|
|
900
|
+
n({ type: Boolean, reflect: true })
|
|
901
|
+
], CwCombobox.prototype, "disabled", 2);
|
|
902
|
+
__decorateClass([
|
|
903
|
+
n({ type: Boolean })
|
|
904
|
+
], CwCombobox.prototype, "clearable", 2);
|
|
905
|
+
__decorateClass([
|
|
906
|
+
n({ attribute: "allow-custom-value", type: Boolean })
|
|
907
|
+
], CwCombobox.prototype, "allowCustomValue", 2);
|
|
908
|
+
__decorateClass([
|
|
909
|
+
n({ type: Boolean, reflect: true })
|
|
910
|
+
], CwCombobox.prototype, "loading", 2);
|
|
911
|
+
__decorateClass([
|
|
912
|
+
n({ type: Boolean, reflect: true })
|
|
913
|
+
], CwCombobox.prototype, "open", 2);
|
|
914
|
+
__decorateClass([
|
|
915
|
+
n({ type: Boolean })
|
|
916
|
+
], CwCombobox.prototype, "hoist", 2);
|
|
917
|
+
__decorateClass([
|
|
918
|
+
n({ type: Boolean, reflect: true })
|
|
919
|
+
], CwCombobox.prototype, "filled", 2);
|
|
920
|
+
__decorateClass([
|
|
921
|
+
n({ type: Boolean, reflect: true })
|
|
922
|
+
], CwCombobox.prototype, "pill", 2);
|
|
923
|
+
__decorateClass([
|
|
924
|
+
n()
|
|
925
|
+
], CwCombobox.prototype, "label", 2);
|
|
926
|
+
__decorateClass([
|
|
927
|
+
n({ reflect: true })
|
|
928
|
+
], CwCombobox.prototype, "placement", 2);
|
|
929
|
+
__decorateClass([
|
|
930
|
+
n({ attribute: "help-text" })
|
|
931
|
+
], CwCombobox.prototype, "helpText", 2);
|
|
932
|
+
__decorateClass([
|
|
933
|
+
n({ reflect: true })
|
|
934
|
+
], CwCombobox.prototype, "form", 2);
|
|
935
|
+
__decorateClass([
|
|
936
|
+
n({ type: Boolean, reflect: true })
|
|
937
|
+
], CwCombobox.prototype, "required", 2);
|
|
938
|
+
__decorateClass([
|
|
939
|
+
n()
|
|
940
|
+
], CwCombobox.prototype, "getTag", 2);
|
|
941
|
+
__decorateClass([
|
|
942
|
+
watch("disabled", { waitUntilFirstUpdate: true })
|
|
943
|
+
], CwCombobox.prototype, "handleDisabledChange", 1);
|
|
944
|
+
__decorateClass([
|
|
945
|
+
watch(["defaultValue", "value"], { waitUntilFirstUpdate: true })
|
|
946
|
+
], CwCombobox.prototype, "handleValueChange", 1);
|
|
947
|
+
__decorateClass([
|
|
948
|
+
watch("open", { waitUntilFirstUpdate: true })
|
|
949
|
+
], CwCombobox.prototype, "handleOpenChange", 1);
|
|
950
|
+
setDefaultAnimation("combobox.show", {
|
|
951
|
+
keyframes: [
|
|
952
|
+
{ opacity: 0, scale: 0.9 },
|
|
953
|
+
{ opacity: 1, scale: 1 }
|
|
954
|
+
],
|
|
955
|
+
options: { duration: 100, easing: "ease" }
|
|
956
|
+
});
|
|
957
|
+
setDefaultAnimation("combobox.hide", {
|
|
958
|
+
keyframes: [
|
|
959
|
+
{ opacity: 1, scale: 1 },
|
|
960
|
+
{ opacity: 0, scale: 0.9 }
|
|
961
|
+
],
|
|
962
|
+
options: { duration: 100, easing: "ease" }
|
|
963
|
+
});
|
|
964
|
+
|
|
965
|
+
export {
|
|
966
|
+
CwCombobox
|
|
967
|
+
};
|