@cordwainer/cw-elements 1.0.2 → 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.TQZ6L3P4.js → chunk.23QJ7NJJ.js} +2 -2
- package/cdn/chunks/{chunk.XOG3NHNL.js → chunk.2AVZV55V.js} +1 -1
- package/cdn/chunks/{chunk.5UO6AHMQ.js → chunk.2BZYHVAA.js} +1 -1
- package/cdn/chunks/{chunk.SMOHZXI4.js → chunk.2ELMNABV.js} +1 -1
- package/{dist/chunks/chunk.TCNA5JCH.js → cdn/chunks/chunk.2KRRVOTP.js} +1 -1
- package/cdn/chunks/{chunk.ICZSBSUK.js → chunk.2KRVWKPV.js} +1 -1
- package/cdn/chunks/{chunk.RCSVY64A.js → chunk.2M4B6U6R.js} +1 -1
- package/{dist/chunks/chunk.GBBU2BYQ.js → cdn/chunks/chunk.2MAEADU5.js} +1 -1
- package/cdn/chunks/{chunk.6IQRSUDS.js → chunk.2QQBAJ2H.js} +1 -1
- package/cdn/chunks/{chunk.47SIJ5O2.js → chunk.2QZ36WJT.js} +3 -3
- package/cdn/chunks/{chunk.DTP7WKYG.js → chunk.36KJB3ZP.js} +5 -5
- package/cdn/chunks/{chunk.DHFOXVGY.js → chunk.3EFTNCB7.js} +1 -1
- package/cdn/chunks/{chunk.FE5PFPCU.js → chunk.3XT5BPUQ.js} +1 -1
- package/cdn/chunks/{chunk.4X47BZC4.js → chunk.3ZFAS3AL.js} +1 -1
- package/cdn/chunks/{chunk.EQVCN7G2.js → chunk.423POR7Z.js} +1 -1
- package/cdn/chunks/{chunk.PWK3CNVW.js → chunk.454DLRAB.js} +1 -1
- package/cdn/chunks/{chunk.ZJ5MSA5V.js → chunk.4FOMW3EY.js} +1 -1
- package/cdn/chunks/{chunk.SZQXKHVQ.js → chunk.4OV6VPEK.js} +2 -2
- package/cdn/chunks/{chunk.6DMW4GCT.js → chunk.4R6BRK42.js} +1 -1
- package/cdn/chunks/chunk.57GIFBAS.js +341 -0
- package/cdn/chunks/{chunk.YVSFO245.js → chunk.5BZAHCJF.js} +1 -1
- package/{dist/chunks/chunk.SUZGOFVF.js → cdn/chunks/chunk.5CNMIFJF.js} +1 -1
- package/cdn/chunks/{chunk.V2JYMFH6.js → chunk.5DTXWFT4.js} +2 -2
- package/cdn/chunks/{chunk.O36Y23HB.js → chunk.5I7XA6M5.js} +1 -1
- package/cdn/chunks/{chunk.ZP2NEQKH.js → chunk.5JUMTF32.js} +1 -1
- package/cdn/chunks/{chunk.ANTTHUGO.js → chunk.5QU7YOU6.js} +4 -4
- package/cdn/chunks/{chunk.YYO5EZ2O.js → chunk.5U7RICDJ.js} +1 -1
- package/cdn/chunks/{chunk.EFEK2W42.js → chunk.5YUYCGQ7.js} +2 -2
- package/{dist/chunks/chunk.74NBE5UP.js → cdn/chunks/chunk.63AEUNNE.js} +1 -1
- package/cdn/chunks/{chunk.7FNIH65T.js → chunk.64DQ5UHZ.js} +1 -1
- package/cdn/chunks/{chunk.XYNAG6RX.js → chunk.6LD6OBAE.js} +1 -1
- package/cdn/chunks/{chunk.L3AZJDK7.js → chunk.6ZML6PPJ.js} +1 -1
- package/cdn/chunks/{chunk.QCLLOTPO.js → chunk.7CXBIEPO.js} +1 -1
- package/cdn/chunks/{chunk.2OAGK5SV.js → chunk.7DV4KFED.js} +1 -1
- package/cdn/chunks/{chunk.TUYPBSQ3.js → chunk.7FKGS4NN.js} +1 -1
- package/cdn/chunks/{chunk.Q7U7CDBC.js → chunk.7H5E2H5H.js} +1 -1
- package/cdn/chunks/{chunk.VHGZATIT.js → chunk.7J4YZAP7.js} +2 -2
- package/cdn/chunks/{chunk.C6ALLS2G.js → chunk.7NFLO67E.js} +1 -1
- package/cdn/chunks/{chunk.IXSWLWWQ.js → chunk.7QIFZGLU.js} +1 -1
- package/cdn/chunks/{chunk.4AWWOCXC.js → chunk.A32RWXXM.js} +1 -1
- package/cdn/chunks/{chunk.Q53KF64A.js → chunk.ACNV6AUB.js} +2 -2
- package/cdn/chunks/{chunk.ZJAUNGVM.js → chunk.AJ3ANPQ3.js} +1 -1
- package/cdn/chunks/{chunk.KTEBEIBH.js → chunk.AK66EZZ6.js} +2 -2
- package/cdn/chunks/{chunk.E6EBJB65.js → chunk.AP7BJUVF.js} +1 -1
- package/{dist/chunks/chunk.PTVTYKTE.js → cdn/chunks/chunk.APMZOTIL.js} +1 -1
- package/cdn/chunks/{chunk.VMX4JV6U.js → chunk.AQC4MW3D.js} +1 -1
- package/{dist/chunks/chunk.VHLJR6UC.js → cdn/chunks/chunk.AVK2F7R7.js} +1 -1
- package/cdn/chunks/{chunk.GJZ7RW7C.js → chunk.AVZR5QUK.js} +1 -1
- package/cdn/chunks/{chunk.PZWUHV25.js → chunk.B5NOVYX6.js} +1 -1
- package/cdn/chunks/{chunk.I3ASUPXI.js → chunk.B665IET3.js} +1 -1
- package/{dist/chunks/chunk.S5456PHM.js → cdn/chunks/chunk.BBY4XHBV.js} +1 -1
- package/cdn/chunks/{chunk.SMIHYJB7.js → chunk.BBZR4SMX.js} +1 -1
- package/cdn/chunks/chunk.BCYWOL5T.js +33 -0
- package/cdn/chunks/{chunk.DKWXYLAC.js → chunk.BL3LDZZ2.js} +1 -1
- package/cdn/chunks/{chunk.4MWACGIS.js → chunk.BVRVVV3H.js} +1 -1
- package/cdn/chunks/{chunk.XLCIAKAV.js → chunk.BXLLLPP4.js} +1 -1
- package/cdn/chunks/{chunk.TNDYJ22R.js → chunk.BYQOAATK.js} +1 -1
- package/{dist/chunks/chunk.42TRJM67.js → cdn/chunks/chunk.CFC7WPIH.js} +1 -1
- package/{dist/chunks/chunk.4HDSGYO6.js → cdn/chunks/chunk.CIO7YZYM.js} +1 -1
- package/cdn/chunks/{chunk.3XXTXWPF.js → chunk.CIWFI7M7.js} +1 -1
- package/{dist/chunks/chunk.GPL76NN4.js → cdn/chunks/chunk.CXSU5TA7.js} +1 -1
- package/cdn/chunks/{chunk.KFTN6NRJ.js → chunk.D755QAZ2.js} +1 -1
- package/cdn/chunks/{chunk.6PM5VZUE.js → chunk.DCDGAB72.js} +1 -1
- package/cdn/chunks/{chunk.VXXETE4D.js → chunk.DDVLQEIQ.js} +1 -1
- package/cdn/chunks/{chunk.PNBVLSZA.js → chunk.DG6RRSBW.js} +1 -1
- package/cdn/chunks/{chunk.M5S4AXDV.js → chunk.DMOBOOGK.js} +1 -1
- package/cdn/chunks/{chunk.K3XNDLXC.js → chunk.DODFRSSI.js} +2 -2
- package/cdn/chunks/{chunk.RZL4P4OK.js → chunk.DULA3BXU.js} +2 -2
- package/cdn/chunks/{chunk.ANTSFJDD.js → chunk.EF4W5VAI.js} +8 -8
- package/cdn/chunks/{chunk.2HQX3DEO.js → chunk.EK2GM3E7.js} +1 -1
- package/cdn/chunks/{chunk.I2O27SY4.js → chunk.EKA5IZBB.js} +1 -1
- package/cdn/chunks/{chunk.XHKXJXIA.js → chunk.EP3EOPIN.js} +1 -1
- package/cdn/chunks/{chunk.U33CH56X.js → chunk.EUJOOI64.js} +1 -1
- package/cdn/chunks/{chunk.X5DWWG7E.js → chunk.F4XOF4OO.js} +1 -1
- package/cdn/chunks/{chunk.XBIIIWFE.js → chunk.FA53EVHS.js} +1 -1
- package/cdn/chunks/{chunk.CYSAGOLW.js → chunk.FCANBYWU.js} +5 -5
- package/cdn/chunks/{chunk.NJVDJE4P.js → chunk.FD2BLKNF.js} +1 -1
- package/cdn/chunks/{chunk.DFDGTIXB.js → chunk.FIKR7I4P.js} +1 -1
- package/cdn/chunks/{chunk.YPDHO2MV.js → chunk.FNTJI56Z.js} +1 -1
- package/cdn/chunks/{chunk.QJEQT4GA.js → chunk.FU5AEFPB.js} +1 -1
- package/{dist/chunks/chunk.TM4EEBB7.js → cdn/chunks/chunk.G3JTEGO6.js} +1 -1
- package/cdn/chunks/{chunk.QJP6RERB.js → chunk.G4F5AGXC.js} +1 -1
- package/cdn/chunks/{chunk.KE3FRZ66.js → chunk.G4S6PHF2.js} +1 -1
- package/{dist/chunks/chunk.SUBS3R35.js → cdn/chunks/chunk.G6WVVAXZ.js} +1 -1
- package/cdn/chunks/{chunk.V4WJHI6K.js → chunk.G7ONJPZV.js} +1 -1
- package/cdn/chunks/{chunk.3IW2ULOI.js → chunk.GAFXEGCL.js} +4 -4
- package/cdn/chunks/{chunk.5NLZQEAP.js → chunk.GHZHB7GZ.js} +1 -1
- package/cdn/chunks/chunk.GKTPFSX2.js +11 -0
- package/cdn/chunks/{chunk.4TDQ3D5D.js → chunk.GO7KGZOP.js} +9 -9
- package/cdn/chunks/{chunk.ODEFDLOS.js → chunk.GVVKJKG6.js} +1 -1
- package/cdn/chunks/{chunk.YYM5B3SU.js → chunk.HHXNLZL6.js} +2 -2
- package/cdn/chunks/{chunk.OFPEBHPZ.js → chunk.HIF2OHVM.js} +1 -1
- package/cdn/chunks/{chunk.ZIUWRRPK.js → chunk.HMT745MR.js} +1 -1
- package/{dist/chunks/chunk.IDQZK3GT.js → cdn/chunks/chunk.HNNT46J6.js} +1 -1
- package/cdn/chunks/{chunk.JFH76EBB.js → chunk.HRUSWDQO.js} +1 -1
- package/cdn/chunks/{chunk.PRESQM3N.js → chunk.HYY2OEES.js} +1 -1
- package/cdn/chunks/{chunk.XVXHFMZV.js → chunk.IJV5TSMJ.js} +1 -1
- package/cdn/chunks/{chunk.64X7JHZT.js → chunk.IST3R6UF.js} +1 -1
- package/cdn/chunks/{chunk.IPSBVART.js → chunk.J22HNHPX.js} +1 -1
- package/cdn/chunks/{chunk.ZKF6T35X.js → chunk.J3WFI2KI.js} +1 -1
- package/cdn/chunks/{chunk.RTKJSUYI.js → chunk.JDNQB5GE.js} +1 -1
- package/cdn/chunks/{chunk.YUMMPJ3R.js → chunk.JKVP3CWK.js} +1 -1
- package/cdn/chunks/{chunk.IRW4ZF36.js → chunk.JNVGCUJV.js} +2 -2
- package/cdn/chunks/{chunk.O6P3UCS3.js → chunk.JWIYHJZV.js} +1 -1
- package/cdn/chunks/{chunk.HEEJQFJX.js → chunk.JYAECO5B.js} +1 -1
- package/cdn/chunks/{chunk.NAVQTIA5.js → chunk.JYEWLHBO.js} +1 -1
- package/cdn/chunks/{chunk.UJ3GXAMK.js → chunk.KDPC7QBC.js} +1 -1
- package/{dist/chunks/chunk.6EVZOAKZ.js → cdn/chunks/chunk.KKDGIKPZ.js} +1 -1
- package/cdn/chunks/{chunk.L6BYULGZ.js → chunk.KVJ5VZD5.js} +1 -1
- package/{dist/chunks/chunk.DFHNAMOU.js → cdn/chunks/chunk.KZWBHZBX.js} +1 -1
- package/cdn/chunks/{chunk.TPW2IRUK.js → chunk.L6FHFQMH.js} +1 -1
- package/cdn/chunks/{chunk.XQVMPQOG.js → chunk.L76DX3LO.js} +1 -1
- package/{dist/chunks/chunk.GBFKDMZN.js → cdn/chunks/chunk.LJXRCZI7.js} +1 -1
- package/cdn/chunks/{chunk.FZDLUBZM.js → chunk.LOYDJCRX.js} +1 -1
- package/cdn/chunks/{chunk.JC5KFVRV.js → chunk.LSZCLNXC.js} +1 -1
- package/cdn/chunks/{chunk.YFHG4BQM.js → chunk.LTOS2OMK.js} +1 -1
- package/cdn/chunks/{chunk.JHE2G42X.js → chunk.LTSCKEZA.js} +4 -4
- package/{dist/chunks/chunk.VIBQBWQR.js → cdn/chunks/chunk.M3T2MZBI.js} +1 -1
- package/cdn/chunks/{chunk.A6URMEL7.js → chunk.M5Y3CVH5.js} +1 -1
- package/cdn/chunks/{chunk.E46RKBOL.js → chunk.MA7BRXRJ.js} +4 -4
- package/{dist/chunks/chunk.NNMCYUSA.js → cdn/chunks/chunk.MOOLNJWA.js} +1 -1
- package/cdn/chunks/{chunk.KCJOC3GW.js → chunk.MPKZLETH.js} +2 -2
- package/cdn/chunks/{chunk.3SK4L2LK.js → chunk.MQCVKOGC.js} +1 -1
- package/{dist/chunks/chunk.6LYG5EBS.js → cdn/chunks/chunk.MREAUPYK.js} +1 -1
- package/cdn/chunks/chunk.N6NGURUS.js +967 -0
- package/cdn/chunks/{chunk.LBJRL3GV.js → chunk.N7Z7YFPG.js} +1 -1
- package/cdn/chunks/{chunk.2OVEVC7W.js → chunk.O4IXCC3Q.js} +1 -1
- package/cdn/chunks/{chunk.TNSLMF4J.js → chunk.OBBP4SDL.js} +2 -2
- package/cdn/chunks/{chunk.MVJ2FLLM.js → chunk.OFAB73NQ.js} +1 -1
- package/cdn/chunks/{chunk.BWYIRBRB.js → chunk.OFICDQUP.js} +1 -1
- package/{dist/chunks/chunk.4YRCZGZ2.js → cdn/chunks/chunk.OHS5HEB7.js} +1 -1
- package/cdn/chunks/{chunk.H3OHBUEG.js → chunk.OMQZMDHO.js} +4 -4
- package/cdn/chunks/{chunk.7OHKRALR.js → chunk.OOID47SK.js} +1 -1
- package/cdn/chunks/{chunk.VKMERZDR.js → chunk.ORXAOSYG.js} +1 -1
- package/cdn/chunks/{chunk.JIDC3UIK.js → chunk.PEOS3WEQ.js} +1 -1
- package/cdn/chunks/{chunk.46TK6HVL.js → chunk.PLA2L3GD.js} +1 -1
- package/cdn/chunks/{chunk.4CVR5OCV.js → chunk.PMION4XH.js} +3 -3
- package/{dist/chunks/chunk.MOGBOLD3.js → cdn/chunks/chunk.PVO3FADL.js} +1 -1
- package/cdn/chunks/{chunk.DN7B4ZTX.js → chunk.PWDUNF72.js} +2 -2
- package/cdn/chunks/{chunk.6O7IXZWF.js → chunk.QBDAXQRD.js} +2 -2
- package/{dist/chunks/chunk.XL7275CV.js → cdn/chunks/chunk.QEEST3EB.js} +1 -1
- package/cdn/chunks/{chunk.G4MD652W.js → chunk.QEU47NC2.js} +1 -1
- package/cdn/chunks/{chunk.LHPYB2AF.js → chunk.QGL5IXBT.js} +1 -1
- package/cdn/chunks/{chunk.ASAWTOPQ.js → chunk.RAF72V64.js} +1 -1
- package/cdn/chunks/{chunk.ZHHDDZQT.js → chunk.RETIUTF2.js} +1 -1
- package/cdn/chunks/{chunk.ODQ4JYAL.js → chunk.RG2ZQTZT.js} +1 -1
- package/{dist/chunks/chunk.DEYRT4DJ.js → cdn/chunks/chunk.RLDOF26C.js} +1 -1
- package/cdn/chunks/{chunk.TSOJ2LSG.js → chunk.RQTACNRD.js} +1 -1
- package/cdn/chunks/{chunk.ZSEM66SM.js → chunk.RRQWN4VQ.js} +1 -1
- package/cdn/chunks/{chunk.OO6DR65X.js → chunk.S36OHWCD.js} +1 -1
- package/cdn/chunks/{chunk.QHUQYKVD.js → chunk.SFDCC6RP.js} +1 -1
- package/cdn/chunks/{chunk.PMLEJSBX.js → chunk.STHQ7WFY.js} +1 -1
- package/cdn/chunks/{chunk.O64COSFM.js → chunk.T2MLBJCH.js} +3 -3
- package/cdn/chunks/{chunk.UYYGAFFJ.js → chunk.TDV6FYZX.js} +2 -2
- package/cdn/chunks/{chunk.EEGGAFJO.js → chunk.TEFTEV42.js} +1 -1
- package/cdn/chunks/{chunk.PJD3DRQI.js → chunk.TLS5MIRB.js} +1 -1
- package/cdn/chunks/{chunk.PKD7CGJ4.js → chunk.TMLGI2RQ.js} +1 -1
- package/cdn/chunks/{chunk.VLHASXH2.js → chunk.UCSRLWA2.js} +1 -1
- package/cdn/chunks/{chunk.Y52MARJR.js → chunk.UOCMT5KF.js} +1 -1
- package/{dist/chunks/chunk.VMTJ57US.js → cdn/chunks/chunk.URQUUCLV.js} +1 -1
- package/cdn/chunks/{chunk.Z4E4ZXSS.js → chunk.VDKDAFO4.js} +1 -1
- package/cdn/chunks/{chunk.SQQ246PU.js → chunk.VG3JLKZT.js} +1 -1
- package/cdn/chunks/{chunk.KHOADYAA.js → chunk.VGZACMVS.js} +1 -1
- package/cdn/chunks/{chunk.6SO6VJBG.js → chunk.VX3O2XFT.js} +1 -1
- package/cdn/chunks/{chunk.GBP2LKDG.js → chunk.W3A4O5SL.js} +1 -1
- package/cdn/chunks/{chunk.JEYWOIAH.js → chunk.WFIK4QKU.js} +1 -1
- package/cdn/chunks/{chunk.2TN5Q3BA.js → chunk.WIMBCK75.js} +4 -0
- package/cdn/chunks/{chunk.PZPN7YV2.js → chunk.X4MRYMNI.js} +1 -1
- package/{dist/chunks/chunk.6VRR5ZJ2.js → cdn/chunks/chunk.X5LEEANE.js} +1 -1
- package/cdn/chunks/{chunk.EQUKFMS6.js → chunk.X5OOOBYY.js} +1 -1
- package/cdn/chunks/{chunk.RCBIFZT4.js → chunk.XDHHJ5CI.js} +1 -1
- package/cdn/chunks/{chunk.F63G44SY.js → chunk.XMOKORIS.js} +1 -1
- package/cdn/chunks/{chunk.ZEJCID2X.js → chunk.XRJQMOKI.js} +3 -3
- package/cdn/chunks/{chunk.VYOMHYZX.js → chunk.XTSPN4R2.js} +1 -1
- package/cdn/chunks/{chunk.U2DABTPW.js → chunk.Y5IX73JH.js} +1 -1
- package/{dist/chunks/chunk.FIOUMZBS.js → cdn/chunks/chunk.YJB5ER7V.js} +1 -1
- package/cdn/chunks/{chunk.LRMGNZGO.js → chunk.YMCVVN7I.js} +1 -1
- package/cdn/chunks/{chunk.KI5CXG5S.js → chunk.YQGDVTMB.js} +2 -2
- package/cdn/chunks/{chunk.RWH7JSMF.js → chunk.YQKIZ6FS.js} +1 -1
- package/{dist/chunks/chunk.BQRYXKE5.js → cdn/chunks/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 +5 -5
- package/cdn/components/option/option.js +6 -6
- package/cdn/components/option/option.styles.js +1 -1
- 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 +183 -177
- 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 +6 -6
- 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.UDPS7MYS.js → chunk.2747IIKP.js} +1 -1
- package/dist/chunks/{chunk.6R3ESIWG.js → chunk.2IO5RPED.js} +1 -1
- package/dist/chunks/{chunk.PNWKPUCA.js → chunk.2LPGT5X7.js} +1 -1
- package/{cdn/chunks/chunk.R5YJOAJV.js → dist/chunks/chunk.2WXOAVPT.js} +1 -1
- package/dist/chunks/{chunk.Y5NPLSYP.js → chunk.3G3EPS43.js} +1 -1
- package/dist/chunks/{chunk.UHUDOCMI.js → chunk.3KCAFARP.js} +1 -1
- package/dist/chunks/{chunk.X7KDLS5P.js → chunk.3MWRZHJI.js} +3 -3
- package/dist/chunks/{chunk.UCSJGVT6.js → chunk.3XXDGLXD.js} +1 -1
- package/dist/chunks/{chunk.PRA35KDZ.js → chunk.44QRCJ3U.js} +1 -1
- package/dist/chunks/{chunk.BSG4KH2I.js → chunk.45UF2NV7.js} +2 -2
- package/dist/chunks/{chunk.R43NTMFG.js → chunk.52M7YFL5.js} +4 -4
- package/dist/chunks/{chunk.V27DE2IT.js → chunk.567JN6DK.js} +1 -1
- package/dist/chunks/{chunk.IGMA3TRX.js → chunk.5QIUN6VE.js} +1 -1
- package/dist/chunks/{chunk.LKBVTNHI.js → chunk.5QQSIF7Z.js} +1 -1
- package/dist/chunks/{chunk.PDAXQDGF.js → chunk.5UHOHCG6.js} +1 -1
- package/dist/chunks/{chunk.QUQQNLQR.js → chunk.65GPXPS4.js} +1 -1
- package/{cdn/chunks/chunk.TIPRIH36.js → dist/chunks/chunk.665FBIVN.js} +1 -1
- package/dist/chunks/{chunk.Z3UFILDB.js → chunk.6IFYZB4Q.js} +9 -9
- package/dist/chunks/{chunk.NKFNHMFV.js → chunk.6UINBE7O.js} +1 -1
- package/dist/chunks/{chunk.6ZOSGWGU.js → chunk.6XW7V33W.js} +1 -1
- package/dist/chunks/{chunk.Z3UUNM2N.js → chunk.7433LIYL.js} +1 -1
- package/dist/chunks/{chunk.B66ZD3J4.js → chunk.763YHQPW.js} +1 -1
- package/{cdn/chunks/chunk.HFF4G6QE.js → dist/chunks/chunk.7MUQRKSL.js} +1 -1
- package/dist/chunks/{chunk.XRJ43REX.js → chunk.7OV3SGRD.js} +1 -1
- package/dist/chunks/{chunk.PH74XJK3.js → chunk.7SIWEJUF.js} +2 -2
- package/dist/chunks/{chunk.44XQBW75.js → chunk.7TGFFVOO.js} +1 -1
- package/{cdn/chunks/chunk.FWQCNUGN.js → dist/chunks/chunk.AGM34VVK.js} +1 -1
- package/dist/chunks/{chunk.C3O43ZKN.js → chunk.AI4SASOJ.js} +1 -1
- package/dist/chunks/{chunk.I62RCLDT.js → chunk.AL65PY7V.js} +1 -1
- package/dist/chunks/{chunk.XCMFTCYL.js → chunk.AR6SR2WY.js} +1 -1
- package/dist/chunks/{chunk.LJCL7IUC.js → chunk.ARSNH6JV.js} +1 -1
- package/dist/chunks/{chunk.FZPGKQPU.js → chunk.AUK3FUDQ.js} +1 -1
- package/dist/chunks/{chunk.LUER5MLB.js → chunk.AVRTUBBV.js} +1 -1
- package/dist/chunks/{chunk.A24MI6CU.js → chunk.AZHMWS6L.js} +1 -1
- package/dist/chunks/{chunk.XQXTVMB5.js → chunk.BGVXOK25.js} +1 -1
- package/dist/chunks/{chunk.YDEIYWQB.js → chunk.BK6L7XUN.js} +1 -1
- package/dist/chunks/{chunk.PXXKAZUQ.js → chunk.BRWGDDSD.js} +1 -1
- package/dist/chunks/{chunk.P2H4XPZB.js → chunk.C5WPJECI.js} +2 -2
- package/dist/chunks/{chunk.MXTZZBRY.js → chunk.C7UXSUZS.js} +1 -1
- package/dist/chunks/{chunk.VHXBRIAR.js → chunk.CBBCTNVQ.js} +1 -1
- package/dist/chunks/{chunk.BII65CLF.js → chunk.CVMFCNMM.js} +1 -1
- package/{cdn/chunks/chunk.6XV7PGED.js → dist/chunks/chunk.CVOBAEVZ.js} +1 -1
- package/dist/chunks/chunk.CZCGIYSR.js +338 -0
- package/dist/chunks/{chunk.KLQ5S66E.js → chunk.D24OLOG5.js} +1 -1
- package/dist/chunks/{chunk.QTTU3A5W.js → chunk.D3EVDN26.js} +1 -1
- package/dist/chunks/{chunk.LMP3MPYG.js → chunk.DESAXJQ5.js} +1 -1
- package/dist/chunks/{chunk.DJ25SBHI.js → chunk.DGVJSWGF.js} +1 -1
- package/dist/chunks/{chunk.C3LKFG5F.js → chunk.DM5MBJXC.js} +2 -2
- package/dist/chunks/{chunk.BD6JFMBI.js → chunk.DOB2DE43.js} +1 -1
- package/dist/chunks/{chunk.4Q5HFJ6X.js → chunk.DQHJ5K4Z.js} +4 -4
- package/dist/chunks/{chunk.AKNV3FCD.js → chunk.DSY23EIY.js} +1 -1
- package/{cdn/chunks/chunk.52ZPY4WX.js → dist/chunks/chunk.E42PJXHU.js} +1 -1
- package/dist/chunks/{chunk.VLCFQUZ4.js → chunk.E6532JK6.js} +1 -1
- package/dist/chunks/{chunk.NRRXYYSJ.js → chunk.EBQIFLA3.js} +2 -2
- package/dist/chunks/{chunk.7WQKU7BB.js → chunk.EIC7L5SA.js} +1 -1
- package/dist/chunks/{chunk.OB2ADHIO.js → chunk.EUJQPPBD.js} +1 -1
- package/dist/chunks/{chunk.UIEHFFBV.js → chunk.F4CQKCWM.js} +2 -2
- package/{cdn/chunks/chunk.UODLVRLT.js → dist/chunks/chunk.FCSLBJKP.js} +1 -1
- package/dist/chunks/{chunk.S4ZWERNN.js → chunk.FFOZ5QYG.js} +1 -1
- package/dist/chunks/{chunk.IGY7PBUF.js → chunk.GA7G5JW4.js} +2 -2
- package/dist/chunks/{chunk.BIX52CV6.js → chunk.GDJZZD46.js} +1 -1
- package/dist/chunks/{chunk.ZZB6LLX3.js → chunk.GDTFI5GT.js} +2 -2
- package/dist/chunks/{chunk.ZYWMLRK3.js → chunk.GF2IXBUV.js} +1 -1
- package/dist/chunks/{chunk.HVVQXV6L.js → chunk.GOBD4Z65.js} +1 -1
- package/dist/chunks/{chunk.BUD2Y5KB.js → chunk.GULR3V5I.js} +1 -1
- package/dist/chunks/{chunk.USWV4GVD.js → chunk.HDSCF2QB.js} +1 -1
- package/{cdn/chunks/chunk.5AHXKULL.js → dist/chunks/chunk.HE37CRVM.js} +1 -1
- package/dist/chunks/{chunk.MQEYOLZR.js → chunk.HFKJXCTI.js} +2 -2
- package/dist/chunks/{chunk.W62PHIWL.js → chunk.HGYRJZEQ.js} +1 -1
- package/{cdn/chunks/chunk.KCPOJLSU.js → dist/chunks/chunk.HJPFAS7Y.js} +1 -1
- package/dist/chunks/{chunk.VEZ2CLWV.js → chunk.HOXXIMTY.js} +1 -1
- package/dist/chunks/{chunk.ZEI4UV7E.js → chunk.HWLR3F4N.js} +4 -0
- package/dist/chunks/{chunk.JYTRA64M.js → chunk.IEYNC5ZO.js} +2 -2
- package/{cdn/chunks/chunk.7UTZOBYZ.js → dist/chunks/chunk.IFDMWT4R.js} +1 -1
- package/dist/chunks/{chunk.O5TANM7H.js → chunk.IG74SDTK.js} +1 -1
- package/dist/chunks/{chunk.SCIXEGKD.js → chunk.IJ6QAZGA.js} +1 -1
- package/dist/chunks/{chunk.7QOMP5OS.js → chunk.IKWWODYQ.js} +1 -1
- package/dist/chunks/{chunk.GSAY5CPY.js → chunk.INTNI2AM.js} +1 -1
- package/dist/chunks/{chunk.LKDA6VWL.js → chunk.J7MTCPEZ.js} +1 -1
- package/dist/chunks/{chunk.HUAT2BXW.js → chunk.JEUQMOE6.js} +1 -1
- package/dist/chunks/{chunk.LOXHAQII.js → chunk.JMQ7CTGW.js} +1 -1
- package/dist/chunks/{chunk.CEDXIRBJ.js → chunk.K6UUETAU.js} +1 -1
- package/dist/chunks/{chunk.KY4ABK52.js → chunk.KBFG6YOY.js} +3 -3
- package/dist/chunks/{chunk.YPQM6QOU.js → chunk.KIDIHVHM.js} +1 -1
- package/dist/chunks/{chunk.7OCOXMLV.js → chunk.KLMDKBSQ.js} +1 -1
- package/dist/chunks/{chunk.XYQVPLDZ.js → chunk.KNVWXOX5.js} +1 -1
- package/dist/chunks/{chunk.HM2HBOVI.js → chunk.KOKMERMV.js} +1 -1
- package/{cdn/chunks/chunk.Q3GCUICP.js → dist/chunks/chunk.KRYDATMA.js} +1 -1
- package/dist/chunks/{chunk.LKFZC5LA.js → chunk.KT35R72U.js} +1 -1
- package/dist/chunks/{chunk.C23PDMYU.js → chunk.KT4VDHOS.js} +1 -1
- package/dist/chunks/{chunk.K4LQNSMT.js → chunk.L6QTSP3C.js} +2 -2
- package/dist/chunks/{chunk.CVKASUW5.js → chunk.LDYA5LEF.js} +1 -1
- package/dist/chunks/{chunk.F2QBBCAA.js → chunk.LE7AQJCB.js} +1 -1
- package/dist/chunks/{chunk.HUOWZXDY.js → chunk.LJZYTPHX.js} +2 -2
- package/dist/chunks/{chunk.YT53KXXK.js → chunk.LKYPNZHC.js} +1 -1
- package/dist/chunks/{chunk.34IK5NQY.js → chunk.M22HSCZX.js} +2 -2
- package/dist/chunks/{chunk.GXDFKGUF.js → chunk.MBTECJ34.js} +1 -1
- package/dist/chunks/{chunk.QRC3N5YX.js → chunk.MDNPNMFX.js} +4 -4
- package/dist/chunks/{chunk.A67PZOF5.js → chunk.MGGJ5IGG.js} +1 -1
- package/dist/chunks/{chunk.DL5FISIT.js → chunk.MNDGAY37.js} +1 -1
- package/{cdn/chunks/chunk.AMA4XHAU.js → dist/chunks/chunk.MZPA3A6E.js} +1 -1
- package/dist/chunks/{chunk.HUNZDMJX.js → chunk.NBSCYGEO.js} +1 -1
- package/dist/chunks/{chunk.HNU4SN6P.js → chunk.NDCLKVTA.js} +5 -5
- package/dist/chunks/{chunk.D7YV22EA.js → chunk.NDYXHETJ.js} +1 -1
- package/dist/chunks/{chunk.I47JAHRK.js → chunk.NM6FV6GO.js} +1 -1
- package/dist/chunks/{chunk.3HV6T23P.js → chunk.NMGHEELN.js} +2 -2
- package/dist/chunks/{chunk.6DOQK5ID.js → chunk.NQRPSUW2.js} +1 -1
- package/dist/chunks/{chunk.5GJPRUIH.js → chunk.NX5IE35B.js} +1 -1
- package/{cdn/chunks/chunk.XS755D34.js → dist/chunks/chunk.NYYMMRQF.js} +1 -1
- package/dist/chunks/{chunk.YLCKI7ZT.js → chunk.O4BM2XHQ.js} +1 -1
- package/dist/chunks/{chunk.SIOAXEVU.js → chunk.OMKCBDVN.js} +1 -1
- package/{cdn/chunks/chunk.IWHANVLY.js → dist/chunks/chunk.OXJKUKQI.js} +1 -1
- package/dist/chunks/{chunk.SMND2LSQ.js → chunk.P2GJ4VV3.js} +1 -1
- package/dist/chunks/{chunk.C7TMCZXX.js → chunk.P6WYIVRU.js} +1 -1
- package/dist/chunks/{chunk.P5QZD3Z4.js → chunk.P7RKLO6R.js} +1 -1
- package/dist/chunks/{chunk.IDA4H2JV.js → chunk.PJOUZH3H.js} +1 -1
- package/dist/chunks/{chunk.HPFK2X73.js → chunk.PMCE6ODO.js} +1 -1
- package/dist/chunks/{chunk.M3MOQRZA.js → chunk.PMK6QNRC.js} +1 -1
- package/{cdn/chunks/chunk.4CDXVAAD.js → dist/chunks/chunk.PQSKOESY.js} +1 -1
- package/dist/chunks/{chunk.AHWHVEOH.js → chunk.PRUL2VS7.js} +1 -1
- package/dist/chunks/{chunk.KACCKGE5.js → chunk.PTFZH4OX.js} +1 -1
- package/dist/chunks/{chunk.6BIB436T.js → chunk.Q2BZ5L4Q.js} +1 -1
- package/dist/chunks/{chunk.X3VRX37Y.js → chunk.Q4YNMCNT.js} +4 -4
- package/dist/chunks/{chunk.XNY55B26.js → chunk.QAT3D7DX.js} +1 -1
- package/dist/chunks/{chunk.ZCQTPY5A.js → chunk.QGH7J6CH.js} +1 -1
- package/{cdn/chunks/chunk.44C4NBBD.js → dist/chunks/chunk.QHO2UAQT.js} +1 -1
- package/{cdn/chunks/chunk.342YSOKP.js → dist/chunks/chunk.QIDODUL4.js} +1 -1
- package/dist/chunks/{chunk.E3S3ZTTY.js → chunk.QIRVGE6Z.js} +1 -1
- package/dist/chunks/{chunk.N3DCTWCT.js → chunk.QTH5KWYR.js} +1 -1
- package/dist/chunks/{chunk.X2MO4HLJ.js → chunk.QW57S6BW.js} +1 -1
- package/dist/chunks/{chunk.6W3G2PNO.js → chunk.QXFO3QWK.js} +1 -1
- package/dist/chunks/{chunk.YBCYTP27.js → chunk.R73XOGFN.js} +1 -1
- package/{cdn/chunks/chunk.4NXDAA5X.js → dist/chunks/chunk.RBIK3ZI2.js} +1 -1
- package/dist/chunks/{chunk.CLMJC7ZR.js → chunk.RDEJ5UJC.js} +1 -1
- package/dist/chunks/{chunk.WWGHAFHR.js → chunk.RRA5SLN5.js} +2 -2
- package/dist/chunks/{chunk.PYQFFEGZ.js → chunk.RSQDRTVW.js} +1 -1
- package/dist/chunks/{chunk.NVGULLCI.js → chunk.RX7RUQZB.js} +1 -1
- package/dist/chunks/{chunk.KX7ZNQWA.js → chunk.S3F7MIGD.js} +1 -1
- package/{cdn/chunks/chunk.FZAOAWCR.js → dist/chunks/chunk.SDC54GIC.js} +1 -1
- package/dist/chunks/{chunk.F4DV3AND.js → chunk.SFYH2R4X.js} +1 -1
- package/dist/chunks/{chunk.TDFN6LBW.js → chunk.SJ24DYR2.js} +1 -1
- package/dist/chunks/{chunk.FMC2O2YU.js → chunk.SMSBTM6G.js} +1 -1
- package/dist/chunks/chunk.SPZTN6LU.js +11 -0
- package/dist/chunks/chunk.SXSVZZB4.js +959 -0
- package/dist/chunks/{chunk.TJDV2YXR.js → chunk.SZPMEWOB.js} +1 -1
- package/{cdn/chunks/chunk.CEX73JIB.js → dist/chunks/chunk.T7XLHTVV.js} +1 -1
- package/dist/chunks/{chunk.ORHV3JVR.js → chunk.TKBUILRJ.js} +1 -1
- package/dist/chunks/chunk.TMGWXVEU.js +33 -0
- package/dist/chunks/{chunk.OWZL6NES.js → chunk.U23GUW3O.js} +1 -1
- package/dist/chunks/{chunk.IAU62S5M.js → chunk.U45TJLC6.js} +1 -1
- package/dist/chunks/{chunk.5DT544T6.js → chunk.U7K3BGXK.js} +2 -2
- package/{cdn/chunks/chunk.6RUYHTSX.js → dist/chunks/chunk.UDU53G4K.js} +1 -1
- package/dist/chunks/{chunk.Q67H3SF3.js → chunk.UKRLMHI6.js} +1 -1
- package/dist/chunks/{chunk.SQX2UV36.js → chunk.UQJ6QVAZ.js} +1 -1
- package/dist/chunks/{chunk.ZNGX462N.js → chunk.UR6NVETE.js} +1 -1
- package/dist/chunks/{chunk.SQKLXHV4.js → chunk.UXEEZOF7.js} +1 -1
- package/{cdn/chunks/chunk.4LMZHXMR.js → dist/chunks/chunk.V3Z2BTMH.js} +1 -1
- package/dist/chunks/{chunk.TYBNBDGY.js → chunk.V53K453G.js} +1 -1
- package/dist/chunks/{chunk.TV6GVQ3D.js → chunk.VIDPDBD4.js} +3 -3
- package/{cdn/chunks/chunk.EUBWDIDZ.js → dist/chunks/chunk.VJ2NXK6M.js} +1 -1
- package/dist/chunks/{chunk.JHR364CM.js → chunk.VMMAAE4P.js} +8 -8
- package/dist/chunks/{chunk.REF6SUJT.js → chunk.VTHFNCHH.js} +1 -1
- package/dist/chunks/{chunk.NJMU63ZO.js → chunk.W2VPO4VE.js} +4 -4
- package/dist/chunks/{chunk.EE5EDFJ6.js → chunk.WF35TQ3B.js} +1 -1
- package/{cdn/chunks/chunk.CZTLGSYL.js → dist/chunks/chunk.WQHQN73Y.js} +1 -1
- package/dist/chunks/{chunk.LIGT726B.js → chunk.WRL4DMNY.js} +1 -1
- package/{cdn/chunks/chunk.ATJLKPWT.js → dist/chunks/chunk.X2ZJLZBO.js} +1 -1
- package/dist/chunks/{chunk.J3QSCWIF.js → chunk.X5NZMCF5.js} +1 -1
- package/dist/chunks/{chunk.JMNBAYQP.js → chunk.XHFMC7NL.js} +1 -1
- package/{cdn/chunks/chunk.IZH2MLTH.js → dist/chunks/chunk.XISG4TGO.js} +1 -1
- package/dist/chunks/{chunk.QVRQWKGQ.js → chunk.XJFKIUZL.js} +1 -1
- package/dist/chunks/{chunk.ZN3P27UU.js → chunk.XLC63U4A.js} +2 -2
- package/dist/chunks/{chunk.RXSCO6W3.js → chunk.XSSQNTMJ.js} +3 -3
- package/{cdn/chunks/chunk.YVPIHTIR.js → dist/chunks/chunk.XTLMFQRG.js} +1 -1
- package/dist/chunks/{chunk.YTDMZ6FA.js → chunk.XTZWIN4P.js} +1 -1
- package/dist/chunks/{chunk.UBCM2G7G.js → chunk.YFCIPDEQ.js} +1 -1
- package/dist/chunks/{chunk.VYXYVO6X.js → chunk.Z5GWLXE7.js} +2 -2
- package/dist/chunks/{chunk.YTQFLJUC.js → chunk.ZON7Z32S.js} +1 -1
- package/dist/chunks/{chunk.6IUL5HBD.js → chunk.ZQVN5QDH.js} +1 -1
- package/dist/chunks/{chunk.CRBQ5MXF.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 +5 -5
- package/dist/components/option/option.js +6 -6
- package/dist/components/option/option.styles.js +1 -1
- 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 +182 -176
- 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 +6 -6
- 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
|
+
};
|