@esri/calcite-components 5.1.0-next.5 → 5.1.0-next.51
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/2I23BJUK.js +2 -0
- package/dist/cdn/2MK42DZ4.js +2 -0
- package/dist/cdn/2RVF53XU.js +2 -0
- package/dist/cdn/{25YVFVC7.js → 2VEIQ62E.js} +1 -1
- package/dist/cdn/36JLOHBC.js +2 -0
- package/dist/cdn/{HHOMMC4H.js → 3B5PYTVX.js} +1 -1
- package/dist/cdn/3BZBBTUA.js +2 -0
- package/dist/cdn/3FXX3SBS.js +2 -0
- package/dist/cdn/3JTJC2PS.js +2 -0
- package/dist/cdn/3N3O22QG.js +2 -0
- package/dist/cdn/3ZXALV6G.js +2 -0
- package/dist/cdn/43E5QBXB.js +2 -0
- package/dist/cdn/{IJP6ZKHZ.js → 456IFPIW.js} +1 -1
- package/dist/cdn/{GNDNKP2Q.js → 4F5KQIRB.js} +1 -1
- package/dist/cdn/4HQ5QYH2.js +2 -0
- package/dist/cdn/{ZKPCUAN2.js → 4J3DARRE.js} +1 -1
- package/dist/cdn/4R54D2BX.js +2 -0
- package/dist/cdn/4RTJFM5B.js +2 -0
- package/dist/cdn/4TA4AAFT.js +2 -0
- package/dist/cdn/52IJCUEV.js +2 -0
- package/dist/cdn/5EOFDLJO.js +2 -0
- package/dist/cdn/{2QARK4VJ.js → 5M27WGKA.js} +1 -1
- package/dist/cdn/5WVRAQRW.js +2 -0
- package/dist/cdn/6BFJTIPA.js +2 -0
- package/dist/cdn/{5TCLHXAD.js → 6D5PCSHS.js} +1 -1
- package/dist/cdn/6TSA7FLB.js +2 -0
- package/dist/cdn/{HUNZU2OF.js → 73ORJJZS.js} +1 -1
- package/dist/cdn/{5SU52VYR.js → 75SY2WE4.js} +1 -1
- package/dist/cdn/{VB7GHJWK.js → 7ECSU3T3.js} +1 -1
- package/dist/cdn/{RGKOGN5W.js → 7GZ4RW44.js} +1 -1
- package/dist/cdn/{NAFJ5ZYO.js → 7NDXWX7R.js} +1 -1
- package/dist/cdn/{5L7CGWWD.js → 7RZYNANK.js} +1 -1
- package/dist/cdn/{DY6SXW3X.js → A2KNWLOL.js} +1 -1
- package/dist/cdn/{BPSXK66S.js → AEPM5SJO.js} +1 -1
- package/dist/cdn/{ZVFZSDLX.js → AEZOU5JE.js} +1 -1
- package/dist/cdn/{NIBBUVHR.js → AK66BMBC.js} +1 -1
- package/dist/cdn/{RRNEZXM4.js → AR7ZPQQG.js} +1 -1
- package/dist/cdn/B6R2YN2X.js +2 -0
- package/dist/cdn/{NNSUCRNU.js → BF7DR726.js} +1 -1
- package/dist/cdn/BHS72XYT.js +2 -0
- package/dist/cdn/{UUHRTJGO.js → C42SNF33.js} +1 -1
- package/dist/cdn/C53YAAVC.js +2 -0
- package/dist/cdn/CDSIG642.js +2 -0
- package/dist/cdn/CJGERVGF.js +4 -0
- package/dist/cdn/{3NNVHOGK.js → CRL6VQWS.js} +1 -1
- package/dist/cdn/{KVPLQQ75.js → DAQX6BT3.js} +1 -1
- package/dist/cdn/{EHIAXJAL.js → DCWL5FUH.js} +1 -1
- package/dist/cdn/{AJKEEG2Z.js → DUAPF33E.js} +1 -1
- package/dist/cdn/DWPX74WA.js +2 -0
- package/dist/cdn/{YQOYGBGD.js → EBGVT22W.js} +1 -1
- package/dist/cdn/EW3UPJT7.js +2 -0
- package/dist/cdn/FB545PKU.js +2 -0
- package/dist/cdn/GFPWU57X.js +2 -0
- package/dist/cdn/{O75ZRZLS.js → GTALENKO.js} +1 -1
- package/dist/cdn/H5UVCR64.js +2 -0
- package/dist/cdn/{ODOOWGRW.js → H6UBX3WZ.js} +1 -1
- package/dist/cdn/HGRS2NBC.js +2 -0
- package/dist/cdn/{QVTLP2LK.js → HM2E526S.js} +1 -1
- package/dist/cdn/HPVBLELP.js +2 -0
- package/dist/cdn/{FWEFFYYZ.js → HPWLGQL6.js} +1 -1
- package/dist/cdn/{752PQ7IA.js → HULUX4S6.js} +1 -1
- package/dist/cdn/{MQMNX7AM.js → I24CZVLP.js} +1 -1
- package/dist/cdn/{2GS6R2BX.js → IHLWJXZV.js} +1 -1
- package/dist/cdn/{NMIBGEIB.js → IIBZXYLU.js} +1 -1
- package/dist/cdn/{SVHI2LRC.js → IRVWWA2A.js} +1 -1
- package/dist/cdn/{DR7JKZAI.js → ISMO77VP.js} +1 -1
- package/dist/cdn/{2Z4Z3NMS.js → IZEFSP2C.js} +1 -1
- package/dist/cdn/JA5TE633.js +2 -0
- package/dist/cdn/JKAB4LS7.js +2 -0
- package/dist/cdn/{42NQN6DY.js → JLGDNYBI.js} +1 -1
- package/dist/cdn/{PNXNTD3R.js → JOTX7MS6.js} +1 -1
- package/dist/cdn/{3LOKHBAB.js → K43SJYRB.js} +1 -1
- package/dist/cdn/{ALC6PGDZ.js → K7UPFMP3.js} +1 -1
- package/dist/cdn/{X53XDNBL.js → KC5UAIPG.js} +1 -1
- package/dist/cdn/{6XJYCX76.js → KDMQ3W3P.js} +1 -1
- package/dist/cdn/{HGRVTRR3.js → KIIYDDSF.js} +1 -1
- package/dist/cdn/KJUZSP7X.js +2 -0
- package/dist/cdn/KVNTMFIR.js +2 -0
- package/dist/cdn/{OGOI7JTF.js → KWNGJXWC.js} +1 -1
- package/dist/cdn/{K4R3HUW3.js → KXSIX7V7.js} +1 -1
- package/dist/cdn/LA3AJSXV.js +2 -0
- package/dist/cdn/LSOSPUDS.js +2 -0
- package/dist/cdn/M4BORA6H.js +2 -0
- package/dist/cdn/{3L2WKJUB.js → M77EYDBR.js} +1 -1
- package/dist/cdn/{D7UER3G6.js → MAH7GW3L.js} +1 -1
- package/dist/cdn/{UYYGQ6AY.js → MFLXU5FA.js} +1 -1
- package/dist/cdn/{C25VFIND.js → MRXZATZZ.js} +1 -1
- package/dist/cdn/MU5LNKS7.js +2 -0
- package/dist/cdn/MUMG74E5.js +2 -0
- package/dist/cdn/MVK6LWK5.js +2 -0
- package/dist/cdn/{3GV45XL7.js → MYDCGCGV.js} +1 -1
- package/dist/cdn/MYKZPZDR.js +2 -0
- package/dist/cdn/{CWQZDXHH.js → NIASU3O6.js} +1 -1
- package/dist/cdn/{22IPJDDL.js → NKBT2QG4.js} +1 -1
- package/dist/cdn/NL6QGGPB.js +2 -0
- package/dist/cdn/NPKYZEEF.js +2 -0
- package/dist/cdn/{ZPJ4FGXO.js → OFR37WBK.js} +1 -1
- package/dist/cdn/{SP22KLIK.js → OL7ZYBX6.js} +1 -1
- package/dist/cdn/P6VMV62Z.js +2 -0
- package/dist/cdn/{B55VO4LW.js → PDXU6HPZ.js} +1 -1
- package/dist/cdn/PIKLS5KR.js +2 -0
- package/dist/cdn/PJ4SD5FY.js +2 -0
- package/dist/cdn/PLG6IIYK.js +3 -0
- package/dist/cdn/{NT6RQTF7.js → PPBHKZJI.js} +1 -1
- package/dist/cdn/{H77SNVVI.js → Q75PWKQ3.js} +1 -1
- package/dist/cdn/QJBPXLTP.js +2 -0
- package/dist/cdn/{Q52IY7SS.js → QLOR2RB5.js} +1 -1
- package/dist/cdn/QTHYRIFY.js +2 -0
- package/dist/cdn/QVXAQXDL.js +2 -0
- package/dist/cdn/R2ZRQO3L.js +2 -0
- package/dist/cdn/RGLUZ76B.js +2 -0
- package/dist/cdn/{EY4MG3NU.js → RPAL2ENA.js} +1 -1
- package/dist/cdn/{ZKCFISUX.js → RRJKRT7F.js} +1 -1
- package/dist/cdn/S7EIG7Q5.js +2 -0
- package/dist/cdn/{5J2UYJYX.js → SCXKWH7Z.js} +1 -1
- package/dist/cdn/{PYD5GHXA.js → SKAIHX6Z.js} +1 -1
- package/dist/cdn/{IU4TJIME.js → SXV7WCPS.js} +1 -1
- package/dist/cdn/T4Q6C4CT.js +2 -0
- package/dist/cdn/TGQJUML7.js +2 -0
- package/dist/cdn/TSNOYPVI.js +2 -0
- package/dist/cdn/{MM6LZCYO.js → TZ7BLX2N.js} +1 -1
- package/dist/cdn/{TZFOTRCX.js → U63LB523.js} +1 -1
- package/dist/cdn/U6HPCAAW.js +2 -0
- package/dist/cdn/{UVJ3XYK5.js → UPTGE4WC.js} +1 -1
- package/dist/cdn/USOHYTXD.js +2 -0
- package/dist/cdn/{T2MUZ4UN.js → UY7QVK74.js} +1 -1
- package/dist/cdn/VFLSIH3H.js +2 -0
- package/dist/cdn/{Y5FMVLYP.js → VHLCDJKY.js} +1 -1
- package/dist/cdn/{G4QI7VSJ.js → VRI5YMPE.js} +1 -1
- package/dist/cdn/{Z6LSD6MR.js → WBP7WHU4.js} +1 -1
- package/dist/cdn/WCTTX5WL.js +2 -0
- package/dist/cdn/{RH6ZIP65.js → WGGFNK4Z.js} +1 -1
- package/dist/cdn/WXDRYIO2.js +2 -0
- package/dist/cdn/WZ6F5SCK.js +2 -0
- package/dist/cdn/X2NBQO5I.js +2 -0
- package/dist/cdn/{IFLPCKYL.js → X44HUYME.js} +1 -1
- package/dist/cdn/XKYXT27V.js +2 -0
- package/dist/cdn/XUU2MRGP.js +2 -0
- package/dist/cdn/XUYLYALV.js +2 -0
- package/dist/cdn/XYFV7S74.js +2 -0
- package/dist/cdn/ZEUCKTPG.js +2 -0
- package/dist/cdn/ZKHWMGW5.js +2 -0
- package/dist/cdn/ZMX2MKUW.js +2 -0
- package/dist/cdn/ZOQOJDXL.js +2 -0
- package/dist/cdn/ZQCRV5XI.js +2 -0
- package/dist/cdn/ZRXGDZZT.js +4 -0
- 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/buttons16.json +1 -0
- package/dist/cdn/assets/icon/buttons24.json +1 -0
- package/dist/cdn/assets/icon/buttons32.json +1 -0
- package/dist/cdn/assets/icon/entityTypes16.json +1 -0
- package/dist/cdn/assets/icon/entityTypes24.json +1 -0
- package/dist/cdn/assets/icon/entityTypes32.json +1 -0
- package/dist/cdn/assets/icon/gpsReceiver16.json +1 -0
- package/dist/cdn/assets/icon/gpsReceiver24.json +1 -0
- package/dist/cdn/assets/icon/gpsReceiver32.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/totalStation16.json +1 -0
- package/dist/cdn/assets/icon/totalStation24.json +1 -0
- package/dist/cdn/assets/icon/totalStation32.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 +2 -2
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/ClearButton.js +16 -0
- package/dist/chunks/ExpandToggle.js +3 -3
- package/dist/chunks/Heading.js +3 -3
- package/dist/chunks/component.js +1 -1
- package/dist/chunks/dom.js +49 -28
- package/dist/chunks/floating-ui.js +2 -5
- package/dist/chunks/locale.js +29 -12
- package/dist/chunks/manager.js +505 -0
- 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 +25 -0
- package/dist/chunks/useForm.js +327 -0
- package/dist/chunks/useFormTrigger.js +25 -0
- package/dist/chunks/{sortableComponent.js → useSortable.js} +70 -44
- package/dist/chunks/utils.js +6 -6
- package/dist/chunks/utils3.js +18 -3
- package/dist/components/calcite-accordion-item/customElement.d.ts +6 -6
- package/dist/components/calcite-action/customElement.d.ts +14 -12
- package/dist/components/calcite-action/customElement.js +8 -14
- package/dist/components/calcite-action-bar/customElement.d.ts +12 -3
- package/dist/components/calcite-action-bar/customElement.js +47 -16
- package/dist/components/calcite-action-group/customElement.d.ts +12 -6
- package/dist/components/calcite-action-group/customElement.js +2 -1
- 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 +11 -6
- package/dist/components/calcite-alert/customElement.d.ts +2 -2
- package/dist/components/calcite-alert/customElement.js +1 -1
- package/dist/components/calcite-autocomplete/customElement.d.ts +16 -13
- package/dist/components/calcite-autocomplete/customElement.js +20 -31
- 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-block/customElement.d.ts +5 -5
- package/dist/components/calcite-block/customElement.js +1 -1
- package/dist/components/calcite-block-group/customElement.d.ts +1 -1
- package/dist/components/calcite-block-group/customElement.js +4 -11
- 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 +6 -6
- package/dist/components/calcite-button/customElement.js +10 -22
- package/dist/components/calcite-card/customElement.d.ts +11 -5
- package/dist/components/calcite-card/customElement.js +5 -3
- package/dist/components/calcite-card-group/customElement.d.ts +9 -3
- package/dist/components/calcite-card-group/customElement.js +11 -1
- package/dist/components/calcite-carousel/customElement.d.ts +1 -1
- package/dist/components/calcite-checkbox/customElement.d.ts +4 -5
- package/dist/components/calcite-checkbox/customElement.js +8 -22
- 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-color-picker/customElement.d.ts +2 -2
- package/dist/components/calcite-color-picker/customElement.js +2 -2
- package/dist/components/calcite-color-picker-hex-input/customElement.d.ts +1 -1
- package/dist/components/calcite-color-picker-hex-input/customElement.js +1 -1
- package/dist/components/calcite-color-picker-swatch/customElement.d.ts +1 -1
- package/dist/components/calcite-combobox/customElement.d.ts +5 -5
- package/dist/components/calcite-combobox/customElement.js +195 -108
- package/dist/components/calcite-combobox/index.js +2 -1
- package/dist/components/calcite-combobox-item/customElement.d.ts +1 -1
- package/dist/components/calcite-combobox-item/customElement.js +1 -1
- package/dist/components/calcite-date-picker/customElement.d.ts +1 -1
- package/dist/components/calcite-date-picker/customElement.js +4 -14
- package/dist/components/calcite-date-picker-day/customElement.d.ts +1 -1
- package/dist/components/calcite-date-picker-month/customElement.js +2 -2
- package/dist/components/calcite-date-picker-month-header/customElement.js +1 -1
- package/dist/components/calcite-dialog/customElement.d.ts +7 -5
- package/dist/components/calcite-dialog/customElement.js +4 -2
- package/dist/components/calcite-dropdown/customElement.d.ts +15 -5
- package/dist/components/calcite-dropdown/customElement.js +165 -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-fab/customElement.js +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 +8 -5
- package/dist/components/calcite-flow-item/customElement.js +4 -2
- package/dist/components/calcite-graph/customElement.js +1 -1
- package/dist/components/calcite-handle/customElement.d.ts +1 -1
- package/dist/components/calcite-icon/customElement.d.ts +1 -1
- package/dist/components/calcite-inline-editable/customElement.d.ts +2 -2
- 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 +26 -49
- package/dist/components/calcite-input/index.js +1 -0
- package/dist/components/calcite-input-date-picker/customElement.d.ts +6 -7
- package/dist/components/calcite-input-date-picker/customElement.js +66 -75
- package/dist/components/calcite-input-message/customElement.d.ts +1 -1
- package/dist/components/calcite-input-number/customElement.d.ts +13 -14
- package/dist/components/calcite-input-number/customElement.js +22 -48
- package/dist/components/calcite-input-number/index.js +1 -0
- package/dist/components/calcite-input-text/customElement.d.ts +11 -12
- package/dist/components/calcite-input-text/customElement.js +8 -179
- package/dist/components/calcite-input-text/index.js +1 -0
- package/dist/components/calcite-input-time-picker/customElement.d.ts +6 -7
- package/dist/components/calcite-input-time-picker/customElement.js +11 -23
- 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-label/customElement.js +1 -1
- package/dist/components/calcite-link/customElement.d.ts +9 -9
- package/dist/components/calcite-link/customElement.js +28 -23
- package/dist/components/calcite-list/customElement.d.ts +1 -1
- package/dist/components/calcite-list/customElement.js +33 -14
- 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 +4 -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-meter/customElement.d.ts +7 -1
- package/dist/components/calcite-meter/customElement.js +4 -8
- package/dist/components/calcite-navigation/customElement.d.ts +9 -2
- package/dist/components/calcite-navigation/customElement.js +42 -3
- package/dist/components/calcite-navigation-logo/customElement.d.ts +3 -3
- package/dist/components/calcite-navigation-logo/customElement.js +4 -3
- package/dist/components/calcite-navigation-user/customElement.d.ts +2 -2
- package/dist/components/calcite-navigation-user/customElement.js +11 -6
- 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 +7 -5
- package/dist/components/calcite-panel/customElement.js +20 -8
- package/dist/components/calcite-popover/customElement.d.ts +2 -2
- package/dist/components/calcite-popover/customElement.js +11 -175
- package/dist/components/calcite-radio-button/customElement.d.ts +16 -1
- package/dist/components/calcite-radio-button/customElement.js +10 -18
- 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-segmented-control/customElement.d.ts +3 -4
- package/dist/components/calcite-segmented-control/customElement.js +8 -19
- package/dist/components/calcite-segmented-control-item/customElement.js +1 -1
- package/dist/components/calcite-select/customElement.d.ts +3 -4
- package/dist/components/calcite-select/customElement.js +9 -20
- package/dist/components/calcite-sheet/customElement.d.ts +3 -3
- package/dist/components/calcite-sheet/customElement.js +3 -7
- package/dist/components/calcite-shell-panel/customElement.d.ts +3 -3
- package/dist/components/calcite-shell-panel/customElement.js +4 -0
- 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 +3 -3
- 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 +29 -42
- package/dist/components/calcite-stepper-item/customElement.d.ts +1 -1
- package/dist/components/calcite-stepper-item/customElement.js +2 -8
- package/dist/components/calcite-swatch/customElement.d.ts +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 +1 -1
- package/dist/components/calcite-tab-nav/customElement.js +1 -1
- package/dist/components/calcite-tab-title/customElement.js +1 -1
- 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-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 +2 -2
- package/dist/components/calcite-tooltip/customElement.d.ts +15 -2
- package/dist/components/calcite-tooltip/customElement.js +24 -315
- package/dist/components/calcite-tree-item/customElement.js +2 -3
- 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 +28 -28
- package/dist/types/lumina.d.ts +8 -8
- package/dist/types/preact.d.ts +8 -8
- package/dist/types/react.d.ts +8 -8
- package/dist/types/stencil.d.ts +8 -8
- package/package.json +15 -16
- package/dist/cdn/25CWB6HX.js +0 -2
- package/dist/cdn/3KLZFJXW.js +0 -2
- package/dist/cdn/3WLFK4RW.js +0 -2
- package/dist/cdn/462JN5WF.js +0 -2
- package/dist/cdn/464S36UH.js +0 -2
- package/dist/cdn/4ALKCXNH.js +0 -2
- package/dist/cdn/4GQPJFUJ.js +0 -2
- package/dist/cdn/4GVH7HTQ.js +0 -2
- package/dist/cdn/4J6YW6EK.js +0 -2
- package/dist/cdn/52ZOO5HQ.js +0 -2
- package/dist/cdn/5HTRQR7F.js +0 -2
- package/dist/cdn/6NEHFZMJ.js +0 -2
- package/dist/cdn/6VRXKEA7.js +0 -2
- package/dist/cdn/7RSGSW76.js +0 -2
- package/dist/cdn/7UOYXJ3K.js +0 -2
- package/dist/cdn/A2UZRUUF.js +0 -2
- package/dist/cdn/A7IQIXR3.js +0 -2
- package/dist/cdn/AEUCGVU4.js +0 -2
- package/dist/cdn/BIEIKUB2.js +0 -2
- package/dist/cdn/BS22M3WT.js +0 -2
- package/dist/cdn/BWDCDFXW.js +0 -2
- package/dist/cdn/CXVISA7Y.js +0 -2
- package/dist/cdn/ED7SQQHM.js +0 -3
- package/dist/cdn/EFNE45MK.js +0 -2
- package/dist/cdn/EGK4PSW5.js +0 -2
- package/dist/cdn/EJCQCHH7.js +0 -2
- package/dist/cdn/ENCYKNKN.js +0 -4
- package/dist/cdn/EZW5GK73.js +0 -2
- package/dist/cdn/GEQ3EBJO.js +0 -2
- package/dist/cdn/GLJVCFQW.js +0 -2
- package/dist/cdn/HAUWZRL4.js +0 -2
- package/dist/cdn/HBUNMGZ3.js +0 -2
- package/dist/cdn/HFGDCX3I.js +0 -2
- package/dist/cdn/J42TNDHM.js +0 -2
- package/dist/cdn/J4J65DN5.js +0 -2
- package/dist/cdn/KBHLSIAR.js +0 -2
- package/dist/cdn/KKMGV3S6.js +0 -2
- package/dist/cdn/KUC6KV4R.js +0 -2
- package/dist/cdn/KVRUYI63.js +0 -2
- package/dist/cdn/MLQDQZZR.js +0 -2
- package/dist/cdn/N47CSPB7.js +0 -2
- package/dist/cdn/O6ZRTXVO.js +0 -2
- package/dist/cdn/OCFKSX5L.js +0 -2
- package/dist/cdn/OO556Q5A.js +0 -2
- package/dist/cdn/PGUOVY7V.js +0 -2
- package/dist/cdn/PJ3GHZ7T.js +0 -2
- package/dist/cdn/Q4EG6G7W.js +0 -2
- package/dist/cdn/QEPJF6TC.js +0 -3
- package/dist/cdn/QHZAKDI7.js +0 -2
- package/dist/cdn/QIUVPLV2.js +0 -2
- package/dist/cdn/R3DLH5BB.js +0 -2
- package/dist/cdn/R5DGN3O6.js +0 -2
- package/dist/cdn/RU3YCR42.js +0 -2
- package/dist/cdn/SF7SFEKA.js +0 -2
- package/dist/cdn/SKOYS4HM.js +0 -2
- package/dist/cdn/TAS3P2HU.js +0 -2
- package/dist/cdn/TBA5ATIB.js +0 -2
- package/dist/cdn/TW2SRS2O.js +0 -2
- package/dist/cdn/V2PPBU7J.js +0 -2
- package/dist/cdn/VIMF6KPF.js +0 -2
- package/dist/cdn/VYSJFEY6.js +0 -2
- package/dist/cdn/WI7KEIGV.js +0 -2
- package/dist/cdn/WJXZ7BPV.js +0 -2
- package/dist/cdn/WOJJ53FN.js +0 -2
- package/dist/cdn/WSRLM2TQ.js +0 -2
- package/dist/cdn/XPXJW5E3.js +0 -2
- package/dist/cdn/XXVIE4SD.js +0 -2
- package/dist/cdn/YBZVV5BN.js +0 -2
- package/dist/cdn/Z3B276DZ.js +0 -2
- package/dist/cdn/ZDZGWD2Y.js +0 -2
- package/dist/cdn/ZIKLLQSU.js +0 -2
- package/dist/cdn/ZQLGBHLZ.js +0 -2
- package/dist/cdn/ZZ746O36.js +0 -2
- package/dist/chunks/form.js +0 -268
- package/dist/chunks/input.js +0 -40
- package/dist/controllers/useForm.d.ts +0 -3
- package/dist/utils/form.d.ts +0 -3
- package/dist/utils/sortableComponent.d.ts +0 -7
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
2
|
import { c as customElement } from "../../chunks/runtime.js";
|
|
3
3
|
import { ref } from "lit/directives/ref.js";
|
|
4
|
-
import { css,
|
|
4
|
+
import { css, html } from "lit";
|
|
5
5
|
import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
|
|
6
|
-
import { queryAssignedElements } from "lit/decorators.js";
|
|
7
6
|
import { useDirection } from "@arcgis/lumina/controllers";
|
|
8
|
-
import {
|
|
7
|
+
import { u as nextFrame } from "../../chunks/dom.js";
|
|
9
8
|
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";
|
|
10
|
-
import { g as guid } from "../../chunks/guid.js";
|
|
11
9
|
import { i as isActivationKey } from "../../chunks/key.js";
|
|
12
10
|
import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
|
|
13
11
|
import { t as toggleOpenClose } from "../../chunks/openCloseComponent.js";
|
|
@@ -15,6 +13,7 @@ import { g as getDimensionClass } from "../../chunks/dynamicClasses.js";
|
|
|
15
13
|
import { u as useSetFocus } from "../../chunks/useSetFocus.js";
|
|
16
14
|
import { u as useInteractive } from "../../chunks/useInteractive.js";
|
|
17
15
|
import { u as useTopLayer } from "../../chunks/useTopLayer.js";
|
|
16
|
+
import { u as useReferenceElement, r as referenceElementManager } from "../../chunks/manager.js";
|
|
18
17
|
const SLOTS = {
|
|
19
18
|
trigger: "trigger"
|
|
20
19
|
};
|
|
@@ -23,32 +22,21 @@ const CSS = {
|
|
|
23
22
|
wrapper: "wrapper",
|
|
24
23
|
triggerContainer: "trigger-container"
|
|
25
24
|
};
|
|
26
|
-
const idPrefix = "calcite-dropdown";
|
|
27
|
-
const IDS = {
|
|
28
|
-
menuButton: (id) => `${idPrefix}-${id}-menubutton`,
|
|
29
|
-
menu: (id) => `${idPrefix}-${id}-menu`
|
|
30
|
-
};
|
|
31
25
|
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{display:inline-block}.wrapper{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{.wrapper{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .wrapper{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.wrapper[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.wrapper:popover-open{display:block}.wrapper .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}.wrapper[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.wrapper[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.wrapper[data-placement^=left] .calcite-floating-ui-anim{left:5px}.wrapper[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.content{max-height:45vh;width:auto;overflow-y:auto;overflow-x:hidden;inline-size:var(--calcite-dropdown-width, var(--calcite-internal-dropdown-width));background-color:var(--calcite-dropdown-background-color, var(--calcite-color-foreground-1))}.trigger-container{position:relative;display:flex;height:100%;flex:1 1 auto;word-wrap:break-word;word-break:break-word}.width-s{--calcite-internal-dropdown-width: 12rem}.width-m{--calcite-internal-dropdown-width: 14rem}.width-l{--calcite-internal-dropdown-width: 16rem}@media(forced-colors:active){:host([open]) .wrapper{border:var(--calcite-border-width-sm) solid canvasText}}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
|
|
32
|
-
|
|
33
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
34
|
-
var result = void 0;
|
|
35
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
36
|
-
if (decorator = decorators[i])
|
|
37
|
-
result = decorator(target, key, result) || result;
|
|
38
|
-
if (result) __defProp(target, key, result);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
26
|
+
const manager = referenceElementManager({ click: true, hover: true });
|
|
41
27
|
class Dropdown extends LitElement {
|
|
42
28
|
constructor() {
|
|
43
29
|
super();
|
|
30
|
+
this.referenceElementController = useReferenceElement({ manager })(this);
|
|
44
31
|
this.direction = useDirection();
|
|
45
32
|
this.focusLastDropdownItem = false;
|
|
33
|
+
this.activeItemIndex = -1;
|
|
46
34
|
this.groups = [];
|
|
47
|
-
this.guid = guid();
|
|
48
35
|
this.items = [];
|
|
49
36
|
this.mutationObserver = createObserver("mutation", () => this.updateItems());
|
|
50
37
|
this.transitionProp = "opacity";
|
|
51
38
|
this.resizeObserver = createObserver("resize", (entries) => this.resizeObserverCallback(entries));
|
|
39
|
+
this.onReferenceElementKeyDown = (event) => this.keyDownHandler(event);
|
|
52
40
|
this.focusSetter = useSetFocus()(this);
|
|
53
41
|
this.interactiveContainer = useInteractive(this);
|
|
54
42
|
this.topLayer = useTopLayer({
|
|
@@ -72,15 +60,13 @@ class Dropdown extends LitElement {
|
|
|
72
60
|
this.calciteDropdownOpen = createEvent({ cancelable: false });
|
|
73
61
|
this.calciteDropdownSelect = createEvent({ cancelable: false });
|
|
74
62
|
this.listenOn(window, "click", this.closeCalciteDropdownOnClick);
|
|
75
|
-
this.listen("calciteInternalDropdownCloseRequest", this.closeCalciteDropdownOnEvent);
|
|
76
63
|
this.listenOn(window, "calciteDropdownOpen", this.closeCalciteDropdownOnOpenEvent);
|
|
77
64
|
this.listen("pointerenter", this.pointerEnterHandler);
|
|
78
65
|
this.listen("pointerleave", this.pointerLeaveHandler);
|
|
79
|
-
this.listen("calciteInternalDropdownItemKeyEvent", this.calciteInternalDropdownItemKeyEvent);
|
|
80
66
|
this.listen("calciteInternalDropdownItemSelect", this.handleItemSelect);
|
|
81
67
|
}
|
|
82
68
|
static {
|
|
83
|
-
this.properties = { closeOnSelectDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], flipPlacements: [0, {}, { attribute: false }], maxItems: [11, {}, { reflect: true, type: Number }], offsetDistance: [11, {}, { type: Number, reflect: true }], offsetSkidding: [11, {}, { reflect: true, type: Number }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placement: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selectedItems: [0, {}, { attribute: false }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], type: [3, {}, { reflect: true }], widthScale: [3, {}, { reflect: true }], width: [3, {}, { reflect: true }] };
|
|
69
|
+
this.properties = { activeDescendantElement: [16, {}, { state: true }], referenceEl: [16, {}, { state: true }], closeOnSelectDisabled: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], flipPlacements: [0, {}, { attribute: false }], maxItems: [11, {}, { reflect: true, type: Number }], offsetDistance: [11, {}, { type: Number, reflect: true }], offsetSkidding: [11, {}, { reflect: true, type: Number }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placement: [3, {}, { reflect: true }], referenceElement: 1, scale: [3, {}, { reflect: true }], selectedItems: [0, {}, { attribute: false }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], type: [3, {}, { reflect: true }], widthScale: [3, {}, { reflect: true }], width: [3, {}, { reflect: true }] };
|
|
84
70
|
}
|
|
85
71
|
static {
|
|
86
72
|
this.shadowRootOptions = { mode: "open", delegatesFocus: true };
|
|
@@ -88,6 +74,9 @@ class Dropdown extends LitElement {
|
|
|
88
74
|
static {
|
|
89
75
|
this.styles = styles;
|
|
90
76
|
}
|
|
77
|
+
get referenceElementType() {
|
|
78
|
+
return this.referenceElement ? this.type : null;
|
|
79
|
+
}
|
|
91
80
|
async reposition(delayed = false) {
|
|
92
81
|
const { filteredFlipPlacements, floatingEl, offsetDistance, offsetSkidding, overlayPositioning, placement, referenceEl } = this;
|
|
93
82
|
return reposition(this, {
|
|
@@ -103,7 +92,7 @@ class Dropdown extends LitElement {
|
|
|
103
92
|
}, delayed);
|
|
104
93
|
}
|
|
105
94
|
async setFocus(options) {
|
|
106
|
-
return this.focusSetter(() => this.referenceEl, options);
|
|
95
|
+
return this.focusSetter(() => this.referenceEl instanceof HTMLElement ? this.referenceEl : this.floatingEl, options);
|
|
107
96
|
}
|
|
108
97
|
connectedCallback() {
|
|
109
98
|
super.connectedCallback();
|
|
@@ -131,6 +120,14 @@ class Dropdown extends LitElement {
|
|
|
131
120
|
if (changes.has("scale") && (this.hasUpdated || this.scale !== "m")) {
|
|
132
121
|
this.handlePropsChange();
|
|
133
122
|
}
|
|
123
|
+
if (changes.has("referenceElement") && !this.referenceElement && this.open) {
|
|
124
|
+
this.topLayer.hide();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
updated(changes) {
|
|
128
|
+
if (changes.has("referenceEl") && this.referenceElementType) {
|
|
129
|
+
connectFloatingUI(this);
|
|
130
|
+
}
|
|
134
131
|
}
|
|
135
132
|
loaded() {
|
|
136
133
|
this.updateSelectedItems();
|
|
@@ -163,29 +160,25 @@ class Dropdown extends LitElement {
|
|
|
163
160
|
this.updateGroupProps();
|
|
164
161
|
}
|
|
165
162
|
closeCalciteDropdownOnClick(event) {
|
|
166
|
-
if (this.disabled || !this.open || event.composedPath().includes(this.el)) {
|
|
163
|
+
if (this.referenceElementType || this.disabled || !this.open || event.composedPath().includes(this.el)) {
|
|
167
164
|
return;
|
|
168
165
|
}
|
|
169
|
-
this.closeCalciteDropdown(false);
|
|
170
|
-
}
|
|
171
|
-
closeCalciteDropdownOnEvent(event) {
|
|
172
166
|
this.closeCalciteDropdown();
|
|
173
|
-
event.stopPropagation();
|
|
174
167
|
}
|
|
175
168
|
closeCalciteDropdownOnOpenEvent(event) {
|
|
176
|
-
if (event.composedPath().includes(this.el)) {
|
|
169
|
+
if (this.referenceElementType || event.composedPath().includes(this.el)) {
|
|
177
170
|
return;
|
|
178
171
|
}
|
|
179
|
-
this.
|
|
172
|
+
this.closeCalciteDropdown();
|
|
180
173
|
}
|
|
181
174
|
pointerEnterHandler() {
|
|
182
|
-
if (this.disabled || this.type !== "hover") {
|
|
175
|
+
if (this.referenceElementType || this.disabled || this.type !== "hover") {
|
|
183
176
|
return;
|
|
184
177
|
}
|
|
185
|
-
this.
|
|
178
|
+
this.open = true;
|
|
186
179
|
}
|
|
187
180
|
pointerLeaveHandler() {
|
|
188
|
-
if (this.disabled || this.type !== "hover") {
|
|
181
|
+
if (this.referenceElementType || this.disabled || this.type !== "hover") {
|
|
189
182
|
return;
|
|
190
183
|
}
|
|
191
184
|
this.closeCalciteDropdown();
|
|
@@ -193,34 +186,12 @@ class Dropdown extends LitElement {
|
|
|
193
186
|
getTraversableItems() {
|
|
194
187
|
return this.items.filter((item) => !item.disabled && !item.hidden);
|
|
195
188
|
}
|
|
196
|
-
|
|
197
|
-
const { keyboardEvent } = event.detail;
|
|
198
|
-
const target = keyboardEvent.target;
|
|
199
|
-
const traversableItems = this.getTraversableItems();
|
|
200
|
-
switch (keyboardEvent.key) {
|
|
201
|
-
case "Tab":
|
|
202
|
-
this.open = false;
|
|
203
|
-
this.updateTabIndexOfItems(target);
|
|
204
|
-
break;
|
|
205
|
-
case "ArrowDown":
|
|
206
|
-
focusElementInGroup(traversableItems, target, "next");
|
|
207
|
-
break;
|
|
208
|
-
case "ArrowUp":
|
|
209
|
-
focusElementInGroup(traversableItems, target, "previous");
|
|
210
|
-
break;
|
|
211
|
-
case "Home":
|
|
212
|
-
focusElementInGroup(traversableItems, target, "first");
|
|
213
|
-
break;
|
|
214
|
-
case "End":
|
|
215
|
-
focusElementInGroup(traversableItems, target, "last");
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
event.stopPropagation();
|
|
219
|
-
}
|
|
220
|
-
handleItemSelect(event) {
|
|
189
|
+
async handleItemSelect(event) {
|
|
221
190
|
this.updateSelectedItems();
|
|
191
|
+
this.syncActiveItemFromTraversableItems();
|
|
222
192
|
event.stopPropagation();
|
|
223
193
|
this.calciteDropdownSelect.emit();
|
|
194
|
+
await this.setFocus();
|
|
224
195
|
if (!this.closeOnSelectDisabled) {
|
|
225
196
|
this.closeCalciteDropdown();
|
|
226
197
|
}
|
|
@@ -232,6 +203,7 @@ class Dropdown extends LitElement {
|
|
|
232
203
|
updateItems() {
|
|
233
204
|
this.items = this.groups.map((group) => Array.from(group?.querySelectorAll("calcite-dropdown-item"))).reduce((previousValue, currentValue) => [...previousValue, ...currentValue], []);
|
|
234
205
|
this.updateSelectedItems();
|
|
206
|
+
this.syncActiveItemFromTraversableItems();
|
|
235
207
|
this.reposition(true);
|
|
236
208
|
this.items.forEach((item) => item.scale = this.scale);
|
|
237
209
|
}
|
|
@@ -258,7 +230,7 @@ class Dropdown extends LitElement {
|
|
|
258
230
|
}
|
|
259
231
|
setDropdownWidth() {
|
|
260
232
|
const { referenceEl, scrollerEl } = this;
|
|
261
|
-
if (!scrollerEl || !referenceEl) {
|
|
233
|
+
if (!scrollerEl || !(referenceEl instanceof HTMLElement)) {
|
|
262
234
|
return;
|
|
263
235
|
}
|
|
264
236
|
scrollerEl.style.minWidth = `${referenceEl.clientWidth}px`;
|
|
@@ -278,7 +250,7 @@ class Dropdown extends LitElement {
|
|
|
278
250
|
this.transitionEl = el;
|
|
279
251
|
}
|
|
280
252
|
onBeforeOpen() {
|
|
281
|
-
this.
|
|
253
|
+
this.setInitialActiveItem();
|
|
282
254
|
this.calciteDropdownBeforeOpen.emit();
|
|
283
255
|
this.topLayer.show();
|
|
284
256
|
}
|
|
@@ -294,7 +266,9 @@ class Dropdown extends LitElement {
|
|
|
294
266
|
this.topLayer.hide();
|
|
295
267
|
}
|
|
296
268
|
setReferenceEl(el) {
|
|
297
|
-
|
|
269
|
+
const previousReferenceEl = this.referenceEl instanceof HTMLElement ? this.referenceEl : null;
|
|
270
|
+
const nextReferenceEl = el instanceof HTMLElement ? el : null;
|
|
271
|
+
updateRefObserver(this.resizeObserver, previousReferenceEl, nextReferenceEl);
|
|
298
272
|
this.referenceEl = el;
|
|
299
273
|
connectFloatingUI(this);
|
|
300
274
|
}
|
|
@@ -303,30 +277,59 @@ class Dropdown extends LitElement {
|
|
|
303
277
|
connectFloatingUI(this);
|
|
304
278
|
}
|
|
305
279
|
keyDownHandler(event) {
|
|
306
|
-
if (!event.composedPath().includes(this.referenceEl)) {
|
|
280
|
+
if (!(this.referenceEl instanceof HTMLElement) || !event.composedPath().includes(this.referenceEl)) {
|
|
307
281
|
return;
|
|
308
282
|
}
|
|
309
283
|
const { defaultPrevented, key } = event;
|
|
310
284
|
if (defaultPrevented) {
|
|
311
285
|
return;
|
|
312
286
|
}
|
|
313
|
-
if (key === "Escape") {
|
|
287
|
+
if (this.open && key === "Escape") {
|
|
314
288
|
this.closeCalciteDropdown();
|
|
315
289
|
event.preventDefault();
|
|
316
290
|
return;
|
|
317
291
|
}
|
|
318
|
-
if (this.open &&
|
|
319
|
-
this.
|
|
292
|
+
if (!this.open && isActivationKey(key)) {
|
|
293
|
+
this.open = true;
|
|
320
294
|
event.preventDefault();
|
|
321
295
|
return;
|
|
322
296
|
}
|
|
323
|
-
if (
|
|
324
|
-
this.toggleDropdown();
|
|
325
|
-
event.preventDefault();
|
|
326
|
-
} else if (key === "ArrowDown" || key === "ArrowUp") {
|
|
297
|
+
if (!this.open && (key === "ArrowDown" || key === "ArrowUp")) {
|
|
327
298
|
event.preventDefault();
|
|
328
299
|
this.focusLastDropdownItem = key === "ArrowUp";
|
|
329
300
|
this.open = true;
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
if (!this.open) {
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (key === "Tab") {
|
|
307
|
+
this.closeCalciteDropdown();
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
if (key === "ArrowDown") {
|
|
311
|
+
event.preventDefault();
|
|
312
|
+
this.navigateActiveItem("next");
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
if (key === "ArrowUp") {
|
|
316
|
+
event.preventDefault();
|
|
317
|
+
this.navigateActiveItem("previous");
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
if (key === "Home") {
|
|
321
|
+
event.preventDefault();
|
|
322
|
+
this.navigateActiveItem("first");
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
if (key === "End") {
|
|
326
|
+
event.preventDefault();
|
|
327
|
+
this.navigateActiveItem("last");
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
if (isActivationKey(key)) {
|
|
331
|
+
event.preventDefault();
|
|
332
|
+
this.activateActiveItem();
|
|
330
333
|
}
|
|
331
334
|
}
|
|
332
335
|
updateSelectedItems() {
|
|
@@ -336,48 +339,120 @@ class Dropdown extends LitElement {
|
|
|
336
339
|
const style = last.getBoundingClientRect();
|
|
337
340
|
return last.offsetTop + style.height;
|
|
338
341
|
}
|
|
339
|
-
closeCalciteDropdown(
|
|
342
|
+
closeCalciteDropdown() {
|
|
340
343
|
this.open = false;
|
|
341
|
-
|
|
342
|
-
focusElement(this.triggerEls[0]);
|
|
343
|
-
}
|
|
344
|
+
this.setActiveItemByIndex(-1);
|
|
344
345
|
}
|
|
345
|
-
async
|
|
346
|
-
const
|
|
347
|
-
const target =
|
|
346
|
+
async setInitialActiveItem() {
|
|
347
|
+
const traversableItems = this.getTraversableItems();
|
|
348
|
+
const target = this.focusLastDropdownItem ? traversableItems.at(-1) : traversableItems[0];
|
|
348
349
|
this.focusLastDropdownItem = false;
|
|
350
|
+
if (!target) {
|
|
351
|
+
this.setActiveItemByIndex(-1);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
const targetIndex = traversableItems.findIndex((item) => item === target);
|
|
355
|
+
this.setActiveItemByIndex(targetIndex);
|
|
356
|
+
await this.scrollActiveItemIntoView(target);
|
|
357
|
+
}
|
|
358
|
+
syncActiveItemFromTraversableItems() {
|
|
359
|
+
const traversableItems = this.getTraversableItems();
|
|
360
|
+
if (!traversableItems.length) {
|
|
361
|
+
this.setActiveItemByIndex(-1);
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
if (this.activeItemIndex < 0 || this.activeItemIndex >= traversableItems.length) {
|
|
365
|
+
this.setActiveItemByIndex(0);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
this.updateActiveDescendantElement(traversableItems[this.activeItemIndex]);
|
|
369
|
+
}
|
|
370
|
+
setActiveItemByIndex(index) {
|
|
371
|
+
this.activeItemIndex = index;
|
|
372
|
+
const traversableItems = this.getTraversableItems();
|
|
373
|
+
const activeItem = index >= 0 ? traversableItems[index] : null;
|
|
374
|
+
this.updateActiveDescendantElement(activeItem);
|
|
375
|
+
}
|
|
376
|
+
updateActiveDescendantElement(activeItem) {
|
|
377
|
+
this.items.forEach((item) => {
|
|
378
|
+
item.activeDescendant = item === activeItem;
|
|
379
|
+
});
|
|
380
|
+
this.activeDescendantElement = activeItem ?? null;
|
|
381
|
+
}
|
|
382
|
+
navigateActiveItem(direction) {
|
|
383
|
+
const traversableItems = this.getTraversableItems();
|
|
384
|
+
if (!traversableItems.length) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const totalItems = traversableItems.length;
|
|
388
|
+
let index = this.activeItemIndex;
|
|
389
|
+
if (index < 0 || index >= totalItems) {
|
|
390
|
+
index = direction === "previous" || direction === "last" ? totalItems - 1 : 0;
|
|
391
|
+
} else if (direction === "next") {
|
|
392
|
+
index = (index + 1) % totalItems;
|
|
393
|
+
} else if (direction === "previous") {
|
|
394
|
+
index = (index - 1 + totalItems) % totalItems;
|
|
395
|
+
} else if (direction === "first") {
|
|
396
|
+
index = 0;
|
|
397
|
+
} else if (direction === "last") {
|
|
398
|
+
index = totalItems - 1;
|
|
399
|
+
}
|
|
400
|
+
const activeItem = traversableItems[index];
|
|
401
|
+
this.setActiveItemByIndex(index);
|
|
402
|
+
void this.scrollActiveItemIntoView(activeItem);
|
|
403
|
+
}
|
|
404
|
+
async scrollActiveItemIntoView(target) {
|
|
349
405
|
if (!target) {
|
|
350
406
|
return;
|
|
351
407
|
}
|
|
352
408
|
await this.updateComplete;
|
|
353
409
|
await nextFrame();
|
|
354
410
|
await nextFrame();
|
|
355
|
-
await focusElement(target);
|
|
356
411
|
target.scrollIntoView({ block: "nearest" });
|
|
357
412
|
}
|
|
358
|
-
|
|
359
|
-
|
|
413
|
+
activateActiveItem() {
|
|
414
|
+
const traversableItems = this.getTraversableItems();
|
|
415
|
+
const activeItem = traversableItems[this.activeItemIndex] || traversableItems[0];
|
|
416
|
+
if (!activeItem) {
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
this.setActiveItemByIndex(traversableItems.findIndex((item) => item === activeItem));
|
|
420
|
+
activeItem.activateItem();
|
|
360
421
|
}
|
|
361
|
-
|
|
362
|
-
this.
|
|
363
|
-
|
|
364
|
-
}
|
|
422
|
+
openHoverDropdown() {
|
|
423
|
+
if (this.open || this.disabled || this.type !== "hover") {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
this.open = true;
|
|
427
|
+
}
|
|
428
|
+
closeHoverDropdown(event) {
|
|
429
|
+
if (!this.open || this.disabled || this.type !== "hover") {
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
const relatedTarget = event.relatedTarget;
|
|
433
|
+
if (relatedTarget && (this.el.contains(relatedTarget) || this.referenceEl != null && this.referenceEl instanceof HTMLElement && this.referenceEl.contains(relatedTarget))) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
this.closeCalciteDropdown();
|
|
437
|
+
}
|
|
438
|
+
toggleClickDropdown() {
|
|
439
|
+
if (this.disabled || this.type !== "click") {
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
this.open = !this.open;
|
|
365
443
|
}
|
|
366
444
|
render() {
|
|
367
|
-
const { open
|
|
368
|
-
return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.triggerContainer)}
|
|
445
|
+
const { open } = this;
|
|
446
|
+
return this.interactiveContainer({ disabled: this.disabled, children: html`${!this.referenceElementType ? html`<div class=${safeClassMap(CSS.triggerContainer)} @click=${this.toggleClickDropdown} @focusin=${this.openHoverDropdown} @focusout=${this.closeHoverDropdown} @keydown=${this.keyDownHandler} ${ref(this.setReferenceEl)}><slot .ariaActiveDescendantElement=${this.activeDescendantElement ?? null} .ariaControlsElements=${this.scrollerEl ? [this.scrollerEl] : void 0} .ariaExpanded=${open} aria-haspopup=menu name=${SLOTS.trigger}></slot></div>` : null}<div class=${safeClassMap({
|
|
369
447
|
[CSS.wrapper]: true,
|
|
370
448
|
[getDimensionClass("width", this.width, this.widthScale)]: !!(this.width || this.widthScale)
|
|
371
|
-
})} popover=manual ${ref(this.setFloatingEl)}><div
|
|
449
|
+
})} .inert=${!open} popover=manual ${ref(this.setFloatingEl)}><div .ariaLabelledByElements=${this.referenceEl instanceof HTMLElement ? [this.referenceEl] : void 0} class=${safeClassMap({
|
|
372
450
|
[CSS.content]: true,
|
|
373
451
|
[FloatingCSS.animation]: true,
|
|
374
452
|
[FloatingCSS.animationActive]: open
|
|
375
|
-
})}
|
|
453
|
+
})} role=menu ${ref(this.setScrollerAndTransitionEl)}><slot @slotchange=${this.updateGroups}></slot></div></div>` });
|
|
376
454
|
}
|
|
377
455
|
}
|
|
378
|
-
__decorateClass([
|
|
379
|
-
queryAssignedElements({ slot: SLOTS.trigger })
|
|
380
|
-
], Dropdown.prototype, "triggerEls");
|
|
381
456
|
customElement("calcite-dropdown", Dropdown);
|
|
382
457
|
export {
|
|
383
458
|
Dropdown
|
|
@@ -6,7 +6,7 @@ import type { IconName } from "../calcite-icon/interfaces.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* @cssproperty [--calcite-dropdown-item-background-color-hover] - Specifies the component's background color when hovered.
|
|
8
8
|
* @cssproperty [--calcite-dropdown-item-background-color-press] - Specifies the component's background color when `selected` or active.
|
|
9
|
-
* @cssproperty [--calcite-dropdown-item-icon-color-hover] - [Deprecated] Specifies the color of the component's selection icon when hovered.
|
|
9
|
+
* @cssproperty [--calcite-dropdown-item-icon-color-hover] - [Deprecated] in v5.0.0, removal target v6.0.0 - Specifies the color of the component's selection icon when hovered.
|
|
10
10
|
* @cssproperty [--calcite-dropdown-item-icon-color-press] - Specifies the color of the component's selection icon when `selected` or active.
|
|
11
11
|
* @cssproperty [--calcite-dropdown-item-text-color-press] - Specifies the component's text color when `selected` or active.
|
|
12
12
|
* @cssproperty [--calcite-dropdown-item-text-color] - Specifies the component's text color.
|
|
@@ -47,7 +47,7 @@ export abstract class DropdownItem extends LitElement {
|
|
|
47
47
|
* Sets focus on the component.
|
|
48
48
|
*
|
|
49
49
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
50
|
-
* @
|
|
50
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
51
51
|
*/
|
|
52
52
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
53
53
|
/** Fires when the component is selected. */
|
|
@@ -8,7 +8,7 @@ import { g as getIconScale } from "../../chunks/component.js";
|
|
|
8
8
|
import { u as useSetFocus } from "../../chunks/useSetFocus.js";
|
|
9
9
|
import { u as useInteractive } from "../../chunks/useInteractive.js";
|
|
10
10
|
import { C as CSS, I as ICONS } from "../../chunks/resources7.js";
|
|
11
|
-
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:flex;flex-grow:1;align-items:center;outline:2px solid transparent;outline-offset:2px}.container{position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1));text-align:start}.container a{outline:none;position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1))}.content{flex:1 1 auto}.icon{position:relative;opacity:0;transition-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(.9)}.icon--start,.icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color, var(--calcite-color-text-3))}:host([scale=s]) .container{padding-block:.25rem;padding-inline:.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) .icon,:host([scale=s]) .icon--start{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .icon--end{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .container{padding-block:.5rem;padding-inline:.75rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) .icon,:host([scale=m]) .icon--start{padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .icon--end{padding-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .container{padding-block
|
|
11
|
+
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:flex;flex-grow:1;align-items:center;outline:2px solid transparent;outline-offset:2px}.container{position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1));text-align:start}.container a{outline:none;position:relative;display:flex;flex-grow:1;cursor:pointer;align-items:center;text-decoration-line:none;color:var(--calcite-dropdown-item-text-color, var(--calcite-color-text-1))}.content{flex:1 1 auto}.icon{position:relative;opacity:0;transition-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(.9)}.icon--start,.icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color, var(--calcite-color-text-3))}:host([scale=s]) .container{padding-block:.25rem;padding-inline:.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) .icon,:host([scale=s]) .icon--start{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .icon--end{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .container{padding-block:.5rem;padding-inline:.75rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) .icon,:host([scale=m]) .icon--start{padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .icon--end{padding-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .container{padding-block:var(--calcite-space-sm-plus);padding-inline:1rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) .icon,:host([scale=l]) .icon--start{padding-inline-end:var(--calcite-spacing-lg)}:host([scale=l]) .icon--end{padding-inline-start:var(--calcite-spacing-lg)}:host(:focus) .container,:host([active-descendant]) .container{text-decoration-line:none;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(:hover:not([disabled])) .container{background-color:var(--calcite-dropdown-item-background-color-hover, var(--calcite-color-foreground-2))}:host(:active:not([disabled])) .container{background-color:var(--calcite-dropdown-item-background-color-press, var(--calcite-color-foreground-3))}:host(:hover:not([disabled])) .container,:host(:active:not([disabled])) .container{text-decoration-line:none;color:var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host(:hover:not([disabled])) .icon--start,:host(:hover:not([disabled])) .icon--end,:host(:active:not([disabled])) .icon--start,:host(:active:not([disabled])) .icon--end{--calcite-icon-color: var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host(:hover:not([disabled])) .link,:host(:active:not([disabled])) .link{color:var(--calcite-dropdown-item-text-color-press, var(--calcite-color-text-1))}:host([selected]) .container:not(.container--none-selection),:host([selected]) .link{font-weight:var(--calcite-font-weight-medium);--calcite-internal-dropdown-item-text-color: var( --calcite-dropdown-item-text-color-press, var(--calcite-color-text-1) );color:var(--calcite-internal-dropdown-item-text-color)}:host([selected]) .container:not(.container--none-selection) .icon,:host([selected]) .link .icon{--calcite-icon-color: var(--calcite-dropdown-item-icon-color-press, var(--calcite-color-brand))}:host([selected]) .container:not(.container--none-selection) .icon--start,:host([selected]) .container:not(.container--none-selection) .icon--end,:host([selected]) .link .icon--start,:host([selected]) .link .icon--end{--calcite-icon-color: var(--calcite-internal-dropdown-item-text-color)}:host(:hover:not([disabled])) .icon{--calcite-icon-color: var(--calcite-dropdown-item-icon-color-hover)}:host([selected]) .icon{opacity:1}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;
|
|
12
12
|
class DropdownItem extends LitElement {
|
|
13
13
|
constructor() {
|
|
14
14
|
super();
|
|
@@ -16,19 +16,17 @@ class DropdownItem extends LitElement {
|
|
|
16
16
|
this.focusSetter = useSetFocus()(this);
|
|
17
17
|
this.interactiveContainer = useInteractive(this);
|
|
18
18
|
this.disabled = false;
|
|
19
|
+
this.activeDescendant = false;
|
|
19
20
|
this.scale = "m";
|
|
20
21
|
this.selected = false;
|
|
21
22
|
this.selectionMode = "single";
|
|
22
23
|
this.calciteDropdownItemSelect = createEvent({ cancelable: false });
|
|
23
|
-
this.calciteInternalDropdownCloseRequest = createEvent({ cancelable: false });
|
|
24
|
-
this.calciteInternalDropdownItemKeyEvent = createEvent({ cancelable: false });
|
|
25
24
|
this.calciteInternalDropdownItemSelect = createEvent({ cancelable: false });
|
|
26
25
|
this.listen("click", this.onClick);
|
|
27
|
-
this.listen("keydown", this.keyDownHandler);
|
|
28
26
|
this.listenOn(document.body, "calciteInternalDropdownItemChange", this.updateActiveItemOnChange);
|
|
29
27
|
}
|
|
30
28
|
static {
|
|
31
|
-
this.properties = { disabled: [7, {}, { reflect: true, type: Boolean }], href: [3, {}, { reflect: true }], iconEnd: [3, { type: String }, { reflect: true }], iconFlipRtl: [3, {}, { reflect: true }], iconStart: [3, { type: String }, { reflect: true }], label: 1, rel: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selected: [7, {}, { reflect: true, type: Boolean }], selectionMode: 1, target: [3, {}, { reflect: true }] };
|
|
29
|
+
this.properties = { disabled: [7, {}, { reflect: true, type: Boolean }], activeDescendant: [7, {}, { reflect: true, type: Boolean }], href: [3, {}, { reflect: true }], iconEnd: [3, { type: String }, { reflect: true }], iconFlipRtl: [3, {}, { reflect: true }], iconStart: [3, { type: String }, { reflect: true }], label: 1, rel: [3, {}, { reflect: true }], scale: [3, {}, { reflect: true }], selected: [7, {}, { reflect: true, type: Boolean }], selectionMode: 1, target: [3, {}, { reflect: true }] };
|
|
32
30
|
}
|
|
33
31
|
static {
|
|
34
32
|
this.styles = styles;
|
|
@@ -36,6 +34,16 @@ class DropdownItem extends LitElement {
|
|
|
36
34
|
async setFocus(options) {
|
|
37
35
|
return this.focusSetter(() => this.el, options);
|
|
38
36
|
}
|
|
37
|
+
async activateItem() {
|
|
38
|
+
if (this.disabled) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (this.href) {
|
|
42
|
+
this.childLinkRef.value?.click();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this.emitRequestedItem();
|
|
46
|
+
}
|
|
39
47
|
connectedCallback() {
|
|
40
48
|
super.connectedCallback();
|
|
41
49
|
this.initialize();
|
|
@@ -46,32 +54,6 @@ class DropdownItem extends LitElement {
|
|
|
46
54
|
onClick() {
|
|
47
55
|
this.emitRequestedItem();
|
|
48
56
|
}
|
|
49
|
-
keyDownHandler(event) {
|
|
50
|
-
switch (event.key) {
|
|
51
|
-
case " ":
|
|
52
|
-
case "Enter":
|
|
53
|
-
this.emitRequestedItem();
|
|
54
|
-
if (this.href) {
|
|
55
|
-
this.childLinkRef.value.click();
|
|
56
|
-
}
|
|
57
|
-
event.preventDefault();
|
|
58
|
-
break;
|
|
59
|
-
case "Escape":
|
|
60
|
-
this.calciteInternalDropdownCloseRequest.emit();
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
break;
|
|
63
|
-
case "Tab":
|
|
64
|
-
this.calciteInternalDropdownItemKeyEvent.emit({ keyboardEvent: event });
|
|
65
|
-
break;
|
|
66
|
-
case "ArrowUp":
|
|
67
|
-
case "ArrowDown":
|
|
68
|
-
case "Home":
|
|
69
|
-
case "End":
|
|
70
|
-
event.preventDefault();
|
|
71
|
-
this.calciteInternalDropdownItemKeyEvent.emit({ keyboardEvent: event });
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
57
|
updateActiveItemOnChange(event) {
|
|
76
58
|
const parentEmittedChange = event.composedPath().includes(this.parentDropdownGroupEl);
|
|
77
59
|
if (parentEmittedChange) {
|
|
@@ -126,7 +108,7 @@ class DropdownItem extends LitElement {
|
|
|
126
108
|
this.el.ariaChecked = itemAria;
|
|
127
109
|
this.el.ariaLabel = !href ? label : "";
|
|
128
110
|
this.el.role = itemRole;
|
|
129
|
-
setAttribute(this.el, "tabIndex",
|
|
111
|
+
setAttribute(this.el, "tabIndex", -1);
|
|
130
112
|
return this.interactiveContainer({ disabled, children: html`<div class=${safeClassMap({
|
|
131
113
|
[CSS.container]: true,
|
|
132
114
|
[CSS.containerNone]: selectionMode === "none"
|
|
@@ -64,7 +64,7 @@ export abstract class Fab extends LitElement {
|
|
|
64
64
|
* Sets focus on the component.
|
|
65
65
|
*
|
|
66
66
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
67
|
-
* @
|
|
67
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
68
68
|
*/
|
|
69
69
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
70
70
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { c as customElement } from "../../chunks/runtime.js";
|
|
3
3
|
import { css, html } from "lit";
|
|
4
4
|
import { createRef, ref } from "lit/directives/ref.js";
|
|
5
|
-
import { LitElement,
|
|
5
|
+
import { LitElement, nothing, safeClassMap } from "@arcgis/lumina";
|
|
6
6
|
import { u as useSetFocus } from "../../chunks/useSetFocus.js";
|
|
7
7
|
import { u as useInteractive } from "../../chunks/useInteractive.js";
|
|
8
8
|
const CSS = {
|
|
@@ -66,7 +66,7 @@ export abstract class Filter extends LitElement {
|
|
|
66
66
|
* Sets focus on the component.
|
|
67
67
|
*
|
|
68
68
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
69
|
-
* @
|
|
69
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
70
70
|
*/
|
|
71
71
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
72
72
|
/** Fires when the filter text changes. */
|
|
@@ -19,7 +19,7 @@ export abstract class Flow extends LitElement {
|
|
|
19
19
|
*
|
|
20
20
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
21
21
|
* @returns Promise<void>
|
|
22
|
-
* @
|
|
22
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
23
23
|
*/
|
|
24
24
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
25
25
|
}
|
|
@@ -3,11 +3,12 @@ import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
|
3
3
|
import type { HeadingLevel } from "../functional/Heading.js";
|
|
4
4
|
import type { OverlayPositioning } from "../../utils/floating-ui.js";
|
|
5
5
|
import type { Scale } from "../interfaces.js";
|
|
6
|
+
import type { Panel } from "../calcite-panel/customElement.js";
|
|
6
7
|
import type { IconName } from "../calcite-icon/interfaces.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
|
-
* @cssproperty [--calcite-flow-item-footer-padding] - [Deprecated] Use `--calcite-flow-footer-space` instead. Specifies the padding of the component's footer.
|
|
10
|
-
* @cssproperty [--calcite-flow-item-header-border-block-end] - [Deprecated] Use `--calcite-flow-border-color` instead. Specifies the component header's block end border.
|
|
10
|
+
* @cssproperty [--calcite-flow-item-footer-padding] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-flow-footer-space` instead. Specifies the padding of the component's footer.
|
|
11
|
+
* @cssproperty [--calcite-flow-item-header-border-block-end] - [Deprecated] in v3.0.0, removal target v6.0.0 - Use `--calcite-flow-border-color` instead. Specifies the component header's block end border.
|
|
11
12
|
* @cssproperty [--calcite-flow-corner-radius] - Specifies the component's corner radius.
|
|
12
13
|
* @cssproperty [--calcite-flow-heading-text-color] - Specifies the text color of the component's `heading`.
|
|
13
14
|
* @cssproperty [--calcite-flow-icon-color] - Specifies the color of the component's `icon`.
|
|
@@ -42,6 +43,8 @@ import type { IconName } from "../calcite-icon/interfaces.js";
|
|
|
42
43
|
* @slot [header-actions-end] - A slot for adding `calcite-action`s or content to the end side of the component's header.
|
|
43
44
|
* @slot [header-content] - A slot for adding custom content to the component's header.
|
|
44
45
|
* @slot [header-menu-actions] - A slot for adding an overflow menu with `calcite-action`s inside a `calcite-dropdown`.
|
|
46
|
+
* @slot [heading] - A slot for adding content to the heading area of the default header. Takes precedence over the `heading` property.
|
|
47
|
+
* @slot [description] - A slot for adding content to the description area of the default header. Takes precedence over the `description` property.
|
|
45
48
|
* @slot [fab] - A slot for adding a `calcite-fab` (floating action button) to perform an action.
|
|
46
49
|
* @slot [footer] - A slot for adding custom content to the component's footer. Should not be used with the `footer-start` or `footer-end` slots.
|
|
47
50
|
* @slot [footer-end] - A slot for adding a trailing footer custom content. Should not be used with the `footer` slot.
|
|
@@ -113,7 +116,7 @@ export abstract class FlowItem extends LitElement {
|
|
|
113
116
|
back?: string;
|
|
114
117
|
close?: string;
|
|
115
118
|
options?: string;
|
|
116
|
-
};
|
|
119
|
+
} & Panel["messageOverrides"];
|
|
117
120
|
/**
|
|
118
121
|
* Specifies the type of positioning to use for overlaid content, where:
|
|
119
122
|
*
|
|
@@ -149,7 +152,7 @@ export abstract class FlowItem extends LitElement {
|
|
|
149
152
|
* Only set this if you need complex z-index control or if top layer placement causes conflicts with third-party components.
|
|
150
153
|
*
|
|
151
154
|
* @default false
|
|
152
|
-
* @
|
|
155
|
+
* @see [MDN - Top Layer](https://developer.mozilla.org/en-US/docs/Glossary/Top_layer)
|
|
153
156
|
*/
|
|
154
157
|
accessor topLayerDisabled: boolean;
|
|
155
158
|
/**
|
|
@@ -170,7 +173,7 @@ export abstract class FlowItem extends LitElement {
|
|
|
170
173
|
*
|
|
171
174
|
* @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
|
|
172
175
|
* @returns promise.
|
|
173
|
-
* @
|
|
176
|
+
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
174
177
|
*/
|
|
175
178
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
176
179
|
/** Fires when the component's back button is clicked. */
|