@esri/calcite-components 5.1.0-next.3 → 5.1.0-next.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/2I24Q6HG.js +2 -0
- package/dist/cdn/2LUMWQZY.js +2 -0
- package/dist/cdn/{QOXTJ7PA.js → 34WUOWO6.js} +1 -1
- package/dist/cdn/{6C5JMRKM.js → 3FXLCXEF.js} +1 -1
- package/dist/cdn/3LVPP52S.js +2 -0
- package/dist/cdn/3UU6PUEZ.js +2 -0
- package/dist/cdn/{RHJW4CXA.js → 46XYBXSA.js} +1 -1
- package/dist/cdn/{LCPYWUGK.js → 47ZWM6SP.js} +1 -1
- package/dist/cdn/4CGPBRFI.js +2 -0
- package/dist/cdn/{EQ4Z4LBA.js → 4RP3OGCP.js} +1 -1
- package/dist/cdn/{X6LSQXQT.js → 57CIL36H.js} +1 -1
- package/dist/cdn/{SQLDNSI6.js → 5DEP6UL7.js} +1 -1
- package/dist/cdn/5DEXYRFH.js +2 -0
- package/dist/cdn/66BQUAEF.js +2 -0
- package/dist/cdn/6742QPEE.js +2 -0
- package/dist/cdn/6FSL67XJ.js +2 -0
- package/dist/cdn/{IZBELXZC.js → 6KMNIG3H.js} +1 -1
- package/dist/cdn/{B4VMCAZI.js → 6LODJ26H.js} +1 -1
- package/dist/cdn/74EOXSPH.js +2 -0
- package/dist/cdn/7GTG7SUF.js +2 -0
- package/dist/cdn/7I5EKIDO.js +2 -0
- package/dist/cdn/7Q6FVOSE.js +2 -0
- package/dist/cdn/7WMQKIBY.js +2 -0
- package/dist/cdn/7YQW7B7E.js +2 -0
- package/dist/cdn/7ZBXJRPO.js +2 -0
- package/dist/cdn/{ECURCDZ2.js → A7RILTOO.js} +1 -1
- package/dist/cdn/AFGHAQUQ.js +2 -0
- package/dist/cdn/{QGBPRJIT.js → AHEDZHQ2.js} +1 -1
- package/dist/cdn/AJTOSFDH.js +2 -0
- package/dist/cdn/AOP3NH2U.js +2 -0
- package/dist/cdn/{D3ZA3ZSE.js → AOQ34WQ6.js} +1 -1
- package/dist/cdn/AQNYPIPX.js +2 -0
- package/dist/cdn/ARNANVZZ.js +2 -0
- package/dist/cdn/AVYPI52K.js +2 -0
- package/dist/cdn/B3EBGYCI.js +2 -0
- package/dist/cdn/{2EN543JD.js → BS547LGW.js} +1 -1
- package/dist/cdn/{KHE57SV3.js → BXIBMOE6.js} +1 -1
- package/dist/cdn/BYS4GNCX.js +2 -0
- package/dist/cdn/{YX5LYAIV.js → C32S4HGX.js} +1 -1
- package/dist/cdn/CBWGCOIO.js +2 -0
- package/dist/cdn/{XLOC3L55.js → CJQWESQ2.js} +3 -3
- package/dist/cdn/CJTB2G5O.js +2 -0
- package/dist/cdn/CNQVNMR7.js +2 -0
- package/dist/cdn/CPIWY5GX.js +2 -0
- package/dist/cdn/D3G4KNL4.js +2 -0
- package/dist/cdn/{EHIAXJAL.js → DCWL5FUH.js} +1 -1
- package/dist/cdn/DDDUIVNA.js +2 -0
- package/dist/cdn/{I5LZP3DC.js → DJ5TODX7.js} +1 -1
- package/dist/cdn/{IF5AIFNS.js → DQJ3PS72.js} +1 -1
- package/dist/cdn/DSY7BOJJ.js +2 -0
- package/dist/cdn/{VZDUTHQS.js → DUYCNBSR.js} +1 -1
- package/dist/cdn/DWIB4FVP.js +2 -0
- package/dist/cdn/E3OAYCPO.js +2 -0
- package/dist/cdn/{EYR3DX5M.js → EHTWHFIN.js} +1 -1
- package/dist/cdn/EUJFL2WJ.js +2 -0
- package/dist/cdn/{NPTVRXRO.js → F6O2MDAB.js} +1 -1
- package/dist/cdn/FBBEDCIC.js +2 -0
- package/dist/cdn/{N5SFF63Q.js → FIGNBXC4.js} +1 -1
- package/dist/cdn/{R265ZYQR.js → FS3FIZQ7.js} +1 -1
- package/dist/cdn/G5IYZRZD.js +2 -0
- package/dist/cdn/GBL55CBG.js +2 -0
- package/dist/cdn/GEWRKDNT.js +2 -0
- package/dist/cdn/{RTSHUMUI.js → GLYCZM27.js} +1 -1
- package/dist/cdn/{ULGKAMEK.js → GNUO7A4Y.js} +1 -1
- package/dist/cdn/H43C4DT4.js +2 -0
- package/dist/cdn/H4ESHMLA.js +2 -0
- package/dist/cdn/H5G45SF4.js +2 -0
- package/dist/cdn/{WUW46I4S.js → HDQ72ZNE.js} +1 -1
- package/dist/cdn/HIHNC2W6.js +2 -0
- package/dist/cdn/HKSMMZUW.js +2 -0
- package/dist/cdn/{TG6MK4QD.js → HWBVGZHG.js} +1 -1
- package/dist/cdn/HXIVUHZU.js +2 -0
- package/dist/cdn/ICNEOIAY.js +2 -0
- package/dist/cdn/{4ILCK5CI.js → IDJOHYLJ.js} +1 -1
- package/dist/cdn/{GIV3RH7X.js → ITD5YGM3.js} +1 -1
- package/dist/cdn/J3P6S2E2.js +2 -0
- package/dist/cdn/JEALIYFT.js +2 -0
- package/dist/cdn/JPDWZDO2.js +2 -0
- package/dist/cdn/JPE6LVAD.js +2 -0
- package/dist/cdn/{YKP66AQ5.js → JWEKZH6L.js} +1 -1
- package/dist/cdn/KI33EXTI.js +2 -0
- package/dist/cdn/{LJIHBKNI.js → KJIYAJA4.js} +1 -1
- package/dist/cdn/KW4BHBBW.js +2 -0
- package/dist/cdn/{4ZGFXXYL.js → L7DEPZAJ.js} +1 -1
- package/dist/cdn/{4NDBPQOW.js → L7TOPWGR.js} +1 -1
- package/dist/cdn/LK7OAPDO.js +2 -0
- package/dist/cdn/{KBSNJSUL.js → LOJGQFL6.js} +1 -1
- package/dist/cdn/{HFPBP7XA.js → LTDQ3KMS.js} +1 -1
- package/dist/cdn/{732QLUKT.js → LVZ24HEK.js} +1 -1
- package/dist/cdn/{QQYOGIVS.js → M6TXECYZ.js} +1 -1
- package/dist/cdn/MORUF5PU.js +2 -0
- package/dist/cdn/{RMERVJA5.js → MPGZXCBO.js} +1 -1
- package/dist/cdn/{XGISY6QA.js → MWS2HEQR.js} +1 -1
- package/dist/cdn/{3ZYN3227.js → MXDC3OC2.js} +1 -1
- package/dist/cdn/{3GV45XL7.js → MYDCGCGV.js} +1 -1
- package/dist/cdn/{HJ45IHRA.js → NWCFNDM2.js} +1 -1
- package/dist/cdn/{RRN6YM7F.js → NWIU5L4M.js} +1 -1
- package/dist/cdn/NYL2Z7AD.js +2 -0
- package/dist/cdn/{LKHFQ3U6.js → O5WPS55F.js} +1 -1
- package/dist/cdn/{FXFRKJEJ.js → ODAV2DWN.js} +1 -1
- package/dist/cdn/OGQ6UAE2.js +2 -0
- package/dist/cdn/OLXLHWGL.js +2 -0
- package/dist/cdn/{RBGGE65K.js → P2ZPFKR7.js} +1 -1
- package/dist/cdn/{LDLJRK76.js → P32KQQAD.js} +1 -1
- package/dist/cdn/{ZJ34LWXC.js → QAG6VFG2.js} +1 -1
- package/dist/cdn/QRH3LFLT.js +2 -0
- package/dist/cdn/{MSGQMPT6.js → QVMVZTAX.js} +1 -1
- package/dist/cdn/QXFX3OAF.js +2 -0
- package/dist/cdn/{YQST67WD.js → R2DCCWBB.js} +1 -1
- package/dist/cdn/R3Z5LCK3.js +2 -0
- package/dist/cdn/RFQSI4MJ.js +2 -0
- package/dist/cdn/RNFEU4JP.js +2 -0
- package/dist/cdn/{DKD23HP3.js → RRVD3RYN.js} +1 -1
- package/dist/cdn/{N234JPQQ.js → S6WMWFN7.js} +1 -1
- package/dist/cdn/{6KLHDA5V.js → SAK5TSCY.js} +1 -1
- package/dist/cdn/SMHE5GTR.js +2 -0
- package/dist/cdn/{2HPKL5UL.js → STISOSDG.js} +1 -1
- package/dist/cdn/TRMTKJYB.js +2 -0
- package/dist/cdn/TTFYMTZC.js +2 -0
- package/dist/cdn/{XRVUSKBQ.js → TWHGJHW2.js} +1 -1
- package/dist/cdn/TXRNHBI5.js +2 -0
- package/dist/cdn/{WTL6TTVY.js → TZAUE2UM.js} +1 -1
- package/dist/cdn/UESKV37D.js +2 -0
- package/dist/cdn/UQC63ORI.js +2 -0
- package/dist/cdn/{SDDDIVHA.js → UYAS53RY.js} +1 -1
- package/dist/cdn/{ILHS3TD7.js → V4RO7LWG.js} +1 -1
- package/dist/cdn/VE3ULCBL.js +2 -0
- package/dist/cdn/{EPKWV7TT.js → VIB4WBRW.js} +1 -1
- package/dist/cdn/{7CVLFVE5.js → VL7C7DUX.js} +1 -1
- package/dist/cdn/{MTIRRGHA.js → WMWPUGOP.js} +1 -1
- package/dist/cdn/{4PZDI5YW.js → WN6LIOTB.js} +1 -1
- package/dist/cdn/{UQBN3Z6H.js → WQOYAKXN.js} +1 -1
- package/dist/cdn/{UG6FM2IU.js → WUPDOPI3.js} +1 -1
- package/dist/cdn/{PNBC2B77.js → X4CROIR6.js} +1 -1
- package/dist/cdn/X62QRK2A.js +2 -0
- package/dist/cdn/{A26SXPLB.js → XOT64MSN.js} +1 -1
- package/dist/cdn/{SK7CWKMU.js → XS5BO3QC.js} +1 -1
- package/dist/cdn/XWGKICAS.js +2 -0
- package/dist/cdn/{FUL4JV2P.js → YRHSBDX4.js} +1 -1
- package/dist/cdn/{GY6M2LPM.js → YSWTVICN.js} +1 -1
- package/dist/cdn/Z445ZVWS.js +2 -0
- package/dist/cdn/{U63GYZ74.js → Z5FNOUD3.js} +2 -2
- package/dist/cdn/ZC6A5OHK.js +2 -0
- package/dist/cdn/{Z2R5VRT7.js → ZHZF3WW4.js} +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/combobox/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/icon/arcgisQuickcapture16.json +1 -0
- package/dist/cdn/assets/icon/arcgisQuickcapture24.json +1 -0
- package/dist/cdn/assets/icon/arcgisQuickcapture32.json +1 -0
- package/dist/cdn/assets/icon/arcgisSurvey12316.json +1 -0
- package/dist/cdn/assets/icon/arcgisSurvey12324.json +1 -0
- package/dist/cdn/assets/icon/arcgisSurvey12332.json +1 -0
- package/dist/cdn/assets/icon/layerStreamSetting16.json +1 -0
- package/dist/cdn/assets/icon/layerStreamSetting24.json +1 -0
- package/dist/cdn/assets/icon/layerStreamSetting32.json +1 -0
- package/dist/cdn/assets/icon/publish16.json +1 -0
- package/dist/cdn/assets/icon/publish24.json +1 -0
- package/dist/cdn/assets/icon/publish32.json +1 -0
- package/dist/cdn/assets/icon/velocityServer16.json +1 -0
- package/dist/cdn/assets/icon/velocityServer24.json +1 -0
- package/dist/cdn/assets/icon/velocityServer32.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/ExpandToggle.js +4 -5
- package/dist/chunks/Heading.js +3 -3
- package/dist/chunks/dom.js +23 -28
- package/dist/chunks/floating-ui.js +3 -6
- package/dist/chunks/label.js +1 -1
- package/dist/chunks/locale.js +29 -12
- package/dist/chunks/manager.js +505 -0
- package/dist/chunks/openCloseComponent.js +1 -1
- package/dist/chunks/resources5.js +2 -1
- package/dist/chunks/resources6.js +2 -0
- package/dist/chunks/runtime.js +4 -4
- package/dist/chunks/useFocusTrap.js +1 -1
- package/dist/chunks/useForm.js +294 -0
- package/dist/chunks/useFormTrigger.js +25 -0
- package/dist/chunks/useSetFocus.js +1 -1
- package/dist/chunks/{sortableComponent.js → useSortable.js} +67 -44
- package/dist/chunks/utils2.js +1 -1
- package/dist/components/calcite-accordion-item/customElement.d.ts +6 -6
- package/dist/components/calcite-accordion-item/customElement.js +4 -3
- package/dist/components/calcite-action/customElement.d.ts +12 -12
- package/dist/components/calcite-action/customElement.js +7 -13
- package/dist/components/calcite-action-bar/customElement.d.ts +20 -4
- package/dist/components/calcite-action-bar/customElement.js +43 -15
- package/dist/components/calcite-action-group/customElement.d.ts +6 -6
- package/dist/components/calcite-action-menu/customElement.d.ts +2 -2
- package/dist/components/calcite-action-pad/customElement.d.ts +3 -3
- package/dist/components/calcite-action-pad/customElement.js +5 -3
- package/dist/components/calcite-alert/customElement.d.ts +2 -2
- package/dist/components/calcite-alert/customElement.js +2 -2
- package/dist/components/calcite-autocomplete/customElement.d.ts +11 -12
- package/dist/components/calcite-autocomplete/customElement.js +23 -32
- package/dist/components/calcite-autocomplete-item/customElement.d.ts +6 -0
- package/dist/components/calcite-autocomplete-item/customElement.js +9 -4
- package/dist/components/calcite-avatar/customElement.js +1 -1
- package/dist/components/calcite-block/customElement.d.ts +5 -5
- package/dist/components/calcite-block/customElement.js +2 -2
- package/dist/components/calcite-block-group/customElement.d.ts +1 -1
- package/dist/components/calcite-block-group/customElement.js +4 -4
- package/dist/components/calcite-block-group/interfaces.d.ts +2 -6
- package/dist/components/calcite-block-section/customElement.d.ts +1 -1
- package/dist/components/calcite-button/customElement.d.ts +5 -5
- package/dist/components/calcite-button/customElement.js +11 -23
- package/dist/components/calcite-card/customElement.d.ts +4 -4
- package/dist/components/calcite-card-group/customElement.d.ts +2 -2
- package/dist/components/calcite-carousel/customElement.d.ts +1 -1
- package/dist/components/calcite-carousel/customElement.js +27 -25
- package/dist/components/calcite-checkbox/customElement.d.ts +4 -5
- package/dist/components/calcite-checkbox/customElement.js +10 -23
- package/dist/components/calcite-chip/customElement.d.ts +2 -2
- package/dist/components/calcite-chip/customElement.js +1 -1
- package/dist/components/calcite-chip-group/customElement.d.ts +1 -1
- package/dist/components/calcite-chip-group/customElement.js +1 -1
- package/dist/components/calcite-color-picker/customElement.d.ts +2 -2
- package/dist/components/calcite-color-picker/customElement.js +4 -2
- package/dist/components/calcite-color-picker-hex-input/customElement.d.ts +1 -1
- package/dist/components/calcite-color-picker-swatch/customElement.d.ts +1 -1
- package/dist/components/calcite-color-picker-swatch/customElement.js +1 -1
- package/dist/components/calcite-combobox/customElement.d.ts +16 -6
- package/dist/components/calcite-combobox/customElement.js +151 -60
- package/dist/components/calcite-combobox-item/customElement.d.ts +1 -1
- package/dist/components/calcite-combobox-item/customElement.js +10 -4
- package/dist/components/calcite-date-picker/customElement.d.ts +1 -1
- package/dist/components/calcite-date-picker-day/customElement.d.ts +1 -1
- package/dist/components/calcite-date-picker-month/customElement.js +1 -1
- package/dist/components/calcite-date-picker-month-header/customElement.js +1 -1
- package/dist/components/calcite-dialog/customElement.d.ts +7 -3
- package/dist/components/calcite-dialog/customElement.js +5 -3
- package/dist/components/calcite-dropdown/customElement.d.ts +15 -5
- package/dist/components/calcite-dropdown/customElement.js +168 -90
- package/dist/components/calcite-dropdown-item/customElement.d.ts +2 -2
- package/dist/components/calcite-dropdown-item/customElement.js +14 -32
- package/dist/components/calcite-fab/customElement.d.ts +1 -1
- package/dist/components/calcite-filter/customElement.d.ts +1 -1
- package/dist/components/calcite-flow/customElement.d.ts +1 -1
- package/dist/components/calcite-flow-item/customElement.d.ts +9 -5
- package/dist/components/calcite-flow-item/customElement.js +7 -5
- package/dist/components/calcite-handle/customElement.d.ts +1 -1
- package/dist/components/calcite-icon/customElement.d.ts +1 -1
- package/dist/components/calcite-icon/customElement.js +4 -3
- package/dist/components/calcite-inline-editable/customElement.d.ts +1 -1
- package/dist/components/calcite-inline-editable/customElement.js +1 -1
- package/dist/components/calcite-input/customElement.d.ts +17 -18
- package/dist/components/calcite-input/customElement.js +20 -42
- package/dist/components/calcite-input-date-picker/customElement.d.ts +6 -7
- package/dist/components/calcite-input-date-picker/customElement.js +34 -28
- package/dist/components/calcite-input-message/customElement.d.ts +1 -1
- package/dist/components/calcite-input-message/customElement.js +1 -1
- package/dist/components/calcite-input-number/customElement.d.ts +13 -14
- package/dist/components/calcite-input-number/customElement.js +17 -42
- package/dist/components/calcite-input-text/customElement.d.ts +11 -12
- package/dist/components/calcite-input-text/customElement.js +16 -41
- package/dist/components/calcite-input-time-picker/customElement.d.ts +6 -7
- package/dist/components/calcite-input-time-picker/customElement.js +14 -25
- package/dist/components/calcite-input-time-zone/customElement.d.ts +5 -6
- package/dist/components/calcite-input-time-zone/customElement.js +21 -19
- package/dist/components/calcite-link/customElement.d.ts +2 -2
- package/dist/components/calcite-link/customElement.js +4 -3
- package/dist/components/calcite-list/customElement.d.ts +1 -1
- package/dist/components/calcite-list/customElement.js +29 -7
- package/dist/components/calcite-list/interfaces.d.ts +2 -6
- package/dist/components/calcite-list-item/customElement.d.ts +2 -2
- package/dist/components/calcite-list-item/customElement.js +6 -4
- package/dist/components/calcite-list-item-group/customElement.js +1 -1
- package/dist/components/calcite-loader/customElement.d.ts +1 -1
- package/dist/components/calcite-menu/customElement.d.ts +1 -1
- package/dist/components/calcite-menu/customElement.js +1 -1
- package/dist/components/calcite-menu-item/customElement.d.ts +3 -3
- package/dist/components/calcite-menu-item/customElement.js +4 -2
- package/dist/components/calcite-meter/customElement.d.ts +7 -1
- package/dist/components/calcite-meter/customElement.js +4 -8
- package/dist/components/calcite-navigation/customElement.d.ts +2 -2
- package/dist/components/calcite-navigation-logo/customElement.d.ts +3 -3
- package/dist/components/calcite-navigation-user/customElement.d.ts +1 -1
- package/dist/components/calcite-notice/customElement.d.ts +3 -3
- package/dist/components/calcite-notice/customElement.js +1 -1
- package/dist/components/calcite-pagination/customElement.d.ts +1 -1
- package/dist/components/calcite-pagination/customElement.js +1 -1
- package/dist/components/calcite-panel/customElement.d.ts +11 -7
- package/dist/components/calcite-panel/customElement.js +21 -9
- package/dist/components/calcite-popover/customElement.d.ts +2 -2
- package/dist/components/calcite-popover/customElement.js +14 -175
- package/dist/components/calcite-progress/customElement.js +3 -2
- package/dist/components/calcite-radio-button/customElement.d.ts +1 -1
- package/dist/components/calcite-radio-button/customElement.js +173 -5
- package/dist/components/calcite-radio-button-group/customElement.d.ts +1 -1
- package/dist/components/calcite-rating/customElement.d.ts +3 -4
- package/dist/components/calcite-rating/customElement.js +12 -18
- package/dist/components/calcite-scrim/customElement.js +1 -1
- package/dist/components/calcite-segmented-control/customElement.d.ts +3 -4
- package/dist/components/calcite-segmented-control/customElement.js +13 -22
- package/dist/components/calcite-segmented-control-item/customElement.js +2 -2
- package/dist/components/calcite-select/customElement.d.ts +3 -4
- package/dist/components/calcite-select/customElement.js +8 -19
- package/dist/components/calcite-sheet/customElement.d.ts +2 -2
- package/dist/components/calcite-sheet/customElement.js +9 -6
- package/dist/components/calcite-shell/customElement.js +1 -1
- package/dist/components/calcite-shell-panel/customElement.js +7 -5
- package/dist/components/calcite-slider/customElement.d.ts +3 -4
- package/dist/components/calcite-slider/customElement.js +12 -22
- package/dist/components/calcite-sort-handle/customElement.d.ts +4 -4
- package/dist/components/calcite-sort-handle/customElement.js +44 -17
- package/dist/components/calcite-sortable-list/customElement.d.ts +1 -1
- package/dist/components/calcite-sortable-list/customElement.js +4 -4
- package/dist/components/calcite-split-button/customElement.d.ts +8 -8
- package/dist/components/calcite-stepper/customElement.d.ts +2 -2
- package/dist/components/calcite-stepper/customElement.js +30 -43
- package/dist/components/calcite-stepper-item/customElement.d.ts +1 -1
- package/dist/components/calcite-stepper-item/customElement.js +4 -10
- package/dist/components/calcite-swatch/customElement.d.ts +1 -1
- package/dist/components/calcite-swatch-group/customElement.js +1 -1
- package/dist/components/calcite-switch/customElement.d.ts +4 -4
- package/dist/components/calcite-switch/customElement.js +9 -8
- package/dist/components/calcite-tab/customElement.d.ts +1 -1
- package/dist/components/calcite-tab/customElement.js +2 -2
- package/dist/components/calcite-tab-nav/customElement.js +4 -2
- package/dist/components/calcite-tab-title/customElement.js +6 -4
- package/dist/components/calcite-table/customElement.js +1 -1
- package/dist/components/calcite-table-cell/customElement.d.ts +2 -2
- package/dist/components/calcite-table-cell/customElement.js +3 -2
- package/dist/components/calcite-table-header/customElement.d.ts +2 -2
- package/dist/components/calcite-table-row/customElement.d.ts +1 -1
- package/dist/components/calcite-tabs/customElement.js +1 -1
- package/dist/components/calcite-text-area/customElement.d.ts +13 -14
- package/dist/components/calcite-text-area/customElement.js +32 -37
- package/dist/components/calcite-tile/customElement.d.ts +1 -1
- package/dist/components/calcite-time-picker/customElement.d.ts +1 -1
- package/dist/components/calcite-time-picker/customElement.js +4 -3
- package/dist/components/calcite-tooltip/customElement.d.ts +15 -2
- package/dist/components/calcite-tooltip/customElement.js +27 -315
- package/dist/components/calcite-tree/customElement.js +1 -1
- package/dist/components/calcite-tree-item/customElement.js +5 -4
- package/dist/controllers/useSortable.d.ts +7 -0
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/supported-browsers.json +1 -1
- package/dist/docs/translations.json +1 -1
- package/dist/docs/vscode.css-custom-data.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +23 -23
- package/dist/types/lumina.d.ts +5 -5
- package/dist/types/preact.d.ts +5 -5
- package/dist/types/react.d.ts +5 -5
- package/dist/types/stencil.d.ts +5 -5
- package/package.json +13 -12
- package/dist/cdn/2CCRLQOV.js +0 -2
- package/dist/cdn/2SXQFDOQ.js +0 -2
- package/dist/cdn/2UXQ7FQU.js +0 -2
- package/dist/cdn/32TBZZTY.js +0 -2
- package/dist/cdn/3KAMTN22.js +0 -2
- package/dist/cdn/3TLJ5JOP.js +0 -2
- package/dist/cdn/46F46R3T.js +0 -2
- package/dist/cdn/4DX77VVY.js +0 -2
- package/dist/cdn/4ET37OQN.js +0 -2
- package/dist/cdn/4I67VFAN.js +0 -2
- package/dist/cdn/5XFHSV4Z.js +0 -2
- package/dist/cdn/66NDMEG2.js +0 -2
- package/dist/cdn/76VE6QGI.js +0 -2
- package/dist/cdn/7AJLMSNL.js +0 -2
- package/dist/cdn/7J3JDTWK.js +0 -2
- package/dist/cdn/7PFEVHWG.js +0 -2
- package/dist/cdn/ALRQOPMQ.js +0 -2
- package/dist/cdn/AO7ZTAVY.js +0 -2
- package/dist/cdn/BEHKDUR6.js +0 -2
- package/dist/cdn/BKAZFAPN.js +0 -2
- package/dist/cdn/C7TED56N.js +0 -2
- package/dist/cdn/CSRCARFW.js +0 -2
- package/dist/cdn/DADGP3DW.js +0 -2
- package/dist/cdn/EC3GCET5.js +0 -2
- package/dist/cdn/EREDWMAC.js +0 -2
- package/dist/cdn/ETXIJA2R.js +0 -2
- package/dist/cdn/EVZEXLBF.js +0 -2
- package/dist/cdn/FH7GL6DM.js +0 -2
- package/dist/cdn/GETIWK4G.js +0 -2
- package/dist/cdn/GJ5VSZCN.js +0 -2
- package/dist/cdn/HSNJW6OM.js +0 -2
- package/dist/cdn/I6XABN6A.js +0 -2
- package/dist/cdn/IQ23RSWK.js +0 -2
- package/dist/cdn/JC2AVKOO.js +0 -2
- package/dist/cdn/JLJULYTE.js +0 -2
- package/dist/cdn/JRAIIHMU.js +0 -2
- package/dist/cdn/JZWQZ5BO.js +0 -2
- package/dist/cdn/KFPRUCQK.js +0 -2
- package/dist/cdn/LFGU3E4X.js +0 -2
- package/dist/cdn/LGDOYO5J.js +0 -2
- package/dist/cdn/MHSIIKU2.js +0 -2
- package/dist/cdn/MOZ5AAJM.js +0 -2
- package/dist/cdn/MTQHRNJW.js +0 -2
- package/dist/cdn/N6YVNJ3O.js +0 -2
- package/dist/cdn/NB3LG2PS.js +0 -2
- package/dist/cdn/NNVU3JV4.js +0 -2
- package/dist/cdn/O5XHZCXZ.js +0 -2
- package/dist/cdn/OXJIN4W5.js +0 -2
- package/dist/cdn/OXZJMSLQ.js +0 -2
- package/dist/cdn/P2745LUP.js +0 -2
- package/dist/cdn/QHUMJCWK.js +0 -2
- package/dist/cdn/QJ2FRJRU.js +0 -2
- package/dist/cdn/QUJE6MIQ.js +0 -2
- package/dist/cdn/REAIBS67.js +0 -2
- package/dist/cdn/RKSFMXT4.js +0 -2
- package/dist/cdn/RMKYCARB.js +0 -2
- package/dist/cdn/S5KQDAMG.js +0 -2
- package/dist/cdn/SUIJIBLR.js +0 -2
- package/dist/cdn/TDDLSMO5.js +0 -2
- package/dist/cdn/TQQTV5HV.js +0 -2
- package/dist/cdn/UMLQ6PVE.js +0 -2
- package/dist/cdn/UODBUSON.js +0 -2
- package/dist/cdn/WJXZ7BPV.js +0 -2
- package/dist/cdn/X2HWVZ5U.js +0 -2
- package/dist/cdn/XPGAQQQC.js +0 -2
- package/dist/cdn/XSMU7S2O.js +0 -2
- package/dist/cdn/YT6UJRLT.js +0 -2
- package/dist/cdn/YUZXLNNW.js +0 -2
- package/dist/cdn/YZ4W6DFR.js +0 -2
- package/dist/cdn/Z2BYWKFB.js +0 -2
- package/dist/cdn/ZCBRPKAV.js +0 -2
- package/dist/cdn/ZQLGBHLZ.js +0 -2
- package/dist/chunks/form.js +0 -268
- package/dist/chunks/input.js +0 -30
- package/dist/utils/form.d.ts +0 -3
- package/dist/utils/sortableComponent.d.ts +0 -7
|
@@ -115,7 +115,7 @@ export abstract class ColorPicker extends LitElement {
|
|
|
115
115
|
*
|
|
116
116
|
* The type will be preserved as the color is updated.
|
|
117
117
|
*
|
|
118
|
-
* @see [CSS Color](https://developer.mozilla.org/en-US/docs/Web/CSS/color),
|
|
118
|
+
* @see [MDN - CSS Color](https://developer.mozilla.org/en-US/docs/Web/CSS/color),
|
|
119
119
|
* @see [ColorValue](https://github.com/Esri/calcite-design-system/blob/dev/packages/components/src/components/color-picker/interfaces.ts#L10).
|
|
120
120
|
*/
|
|
121
121
|
accessor value: ColorValue | null;
|
|
@@ -123,7 +123,7 @@ export abstract class ColorPicker extends LitElement {
|
|
|
123
123
|
* Sets focus on the component's first focusable element.
|
|
124
124
|
*
|
|
125
125
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
126
|
-
* @
|
|
126
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
127
127
|
*/
|
|
128
128
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
129
129
|
/** Fires when the color value has changed. */
|
|
@@ -7,7 +7,8 @@ import { throttle } from "es-toolkit";
|
|
|
7
7
|
import { css, html, nothing } from "lit";
|
|
8
8
|
import { LitElement, createEvent, safeClassMap, safeStyleMap } from "@arcgis/lumina";
|
|
9
9
|
import { createRef, ref } from "lit/directives/ref.js";
|
|
10
|
-
import {
|
|
10
|
+
import { useDirection } from "@arcgis/lumina/controllers";
|
|
11
|
+
import { j as isPrimaryPointerButton } from "../../chunks/dom.js";
|
|
11
12
|
import { i as isActivationKey } from "../../chunks/key.js";
|
|
12
13
|
import { c as clamp, r as remap, a as closeToRangeEdge } from "../../chunks/math.js";
|
|
13
14
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
@@ -23,6 +24,7 @@ class ColorPicker extends LitElement {
|
|
|
23
24
|
super();
|
|
24
25
|
this._color = DEFAULT_COLOR;
|
|
25
26
|
this.colorFieldScopeRef = createRef();
|
|
27
|
+
this.direction = useDirection();
|
|
26
28
|
this.hueScopeRef = createRef();
|
|
27
29
|
this.internalColorUpdateContext = null;
|
|
28
30
|
this.isActiveChannelInputEmpty = false;
|
|
@@ -866,7 +868,7 @@ class ColorPicker extends LitElement {
|
|
|
866
868
|
const selected = channelMode === activeChannelMode;
|
|
867
869
|
const isRgb = channelMode === "rgb";
|
|
868
870
|
const channelAriaLabels = isRgb ? [messages.red, messages.green, messages.blue] : [messages.hue, messages.saturation, messages.value];
|
|
869
|
-
const direction =
|
|
871
|
+
const direction = this.direction;
|
|
870
872
|
const channelsToRender = alphaChannel ? channels : channels.slice(0, 3);
|
|
871
873
|
return keyed(channelMode, html`<calcite-tab class=${safeClassMap(CSS.control)} .selected=${selected}><div class=${safeClassMap(CSS.channels)} dir=ltr>${channelsToRender.map((channelValue, index) => {
|
|
872
874
|
const isAlphaChannel = index === 3;
|
|
@@ -39,7 +39,7 @@ export abstract class ColorPickerHexInput extends LitElement {
|
|
|
39
39
|
* Sets focus on the component.
|
|
40
40
|
*
|
|
41
41
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
42
|
-
* @
|
|
42
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
43
43
|
*/
|
|
44
44
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
45
45
|
/** Emitted when the hex value changes. */
|
|
@@ -13,7 +13,7 @@ export abstract class ColorPickerSwatch extends LitElement {
|
|
|
13
13
|
/**
|
|
14
14
|
* The color value.
|
|
15
15
|
*
|
|
16
|
-
* @see [Color CSS data type](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).
|
|
16
|
+
* @see [MDN - Color CSS data type](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).
|
|
17
17
|
*/
|
|
18
18
|
accessor color: string | null;
|
|
19
19
|
/**
|
|
@@ -4,7 +4,7 @@ import { keyed } from "lit/directives/keyed.js";
|
|
|
4
4
|
import Color from "color";
|
|
5
5
|
import { css, html, nothing, svg } from "lit";
|
|
6
6
|
import { LitElement, safeClassMap } from "@arcgis/lumina";
|
|
7
|
-
import {
|
|
7
|
+
import { d as getModeName } from "../../chunks/dom.js";
|
|
8
8
|
import { b as hexify } from "../../chunks/utils.js";
|
|
9
9
|
const CSS = {
|
|
10
10
|
swatch: "swatch",
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/// <reference path="../../index.d.ts" />
|
|
2
2
|
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
3
3
|
import type { FlipPlacement, LogicalPlacement, OverlayPositioning } from "../../utils/floating-ui.js";
|
|
4
|
-
import type {
|
|
5
|
-
import type { Scale, SelectionMode, Status } from "../interfaces.js";
|
|
4
|
+
import type { Scale, SelectionAppearance, SelectionMode, Status } from "../interfaces.js";
|
|
6
5
|
import type { IconName } from "../calcite-icon/interfaces.js";
|
|
7
6
|
import type { ComboboxItem as HTMLCalciteComboboxItemElement } from "../calcite-combobox-item/customElement.js";
|
|
8
7
|
import type { SelectionDisplay } from "./interfaces.js";
|
|
@@ -78,6 +77,7 @@ export abstract class Combobox extends LitElement {
|
|
|
78
77
|
selectAll?: string;
|
|
79
78
|
selected?: string;
|
|
80
79
|
nonEditable?: string;
|
|
80
|
+
disabledSelectedCount?: string;
|
|
81
81
|
};
|
|
82
82
|
/** Specifies the name of the component. Required to pass the component's `value` on form submission. */
|
|
83
83
|
accessor name: string;
|
|
@@ -140,6 +140,16 @@ export abstract class Combobox extends LitElement {
|
|
|
140
140
|
accessor selectAllEnabled: boolean;
|
|
141
141
|
/** The component's selected items. */
|
|
142
142
|
get selectedItems(): HTMLCalciteComboboxItemElement[];
|
|
143
|
+
/**
|
|
144
|
+
* Specifies the selection appearance, where
|
|
145
|
+
*
|
|
146
|
+
* `"icon"` displays a checkmark or dot, and
|
|
147
|
+
*
|
|
148
|
+
* `"highlight"` displays a background highlight.
|
|
149
|
+
*
|
|
150
|
+
* @default "icon"
|
|
151
|
+
*/
|
|
152
|
+
accessor selectionAppearance: Extract<"icon" | "highlight", SelectionAppearance>;
|
|
143
153
|
/**
|
|
144
154
|
* When `selectionMode` is `"ancestors"` or `"multiple"`, specifies the display of multiple `calcite-combobox-item` selections, where:
|
|
145
155
|
*
|
|
@@ -178,7 +188,7 @@ export abstract class Combobox extends LitElement {
|
|
|
178
188
|
* Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
|
|
179
189
|
*
|
|
180
190
|
* @default false
|
|
181
|
-
* @
|
|
191
|
+
* @see [MDN - Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
|
|
182
192
|
*/
|
|
183
193
|
accessor topLayerDisabled: boolean;
|
|
184
194
|
/** Specifies the validation icon to display under the component. */
|
|
@@ -188,9 +198,9 @@ export abstract class Combobox extends LitElement {
|
|
|
188
198
|
/**
|
|
189
199
|
* The component's current validation state.
|
|
190
200
|
*
|
|
191
|
-
* @
|
|
201
|
+
* @see [MDN - ValidityState](https://developer.mozilla.org/en-US/docs/Web/API/ValidityState)
|
|
192
202
|
*/
|
|
193
|
-
get validity():
|
|
203
|
+
get validity(): ValidityState;
|
|
194
204
|
/** The component's value(s) from the selected `calcite-combobox-item`(s). */
|
|
195
205
|
accessor value: string | string[];
|
|
196
206
|
/**
|
|
@@ -204,7 +214,7 @@ export abstract class Combobox extends LitElement {
|
|
|
204
214
|
* Sets focus on the component.
|
|
205
215
|
*
|
|
206
216
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
207
|
-
* @
|
|
217
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
208
218
|
*/
|
|
209
219
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
210
220
|
/** Fires when the component is requested to be closed, and before the closing transition begins. */
|
|
@@ -8,10 +8,10 @@ import { c as calciteSize48 } from "../../chunks/core.js";
|
|
|
8
8
|
import { nothing, html, css } from "lit";
|
|
9
9
|
import { ref, createRef } from "lit/directives/ref.js";
|
|
10
10
|
import { safeClassMap, LitElement, createEvent, stringOrBoolean } from "@arcgis/lumina";
|
|
11
|
+
import { useDirection } from "@arcgis/lumina/controllers";
|
|
11
12
|
import { f as filter } from "../../chunks/filter.js";
|
|
12
|
-
import {
|
|
13
|
+
import { k as getElementWidth, l as getTextWidth, i as focusElement } from "../../chunks/dom.js";
|
|
13
14
|
import { d as defaultMenuPlacement, r as reposition, c as connectFloatingUI, a as disconnectFloatingUI, f as filterValidFlipPlacements, h as hideFloatingUI, F as FloatingCSS } from "../../chunks/floating-ui.js";
|
|
14
|
-
import { c as connectForm, a as afterConnectDefaultValueSet, d as disconnectForm, s as submitForm, H as HiddenFormInputSlot } from "../../chunks/form.js";
|
|
15
15
|
import { g as guid } from "../../chunks/guid.js";
|
|
16
16
|
import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../../chunks/label.js";
|
|
17
17
|
import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
|
|
@@ -25,6 +25,7 @@ import { u as useSetFocus } from "../../chunks/useSetFocus.js";
|
|
|
25
25
|
import { u as useCancelable } from "../../chunks/useCancelable.js";
|
|
26
26
|
import { u as useInteractive } from "../../chunks/useInteractive.js";
|
|
27
27
|
import { u as useTopLayer } from "../../chunks/useTopLayer.js";
|
|
28
|
+
import { u as useForm } from "../../chunks/useForm.js";
|
|
28
29
|
import { I as IDS, C as CSS$1, a as ComboboxItemSelector, b as ComboboxItemGroupSelector, c as ICONS } from "../../chunks/resources5.js";
|
|
29
30
|
import { h as hasActiveChildren, i as isSingleLike, g as getLabel, a as getItemAncestors, b as getItemChildren } from "../../chunks/utils2.js";
|
|
30
31
|
const CSS = {
|
|
@@ -36,11 +37,15 @@ const XButton = ({ disabled, focusable, key, label, onClick, ref: ref$1, round =
|
|
|
36
37
|
[CSS.button]: true,
|
|
37
38
|
[CSS.buttonRound]: round
|
|
38
39
|
})} .disabled=${disabled} @click=${onClick} .tabIndex=${focusable ? 0 : -1} title=${title ?? nothing} type=button ${ref(ref$1)}><calcite-icon icon=x .scale=${getIconScale(scale)}></calcite-icon></button>`);
|
|
39
|
-
const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:block}:host([scale=s]){font-size:var(--calcite-font-size-relative-sm);--calcite-internal-combobox-spacing-unit-l: .5rem;--calcite-internal-combobox-spacing-unit-s: .25rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .25rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.25rem - 1px) ;--calcite-internal-close-size: 1rem}:host([scale=s]) .x-button{margin-inline:.5rem}:host([scale=m]){font-size:var(--calcite-font-size-relative-base);--calcite-internal-combobox-spacing-unit-l: .75rem;--calcite-internal-combobox-spacing-unit-s: .5rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .375rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.5rem - 1px) ;--calcite-internal-close-size: 1.5rem}:host([scale=m]) .x-button{margin-inline-end:.75rem}:host([scale=l]){font-size:var(--calcite-font-size-relative-md);--calcite-internal-combobox-spacing-unit-l: 1rem;--calcite-internal-combobox-spacing-unit-s: .75rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .625rem;--calcite-combobox-input-height: 1.5rem;--calcite-internal-combobox-input-margin-block: calc(.625rem - 1px) ;--calcite-internal-close-size: 2rem}:host([scale=l]) .x-button{margin-inline-end:1rem}.x-button{align-self:center}.wrapper{display:flex;border-width:1px;border-style:solid;outline-color:transparent;padding-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);background-color:var(--calcite-combobox-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));border-color:var(--calcite-combobox-input-border-color, var(--calcite-color-border-input))}.wrapper:hover .icon{color:var(--calcite-combobox-icon-color-hover, var(--calcite-color-text-1))}:host(:focus-within) .wrapper,.wrapper--active{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}:host([read-only]) .wrapper{background-color:var(--calcite-color-background)}:host([read-only]) .label{font-weight:var(--calcite-font-weight-medium)}:host([status=invalid]) .wrapper{border-color:var(--calcite-color-status-danger)}:host([status=invalid]:focus-within) .wrapper{outline:var(--calcite-border-width-md) solid var(--calcite-color-status-danger);outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.wrapper--single{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l);cursor:pointer;flex-wrap:nowrap}.grid-input{position:relative;display:flex;flex-grow:1;flex-wrap:wrap;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;gap:var(--calcite-internal-combobox-spacing-unit-s);margin-inline-end:var(--calcite-internal-combobox-spacing-unit-s)}.grid-input.selection-display--fit,.grid-input.selection-display--single{flex-wrap:nowrap;overflow:hidden}.input{flex-grow:1;appearance:none;overflow:hidden;text-overflow:ellipsis;border-style:none;background-color:transparent;padding:0;font-family:inherit;color:var(--calcite-color-text-1);font-size:inherit;block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height);inline-size:100%;margin-block-end:var(--calcite-internal-combobox-spacing-unit-s);min-inline-size:4.8125rem}.input:focus{outline:2px solid transparent;outline-offset:2px}.input:placeholder-shown{text-overflow:ellipsis}.input--single{padding:0;margin-block:var(--calcite-internal-combobox-input-margin-block)}.wrapper--active .input-single{cursor:text}.input--hidden{pointer-events:none;width:0px;min-width:0px;opacity:0}.input--icon{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.placeholder-icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.input-wrap{display:flex;flex-grow:1;align-items:center}.input-wrap--single{flex:1 1 0%;overflow:hidden}.label{pointer-events:none;max-width:100%;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-weight:var(--calcite-font-weight-normal);block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height)}.label--icon{padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.icon-end,.icon-start{display:flex;cursor:pointer;align-items:center}.icon-end{flex:none}.icon-end .icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.floating-ui-container{inline-size:max-content;display:none;max-inline-size:100vw;max-block-size:100vh;inset-block-start:0;left:0;z-index:var(--calcite-floating-ui-z-index)}@starting-style{.floating-ui-container{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .floating-ui-container{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.floating-ui-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.floating-ui-container:popover-open{display:block}.floating-ui-container .calcite-floating-ui-anim{position:relative;transition-duration:var(--calcite-floating-ui-transition);transition-property:inset-block-start,left,opacity,display;transition-behavior:allow-discrete;opacity:0;box-shadow:0 0 16px #00000029;z-index:var(--calcite-z-index);border-radius:.25rem}.floating-ui-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.floating-ui-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.floating-ui-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.floating-ui-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}@media(forced-colors:active){.wrapper,.floating-ui-container{border:1px solid canvasText}}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.list-container{max-height:45vh;overflow-y:auto;inline-size:var(--calcite-dropdown-width, 100%);background-color:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1))}.list{margin:0;display:block;padding:0}.list--hide{height:0px;overflow:hidden}calcite-chip{--calcite-animation-timing: 0}.chip{margin-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);max-inline-size:100%}.chip--invisible{visibility:hidden;position:absolute}.item{display:block}.select-all{background-color:var(--calcite-combobox-item-background-color-active, var(--calcite-color-foreground-1));border-block-end-color:var(--calcite-combobox-divider-color, var(--calcite-combobox-item-border-color, var(--calcite-color-border-3)));border-block-end-style:solid;border-block-end-width:var(--calcite-border-width-sm);inset-block-start:0;position:sticky;z-index:var(--calcite-z-index-sticky)}.no-matches{padding-block:var(--calcite-internal-combobox-no-matches-spacing-unit-s);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));background:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1));cursor:pointer}.no-matches-placeholder{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3));cursor:default}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.x-button{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;border-style:none;cursor:pointer;outline-color:transparent;align-items:center;margin:0;background-color:var(--calcite-close-background-color, var(--calcite-color-foreground-2));-webkit-appearance:none;display:flex;align-content:center;justify-content:center;color:var(--calcite-close-icon-color, var(--calcite-color-text-3));block-size:var(--calcite-internal-close-size, 1.5rem);inline-size:var(--calcite-internal-close-size, 1.5rem);min-block-size:var(--calcite-internal-close-size, 1.5rem);min-inline-size:var(--calcite-internal-close-size, 1.5rem);padding:0}.x-button:hover,.x-button:focus{background-color:var(--calcite-close-background-color-hover, var(--calcite-color-foreground-3))}.x-button:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.x-button:active{background-color:var(--calcite-close-background-color-press, var(--calcite-color-transparent-press))}.x-button calcite-icon{color:inherit}.x-button--round{border-radius:9999px}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}.text-match{background-color:transparent;color:inherit;font-weight:var(--calcite-font-weight-bold)}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}`;
|
|
40
|
+
const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:block}:host([scale=s]){font-size:var(--calcite-font-size-relative-sm);--calcite-internal-combobox-spacing-unit-l: .5rem;--calcite-internal-combobox-spacing-unit-s: .25rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .25rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.25rem - 1px) ;--calcite-internal-close-size: 1rem}:host([scale=s]) .x-button{margin-inline:.5rem}:host([scale=m]){font-size:var(--calcite-font-size-relative-base);--calcite-internal-combobox-spacing-unit-l: .75rem;--calcite-internal-combobox-spacing-unit-s: .5rem;--calcite-internal-combobox-no-matches-spacing-unit-s: .375rem;--calcite-combobox-input-height: 1rem;--calcite-internal-combobox-input-margin-block: calc(.5rem - 1px) ;--calcite-internal-close-size: 1.5rem}:host([scale=m]) .x-button{margin-inline-end:.75rem}:host([scale=l]){font-size:var(--calcite-font-size-relative-md);--calcite-internal-combobox-spacing-unit-l: 1rem;--calcite-internal-combobox-spacing-unit-s: .75rem;--calcite-internal-combobox-no-matches-spacing-unit-s: var(--calcite-space-sm-plus);--calcite-combobox-input-height: 1.5rem;--calcite-internal-combobox-input-margin-block: calc(var(--calcite-space-sm-plus) - 1px);--calcite-internal-close-size: 2rem}:host([scale=l]) .x-button{margin-inline-end:1rem}.x-button{align-self:center}.wrapper{display:flex;border-width:1px;border-style:solid;outline-color:transparent;padding-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);background-color:var(--calcite-combobox-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));border-color:var(--calcite-combobox-input-border-color, var(--calcite-color-border-input))}.wrapper:hover .icon{color:var(--calcite-combobox-icon-color-hover, var(--calcite-color-text-1))}:host(:focus-within) .wrapper,.wrapper--active{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}:host([read-only]) .wrapper{background-color:var(--calcite-color-background)}:host([read-only]) .label{font-weight:var(--calcite-font-weight-medium)}:host([status=invalid]) .wrapper{border-color:var(--calcite-color-status-danger)}:host([status=invalid]:focus-within) .wrapper{outline:var(--calcite-border-width-md) solid var(--calcite-color-status-danger);outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.wrapper--single{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l);cursor:pointer;flex-wrap:nowrap}.grid-input{position:relative;display:flex;flex-grow:1;flex-wrap:wrap;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;gap:var(--calcite-internal-combobox-spacing-unit-s);margin-inline-end:var(--calcite-internal-combobox-spacing-unit-s)}.grid-input.selection-display--fit,.grid-input.selection-display--single{flex-wrap:nowrap;overflow:hidden}.input{flex-grow:1;appearance:none;overflow:hidden;text-overflow:ellipsis;border-style:none;background-color:transparent;padding:0;font-family:inherit;color:var(--calcite-color-text-1);font-size:inherit;block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height);inline-size:100%;margin-block-end:var(--calcite-internal-combobox-spacing-unit-s);min-inline-size:4.8125rem}.input:focus{outline:2px solid transparent;outline-offset:2px}.input:placeholder-shown{text-overflow:ellipsis}.input--single{padding:0;margin-block:var(--calcite-internal-combobox-input-margin-block)}.wrapper--active .input-single{cursor:text}.input--hidden{pointer-events:none;width:0px;min-width:0px;opacity:0}.input--icon{padding-block:0;padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.placeholder-icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.input-wrap{display:flex;flex-grow:1;align-items:center}.input-wrap--single{flex:1 1 0%;overflow:hidden}.label{pointer-events:none;max-width:100%;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-weight:var(--calcite-font-weight-normal);block-size:var(--calcite-combobox-input-height);line-height:var(--calcite-combobox-input-height)}.label--icon{padding-inline:var(--calcite-internal-combobox-spacing-unit-l)}.icon-end,.icon-start{display:flex;cursor:pointer;align-items:center}.icon-end{flex:none}.icon-end .icon{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3))}.floating-ui-container{inline-size:max-content;display:none;max-inline-size:100vw;max-block-size:100vh;inset-block-start:0;left:0;z-index:var(--calcite-floating-ui-z-index)}@starting-style{.floating-ui-container{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .floating-ui-container{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.floating-ui-container[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.floating-ui-container:popover-open{display:block}.floating-ui-container .calcite-floating-ui-anim{position:relative;transition-duration:var(--calcite-floating-ui-transition);transition-property:inset-block-start,left,opacity,display;transition-behavior:allow-discrete;opacity:0;box-shadow:0 0 16px #00000029;z-index:var(--calcite-z-index);border-radius:.25rem}.floating-ui-container[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.floating-ui-container[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.floating-ui-container[data-placement^=left] .calcite-floating-ui-anim{left:5px}.floating-ui-container[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.floating-ui-container[data-placement] .calcite-floating-ui-anim--active{opacity:0}}@media(forced-colors:active){.wrapper,.floating-ui-container{border:1px solid canvasText}}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.list-container{max-height:45vh;overflow-y:auto;inline-size:var(--calcite-dropdown-width, 100%);background-color:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1))}.list{margin:0;display:block;padding:0}.list--hide{height:0px;overflow:hidden}calcite-chip{--calcite-animation-timing: 0}.chip{margin-block:calc(var(--calcite-internal-combobox-spacing-unit-s) / 4);max-inline-size:100%}.chip--invisible{visibility:hidden;position:absolute}.item{display:block}.select-all{background-color:var(--calcite-combobox-item-background-color-active, var(--calcite-color-foreground-1));border-block-end-color:var(--calcite-combobox-divider-color, var(--calcite-combobox-item-border-color, var(--calcite-color-border-3)));border-block-end-style:solid;border-block-end-width:var(--calcite-border-width-sm);inset-block-start:0;position:sticky;z-index:var(--calcite-z-index-sticky)}.no-matches{padding-block:var(--calcite-internal-combobox-no-matches-spacing-unit-s);padding-inline:var(--calcite-internal-combobox-spacing-unit-l);color:var(--calcite-combobox-input-text-color, var(--calcite-color-text-1));background:var(--calcite-combobox-background-color, var(--calcite-color-foreground-1));cursor:pointer}.no-matches-placeholder{color:var(--calcite-combobox-icon-color, var(--calcite-color-text-3));cursor:default}.disabled{opacity:.5}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.x-button{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;border-style:none;cursor:pointer;outline-color:transparent;align-items:center;margin:0;background-color:var(--calcite-close-background-color, var(--calcite-color-foreground-2));-webkit-appearance:none;display:flex;align-content:center;justify-content:center;color:var(--calcite-close-icon-color, var(--calcite-color-text-3));block-size:var(--calcite-internal-close-size, 1.5rem);inline-size:var(--calcite-internal-close-size, 1.5rem);min-block-size:var(--calcite-internal-close-size, 1.5rem);min-inline-size:var(--calcite-internal-close-size, 1.5rem);padding:0}.x-button:hover,.x-button:focus{background-color:var(--calcite-close-background-color-hover, var(--calcite-color-foreground-3))}.x-button:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.x-button:active{background-color:var(--calcite-close-background-color-press, var(--calcite-color-transparent-press))}.x-button calcite-icon{color:inherit}.x-button--round{border-radius:9999px}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}.text-match{background-color:transparent;color:inherit;font-weight:var(--calcite-font-weight-bold)}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}`;
|
|
40
41
|
class Combobox extends LitElement {
|
|
41
42
|
constructor() {
|
|
42
43
|
super();
|
|
43
44
|
this.closeButtonRef = createRef();
|
|
45
|
+
this.direction = useDirection();
|
|
46
|
+
this.formSupport = useForm({
|
|
47
|
+
inputType: "text"
|
|
48
|
+
})(this);
|
|
44
49
|
this.selectAllComboboxItemRef = createRef();
|
|
45
50
|
this.allSelectedIndicatorChipRef = createRef();
|
|
46
51
|
this.cancelable = useCancelable()(this);
|
|
@@ -125,6 +130,7 @@ class Combobox extends LitElement {
|
|
|
125
130
|
this.compactSelectionDisplay = false;
|
|
126
131
|
this.selectedHiddenChipsCount = 0;
|
|
127
132
|
this.selectedVisibleChipsCount = 0;
|
|
133
|
+
this.allItems = [];
|
|
128
134
|
this.items = [];
|
|
129
135
|
this.clearDisabled = false;
|
|
130
136
|
this.disabled = false;
|
|
@@ -138,22 +144,10 @@ class Combobox extends LitElement {
|
|
|
138
144
|
this.scale = "m";
|
|
139
145
|
this.selectAllEnabled = false;
|
|
140
146
|
this.selectionDisplay = "all";
|
|
147
|
+
this.selectionAppearance = "icon";
|
|
141
148
|
this.selectionMode = "multiple";
|
|
142
149
|
this.status = "idle";
|
|
143
150
|
this.topLayerDisabled = false;
|
|
144
|
-
this.validity = {
|
|
145
|
-
valid: false,
|
|
146
|
-
badInput: false,
|
|
147
|
-
customError: false,
|
|
148
|
-
patternMismatch: false,
|
|
149
|
-
rangeOverflow: false,
|
|
150
|
-
rangeUnderflow: false,
|
|
151
|
-
stepMismatch: false,
|
|
152
|
-
tooLong: false,
|
|
153
|
-
tooShort: false,
|
|
154
|
-
typeMismatch: false,
|
|
155
|
-
valueMissing: false
|
|
156
|
-
};
|
|
157
151
|
this.calciteComboboxBeforeClose = createEvent({ cancelable: false });
|
|
158
152
|
this.calciteComboboxBeforeOpen = createEvent({ cancelable: false });
|
|
159
153
|
this.calciteComboboxChange = createEvent({ cancelable: false });
|
|
@@ -167,7 +161,10 @@ class Combobox extends LitElement {
|
|
|
167
161
|
this.listen("click", this.comboboxFocusHandler);
|
|
168
162
|
}
|
|
169
163
|
static {
|
|
170
|
-
this.properties = { activeChipIndex: [16, {}, { state: true }], activeDescendant: [16, {}, { state: true }], activeItemIndex: [16, {}, { state: true }], compactSelectionDisplay: [16, {}, { state: true }], selectedHiddenChipsCount: [16, {}, { state: true }], selectedVisibleChipsCount: [16, {}, { state: true }], items: [16, {}, { state: true }], noMatchesFound: [16, {}, { state: true }], allowCustomValues: [7, {}, { reflect: true, type: Boolean }], clearDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], filterText: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filteredItems: [32, {}, { attribute: false, readOnly: true }], flipPlacements: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], name: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, placeholderIcon: [3, { type: String }, { reflect: true }], placeholderIconFlipRtl: [7, {}, { reflect: true, type: Boolean }], placement: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], selectAllEnabled: [7, {}, { reflect: true, type: Boolean }], selectedItems: [0, {}, { attribute: false }], selectionDisplay: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [
|
|
164
|
+
this.properties = { activeChipIndex: [16, {}, { state: true }], activeDescendant: [16, {}, { state: true }], activeItemIndex: [16, {}, { state: true }], compactSelectionDisplay: [16, {}, { state: true }], selectedHiddenChipsCount: [16, {}, { state: true }], selectedVisibleChipsCount: [16, {}, { state: true }], allItems: [16, {}, { state: true }], items: [16, {}, { state: true }], noMatchesFound: [16, {}, { state: true }], allowCustomValues: [7, {}, { reflect: true, type: Boolean }], clearDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], filterText: [3, {}, { reflect: true }], filterProps: [0, {}, { attribute: false }], filteredItems: [32, {}, { attribute: false, readOnly: true }], flipPlacements: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], name: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, placeholderIcon: [3, { type: String }, { reflect: true }], placeholderIconFlipRtl: [7, {}, { reflect: true, type: Boolean }], placement: [3, {}, { reflect: true }], readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], selectAllEnabled: [7, {}, { reflect: true, type: Boolean }], selectedItems: [0, {}, { attribute: false }], selectionDisplay: [3, {}, { reflect: true }], selectionAppearance: [3, {}, { reflect: true }], selectionMode: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
|
|
165
|
+
}
|
|
166
|
+
static {
|
|
167
|
+
this.formAssociated = true;
|
|
171
168
|
}
|
|
172
169
|
static {
|
|
173
170
|
this.styles = styles;
|
|
@@ -186,10 +183,21 @@ class Combobox extends LitElement {
|
|
|
186
183
|
return !open && selectedItem ? !!selectedIcon && singleSelectionMode : !!placeholderIcon && (!selectedItem || singleSelectionMode);
|
|
187
184
|
}
|
|
188
185
|
get allSelected() {
|
|
189
|
-
|
|
186
|
+
const enabledItems = this.allItems.filter((item) => !item.disabled);
|
|
187
|
+
return enabledItems.length > 0 && enabledItems.every((item) => item.selected);
|
|
188
|
+
}
|
|
189
|
+
get hasDisabledItems() {
|
|
190
|
+
return this.allItems.some((item) => item.disabled);
|
|
191
|
+
}
|
|
192
|
+
get hasDisabledSelected() {
|
|
193
|
+
return this.allItems.some((item) => item.disabled && item.selected);
|
|
190
194
|
}
|
|
191
195
|
get indeterminate() {
|
|
192
|
-
|
|
196
|
+
const hasAnySelected = this.selectedItems.length > 0 || this.hasDisabledSelected;
|
|
197
|
+
if (!this.selectAllEnabled) {
|
|
198
|
+
return this.selectedItems.length > 0 && !this.allSelected;
|
|
199
|
+
}
|
|
200
|
+
return !this.allSelected && hasAnySelected;
|
|
193
201
|
}
|
|
194
202
|
get keyboardNavItems() {
|
|
195
203
|
const { selectAllComboboxItemRef } = this;
|
|
@@ -235,6 +243,7 @@ class Combobox extends LitElement {
|
|
|
235
243
|
async reposition(delayed = false) {
|
|
236
244
|
const { floatingEl, referenceEl, placement, overlayPositioning, filteredFlipPlacements } = this;
|
|
237
245
|
return reposition(this, {
|
|
246
|
+
direction: this.direction,
|
|
238
247
|
floatingEl,
|
|
239
248
|
referenceEl,
|
|
240
249
|
overlayPositioning,
|
|
@@ -253,10 +262,6 @@ class Combobox extends LitElement {
|
|
|
253
262
|
connectedCallback() {
|
|
254
263
|
super.connectedCallback();
|
|
255
264
|
connectLabel(this);
|
|
256
|
-
connectForm(this);
|
|
257
|
-
this.internalValueChangeFlag = true;
|
|
258
|
-
this.value = this.getValue();
|
|
259
|
-
this.internalValueChangeFlag = false;
|
|
260
265
|
this.mutationObserver?.observe(this.el, { childList: true, subtree: true });
|
|
261
266
|
this.setFilteredPlacements();
|
|
262
267
|
connectFloatingUI(this);
|
|
@@ -278,7 +283,7 @@ class Combobox extends LitElement {
|
|
|
278
283
|
if (changes.has("overlayPositioning") && (this.hasUpdated || this.overlayPositioning !== "absolute") || changes.has("placement") && (this.hasUpdated || this.placement !== defaultMenuPlacement)) {
|
|
279
284
|
this.reposition(true);
|
|
280
285
|
}
|
|
281
|
-
if (changes.has("selectionMode") || changes.has("scale")) {
|
|
286
|
+
if (changes.has("selectionMode") || changes.has("scale") || changes.has("selectionAppearance")) {
|
|
282
287
|
this.updateItems();
|
|
283
288
|
}
|
|
284
289
|
if (changes.has("flipPlacements")) {
|
|
@@ -286,7 +291,6 @@ class Combobox extends LitElement {
|
|
|
286
291
|
}
|
|
287
292
|
}
|
|
288
293
|
loaded() {
|
|
289
|
-
afterConnectDefaultValueSet(this, this.getValue());
|
|
290
294
|
connectFloatingUI(this);
|
|
291
295
|
this.updateItems();
|
|
292
296
|
this.filterItems(this.filterText, false, false);
|
|
@@ -296,7 +300,6 @@ class Combobox extends LitElement {
|
|
|
296
300
|
this.mutationObserver?.disconnect();
|
|
297
301
|
this.resizeObserver?.disconnect();
|
|
298
302
|
disconnectLabel(this);
|
|
299
|
-
disconnectForm(this);
|
|
300
303
|
disconnectFloatingUI(this);
|
|
301
304
|
}
|
|
302
305
|
emitComboboxChange() {
|
|
@@ -319,7 +322,7 @@ class Combobox extends LitElement {
|
|
|
319
322
|
}
|
|
320
323
|
valueHandler(value) {
|
|
321
324
|
if (!this.internalValueChangeFlag) {
|
|
322
|
-
this.
|
|
325
|
+
this.items.forEach((item) => {
|
|
323
326
|
item.selected = Array.isArray(value) ? value.includes(item.value) : value === item.value;
|
|
324
327
|
});
|
|
325
328
|
this.updateItems();
|
|
@@ -333,6 +336,9 @@ class Combobox extends LitElement {
|
|
|
333
336
|
this.internalValueChangeFlag = true;
|
|
334
337
|
this.value = this.getValue();
|
|
335
338
|
this.internalValueChangeFlag = false;
|
|
339
|
+
if (this.selectionDisplay === "fit" && this.isMulti()) {
|
|
340
|
+
this.refreshSelectionDisplay();
|
|
341
|
+
}
|
|
336
342
|
}
|
|
337
343
|
async documentClickHandler(event) {
|
|
338
344
|
if (this.disabled || event.composedPath().includes(this.el)) {
|
|
@@ -353,7 +359,7 @@ class Combobox extends LitElement {
|
|
|
353
359
|
if (isSelectAllTarget) {
|
|
354
360
|
this.toggleSelectAll();
|
|
355
361
|
}
|
|
356
|
-
if (this.allSelected) {
|
|
362
|
+
if (this.allSelected && (!this.hasDisabledItems || this.hasDisabledSelected)) {
|
|
357
363
|
this.selectedItems.forEach((item) => {
|
|
358
364
|
const chipEl = this.referenceEl.querySelector(`#${IDS.chip(item.guid)}`);
|
|
359
365
|
if (chipEl) {
|
|
@@ -414,8 +420,13 @@ class Combobox extends LitElement {
|
|
|
414
420
|
}
|
|
415
421
|
toggleSelectAll() {
|
|
416
422
|
const toggledValue = !this.allSelected;
|
|
417
|
-
this.
|
|
418
|
-
|
|
423
|
+
this.allItems.forEach((item) => {
|
|
424
|
+
if (item.disabled) {
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
item.selected = toggledValue;
|
|
428
|
+
});
|
|
429
|
+
this.selectedItems = this.getSelectedItems();
|
|
419
430
|
this.emitComboboxChange();
|
|
420
431
|
}
|
|
421
432
|
keyDownHandler(event) {
|
|
@@ -528,10 +539,9 @@ class Combobox extends LitElement {
|
|
|
528
539
|
} else if (this.allowCustomValues && this.filterText) {
|
|
529
540
|
this.addCustomChip(this.filterText, true);
|
|
530
541
|
event.preventDefault();
|
|
531
|
-
} else if (!event.defaultPrevented) {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
}
|
|
542
|
+
} else if (!event.defaultPrevented && this.formSupport.active) {
|
|
543
|
+
event.preventDefault();
|
|
544
|
+
this.formSupport.requestSubmit();
|
|
535
545
|
}
|
|
536
546
|
break;
|
|
537
547
|
case "Delete":
|
|
@@ -652,7 +662,7 @@ class Combobox extends LitElement {
|
|
|
652
662
|
inputWidth,
|
|
653
663
|
largestSelectedIndicatorChipWidth
|
|
654
664
|
});
|
|
655
|
-
if (this.allSelected && this.selectAllEnabled) {
|
|
665
|
+
if (this.allSelected && this.selectAllEnabled && (!this.hasDisabledItems || this.hasDisabledSelected)) {
|
|
656
666
|
this.selectedItems.forEach((item) => {
|
|
657
667
|
const chipEl = this.referenceEl.querySelector(`#${IDS.chip(item.guid)}`);
|
|
658
668
|
if (chipEl) {
|
|
@@ -709,7 +719,7 @@ class Combobox extends LitElement {
|
|
|
709
719
|
if (newSelectedVisibleChipsCount !== this.selectedVisibleChipsCount) {
|
|
710
720
|
this.selectedVisibleChipsCount = newSelectedVisibleChipsCount;
|
|
711
721
|
}
|
|
712
|
-
const newSelectedHiddenChipsCount = this.getSelectedItems().length - newSelectedVisibleChipsCount;
|
|
722
|
+
const newSelectedHiddenChipsCount = Math.max(0, this.getSelectedItems().length - newSelectedVisibleChipsCount);
|
|
713
723
|
if (newSelectedHiddenChipsCount !== this.selectedHiddenChipsCount) {
|
|
714
724
|
this.selectedHiddenChipsCount = newSelectedHiddenChipsCount;
|
|
715
725
|
}
|
|
@@ -793,7 +803,12 @@ class Combobox extends LitElement {
|
|
|
793
803
|
el.selected = true;
|
|
794
804
|
});
|
|
795
805
|
} else {
|
|
796
|
-
children.forEach((el) =>
|
|
806
|
+
children.forEach((el) => {
|
|
807
|
+
if (el.disabled) {
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
el.selected = false;
|
|
811
|
+
});
|
|
797
812
|
[...ancestors].forEach((el) => {
|
|
798
813
|
if (!hasActiveChildren(el)) {
|
|
799
814
|
el.selected = false;
|
|
@@ -802,7 +817,8 @@ class Combobox extends LitElement {
|
|
|
802
817
|
}
|
|
803
818
|
}
|
|
804
819
|
updateItems() {
|
|
805
|
-
this.
|
|
820
|
+
this.allItems = this.getItems(true);
|
|
821
|
+
this.items = this.allItems.filter((item) => !item.disabled);
|
|
806
822
|
this.groupItems = this.getGroupItems();
|
|
807
823
|
this.data = this.getData();
|
|
808
824
|
this.groupData = this.getGroupData();
|
|
@@ -810,8 +826,9 @@ class Combobox extends LitElement {
|
|
|
810
826
|
this.selectedItems = this.getSelectedItems();
|
|
811
827
|
}
|
|
812
828
|
updateItemProps() {
|
|
813
|
-
this.
|
|
829
|
+
this.allItems.forEach((item) => {
|
|
814
830
|
item.selectionMode = this.selectionMode;
|
|
831
|
+
item.selectionAppearance = this.selectionAppearance;
|
|
815
832
|
item.scale = this.scale;
|
|
816
833
|
});
|
|
817
834
|
this.groupItems.forEach((groupItem, index) => (groupItem.scale = this.scale, groupItem.position = index));
|
|
@@ -971,40 +988,111 @@ class Combobox extends LitElement {
|
|
|
971
988
|
const value = Array.isArray(this.value) ? this.value.join(", ") : this.value;
|
|
972
989
|
return this.readOnly ? this.messages.nonEditable?.replace("{value}", `${value}`) : value;
|
|
973
990
|
}
|
|
991
|
+
getChipLabel(item, isAncestors) {
|
|
992
|
+
if (!isAncestors) {
|
|
993
|
+
return getLabel(item);
|
|
994
|
+
}
|
|
995
|
+
const ancestors = [...getItemAncestors(item)].reverse();
|
|
996
|
+
return [...ancestors, item].map((el) => getLabel(el)).join(" / ");
|
|
997
|
+
}
|
|
998
|
+
renderChip({ activeChipIndex, disabled, index, item, messages, readOnly, scale, isAncestors }) {
|
|
999
|
+
const label = this.getChipLabel(item, isAncestors);
|
|
1000
|
+
return keyed(item.guid || item.value || label, html`<calcite-chip .appearance=${readOnly ? "outline" : "solid"} class=${safeClassMap({
|
|
1001
|
+
[CSS$1.chip]: true,
|
|
1002
|
+
[CSS$1.disabled]: disabled
|
|
1003
|
+
})} .closable=${!disabled && !readOnly} .disabled=${disabled} .icon=${item.icon} .iconFlipRtl=${item.iconFlipRtl} id=${(!disabled && item.guid ? `${IDS.chip(item.guid)}` : null) ?? nothing} .label=${label} .messageOverrides=${!disabled ? { dismissLabel: messages.removeTag } : null} @focusin=${!disabled ? () => this.activeChipIndex = index : null} @calciteChipClose=${!disabled ? () => this.calciteChipCloseHandler(item) : null} .scale=${scale} .selected=${item.selected} .tabIndex=${!disabled && activeChipIndex === index ? 0 : -1} title=${label ?? nothing} .value=${item.value}>${label}</calcite-chip>`);
|
|
1004
|
+
}
|
|
1005
|
+
renderChipCount(count, scale) {
|
|
1006
|
+
const label = this.messages.disabledSelectedCount?.replace("{count}", `${count}`) ?? `+${count}`;
|
|
1007
|
+
return html`<calcite-chip appearance=solid class=${safeClassMap({
|
|
1008
|
+
[CSS$1.chip]: true
|
|
1009
|
+
})} .label=${label} .scale=${scale} tabindex=-1 title=${label ?? nothing}>${label}</calcite-chip>`;
|
|
1010
|
+
}
|
|
974
1011
|
renderChips() {
|
|
975
|
-
const { activeChipIndex, readOnly, scale, selectionMode, messages } = this;
|
|
976
|
-
|
|
1012
|
+
const { activeChipIndex, readOnly, scale, selectionDisplay, selectionMode, messages } = this;
|
|
1013
|
+
const chips = [];
|
|
1014
|
+
const isAncestors = selectionMode === "ancestors";
|
|
1015
|
+
const allSelectedNoDisabled = this.allSelected && !this.hasDisabledItems;
|
|
1016
|
+
const allSelectedWithDisabledSelected = this.allSelected && this.hasDisabledSelected;
|
|
1017
|
+
const disabledItems = this.allItems.filter((item) => item.disabled && item.selected && (!isAncestors || !hasActiveChildren(item)));
|
|
1018
|
+
const preserveOrder = selectionDisplay === "all";
|
|
1019
|
+
if (selectionDisplay === "fit" && (allSelectedNoDisabled || allSelectedWithDisabledSelected) || selectionDisplay === "all" && this.selectAllEnabled && allSelectedWithDisabledSelected || this.selectAllEnabled && this.allSelected && !this.hasDisabledItems) {
|
|
977
1020
|
return null;
|
|
978
1021
|
}
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
1022
|
+
let selectedIndex = 0;
|
|
1023
|
+
let disabledIndex = 0;
|
|
1024
|
+
if (preserveOrder) {
|
|
1025
|
+
this.allItems.forEach((item) => {
|
|
1026
|
+
if (item.disabled) {
|
|
1027
|
+
if (item.selected && (!isAncestors || !hasActiveChildren(item))) {
|
|
1028
|
+
chips.push(this.renderChip({
|
|
1029
|
+
activeChipIndex,
|
|
1030
|
+
disabled: true,
|
|
1031
|
+
index: disabledIndex++,
|
|
1032
|
+
item,
|
|
1033
|
+
messages,
|
|
1034
|
+
readOnly,
|
|
1035
|
+
scale,
|
|
1036
|
+
isAncestors
|
|
1037
|
+
}));
|
|
1038
|
+
}
|
|
1039
|
+
return;
|
|
1040
|
+
}
|
|
1041
|
+
if (!this.selectAllEnabled || !this.allSelected || this.hasDisabledItems) {
|
|
1042
|
+
if (item.selected && (!isAncestors || !hasActiveChildren(item))) {
|
|
1043
|
+
chips.push(this.renderChip({
|
|
1044
|
+
activeChipIndex,
|
|
1045
|
+
disabled: false,
|
|
1046
|
+
index: selectedIndex++,
|
|
1047
|
+
item,
|
|
1048
|
+
messages,
|
|
1049
|
+
readOnly,
|
|
1050
|
+
scale,
|
|
1051
|
+
isAncestors
|
|
1052
|
+
}));
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
});
|
|
1056
|
+
} else if (!this.selectAllEnabled || !this.allSelected || this.hasDisabledItems) {
|
|
1057
|
+
this.selectedItems.forEach((item) => {
|
|
1058
|
+
chips.push(this.renderChip({
|
|
1059
|
+
activeChipIndex,
|
|
1060
|
+
disabled: false,
|
|
1061
|
+
index: selectedIndex++,
|
|
1062
|
+
item,
|
|
1063
|
+
messages,
|
|
1064
|
+
readOnly,
|
|
1065
|
+
scale,
|
|
1066
|
+
isAncestors
|
|
1067
|
+
}));
|
|
1068
|
+
});
|
|
1069
|
+
}
|
|
1070
|
+
if (selectionDisplay === "fit" && disabledItems.length) {
|
|
1071
|
+
chips.push(this.renderChipCount(disabledItems.length, scale));
|
|
1072
|
+
}
|
|
1073
|
+
return chips.length ? chips : null;
|
|
989
1074
|
}
|
|
990
1075
|
renderAllSelectedIndicatorChip() {
|
|
991
1076
|
const { allSelectedIndicatorChipRef, compactSelectionDisplay, scale, selectedVisibleChipsCount } = this;
|
|
992
1077
|
const label = compactSelectionDisplay ? this.messages.all : this.messages.allSelected;
|
|
1078
|
+
const showAllSelectedChip = this.allSelected && (this.selectionDisplay === "single" || !selectedVisibleChipsCount || this.selectionDisplay === "fit" && this.hasDisabledSelected || this.selectionDisplay === "all" && this.hasDisabledSelected);
|
|
993
1079
|
return html`<calcite-chip class=${safeClassMap({
|
|
994
1080
|
[CSS$1.chip]: true,
|
|
995
|
-
[CSS$1.chipInvisible]: !
|
|
1081
|
+
[CSS$1.chipInvisible]: !showAllSelectedChip,
|
|
996
1082
|
[CSS$1.allSelected]: true
|
|
997
1083
|
})} .label=${label} .scale=${scale} title=${label ?? nothing} value ${ref(allSelectedIndicatorChipRef)}>${label}</calcite-chip>`;
|
|
998
1084
|
}
|
|
999
1085
|
renderSelectedIndicatorChip() {
|
|
1000
|
-
const { compactSelectionDisplay, selectionDisplay,
|
|
1086
|
+
const { compactSelectionDisplay, selectionDisplay, scale, selectedHiddenChipsCount, selectedVisibleChipsCount, selectedIndicatorChipRef } = this;
|
|
1087
|
+
const allSelectedNoDisabled = this.allSelected && !this.hasDisabledItems;
|
|
1088
|
+
const allSelectedWithDisabledSelected = this.allSelected && this.hasDisabledSelected;
|
|
1001
1089
|
let chipInvisible;
|
|
1002
1090
|
let label;
|
|
1003
1091
|
if (compactSelectionDisplay) {
|
|
1004
1092
|
chipInvisible = true;
|
|
1005
1093
|
} else {
|
|
1006
1094
|
if (selectionDisplay === "single") {
|
|
1007
|
-
const selectedItemsCount =
|
|
1095
|
+
const selectedItemsCount = this.allItems.filter((item) => item.selected && (this.selectionMode !== "ancestors" || !hasActiveChildren(item))).length;
|
|
1008
1096
|
if (this.allSelected) {
|
|
1009
1097
|
chipInvisible = true;
|
|
1010
1098
|
} else if (selectedItemsCount > 0) {
|
|
@@ -1014,7 +1102,7 @@ class Combobox extends LitElement {
|
|
|
1014
1102
|
}
|
|
1015
1103
|
label = `${selectedItemsCount} ${this.messages.selected}`;
|
|
1016
1104
|
} else if (selectionDisplay === "fit") {
|
|
1017
|
-
chipInvisible = !!(
|
|
1105
|
+
chipInvisible = !!((allSelectedNoDisabled || allSelectedWithDisabledSelected) && selectedVisibleChipsCount === 0 || selectedHiddenChipsCount === 0);
|
|
1018
1106
|
label = selectedVisibleChipsCount > 0 ? `+${selectedHiddenChipsCount}` : `${selectedHiddenChipsCount} ${this.messages.selected}`;
|
|
1019
1107
|
}
|
|
1020
1108
|
}
|
|
@@ -1024,12 +1112,14 @@ class Combobox extends LitElement {
|
|
|
1024
1112
|
})} .label=${label} .scale=${scale} title=${label ?? nothing} value ${ref(selectedIndicatorChipRef)}>${label}</calcite-chip>`;
|
|
1025
1113
|
}
|
|
1026
1114
|
renderSelectedIndicatorChipCompact() {
|
|
1027
|
-
const { compactSelectionDisplay, selectionDisplay,
|
|
1115
|
+
const { compactSelectionDisplay, selectionDisplay, scale, selectedHiddenChipsCount } = this;
|
|
1116
|
+
const allSelectedNoDisabled = this.allSelected && !this.hasDisabledItems;
|
|
1117
|
+
const allSelectedWithDisabledSelected = this.allSelected && this.hasDisabledSelected;
|
|
1028
1118
|
let chipInvisible;
|
|
1029
1119
|
let label;
|
|
1030
1120
|
if (compactSelectionDisplay) {
|
|
1031
|
-
const selectedItemsCount =
|
|
1032
|
-
if (this.allSelected) {
|
|
1121
|
+
const selectedItemsCount = this.allItems.filter((item) => item.selected && (this.selectionMode !== "ancestors" || !hasActiveChildren(item))).length;
|
|
1122
|
+
if (allSelectedNoDisabled || allSelectedWithDisabledSelected || selectionDisplay === "single" && this.allSelected) {
|
|
1033
1123
|
chipInvisible = true;
|
|
1034
1124
|
} else if (selectionDisplay === "fit") {
|
|
1035
1125
|
chipInvisible = !(selectedHiddenChipsCount > 0);
|
|
@@ -1117,6 +1207,7 @@ class Combobox extends LitElement {
|
|
|
1117
1207
|
const singleSelectionDisplay = selectionDisplay === "single";
|
|
1118
1208
|
const fitSelectionDisplay = !singleSelectionMode && selectionDisplay === "fit";
|
|
1119
1209
|
const isClearable = !this.clearDisabled && this.selectionMode !== "single-persist" && !!this.value?.length;
|
|
1210
|
+
const hasDisabledItems = this.hasDisabledItems;
|
|
1120
1211
|
return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div aria-live=polite class=${safeClassMap({
|
|
1121
1212
|
[CSS$1.wrapper]: true,
|
|
1122
1213
|
[CSS$1.wrapperSingle]: singleSelectionMode || !this.selectedItems.length,
|
|
@@ -1125,11 +1216,11 @@ class Combobox extends LitElement {
|
|
|
1125
1216
|
[CSS$1.gridInput]: true,
|
|
1126
1217
|
[CSS$1.selectionDisplayFit]: fitSelectionDisplay,
|
|
1127
1218
|
[CSS$1.selectionDisplaySingle]: singleSelectionDisplay
|
|
1128
|
-
})} ${ref(this.setChipContainerEl)}>${!singleSelectionMode && !singleSelectionDisplay && this.renderChips() || ""}${!singleSelectionMode && !singleSelectionDisplay && this.selectAllEnabled && this.renderAllSelectedIndicatorChip() || ""}${!singleSelectionMode && !allSelectionDisplay && [
|
|
1219
|
+
})} ${ref(this.setChipContainerEl)}>${!singleSelectionMode && !singleSelectionDisplay && this.renderChips() || ""}${!singleSelectionMode && !singleSelectionDisplay && this.selectAllEnabled && allSelectionDisplay && (!hasDisabledItems || this.hasDisabledSelected) && this.renderAllSelectedIndicatorChip() || ""}${!singleSelectionMode && !allSelectionDisplay && [
|
|
1129
1220
|
this.renderSelectedIndicatorChip(),
|
|
1130
1221
|
this.renderSelectedIndicatorChipCompact(),
|
|
1131
1222
|
this.renderAllSelectedIndicatorChip()
|
|
1132
|
-
] || ""}<label class=${safeClassMap(CSS$1.screenReadersOnly)} .htmlFor=${`${IDS.input(guid2)}`} .id=${`${IDS.label(guid2)}`}>${label}</label>${this.renderInput()}</div>`)}${!readOnly && isClearable ? keyed("close-button", XButton({ disabled: this.disabled, label: this.messages.clear, ref: this.closeButtonRef, scale: this.scale })) : null}${!readOnly && this.renderChevronIcon() || ""}</div><ul aria-labelledby=${`${IDS.label(guid2)}`} aria-multiselectable=true class=${safeClassMap(CSS$1.screenReadersOnly)} .id=${`${IDS.listbox(guid2)}`} role=listbox tabindex=-1>${this.renderListBoxOptions()}</ul>${this.renderFloatingUIContainer()}${
|
|
1223
|
+
] || ""}<label class=${safeClassMap(CSS$1.screenReadersOnly)} .htmlFor=${`${IDS.input(guid2)}`} .id=${`${IDS.label(guid2)}`}>${label}</label>${this.renderInput()}</div>`)}${!readOnly && isClearable ? keyed("close-button", XButton({ disabled: this.disabled, label: this.messages.clear, ref: this.closeButtonRef, scale: this.scale })) : null}${!readOnly && this.renderChevronIcon() || ""}</div><ul aria-labelledby=${`${IDS.label(guid2)}`} aria-multiselectable=true class=${safeClassMap(CSS$1.screenReadersOnly)} .id=${`${IDS.listbox(guid2)}`} role=listbox tabindex=-1>${this.renderListBoxOptions()}</ul>${this.renderFloatingUIContainer()}${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
|
|
1133
1224
|
}
|
|
1134
1225
|
}
|
|
1135
1226
|
customElement("calcite-combobox", Combobox);
|
|
@@ -4,7 +4,7 @@ import type { ComboboxChildElement } from "../calcite-combobox/interfaces.js";
|
|
|
4
4
|
import type { IconName } from "../calcite-icon/interfaces.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* @cssproperty [--calcite-combobox-item-border-color] - [Deprecated] Specifies the component's border color.
|
|
7
|
+
* @cssproperty [--calcite-combobox-item-border-color] - [Deprecated] in v3.3.0, removal target v6.0.0 - Specifies the component's border color.
|
|
8
8
|
* @cssproperty [--calcite-combobox-text-color] - Specifies the component's text and `icon` color.
|
|
9
9
|
* @cssproperty [--calcite-combobox-text-color-hover] - Specifies the component's text and `icon` color when hovered.
|
|
10
10
|
* @cssproperty [--calcite-combobox-item-background-color-active] - When `active`, specifies the component's background color.
|