@esri/calcite-components 1.0.0-next.596 → 1.0.0-next.597
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/calcite/assets/date-picker/nls/messages.json +31 -0
- package/dist/calcite/assets/date-picker/t9n/index.d.ts +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_ar.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_bg.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_bs.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_ca.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_cs.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_da.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_de.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_el.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_en.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_es.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_et.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_fi.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_fr.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_he.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_hr.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_hu.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_id.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_it.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_ja.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_ko.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_lt.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_lv.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_nl.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_no.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_pl.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_pt-BR.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_pt-PT.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_ro.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_ru.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_sk.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_sl.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_sr.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_sv.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_th.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_tr.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_uk.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_vi.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_zh-CN.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_zh-HK.json +5 -0
- package/dist/calcite/assets/date-picker/t9n/messages_zh-TW.json +5 -0
- package/dist/calcite/calcite.css +1 -1
- package/dist/calcite/calcite.esm.js +2 -2
- package/dist/calcite/index.esm.js +1 -1
- package/dist/calcite/p-0043efc4.js +6 -0
- package/dist/calcite/p-016cee24.entry.js +6 -0
- package/dist/calcite/p-01cb5477.js +6 -0
- package/dist/calcite/{p-9a3c3fc8.js → p-034710a1.js} +1 -1
- package/dist/calcite/p-06505dc6.entry.js +6 -0
- package/dist/calcite/{p-f848a6b0.js → p-1085e82f.js} +2 -2
- package/dist/calcite/p-10c17d1c.entry.js +6 -0
- package/dist/calcite/{p-311e41bb.js → p-1421f9ec.js} +1 -1
- package/dist/calcite/p-14c442cb.entry.js +6 -0
- package/dist/calcite/{p-d7f23fcf.js → p-179ed97a.js} +1 -1
- package/dist/calcite/p-19c7faaf.entry.js +6 -0
- package/dist/calcite/p-1b9e3fb0.entry.js +6 -0
- package/dist/calcite/{p-770a316f.js → p-205462c9.js} +1 -1
- package/dist/calcite/p-21931632.entry.js +6 -0
- package/dist/calcite/p-228315da.entry.js +6 -0
- package/dist/calcite/p-27969266.entry.js +6 -0
- package/dist/calcite/{p-1689e7ab.js → p-2a88fa13.js} +1 -1
- package/dist/calcite/p-2e141574.entry.js +6 -0
- package/dist/calcite/p-36aa3ea2.entry.js +6 -0
- package/dist/calcite/p-3d1ef84a.entry.js +6 -0
- package/dist/calcite/{p-8d83e629.js → p-3d3d179c.js} +2 -2
- package/dist/calcite/p-416510d6.js +6 -0
- package/dist/calcite/p-421dc091.entry.js +6 -0
- package/dist/calcite/p-46ff1ae6.entry.js +6 -0
- package/dist/calcite/p-4c8218d4.entry.js +6 -0
- package/dist/calcite/p-4e7b4c6c.entry.js +6 -0
- package/dist/calcite/{p-df63f732.js → p-576a4d3b.js} +2 -2
- package/dist/calcite/p-59772111.js +6 -0
- package/dist/calcite/p-5a81c608.entry.js +6 -0
- package/dist/calcite/p-5da89821.entry.js +6 -0
- package/dist/calcite/{p-6377d482.js → p-5dc47d03.js} +1 -1
- package/dist/calcite/p-61cbec79.entry.js +6 -0
- package/dist/calcite/{p-6b45b297.js → p-627b4177.js} +1 -1
- package/dist/calcite/p-6505334e.entry.js +6 -0
- package/dist/calcite/{p-6fab9a7a.js → p-65e8434d.js} +1 -1
- package/dist/calcite/{p-ddb5353c.js → p-672cf3c2.js} +2 -2
- package/dist/calcite/{p-44c85d7f.js → p-67890d9f.js} +2 -2
- package/dist/calcite/{p-a8c6757c.js → p-67c0d879.js} +1 -1
- package/dist/calcite/{p-93647858.js → p-6b8d9887.js} +2 -2
- package/dist/calcite/p-6bf1fe3b.entry.js +6 -0
- package/dist/calcite/p-6e070c45.entry.js +6 -0
- package/dist/calcite/p-7dddc346.js +6 -0
- package/dist/calcite/p-7e36e2c5.entry.js +6 -0
- package/dist/calcite/p-80a6379c.entry.js +6 -0
- package/dist/calcite/p-86384397.entry.js +6 -0
- package/dist/calcite/p-91db8a1d.entry.js +6 -0
- package/dist/calcite/p-975aba66.js +7 -0
- package/dist/calcite/p-9804459d.entry.js +6 -0
- package/dist/calcite/p-99889377.entry.js +6 -0
- package/dist/calcite/{p-409af2eb.js → p-a0db47b9.js} +1 -1
- package/dist/calcite/p-a25cc528.entry.js +6 -0
- package/dist/calcite/p-a5ec748f.entry.js +6 -0
- package/dist/calcite/p-a71a4bc5.entry.js +6 -0
- package/dist/calcite/p-a7626d19.entry.js +6 -0
- package/dist/calcite/p-a8b04902.entry.js +6 -0
- package/dist/calcite/p-ab03590a.entry.js +6 -0
- package/dist/calcite/p-ae8f6623.entry.js +6 -0
- package/dist/calcite/{p-b6d7bb31.js → p-b072ee90.js} +2 -2
- package/dist/calcite/p-b31ac46b.entry.js +6 -0
- package/dist/calcite/p-b7dafefc.entry.js +6 -0
- package/dist/calcite/p-b8492482.entry.js +6 -0
- package/dist/calcite/{p-13eef16b.js → p-b9542a0a.js} +1 -1
- package/dist/calcite/p-ba334a9d.entry.js +6 -0
- package/dist/calcite/p-bb21323e.entry.js +6 -0
- package/dist/calcite/{p-8a29e1f5.js → p-c2258fac.js} +1 -1
- package/dist/calcite/p-ce15d4a4.entry.js +6 -0
- package/dist/calcite/p-ce171933.entry.js +6 -0
- package/dist/calcite/{p-3e4bf2de.js → p-d16a1324.js} +1 -1
- package/dist/calcite/p-d465da16.entry.js +6 -0
- package/dist/calcite/p-d4bab92e.entry.js +6 -0
- package/dist/calcite/p-d6067141.entry.js +6 -0
- package/dist/calcite/p-d758a89d.entry.js +6 -0
- package/dist/calcite/p-da5fac1a.entry.js +6 -0
- package/dist/calcite/p-df9538a5.entry.js +6 -0
- package/dist/calcite/p-dfd51f34.entry.js +6 -0
- package/dist/calcite/p-e1c801a6.entry.js +6 -0
- package/dist/calcite/p-e9ccd0bc.entry.js +6 -0
- package/dist/calcite/p-ec1d7ff7.entry.js +6 -0
- package/dist/calcite/p-ec7e67d0.entry.js +6 -0
- package/dist/calcite/p-ed51bd87.entry.js +6 -0
- package/dist/calcite/p-f52edbbb.entry.js +6 -0
- package/dist/calcite/p-f64286c8.entry.js +6 -0
- package/dist/calcite/{p-9e4453d8.entry.js → p-f66dfaea.entry.js} +2 -2
- package/dist/calcite/p-f827044c.entry.js +6 -0
- package/dist/calcite/p-f94b6442.entry.js +6 -0
- package/dist/calcite/{p-10d16edb.js → p-fb5602cf.js} +2 -2
- package/dist/calcite/{p-9f8a6b31.js → p-fd6d1ed1.js} +1 -1
- package/dist/calcite/p-ff82e6f2.entry.js +6 -0
- package/dist/cjs/{ExpandToggle-80ef82c7.js → ExpandToggle-73285037.js} +5 -5
- package/dist/cjs/{Heading-33db6b85.js → Heading-5409de6d.js} +2 -2
- package/dist/cjs/{app-globals-fd934cae.js → app-globals-77859a02.js} +2 -2
- package/dist/cjs/{array-c0cc85de.js → array-f86c9258.js} +1 -1
- package/dist/cjs/calcite-accordion_2.cjs.entry.js +9 -9
- package/dist/cjs/calcite-action-bar.cjs.entry.js +12 -12
- package/dist/cjs/calcite-action-group.cjs.entry.js +10 -10
- package/dist/cjs/calcite-action-menu.cjs.entry.js +11 -10
- package/dist/cjs/calcite-action-pad.cjs.entry.js +11 -11
- package/dist/cjs/calcite-action.cjs.entry.js +8 -8
- package/dist/cjs/calcite-alert.cjs.entry.js +22 -9
- package/dist/cjs/calcite-avatar.cjs.entry.js +7 -7
- package/dist/cjs/calcite-block_2.cjs.entry.js +12 -12
- package/dist/cjs/calcite-button.cjs.entry.js +10 -10
- package/dist/cjs/calcite-card.cjs.entry.js +8 -8
- package/dist/cjs/calcite-checkbox.cjs.entry.js +11 -11
- package/dist/cjs/calcite-chip.cjs.entry.js +9 -9
- package/dist/cjs/calcite-color-picker_3.cjs.entry.js +13 -13
- package/dist/cjs/calcite-combobox_3.cjs.entry.js +21 -19
- package/dist/cjs/calcite-date-picker_4.cjs.entry.js +25 -20
- package/dist/cjs/calcite-dropdown_3.cjs.entry.js +17 -15
- package/dist/cjs/calcite-fab.cjs.entry.js +8 -8
- package/dist/cjs/calcite-filter.cjs.entry.js +9 -9
- package/dist/cjs/calcite-flow-item.cjs.entry.js +14 -16
- package/dist/cjs/calcite-flow.cjs.entry.js +4 -4
- package/dist/cjs/calcite-graph_2.cjs.entry.js +24 -20
- package/dist/cjs/calcite-handle.cjs.entry.js +6 -6
- package/dist/cjs/calcite-icon.cjs.entry.js +7 -7
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +9 -9
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +45 -40
- package/dist/cjs/calcite-input-message.cjs.entry.js +9 -9
- package/dist/cjs/calcite-input-number.cjs.entry.js +56 -37
- package/dist/cjs/calcite-input-text.cjs.entry.js +12 -12
- package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +77 -71
- package/dist/cjs/calcite-input.cjs.entry.js +81 -59
- package/dist/cjs/calcite-label.cjs.entry.js +16 -16
- package/dist/cjs/calcite-link.cjs.entry.js +9 -9
- package/dist/cjs/calcite-list_3.cjs.entry.js +12 -12
- package/dist/cjs/calcite-loader.cjs.entry.js +4 -4
- package/dist/cjs/calcite-modal.cjs.entry.js +9 -9
- package/dist/cjs/calcite-notice.cjs.entry.js +9 -9
- package/dist/cjs/calcite-option_3.cjs.entry.js +13 -13
- package/dist/cjs/calcite-pagination.cjs.entry.js +19 -12
- package/dist/cjs/calcite-panel.cjs.entry.js +17 -19
- package/dist/cjs/calcite-pick-list_3.cjs.entry.js +15 -15
- package/dist/cjs/calcite-popover_2.cjs.entry.js +16 -14
- package/dist/cjs/calcite-progress.cjs.entry.js +3 -3
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +5 -5
- package/dist/cjs/calcite-radio-button.cjs.entry.js +11 -11
- package/dist/cjs/calcite-radio-group_2.cjs.entry.js +14 -14
- package/dist/cjs/calcite-rating.cjs.entry.js +11 -11
- package/dist/cjs/calcite-scrim.cjs.entry.js +3 -3
- package/dist/cjs/calcite-shell_3.cjs.entry.js +12 -12
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +6 -6
- package/dist/cjs/calcite-split-button.cjs.entry.js +7 -5
- package/dist/cjs/calcite-stepper_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-switch.cjs.entry.js +11 -11
- package/dist/cjs/calcite-tab_4.cjs.entry.js +13 -13
- package/dist/cjs/calcite-tile-select_2.cjs.entry.js +7 -7
- package/dist/cjs/calcite-tile.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tip_3.cjs.entry.js +11 -11
- package/dist/cjs/calcite-tooltip_2.cjs.entry.js +12 -10
- package/dist/cjs/calcite-tree_2.cjs.entry.js +131 -84
- package/dist/cjs/calcite-value-list_2.cjs.entry.js +14 -14
- package/dist/cjs/calcite.cjs.js +6 -6
- package/dist/cjs/{conditionalSlot-6bcc1a43.js → conditionalSlot-cdf70b61.js} +3 -3
- package/dist/cjs/{debounce-7a430467.js → debounce-1f3af549.js} +1 -1
- package/dist/cjs/{dom-58cda112.js → dom-9409deef.js} +29 -3
- package/dist/cjs/{filter-b7bd3662.js → filter-6497f68a.js} +3 -4
- package/dist/cjs/{floating-ui-a78b95ef.js → floating-ui-40005e27.js} +2 -2
- package/dist/cjs/{form-e31078d9.js → form-ed16c84e.js} +3 -3
- package/dist/cjs/{guid-8b3a200d.js → guid-07011a93.js} +1 -1
- package/dist/cjs/{index-f9989f5d.js → index-dbaff4c6.js} +1117 -946
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{interactive-a77d0ef0.js → interactive-825762eb.js} +1 -1
- package/dist/cjs/{interfaces-522c5f39.js → interfaces-a747d1cf.js} +1 -1
- package/dist/cjs/{key-167ee472.js → key-40cfbef8.js} +1 -1
- package/dist/cjs/{label-762f03a5.js → label-942c98df.js} +2 -2
- package/dist/cjs/loader.cjs.js +6 -6
- package/dist/cjs/locale-3b5c2d93.js +385 -0
- package/dist/cjs/{math-42a15095.js → math-19d2ae8c.js} +1 -1
- package/dist/cjs/observers-2571ea25.js +48 -0
- package/dist/cjs/{openCloseComponent-d20e03e7.js → openCloseComponent-c152728d.js} +1 -1
- package/dist/cjs/{resources-8912222b.js → resources-110e5929.js} +1 -1
- package/dist/cjs/{resources-aba47c80.js → resources-24f7e730.js} +11 -31
- package/dist/cjs/{resources-f2712948.js → resources-5f061484.js} +5 -5
- package/dist/cjs/{resources-8a806639.js → resources-adfdf58d.js} +1 -1
- package/dist/cjs/{resources-cd1870a1.js → resources-b88532e5.js} +1 -1
- package/dist/cjs/{resources-8ffd1200.js → resources-e5387109.js} +1 -1
- package/dist/cjs/{sortable.esm-cd4b2dcd.js → sortable.esm-9b594ce7.js} +1 -1
- package/dist/cjs/{utils-6617f268.js → utils-0af662a9.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion/accordion.e2e.js +183 -0
- package/dist/collection/components/accordion/accordion.js +160 -151
- package/dist/collection/components/accordion/interfaces.js +0 -5
- package/dist/collection/components/accordion-item/accordion-item.e2e.js +8 -0
- package/dist/collection/components/accordion-item/accordion-item.js +301 -305
- package/dist/collection/components/accordion-item/interfaces.js +0 -5
- package/dist/collection/components/accordion-item/resources.js +1 -1
- package/dist/collection/components/action/action.e2e.js +93 -0
- package/dist/collection/components/action/action.js +293 -290
- package/dist/collection/components/action/resources.js +1 -1
- package/dist/collection/components/action-bar/action-bar.e2e.js +290 -0
- package/dist/collection/components/action-bar/action-bar.js +239 -232
- package/dist/collection/components/action-bar/resources.js +1 -1
- package/dist/collection/components/action-bar/utils.js +1 -1
- package/dist/collection/components/action-group/action-group.e2e.js +23 -0
- package/dist/collection/components/action-group/action-group.js +136 -133
- package/dist/collection/components/action-group/resources.js +1 -1
- package/dist/collection/components/action-menu/action-menu.e2e.js +153 -0
- package/dist/collection/components/action-menu/action-menu.js +220 -209
- package/dist/collection/components/action-menu/resources.js +1 -1
- package/dist/collection/components/action-pad/action-pad.e2e.js +178 -0
- package/dist/collection/components/action-pad/action-pad.js +196 -189
- package/dist/collection/components/action-pad/resources.js +1 -1
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/alert/alert.e2e.js +294 -0
- package/dist/collection/components/alert/alert.js +410 -372
- package/dist/collection/components/alert/interfaces.js +1 -1
- package/dist/collection/components/alert/resources.js +1 -1
- package/dist/collection/components/avatar/avatar.e2e.js +55 -0
- package/dist/collection/components/avatar/avatar.js +107 -99
- package/dist/collection/components/avatar/avatar.spec.js +42 -0
- package/dist/collection/components/avatar/utils.js +1 -1
- package/dist/collection/components/block/block.e2e.js +194 -0
- package/dist/collection/components/block/block.js +319 -326
- package/dist/collection/components/block/resources.js +1 -1
- package/dist/collection/components/block-section/block-section.e2e.js +132 -0
- package/dist/collection/components/block-section/block-section.js +143 -145
- package/dist/collection/components/block-section/interfaces.js +0 -5
- package/dist/collection/components/block-section/resources.js +1 -1
- package/dist/collection/components/button/button.e2e.js +529 -0
- package/dist/collection/components/button/button.js +430 -424
- package/dist/collection/components/button/interfaces.js +0 -5
- package/dist/collection/components/button/resources.js +1 -1
- package/dist/collection/components/card/card.e2e.js +87 -0
- package/dist/collection/components/card/card.js +171 -179
- package/dist/collection/components/card/resources.js +1 -1
- package/dist/collection/components/checkbox/checkbox.e2e.js +105 -0
- package/dist/collection/components/checkbox/checkbox.js +269 -264
- package/dist/collection/components/chip/chip.e2e.js +149 -0
- package/dist/collection/components/chip/chip.js +258 -253
- package/dist/collection/components/chip/interfaces.js +0 -5
- package/dist/collection/components/chip/resources.js +1 -1
- package/dist/collection/components/color-picker/color-picker.e2e.js +1068 -0
- package/dist/collection/components/color-picker/color-picker.js +779 -780
- package/dist/collection/components/color-picker/interfaces.js +0 -5
- package/dist/collection/components/color-picker/resources.js +1 -1
- package/dist/collection/components/color-picker/utils.js +1 -1
- package/dist/collection/components/color-picker/utils.spec.js +66 -0
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.e2e.js +281 -0
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +189 -170
- package/dist/collection/components/color-picker-hex-input/resources.js +1 -1
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.e2e.js +71 -0
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +81 -75
- package/dist/collection/components/color-picker-swatch/resources.js +1 -1
- package/dist/collection/components/combobox/combobox.e2e.js +1043 -0
- package/dist/collection/components/combobox/combobox.js +551 -550
- package/dist/collection/components/combobox/interfaces.js +0 -5
- package/dist/collection/components/combobox/resources.js +1 -1
- package/dist/collection/components/combobox/utils.js +1 -1
- package/dist/collection/components/combobox-item/combobox-item.e2e.js +7 -0
- package/dist/collection/components/combobox-item/combobox-item.js +241 -235
- package/dist/collection/components/combobox-item/resources.js +1 -1
- package/dist/collection/components/combobox-item-group/combobox-item-group.js +50 -47
- package/dist/collection/components/combobox-item-group/resources.js +1 -1
- package/dist/collection/components/date-picker/assets/date-picker/nls/messages.json +31 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/index.d.ts +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ar.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_bg.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_bs.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ca.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_cs.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_da.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_de.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_el.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_en.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_es.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_et.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_fi.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_fr.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_he.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_hr.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_hu.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_id.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_it.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ja.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ko.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_lt.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_lv.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_nl.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_no.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_pl.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_pt-BR.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_pt-PT.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ro.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_ru.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sk.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sl.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sr.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_sv.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_th.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_tr.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_uk.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_vi.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_zh-CN.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_zh-HK.json +5 -0
- package/dist/collection/components/date-picker/assets/date-picker/t9n/messages_zh-TW.json +5 -0
- package/dist/collection/components/date-picker/date-picker.e2e.js +195 -0
- package/dist/collection/components/date-picker/date-picker.js +462 -447
- package/dist/collection/components/date-picker/interfaces.js +0 -5
- package/dist/collection/components/date-picker/resources.js +1 -1
- package/dist/collection/components/date-picker/utils.js +2 -22
- package/dist/collection/components/date-picker/utils.spec.js +55 -0
- package/dist/collection/components/date-picker-day/date-picker-day.css +48 -24
- package/dist/collection/components/date-picker-day/date-picker-day.e2e.js +16 -0
- package/dist/collection/components/date-picker-day/date-picker-day.js +284 -278
- package/dist/collection/components/date-picker-month/date-picker-month.js +256 -249
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.e2e.js +72 -0
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +228 -227
- package/dist/collection/components/date-picker-month-header/resources.js +1 -1
- package/dist/collection/components/dropdown/dropdown.e2e.js +1030 -0
- package/dist/collection/components/dropdown/dropdown.js +422 -411
- package/dist/collection/components/dropdown/interfaces.js +0 -5
- package/dist/collection/components/dropdown/resources.js +1 -1
- package/dist/collection/components/dropdown-group/dropdown-group.e2e.js +5 -0
- package/dist/collection/components/dropdown-group/dropdown-group.js +113 -107
- package/dist/collection/components/dropdown-group/interfaces.js +0 -5
- package/dist/collection/components/dropdown-group/resources.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.e2e.js +6 -0
- package/dist/collection/components/dropdown-item/dropdown-item.js +292 -282
- package/dist/collection/components/dropdown-item/resources.js +1 -1
- package/dist/collection/components/fab/fab.e2e.js +114 -0
- package/dist/collection/components/fab/fab.js +205 -197
- package/dist/collection/components/fab/resources.js +1 -1
- package/dist/collection/components/filter/filter.e2e.js +205 -0
- package/dist/collection/components/filter/filter.js +200 -191
- package/dist/collection/components/filter/resources.js +1 -1
- package/dist/collection/components/flow/flow.e2e.js +166 -0
- package/dist/collection/components/flow/flow.js +55 -46
- package/dist/collection/components/flow/interfaces.js +0 -5
- package/dist/collection/components/flow/resources.js +1 -1
- package/dist/collection/components/flow-item/flow-item.e2e.js +72 -0
- package/dist/collection/components/flow-item/flow-item.js +396 -394
- package/dist/collection/components/flow-item/resources.js +1 -1
- package/dist/collection/components/functional/ExpandToggle.js +1 -1
- package/dist/collection/components/functional/Heading.js +1 -1
- package/dist/collection/components/functional/Heading.spec.js +33 -0
- package/dist/collection/components/graph/graph.e2e.js +69 -0
- package/dist/collection/components/graph/graph.js +125 -125
- package/dist/collection/components/graph/interfaces.js +0 -5
- package/dist/collection/components/graph/util.js +1 -1
- package/dist/collection/components/handle/handle.e2e.js +30 -0
- package/dist/collection/components/handle/handle.js +94 -85
- package/dist/collection/components/handle/resources.js +1 -1
- package/dist/collection/components/icon/icon.e2e.js +75 -0
- package/dist/collection/components/icon/icon.js +107 -98
- package/dist/collection/components/icon/resources.js +1 -1
- package/dist/collection/components/icon/utils.js +1 -1
- package/dist/collection/components/icon/utils.spec.js +61 -0
- package/dist/collection/components/inline-editable/inline-editable.e2e.js +327 -0
- package/dist/collection/components/inline-editable/inline-editable.js +274 -266
- package/dist/collection/components/inline-editable/resources.js +1 -1
- package/dist/collection/components/input/input.e2e.js +1192 -0
- package/dist/collection/components/input/input.js +873 -856
- package/dist/collection/components/input/interfaces.js +0 -5
- package/dist/collection/components/input/resources.js +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.css +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.e2e.js +295 -0
- package/dist/collection/components/input-date-picker/input-date-picker.js +799 -793
- package/dist/collection/components/input-date-picker/resources.js +1 -1
- package/dist/collection/components/input-message/input-message.css +1 -1
- package/dist/collection/components/input-message/input-message.e2e.js +122 -0
- package/dist/collection/components/input-message/input-message.js +124 -118
- package/dist/collection/components/input-message/interfaces.js +1 -1
- package/dist/collection/components/input-number/input-number.e2e.js +1004 -0
- package/dist/collection/components/input-number/input-number.js +803 -787
- package/dist/collection/components/input-number/interfaces.js +0 -5
- package/dist/collection/components/input-number/resources.js +1 -1
- package/dist/collection/components/input-text/input-text.e2e.js +276 -0
- package/dist/collection/components/input-text/input-text.js +596 -597
- package/dist/collection/components/input-text/resources.js +1 -1
- package/dist/collection/components/input-time-picker/input-time-picker.e2e.js +241 -0
- package/dist/collection/components/input-time-picker/input-time-picker.js +591 -577
- package/dist/collection/components/interfaces.js +0 -5
- package/dist/collection/components/label/label.css +1 -1
- package/dist/collection/components/label/label.e2e.js +156 -0
- package/dist/collection/components/label/label.js +189 -183
- package/dist/collection/components/label/resources.js +1 -1
- package/dist/collection/components/link/link.e2e.js +257 -0
- package/dist/collection/components/link/link.js +186 -180
- package/dist/collection/components/list/list.e2e.js +32 -0
- package/dist/collection/components/list/list.js +75 -69
- package/dist/collection/components/list/resources.js +1 -1
- package/dist/collection/components/list-item/list-item.e2e.js +46 -0
- package/dist/collection/components/list-item/list-item.js +107 -111
- package/dist/collection/components/list-item/resources.js +1 -1
- package/dist/collection/components/list-item-group/list-item-group.e2e.js +16 -0
- package/dist/collection/components/list-item-group/list-item-group.js +54 -51
- package/dist/collection/components/list-item-group/resources.js +1 -1
- package/dist/collection/components/loader/loader.css +2 -2
- package/dist/collection/components/loader/loader.e2e.js +49 -0
- package/dist/collection/components/loader/loader.js +166 -169
- package/dist/collection/components/modal/interfaces.js +0 -5
- package/dist/collection/components/modal/modal.e2e.js +382 -0
- package/dist/collection/components/modal/modal.js +470 -473
- package/dist/collection/components/modal/resources.js +1 -1
- package/dist/collection/components/notice/notice.e2e.js +127 -0
- package/dist/collection/components/notice/notice.js +263 -261
- package/dist/collection/components/notice/resources.js +1 -1
- package/dist/collection/components/option/option.e2e.js +56 -0
- package/dist/collection/components/option/option.js +117 -107
- package/dist/collection/components/option-group/option-group.e2e.js +26 -0
- package/dist/collection/components/option-group/option-group.js +80 -72
- package/dist/collection/components/pagination/pagination.e2e.js +208 -0
- package/dist/collection/components/pagination/pagination.js +265 -257
- package/dist/collection/components/pagination/resources.js +1 -1
- package/dist/collection/components/panel/panel.css +1 -1
- package/dist/collection/components/panel/panel.e2e.js +281 -0
- package/dist/collection/components/panel/panel.js +543 -552
- package/dist/collection/components/panel/resources.js +1 -1
- package/dist/collection/components/pick-list/pick-list.e2e.js +157 -0
- package/dist/collection/components/pick-list/pick-list.js +249 -235
- package/dist/collection/components/pick-list/resources.js +1 -1
- package/dist/collection/components/pick-list/shared-list-logic.js +1 -1
- package/dist/collection/components/pick-list/shared-list-render.js +2 -9
- package/dist/collection/components/pick-list/shared-list-tests.js +463 -0
- package/dist/collection/components/pick-list-group/pick-list-group.e2e.js +54 -0
- package/dist/collection/components/pick-list-group/pick-list-group.js +54 -52
- package/dist/collection/components/pick-list-group/resources.js +1 -1
- package/dist/collection/components/pick-list-item/pick-list-item.e2e.js +124 -0
- package/dist/collection/components/pick-list-item/pick-list-item.js +346 -344
- package/dist/collection/components/pick-list-item/resources.js +1 -1
- package/dist/collection/components/popover/PopoverManager.js +1 -1
- package/dist/collection/components/popover/popover.e2e.js +454 -0
- package/dist/collection/components/popover/popover.js +539 -534
- package/dist/collection/components/popover/resources.js +1 -1
- package/dist/collection/components/popover-manager/popover-manager.e2e.js +38 -0
- package/dist/collection/components/popover-manager/popover-manager.js +60 -52
- package/dist/collection/components/progress/progress.e2e.js +7 -0
- package/dist/collection/components/progress/progress.js +105 -102
- package/dist/collection/components/radio-button/radio-button.e2e.js +332 -0
- package/dist/collection/components/radio-button/radio-button.js +345 -334
- package/dist/collection/components/radio-button/resources.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.e2e.js +384 -0
- package/dist/collection/components/radio-button-group/radio-button-group.js +169 -158
- package/dist/collection/components/radio-group/interfaces.js +0 -5
- package/dist/collection/components/radio-group/radio-group.e2e.js +258 -0
- package/dist/collection/components/radio-group/radio-group.js +254 -242
- package/dist/collection/components/radio-group-item/radio-group-item.e2e.js +92 -0
- package/dist/collection/components/radio-group-item/radio-group-item.js +178 -175
- package/dist/collection/components/radio-group-item/resources.js +1 -1
- package/dist/collection/components/rating/rating.e2e.js +450 -0
- package/dist/collection/components/rating/rating.js +273 -274
- package/dist/collection/components/rating/resources.js +1 -1
- package/dist/collection/components/scrim/resources.js +1 -1
- package/dist/collection/components/scrim/scrim.e2e.js +122 -0
- package/dist/collection/components/scrim/scrim.js +56 -53
- package/dist/collection/components/select/resources.js +1 -1
- package/dist/collection/components/select/select.e2e.js +266 -0
- package/dist/collection/components/select/select.js +226 -217
- package/dist/collection/components/shell/resources.js +1 -1
- package/dist/collection/components/shell/shell.e2e.js +126 -0
- package/dist/collection/components/shell/shell.js +38 -43
- package/dist/collection/components/shell-center-row/resources.js +1 -1
- package/dist/collection/components/shell-center-row/shell-center-row.e2e.js +66 -0
- package/dist/collection/components/shell-center-row/shell-center-row.js +79 -75
- package/dist/collection/components/shell-panel/resources.js +1 -1
- package/dist/collection/components/shell-panel/shell-panel.e2e.js +282 -0
- package/dist/collection/components/shell-panel/shell-panel.js +183 -175
- package/dist/collection/components/slider/resources.js +1 -1
- package/dist/collection/components/slider/slider.e2e.js +648 -0
- package/dist/collection/components/slider/slider.js +592 -629
- package/dist/collection/components/sortable-list/resources.js +1 -1
- package/dist/collection/components/sortable-list/sortable-list.e2e.js +57 -0
- package/dist/collection/components/sortable-list/sortable-list.js +153 -142
- package/dist/collection/components/split-button/resources.js +1 -1
- package/dist/collection/components/split-button/split-button.e2e.js +206 -0
- package/dist/collection/components/split-button/split-button.js +363 -357
- package/dist/collection/components/stepper/interfaces.js +0 -5
- package/dist/collection/components/stepper/stepper.e2e.js +558 -0
- package/dist/collection/components/stepper/stepper.js +248 -236
- package/dist/collection/components/stepper-item/stepper-item.e2e.js +6 -0
- package/dist/collection/components/stepper-item/stepper-item.js +395 -392
- package/dist/collection/components/switch/switch.e2e.js +91 -0
- package/dist/collection/components/switch/switch.js +187 -179
- package/dist/collection/components/tab/interfaces.js +0 -5
- package/dist/collection/components/tab/tab.e2e.js +49 -0
- package/dist/collection/components/tab/tab.js +192 -179
- package/dist/collection/components/tab-nav/tab-nav.e2e.js +143 -0
- package/dist/collection/components/tab-nav/tab-nav.js +285 -275
- package/dist/collection/components/tab-title/tab-title.e2e.js +222 -0
- package/dist/collection/components/tab-title/tab-title.js +465 -453
- package/dist/collection/components/tabs/interfaces.js +0 -5
- package/dist/collection/components/tabs/resources.js +1 -1
- package/dist/collection/components/tabs/tabs.e2e.js +281 -0
- package/dist/collection/components/tabs/tabs.js +131 -124
- package/dist/collection/components/tile/resources.js +1 -1
- package/dist/collection/components/tile/tile.e2e.js +79 -0
- package/dist/collection/components/tile/tile.js +170 -174
- package/dist/collection/components/tile-select/interfaces.js +0 -5
- package/dist/collection/components/tile-select/resources.js +1 -1
- package/dist/collection/components/tile-select/tile-select.e2e.js +133 -0
- package/dist/collection/components/tile-select/tile-select.js +347 -333
- package/dist/collection/components/tile-select-group/interfaces.js +0 -5
- package/dist/collection/components/tile-select-group/tile-select-group.e2e.js +14 -0
- package/dist/collection/components/tile-select-group/tile-select-group.js +56 -50
- package/dist/collection/components/time-picker/resources.js +1 -1
- package/dist/collection/components/time-picker/time-picker.e2e.js +737 -0
- package/dist/collection/components/time-picker/time-picker.js +533 -544
- package/dist/collection/components/tip/resources.js +1 -1
- package/dist/collection/components/tip/tip.e2e.js +42 -0
- package/dist/collection/components/tip/tip.js +142 -143
- package/dist/collection/components/tip-group/tip-group.e2e.js +6 -0
- package/dist/collection/components/tip-group/tip-group.js +33 -27
- package/dist/collection/components/tip-manager/resources.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.e2e.js +176 -0
- package/dist/collection/components/tip-manager/tip-manager.js +225 -221
- package/dist/collection/components/tip-manager/tip-manager.spec.js +13 -0
- package/dist/collection/components/tooltip/TooltipManager.js +1 -1
- package/dist/collection/components/tooltip/resources.js +1 -1
- package/dist/collection/components/tooltip/tooltip.e2e.js +359 -0
- package/dist/collection/components/tooltip/tooltip.js +220 -210
- package/dist/collection/components/tooltip-manager/tooltip-manager.e2e.js +19 -0
- package/dist/collection/components/tooltip-manager/tooltip-manager.js +37 -31
- package/dist/collection/components/tree/interfaces.js +1 -1
- package/dist/collection/components/tree/tree.e2e.js +586 -0
- package/dist/collection/components/tree/tree.js +276 -244
- package/dist/collection/components/tree/utils.js +21 -0
- package/dist/collection/components/tree-item/interfaces.js +0 -5
- package/dist/collection/components/tree-item/resources.js +1 -1
- package/dist/collection/components/tree-item/tree-item.css +17 -3
- package/dist/collection/components/tree-item/tree-item.e2e.js +302 -0
- package/dist/collection/components/tree-item/tree-item.js +298 -268
- package/dist/collection/components/value-list/interfaces.js +0 -5
- package/dist/collection/components/value-list/resources.js +1 -1
- package/dist/collection/components/value-list/utils.js +1 -1
- package/dist/collection/components/value-list/value-list.e2e.js +205 -0
- package/dist/collection/components/value-list/value-list.js +341 -327
- package/dist/collection/components/value-list-item/resources.js +1 -1
- package/dist/collection/components/value-list-item/value-list-item.e2e.js +96 -0
- package/dist/collection/components/value-list-item/value-list-item.js +282 -275
- package/dist/collection/demos/_assets/demo-dom-swapper.js +45 -0
- package/dist/collection/demos/_assets/demo-spacer.js +17 -0
- package/dist/collection/demos/_assets/demo-template.js +24 -0
- package/dist/collection/demos/_assets/head.js +48 -0
- package/dist/collection/demos/_assets/locales.js +223 -0
- package/dist/collection/tests/commonTests.js +596 -0
- package/dist/collection/tests/utils.js +200 -0
- package/dist/collection/utils/array.js +1 -1
- package/dist/collection/utils/conditionalSlot.js +1 -1
- package/dist/collection/utils/date.js +1 -1
- package/dist/collection/utils/date.spec.js +153 -0
- package/dist/collection/utils/dom.e2e.js +107 -0
- package/dist/collection/utils/dom.js +26 -1
- package/dist/collection/utils/dom.spec.js +273 -0
- package/dist/collection/utils/filter.js +2 -3
- package/dist/collection/utils/floating-ui.js +1 -1
- package/dist/collection/utils/floating-ui.spec.js +23 -0
- package/dist/collection/utils/form.js +1 -1
- package/dist/collection/utils/form.spec.js +16 -0
- package/dist/collection/utils/globalAttributes.js +1 -1
- package/dist/collection/utils/globalAttributes.spec.js +36 -0
- package/dist/collection/utils/globalScript.js +1 -1
- package/dist/collection/utils/guid.js +1 -1
- package/dist/collection/utils/guid.spec.js +7 -0
- package/dist/collection/utils/interactive.js +1 -1
- package/dist/collection/utils/interactive.spec.js +20 -0
- package/dist/collection/utils/key.js +1 -1
- package/dist/collection/utils/label.js +1 -1
- package/dist/collection/utils/label.spec.js +188 -0
- package/dist/collection/utils/locale.js +173 -64
- package/dist/collection/utils/locale.spec.js +44 -0
- package/dist/collection/utils/math.js +1 -1
- package/dist/collection/utils/math.spec.js +8 -0
- package/dist/collection/utils/number.js +33 -31
- package/dist/collection/utils/number.spec.js +113 -0
- package/dist/collection/utils/observers.js +31 -7
- package/dist/collection/utils/openCloseComponent.js +1 -1
- package/dist/collection/utils/popper.js +121 -0
- package/dist/collection/utils/resources.js +1 -1
- package/dist/collection/utils/t9n.js +110 -0
- package/dist/collection/utils/theme.js +1 -1
- package/dist/collection/utils/time.js +4 -2
- package/dist/components/ExpandToggle.js +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/action-group.js +2 -2
- package/dist/components/action-menu.js +4 -3
- package/dist/components/action.js +3 -3
- package/dist/components/array.js +1 -1
- package/dist/components/button.js +2 -2
- package/dist/components/calcite-accordion-item.js +2 -2
- package/dist/components/calcite-accordion.js +2 -2
- package/dist/components/calcite-action-bar.js +2 -2
- package/dist/components/calcite-action-group.js +1 -1
- package/dist/components/calcite-action-menu.js +1 -1
- package/dist/components/calcite-action-pad.js +2 -2
- package/dist/components/calcite-action.js +1 -1
- package/dist/components/calcite-alert.js +16 -3
- package/dist/components/calcite-avatar.js +2 -2
- package/dist/components/calcite-block-section.js +2 -2
- package/dist/components/calcite-block.js +2 -2
- package/dist/components/calcite-button.js +1 -1
- package/dist/components/calcite-card.js +2 -2
- package/dist/components/calcite-checkbox.js +1 -1
- package/dist/components/calcite-chip.js +1 -1
- package/dist/components/calcite-color-picker-hex-input.js +1 -1
- package/dist/components/calcite-color-picker-swatch.js +1 -1
- package/dist/components/calcite-color-picker.js +2 -2
- package/dist/components/calcite-combobox-item-group.js +2 -2
- package/dist/components/calcite-combobox-item.js +2 -2
- package/dist/components/calcite-combobox.js +6 -4
- package/dist/components/calcite-date-picker-day.js +1 -1
- package/dist/components/calcite-date-picker-month-header.js +1 -1
- package/dist/components/calcite-date-picker-month.js +1 -1
- package/dist/components/calcite-date-picker.js +1 -1
- package/dist/components/calcite-dropdown-group.js +2 -2
- package/dist/components/calcite-dropdown-item.js +2 -2
- package/dist/components/calcite-dropdown.js +1 -1
- package/dist/components/calcite-fab.js +3 -3
- package/dist/components/calcite-filter.js +1 -1
- package/dist/components/calcite-flow-item.js +8 -10
- package/dist/components/calcite-flow.js +2 -2
- package/dist/components/calcite-graph.js +1 -1
- package/dist/components/calcite-handle.js +1 -1
- package/dist/components/calcite-icon.js +1 -1
- package/dist/components/calcite-inline-editable.js +2 -2
- package/dist/components/calcite-input-date-picker.js +36 -30
- package/dist/components/calcite-input-message.js +5 -5
- package/dist/components/calcite-input-number.js +38 -19
- package/dist/components/calcite-input-text.js +4 -4
- package/dist/components/calcite-input-time-picker.js +32 -28
- package/dist/components/calcite-input.js +1 -1
- package/dist/components/calcite-label.js +1 -1
- package/dist/components/calcite-link.js +1 -1
- package/dist/components/calcite-list-item-group.js +2 -2
- package/dist/components/calcite-list-item.js +2 -2
- package/dist/components/calcite-list.js +2 -2
- package/dist/components/calcite-loader.js +1 -1
- package/dist/components/calcite-modal.js +2 -2
- package/dist/components/calcite-notice.js +2 -2
- package/dist/components/calcite-option-group.js +2 -2
- package/dist/components/calcite-option.js +2 -2
- package/dist/components/calcite-pagination.js +14 -10
- package/dist/components/calcite-panel.js +1 -1
- package/dist/components/calcite-pick-list-group.js +2 -2
- package/dist/components/calcite-pick-list-item.js +1 -1
- package/dist/components/calcite-pick-list.js +2 -2
- package/dist/components/calcite-popover-manager.js +2 -2
- package/dist/components/calcite-popover.js +1 -1
- package/dist/components/calcite-progress.js +1 -1
- package/dist/components/calcite-radio-button-group.js +3 -3
- package/dist/components/calcite-radio-button.js +3 -3
- package/dist/components/calcite-radio-group-item.js +5 -5
- package/dist/components/calcite-radio-group.js +3 -3
- package/dist/components/calcite-rating.js +3 -3
- package/dist/components/calcite-scrim.js +1 -1
- package/dist/components/calcite-select.js +3 -3
- package/dist/components/calcite-shell-center-row.js +3 -3
- package/dist/components/calcite-shell-panel.js +2 -2
- package/dist/components/calcite-shell.js +2 -2
- package/dist/components/calcite-slider.js +14 -10
- package/dist/components/calcite-sortable-list.js +2 -2
- package/dist/components/calcite-split-button.js +5 -3
- package/dist/components/calcite-stepper-item.js +2 -2
- package/dist/components/calcite-stepper.js +2 -2
- package/dist/components/calcite-switch.js +1 -1
- package/dist/components/calcite-tab-nav.js +1 -1
- package/dist/components/calcite-tab-title.js +1 -1
- package/dist/components/calcite-tab.js +1 -1
- package/dist/components/calcite-tabs.js +1 -1
- package/dist/components/calcite-tile-select-group.js +3 -3
- package/dist/components/calcite-tile-select.js +2 -2
- package/dist/components/calcite-tile.js +1 -1
- package/dist/components/calcite-time-picker.js +1 -1
- package/dist/components/calcite-tip-group.js +2 -2
- package/dist/components/calcite-tip-manager.js +2 -2
- package/dist/components/calcite-tip.js +2 -2
- package/dist/components/calcite-tooltip-manager.js +2 -2
- package/dist/components/calcite-tooltip.js +1 -1
- package/dist/components/calcite-tree-item.js +12 -3
- package/dist/components/calcite-tree.js +115 -76
- package/dist/components/calcite-value-list-item.js +2 -2
- package/dist/components/calcite-value-list.js +2 -2
- package/dist/components/checkbox.js +3 -3
- package/dist/components/chip.js +3 -3
- package/dist/components/color-picker-hex-input.js +2 -2
- package/dist/components/color-picker-swatch.js +2 -2
- package/dist/components/conditionalSlot.js +1 -1
- package/dist/components/date-picker-day.js +2 -2
- package/dist/components/date-picker-month-header.js +2 -2
- package/dist/components/date-picker-month.js +2 -2
- package/dist/components/date-picker.js +14 -28
- package/dist/components/date.js +1 -1
- package/dist/components/debounce.js +1 -1
- package/dist/components/dom.js +27 -2
- package/dist/components/dropdown.js +5 -3
- package/dist/components/filter.js +2 -2
- package/dist/components/filter2.js +2 -3
- package/dist/components/floating-ui.js +1 -1
- package/dist/components/form.js +1 -1
- package/dist/components/graph.js +2 -2
- package/dist/components/guid.js +1 -1
- package/dist/components/handle.js +2 -2
- package/dist/components/icon.js +2 -2
- package/dist/components/index.js +1 -1
- package/dist/components/input.js +63 -41
- package/dist/components/interactive.js +1 -1
- package/dist/components/interfaces.js +1 -1
- package/dist/components/interfaces2.js +1 -1
- package/dist/components/key.js +1 -1
- package/dist/components/label.js +11 -11
- package/dist/components/label2.js +1 -1
- package/dist/components/link.js +6 -6
- package/dist/components/loader.js +2 -2
- package/dist/components/locale.js +374 -0
- package/dist/components/math.js +1 -1
- package/dist/components/observers.js +31 -7
- package/dist/components/openCloseComponent.js +1 -1
- package/dist/components/panel.js +8 -10
- package/dist/components/pick-list-item.js +2 -2
- package/dist/components/popover.js +5 -3
- package/dist/components/progress.js +2 -2
- package/dist/components/resources.js +1 -1
- package/dist/components/resources2.js +1 -1
- package/dist/components/resources3.js +1 -1
- package/dist/components/scrim.js +2 -2
- package/dist/components/shared-list-render.js +1 -1
- package/dist/components/sortable.esm.js +1 -1
- package/dist/components/switch.js +3 -3
- package/dist/components/tab-nav.js +2 -2
- package/dist/components/tab-title.js +3 -3
- package/dist/components/tab.js +3 -3
- package/dist/components/tabs.js +2 -2
- package/dist/components/tile.js +2 -2
- package/dist/components/time-picker.js +22 -20
- package/dist/components/tooltip.js +5 -3
- package/dist/components/utils.js +1 -1
- package/dist/components/utils2.js +1 -1
- package/dist/esm/{ExpandToggle-b94e1fe2.js → ExpandToggle-21a5493f.js} +5 -5
- package/dist/esm/{Heading-9398c9e6.js → Heading-0da1d231.js} +2 -2
- package/dist/esm/{app-globals-1f65a164.js → app-globals-53484588.js} +2 -2
- package/dist/esm/{array-3ac5d2ad.js → array-afca26e4.js} +1 -1
- package/dist/esm/calcite-accordion_2.entry.js +9 -9
- package/dist/esm/calcite-action-bar.entry.js +12 -12
- package/dist/esm/calcite-action-group.entry.js +10 -10
- package/dist/esm/calcite-action-menu.entry.js +11 -10
- package/dist/esm/calcite-action-pad.entry.js +11 -11
- package/dist/esm/calcite-action.entry.js +8 -8
- package/dist/esm/calcite-alert.entry.js +22 -9
- package/dist/esm/calcite-avatar.entry.js +7 -7
- package/dist/esm/calcite-block_2.entry.js +12 -12
- package/dist/esm/calcite-button.entry.js +10 -10
- package/dist/esm/calcite-card.entry.js +8 -8
- package/dist/esm/calcite-checkbox.entry.js +11 -11
- package/dist/esm/calcite-chip.entry.js +9 -9
- package/dist/esm/calcite-color-picker_3.entry.js +13 -13
- package/dist/esm/calcite-combobox_3.entry.js +21 -19
- package/dist/esm/calcite-date-picker_4.entry.js +25 -20
- package/dist/esm/calcite-dropdown_3.entry.js +17 -15
- package/dist/esm/calcite-fab.entry.js +8 -8
- package/dist/esm/calcite-filter.entry.js +9 -9
- package/dist/esm/calcite-flow-item.entry.js +14 -16
- package/dist/esm/calcite-flow.entry.js +4 -4
- package/dist/esm/calcite-graph_2.entry.js +24 -20
- package/dist/esm/calcite-handle.entry.js +6 -6
- package/dist/esm/calcite-icon.entry.js +7 -7
- package/dist/esm/calcite-inline-editable.entry.js +9 -9
- package/dist/esm/calcite-input-date-picker.entry.js +45 -40
- package/dist/esm/calcite-input-message.entry.js +9 -9
- package/dist/esm/calcite-input-number.entry.js +47 -28
- package/dist/esm/calcite-input-text.entry.js +12 -12
- package/dist/esm/calcite-input-time-picker_2.entry.js +57 -51
- package/dist/esm/calcite-input.entry.js +72 -50
- package/dist/esm/calcite-label.entry.js +16 -16
- package/dist/esm/calcite-link.entry.js +9 -9
- package/dist/esm/calcite-list_3.entry.js +12 -12
- package/dist/esm/calcite-loader.entry.js +4 -4
- package/dist/esm/calcite-modal.entry.js +9 -9
- package/dist/esm/calcite-notice.entry.js +9 -9
- package/dist/esm/calcite-option_3.entry.js +13 -13
- package/dist/esm/calcite-pagination.entry.js +19 -12
- package/dist/esm/calcite-panel.entry.js +17 -19
- package/dist/esm/calcite-pick-list_3.entry.js +15 -15
- package/dist/esm/calcite-popover_2.entry.js +16 -14
- package/dist/esm/calcite-progress.entry.js +3 -3
- package/dist/esm/calcite-radio-button-group.entry.js +5 -5
- package/dist/esm/calcite-radio-button.entry.js +11 -11
- package/dist/esm/calcite-radio-group_2.entry.js +14 -14
- package/dist/esm/calcite-rating.entry.js +11 -11
- package/dist/esm/calcite-scrim.entry.js +3 -3
- package/dist/esm/calcite-shell_3.entry.js +12 -12
- package/dist/esm/calcite-sortable-list.entry.js +6 -6
- package/dist/esm/calcite-split-button.entry.js +7 -5
- package/dist/esm/calcite-stepper_2.entry.js +8 -8
- package/dist/esm/calcite-switch.entry.js +11 -11
- package/dist/esm/calcite-tab_4.entry.js +13 -13
- package/dist/esm/calcite-tile-select_2.entry.js +7 -7
- package/dist/esm/calcite-tile.entry.js +9 -9
- package/dist/esm/calcite-tip_3.entry.js +11 -11
- package/dist/esm/calcite-tooltip_2.entry.js +12 -10
- package/dist/esm/calcite-tree_2.entry.js +131 -84
- package/dist/esm/calcite-value-list_2.entry.js +14 -14
- package/dist/esm/calcite.js +6 -6
- package/dist/esm/{conditionalSlot-5b35c2f6.js → conditionalSlot-e50c9f14.js} +3 -3
- package/dist/esm/{debounce-3b1693a8.js → debounce-6816d02c.js} +1 -1
- package/dist/esm/{dom-4436bd07.js → dom-1ac7b489.js} +29 -4
- package/dist/esm/{filter-8af4eb80.js → filter-1cca1a38.js} +3 -4
- package/dist/esm/{floating-ui-fcf59cab.js → floating-ui-41bd9b35.js} +2 -2
- package/dist/esm/{form-c902fafa.js → form-08544720.js} +3 -3
- package/dist/esm/{guid-cd505852.js → guid-57e25130.js} +1 -1
- package/dist/esm/{index-61da5fbc.js → index-5326c3af.js} +1117 -946
- package/dist/esm/index.js +1 -1
- package/dist/esm/{interactive-6cafa58c.js → interactive-c086cb04.js} +1 -1
- package/dist/esm/{interfaces-401a4071.js → interfaces-ba4e7fb1.js} +1 -1
- package/dist/esm/{key-d6e66ea5.js → key-42705c39.js} +1 -1
- package/dist/esm/{label-6c6aade5.js → label-a209a39c.js} +2 -2
- package/dist/esm/loader.js +6 -6
- package/dist/esm/locale-6840e756.js +374 -0
- package/dist/esm/{math-35a0e454.js → math-e13ce572.js} +1 -1
- package/dist/esm/observers-68c33472.js +46 -0
- package/dist/esm/{openCloseComponent-16d8c6cb.js → openCloseComponent-f9f51e92.js} +1 -1
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/{resources-54732430.js → resources-a65a8ad1.js} +1 -1
- package/dist/esm/{resources-1e0c6832.js → resources-ba2025cb.js} +1 -1
- package/dist/esm/{resources-ce568df4.js → resources-bf3cbf16.js} +1 -1
- package/dist/esm/{resources-cd0c5121.js → resources-c69a833c.js} +3 -23
- package/dist/esm/{resources-6e9455eb.js → resources-d0f37d22.js} +5 -5
- package/dist/esm/{resources-54c26d1b.js → resources-d2b2a177.js} +1 -1
- package/dist/esm/{sortable.esm-dcbb5a29.js → sortable.esm-1ad7cec8.js} +1 -1
- package/dist/esm/{utils-ad1cc5e3.js → utils-f163e9f8.js} +1 -1
- package/dist/extras/docs-json.json +888 -272
- package/dist/index.js +1 -1
- package/dist/loader/cdn.js +1 -1
- package/dist/loader/index.cjs.js +1 -1
- package/dist/loader/index.es2017.js +1 -1
- package/dist/loader/index.js +2 -2
- package/dist/loader/package.json +1 -0
- package/dist/types/components/accordion-item/accordion-item.d.ts +4 -4
- package/dist/types/components/action/action.d.ts +2 -2
- package/dist/types/components/action/assets/action/t9n/index.d.ts +3 -0
- package/dist/types/components/action-bar/action-bar.d.ts +1 -1
- package/dist/types/components/action-bar/assets/action-bar/t9n/index.d.ts +4 -0
- package/dist/types/components/action-group/assets/action-group/t9n/index.d.ts +3 -0
- package/dist/types/components/action-menu/action-menu.d.ts +2 -1
- package/dist/types/components/action-pad/assets/action-pad/t9n/index.d.ts +4 -0
- package/dist/types/components/alert/alert.d.ts +7 -1
- package/dist/types/components/alert/assets/alert/t9n/index.d.ts +3 -0
- package/dist/types/components/block/assets/block/t9n/index.d.ts +6 -0
- package/dist/types/components/block-section/assets/block-section/t9n/index.d.ts +4 -0
- package/dist/types/components/button/assets/button/t9n/index.d.ts +3 -0
- package/dist/types/components/button/button.d.ts +3 -3
- package/dist/types/components/card/assets/card/t9n/index.d.ts +5 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/chip/assets/chip/t9n/index.d.ts +3 -0
- package/dist/types/components/chip/chip.d.ts +3 -3
- package/dist/types/components/color-picker/assets/color-picker/t9n/index.d.ts +21 -0
- package/dist/types/components/color-picker/color-picker.d.ts +3 -2
- package/dist/types/components/color-picker-hex-input/color-picker-hex-input.d.ts +3 -2
- package/dist/types/components/combobox/assets/combobox/t9n/index.d.ts +3 -0
- package/dist/types/components/combobox/combobox.d.ts +5 -3
- package/dist/types/components/combobox-item/combobox-item.d.ts +1 -1
- package/dist/types/components/date-picker/assets/date-picker/t9n/index.d.ts +5 -0
- package/dist/types/components/date-picker/date-picker.d.ts +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts +4 -2
- package/dist/types/components/dropdown-item/dropdown-item.d.ts +3 -3
- package/dist/types/components/fab/fab.d.ts +1 -1
- package/dist/types/components/filter/assets/filter/t9n/index.d.ts +4 -0
- package/dist/types/components/flow/flow.d.ts +1 -1
- package/dist/types/components/flow-item/flow-item.d.ts +6 -8
- package/dist/types/components/handle/handle.d.ts +1 -1
- package/dist/types/components/inline-editable/assets/inline-editable/t9n/index.d.ts +5 -0
- package/dist/types/components/inline-editable/inline-editable.d.ts +1 -1
- package/dist/types/components/input/assets/input/t9n/index.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +25 -26
- package/dist/types/components/input-date-picker/input-date-picker.d.ts +45 -40
- package/dist/types/components/input-message/input-message.d.ts +6 -9
- package/dist/types/components/input-number/assets/input-number/t9n/index.d.ts +4 -0
- package/dist/types/components/input-number/input-number.d.ts +9 -11
- package/dist/types/components/input-text/assets/input-text/t9n/index.d.ts +4 -0
- package/dist/types/components/input-text/input-text.d.ts +3 -3
- package/dist/types/components/input-time-picker/input-time-picker.d.ts +31 -28
- package/dist/types/components/label/label.d.ts +10 -10
- package/dist/types/components/link/link.d.ts +8 -8
- package/dist/types/components/modal/assets/modal/t9n/index.d.ts +3 -0
- package/dist/types/components/notice/assets/notice/t9n/index.d.ts +3 -0
- package/dist/types/components/notice/notice.d.ts +1 -2
- package/dist/types/components/pagination/assets/pagination/t9n/index.d.ts +4 -0
- package/dist/types/components/pagination/pagination.d.ts +4 -7
- package/dist/types/components/panel/assets/panel/t9n/index.d.ts +6 -0
- package/dist/types/components/panel/panel.d.ts +6 -8
- package/dist/types/components/pick-list/assets/pick-list/t9n/index.d.ts +3 -0
- package/dist/types/components/pick-list/pick-list.d.ts +1 -1
- package/dist/types/components/pick-list-item/assets/pick-list-item/t9n/index.d.ts +3 -0
- package/dist/types/components/popover/assets/popover/t9n/index.d.ts +3 -0
- package/dist/types/components/popover/popover.d.ts +3 -1
- package/dist/types/components/popover-manager/popover-manager.d.ts +1 -1
- package/dist/types/components/radio-button/radio-button.d.ts +1 -1
- package/dist/types/components/radio-button-group/radio-button-group.d.ts +2 -2
- package/dist/types/components/radio-group/radio-group.d.ts +1 -1
- package/dist/types/components/radio-group-item/radio-group-item.d.ts +7 -7
- package/dist/types/components/rating/assets/rating/t9n/index.d.ts +4 -0
- package/dist/types/components/rating/rating.d.ts +1 -1
- package/dist/types/components/scrim/assets/scrim/t9n/index.d.ts +3 -0
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/shell-center-row/shell-center-row.d.ts +1 -1
- package/dist/types/components/shell-panel/assets/shell-panel/t9n/index.d.ts +3 -0
- package/dist/types/components/shell-panel/shell-panel.d.ts +1 -1
- package/dist/types/components/slider/slider.d.ts +7 -9
- package/dist/types/components/sortable-list/sortable-list.d.ts +1 -1
- package/dist/types/components/split-button/split-button.d.ts +6 -4
- package/dist/types/components/stepper-item/stepper-item.d.ts +2 -2
- package/dist/types/components/switch/switch.d.ts +1 -1
- package/dist/types/components/tab/tab.d.ts +1 -1
- package/dist/types/components/tab-title/tab-title.d.ts +4 -4
- package/dist/types/components/tile-select-group/tile-select-group.d.ts +1 -1
- package/dist/types/components/time-picker/assets/time-picker/t9n/index.d.ts +14 -0
- package/dist/types/components/time-picker/time-picker.d.ts +7 -7
- package/dist/types/components/tip/assets/tip/t9n/index.d.ts +3 -0
- package/dist/types/components/tip-manager/assets/tip-manager/t9n/index.d.ts +7 -0
- package/dist/types/components/tip-manager/tip-manager.d.ts +2 -2
- package/dist/types/components/tooltip/tooltip.d.ts +3 -1
- package/dist/types/components/tree/tree.d.ts +1 -1
- package/dist/types/components/tree/utils.d.ts +1 -0
- package/dist/types/components/tree-item/tree-item.d.ts +8 -2
- package/dist/types/components/value-list/assets/value-list/t9n/index.d.ts +7 -0
- package/dist/types/components/value-list/value-list.d.ts +1 -1
- package/dist/types/components.d.ts +341 -330
- package/dist/types/stencil-public-runtime.d.ts +15 -4
- package/dist/types/utils/dom.d.ts +10 -0
- package/dist/types/utils/locale.d.ts +79 -11
- package/dist/types/utils/number.d.ts +3 -5
- package/dist/types/utils/observers.d.ts +5 -1
- package/dist/types/utils/t9n.d.ts +88 -0
- package/dist/types/utils/time.d.ts +1 -1
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +1585 -1357
- package/package.json +21 -18
- package/dist/calcite/calcite.js +0 -131
- package/dist/calcite/p-01084455.entry.js +0 -6
- package/dist/calcite/p-0171edf2.entry.js +0 -6
- package/dist/calcite/p-053beb3b.system.entry.js +0 -6
- package/dist/calcite/p-066e7b95.entry.js +0 -6
- package/dist/calcite/p-078bf287.system.entry.js +0 -6
- package/dist/calcite/p-08582520.system.entry.js +0 -6
- package/dist/calcite/p-0a33ea71.entry.js +0 -6
- package/dist/calcite/p-0e5463f9.entry.js +0 -6
- package/dist/calcite/p-0ecef714.js +0 -6
- package/dist/calcite/p-0f1d9b98.system.entry.js +0 -6
- package/dist/calcite/p-0f4d2a35.system.entry.js +0 -6
- package/dist/calcite/p-0fe5235a.system.js +0 -6
- package/dist/calcite/p-0ff05607.entry.js +0 -6
- package/dist/calcite/p-10eee6b3.system.js +0 -6
- package/dist/calcite/p-128503da.entry.js +0 -6
- package/dist/calcite/p-14ccc0d9.entry.js +0 -6
- package/dist/calcite/p-153c05a0.js +0 -7
- package/dist/calcite/p-178adc2e.system.entry.js +0 -6
- package/dist/calcite/p-195fae84.entry.js +0 -6
- package/dist/calcite/p-1a31ff14.entry.js +0 -6
- package/dist/calcite/p-1ae41816.system.entry.js +0 -6
- package/dist/calcite/p-1b21cf49.entry.js +0 -6
- package/dist/calcite/p-1df9515b.entry.js +0 -6
- package/dist/calcite/p-1f71a1f3.entry.js +0 -6
- package/dist/calcite/p-21df7481.entry.js +0 -6
- package/dist/calcite/p-2286c402.entry.js +0 -6
- package/dist/calcite/p-23829a7c.system.entry.js +0 -6
- package/dist/calcite/p-2ae16ecd.system.js +0 -6
- package/dist/calcite/p-2c1b84b8.system.entry.js +0 -6
- package/dist/calcite/p-2dbafa0e.system.entry.js +0 -6
- package/dist/calcite/p-2ddf20c1.entry.js +0 -6
- package/dist/calcite/p-2e41fabd.system.entry.js +0 -6
- package/dist/calcite/p-2e9f9c77.entry.js +0 -6
- package/dist/calcite/p-2f7e077f.system.entry.js +0 -6
- package/dist/calcite/p-30cc3512.system.js +0 -6
- package/dist/calcite/p-3308bd8c.system.entry.js +0 -6
- package/dist/calcite/p-336737ce.system.entry.js +0 -6
- package/dist/calcite/p-34565e87.system.js +0 -6
- package/dist/calcite/p-37a1e422.system.js +0 -6
- package/dist/calcite/p-37bd9759.system.entry.js +0 -6
- package/dist/calcite/p-3a51faac.system.entry.js +0 -6
- package/dist/calcite/p-3b0ab13f.entry.js +0 -6
- package/dist/calcite/p-3fa648a6.system.js +0 -6
- package/dist/calcite/p-4855edd6.system.entry.js +0 -6
- package/dist/calcite/p-4ae05971.system.entry.js +0 -6
- package/dist/calcite/p-4e650ae3.entry.js +0 -6
- package/dist/calcite/p-4ea81ee8.system.entry.js +0 -6
- package/dist/calcite/p-4f999803.system.entry.js +0 -6
- package/dist/calcite/p-4fab2c01.system.js +0 -7
- package/dist/calcite/p-50352c86.system.js +0 -6
- package/dist/calcite/p-5463e965.entry.js +0 -6
- package/dist/calcite/p-56aa2ee6.system.js +0 -6
- package/dist/calcite/p-5a1d3074.system.js +0 -6
- package/dist/calcite/p-5c0d6300.system.entry.js +0 -6
- package/dist/calcite/p-5c193aaf.entry.js +0 -6
- package/dist/calcite/p-5d681f1f.system.js +0 -6
- package/dist/calcite/p-5e1a4c6a.entry.js +0 -6
- package/dist/calcite/p-5ef02486.system.js +0 -6
- package/dist/calcite/p-603b3f3b.system.js +0 -6
- package/dist/calcite/p-65f981cc.system.js +0 -6
- package/dist/calcite/p-66d6175b.system.entry.js +0 -6
- package/dist/calcite/p-6817a388.system.entry.js +0 -6
- package/dist/calcite/p-712673ee.entry.js +0 -6
- package/dist/calcite/p-7148500f.entry.js +0 -6
- package/dist/calcite/p-715ff3ee.system.js +0 -6
- package/dist/calcite/p-71e932d2.system.js +0 -6
- package/dist/calcite/p-74f40869.entry.js +0 -6
- package/dist/calcite/p-768b7c96.system.entry.js +0 -6
- package/dist/calcite/p-77fadf98.entry.js +0 -6
- package/dist/calcite/p-7932a17d.system.js +0 -12
- package/dist/calcite/p-7aed292d.js +0 -6
- package/dist/calcite/p-7bf8e945.entry.js +0 -6
- package/dist/calcite/p-7d3c6c3c.entry.js +0 -6
- package/dist/calcite/p-7e96bb79.entry.js +0 -6
- package/dist/calcite/p-821266d4.entry.js +0 -6
- package/dist/calcite/p-82283c1d.entry.js +0 -6
- package/dist/calcite/p-830c7c7b.system.js +0 -6
- package/dist/calcite/p-8358768c.system.entry.js +0 -6
- package/dist/calcite/p-882c15d1.system.entry.js +0 -6
- package/dist/calcite/p-8bd8264d.js +0 -6
- package/dist/calcite/p-8ca19c2d.js +0 -6
- package/dist/calcite/p-8d36d6c1.system.entry.js +0 -6
- package/dist/calcite/p-8d996e47.system.entry.js +0 -6
- package/dist/calcite/p-8d9f078a.system.entry.js +0 -6
- package/dist/calcite/p-8e370f1d.js +0 -6
- package/dist/calcite/p-9026d51a.system.entry.js +0 -6
- package/dist/calcite/p-93ce252a.entry.js +0 -6
- package/dist/calcite/p-93fd0e15.entry.js +0 -6
- package/dist/calcite/p-9644ce73.system.entry.js +0 -6
- package/dist/calcite/p-9771d02c.system.entry.js +0 -6
- package/dist/calcite/p-9ad62baa.system.js +0 -6
- package/dist/calcite/p-9b342cc2.system.entry.js +0 -6
- package/dist/calcite/p-9e433f85.entry.js +0 -6
- package/dist/calcite/p-a0e5beec.system.entry.js +0 -6
- package/dist/calcite/p-a4a80ad0.system.entry.js +0 -6
- package/dist/calcite/p-a53f4584.entry.js +0 -6
- package/dist/calcite/p-ab184638.system.js +0 -6
- package/dist/calcite/p-afb01982.system.entry.js +0 -6
- package/dist/calcite/p-b0749063.entry.js +0 -6
- package/dist/calcite/p-b13fc832.system.js +0 -6
- package/dist/calcite/p-b154a711.system.entry.js +0 -6
- package/dist/calcite/p-b19c45da.system.entry.js +0 -6
- package/dist/calcite/p-b45030e3.system.js +0 -6
- package/dist/calcite/p-b723b411.system.js +0 -6
- package/dist/calcite/p-b7b68db9.system.entry.js +0 -6
- package/dist/calcite/p-ba97422d.system.entry.js +0 -6
- package/dist/calcite/p-bb928b37.system.entry.js +0 -6
- package/dist/calcite/p-bed458d9.system.js +0 -6
- package/dist/calcite/p-bef6e5cc.system.entry.js +0 -6
- package/dist/calcite/p-bf6a1418.system.js +0 -6
- package/dist/calcite/p-bf992e7a.entry.js +0 -6
- package/dist/calcite/p-c1ea949b.entry.js +0 -6
- package/dist/calcite/p-c2044303.system.entry.js +0 -6
- package/dist/calcite/p-c2ab7bb3.entry.js +0 -6
- package/dist/calcite/p-c2afef79.entry.js +0 -6
- package/dist/calcite/p-c58167a4.entry.js +0 -6
- package/dist/calcite/p-c586e438.system.entry.js +0 -6
- package/dist/calcite/p-c6747d09.system.entry.js +0 -6
- package/dist/calcite/p-c84e0441.entry.js +0 -6
- package/dist/calcite/p-c8e901fa.system.entry.js +0 -6
- package/dist/calcite/p-c8ed9108.system.js +0 -6
- package/dist/calcite/p-c907abab.entry.js +0 -6
- package/dist/calcite/p-c9351ade.system.entry.js +0 -6
- package/dist/calcite/p-c9a7c2c2.system.entry.js +0 -6
- package/dist/calcite/p-ce7ed50c.entry.js +0 -6
- package/dist/calcite/p-d1dda926.system.entry.js +0 -6
- package/dist/calcite/p-d2357828.system.js +0 -6
- package/dist/calcite/p-d2f50dc3.entry.js +0 -6
- package/dist/calcite/p-d7972096.entry.js +0 -6
- package/dist/calcite/p-d8309ad2.entry.js +0 -6
- package/dist/calcite/p-da51f48c.system.js +0 -6
- package/dist/calcite/p-e0c6fe94.entry.js +0 -6
- package/dist/calcite/p-e1c06b29.system.js +0 -6
- package/dist/calcite/p-e3709f3d.system.entry.js +0 -6
- package/dist/calcite/p-e3e7945b.entry.js +0 -6
- package/dist/calcite/p-e5b27fdb.system.entry.js +0 -6
- package/dist/calcite/p-e66cb253.entry.js +0 -6
- package/dist/calcite/p-eafab2ea.system.entry.js +0 -6
- package/dist/calcite/p-eb07d147.system.entry.js +0 -6
- package/dist/calcite/p-ec392994.system.entry.js +0 -6
- package/dist/calcite/p-eca10afe.entry.js +0 -6
- package/dist/calcite/p-ed27f58a.system.entry.js +0 -6
- package/dist/calcite/p-eda06163.entry.js +0 -6
- package/dist/calcite/p-f1bc4c1d.system.entry.js +0 -6
- package/dist/calcite/p-f2da8856.entry.js +0 -6
- package/dist/calcite/p-f4371c35.entry.js +0 -6
- package/dist/calcite/p-f43a332b.system.entry.js +0 -6
- package/dist/calcite/p-f5c1ecd3.entry.js +0 -6
- package/dist/calcite/p-f5c909b7.entry.js +0 -6
- package/dist/calcite/p-f7865770.system.entry.js +0 -6
- package/dist/calcite/p-f814cb24.entry.js +0 -6
- package/dist/calcite/p-f8697a29.system.entry.js +0 -6
- package/dist/calcite/p-f9723480.entry.js +0 -6
- package/dist/calcite/p-fb075d49.system.entry.js +0 -6
- package/dist/calcite/p-fb93c365.entry.js +0 -6
- package/dist/cjs/globalAttributes-39b0e7d7.js +0 -335
- package/dist/cjs/observers-03ac940c.js +0 -27
- package/dist/components/globalAttributes.js +0 -324
- package/dist/custom-elements/index.d.ts +0 -597
- package/dist/custom-elements/index.js +0 -28879
- package/dist/esm/globalAttributes-6affbda6.js +0 -324
- package/dist/esm/observers-5010a9dd.js +0 -25
- package/dist/esm-es5/ExpandToggle-b94e1fe2.js +0 -6
- package/dist/esm-es5/Heading-9398c9e6.js +0 -6
- package/dist/esm-es5/app-globals-1f65a164.js +0 -6
- package/dist/esm-es5/array-3ac5d2ad.js +0 -6
- package/dist/esm-es5/calcite-accordion_2.entry.js +0 -6
- package/dist/esm-es5/calcite-action-bar.entry.js +0 -6
- package/dist/esm-es5/calcite-action-group.entry.js +0 -6
- package/dist/esm-es5/calcite-action-menu.entry.js +0 -6
- package/dist/esm-es5/calcite-action-pad.entry.js +0 -6
- package/dist/esm-es5/calcite-action.entry.js +0 -6
- package/dist/esm-es5/calcite-alert.entry.js +0 -6
- package/dist/esm-es5/calcite-avatar.entry.js +0 -6
- package/dist/esm-es5/calcite-block_2.entry.js +0 -6
- package/dist/esm-es5/calcite-button.entry.js +0 -6
- package/dist/esm-es5/calcite-card.entry.js +0 -6
- package/dist/esm-es5/calcite-checkbox.entry.js +0 -6
- package/dist/esm-es5/calcite-chip.entry.js +0 -6
- package/dist/esm-es5/calcite-color-picker_3.entry.js +0 -6
- package/dist/esm-es5/calcite-combobox_3.entry.js +0 -6
- package/dist/esm-es5/calcite-date-picker_4.entry.js +0 -6
- package/dist/esm-es5/calcite-dropdown_3.entry.js +0 -6
- package/dist/esm-es5/calcite-fab.entry.js +0 -6
- package/dist/esm-es5/calcite-filter.entry.js +0 -6
- package/dist/esm-es5/calcite-flow-item.entry.js +0 -6
- package/dist/esm-es5/calcite-flow.entry.js +0 -6
- package/dist/esm-es5/calcite-graph_2.entry.js +0 -6
- package/dist/esm-es5/calcite-handle.entry.js +0 -6
- package/dist/esm-es5/calcite-icon.entry.js +0 -6
- package/dist/esm-es5/calcite-inline-editable.entry.js +0 -6
- package/dist/esm-es5/calcite-input-date-picker.entry.js +0 -6
- package/dist/esm-es5/calcite-input-message.entry.js +0 -6
- package/dist/esm-es5/calcite-input-number.entry.js +0 -6
- package/dist/esm-es5/calcite-input-text.entry.js +0 -6
- package/dist/esm-es5/calcite-input-time-picker_2.entry.js +0 -6
- package/dist/esm-es5/calcite-input.entry.js +0 -6
- package/dist/esm-es5/calcite-label.entry.js +0 -6
- package/dist/esm-es5/calcite-link.entry.js +0 -6
- package/dist/esm-es5/calcite-list_3.entry.js +0 -6
- package/dist/esm-es5/calcite-loader.entry.js +0 -6
- package/dist/esm-es5/calcite-modal.entry.js +0 -6
- package/dist/esm-es5/calcite-notice.entry.js +0 -6
- package/dist/esm-es5/calcite-option_3.entry.js +0 -6
- package/dist/esm-es5/calcite-pagination.entry.js +0 -6
- package/dist/esm-es5/calcite-panel.entry.js +0 -6
- package/dist/esm-es5/calcite-pick-list_3.entry.js +0 -6
- package/dist/esm-es5/calcite-popover_2.entry.js +0 -6
- package/dist/esm-es5/calcite-progress.entry.js +0 -6
- package/dist/esm-es5/calcite-radio-button-group.entry.js +0 -6
- package/dist/esm-es5/calcite-radio-button.entry.js +0 -6
- package/dist/esm-es5/calcite-radio-group_2.entry.js +0 -6
- package/dist/esm-es5/calcite-rating.entry.js +0 -6
- package/dist/esm-es5/calcite-scrim.entry.js +0 -6
- package/dist/esm-es5/calcite-shell_3.entry.js +0 -6
- package/dist/esm-es5/calcite-sortable-list.entry.js +0 -6
- package/dist/esm-es5/calcite-split-button.entry.js +0 -6
- package/dist/esm-es5/calcite-stepper_2.entry.js +0 -6
- package/dist/esm-es5/calcite-switch.entry.js +0 -6
- package/dist/esm-es5/calcite-tab_4.entry.js +0 -6
- package/dist/esm-es5/calcite-tile-select_2.entry.js +0 -6
- package/dist/esm-es5/calcite-tile.entry.js +0 -6
- package/dist/esm-es5/calcite-tip_3.entry.js +0 -6
- package/dist/esm-es5/calcite-tooltip_2.entry.js +0 -6
- package/dist/esm-es5/calcite-tree_2.entry.js +0 -6
- package/dist/esm-es5/calcite-value-list_2.entry.js +0 -6
- package/dist/esm-es5/calcite.js +0 -6
- package/dist/esm-es5/conditionalSlot-5b35c2f6.js +0 -6
- package/dist/esm-es5/debounce-3b1693a8.js +0 -6
- package/dist/esm-es5/dom-4436bd07.js +0 -6
- package/dist/esm-es5/filter-8af4eb80.js +0 -6
- package/dist/esm-es5/floating-ui-fcf59cab.js +0 -6
- package/dist/esm-es5/form-c902fafa.js +0 -6
- package/dist/esm-es5/globalAttributes-6affbda6.js +0 -6
- package/dist/esm-es5/guid-cd505852.js +0 -6
- package/dist/esm-es5/index-61da5fbc.js +0 -7
- package/dist/esm-es5/index.js +0 -5
- package/dist/esm-es5/interactive-6cafa58c.js +0 -6
- package/dist/esm-es5/interfaces-401a4071.js +0 -6
- package/dist/esm-es5/key-d6e66ea5.js +0 -6
- package/dist/esm-es5/label-6c6aade5.js +0 -6
- package/dist/esm-es5/loader.js +0 -6
- package/dist/esm-es5/math-35a0e454.js +0 -6
- package/dist/esm-es5/observers-5010a9dd.js +0 -6
- package/dist/esm-es5/openCloseComponent-16d8c6cb.js +0 -6
- package/dist/esm-es5/resources-1e0c6832.js +0 -6
- package/dist/esm-es5/resources-54732430.js +0 -6
- package/dist/esm-es5/resources-54c26d1b.js +0 -6
- package/dist/esm-es5/resources-6e9455eb.js +0 -6
- package/dist/esm-es5/resources-cd0c5121.js +0 -6
- package/dist/esm-es5/resources-ce568df4.js +0 -6
- package/dist/esm-es5/sortable.esm-dcbb5a29.js +0 -12
- package/dist/esm-es5/utils-ad1cc5e3.js +0 -6
|
@@ -0,0 +1,1030 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
import { accessible, defaults, disabled, floatingUIOwner, renders, hidden } from "../../tests/commonTests";
|
|
3
|
+
import dedent from "dedent";
|
|
4
|
+
import { html } from "../../../support/formatting";
|
|
5
|
+
import { CSS } from "./resources";
|
|
6
|
+
describe("calcite-dropdown", () => {
|
|
7
|
+
it("renders", () => renders(html `<calcite-dropdown>
|
|
8
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
9
|
+
<calcite-dropdown-group id="group-1">
|
|
10
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
11
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
12
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
13
|
+
</calcite-dropdown-group>
|
|
14
|
+
</calcite-dropdown>`, { display: "inline-flex" }));
|
|
15
|
+
it("honors hidden attribute", async () => hidden("calcite-dropdown"));
|
|
16
|
+
it("defaults", async () => defaults("calcite-dropdown", [
|
|
17
|
+
{
|
|
18
|
+
propertyName: "overlayPositioning",
|
|
19
|
+
defaultValue: "absolute"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
propertyName: "flipPlacements",
|
|
23
|
+
defaultValue: undefined
|
|
24
|
+
}
|
|
25
|
+
]));
|
|
26
|
+
it("can be disabled", () => disabled(html `<calcite-dropdown>
|
|
27
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
28
|
+
<calcite-dropdown-group id="group-1">
|
|
29
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
30
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
31
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
32
|
+
</calcite-dropdown-group>
|
|
33
|
+
</calcite-dropdown>`, { focusTarget: "child" }));
|
|
34
|
+
/**
|
|
35
|
+
* Test helper for selected calcite-dropdown items. Expects items to have IDs to test against.
|
|
36
|
+
*
|
|
37
|
+
* Note: assertSelectedItems.setUpEvents must be called before using this method
|
|
38
|
+
*
|
|
39
|
+
* @param page
|
|
40
|
+
* @param root0
|
|
41
|
+
* @param root0.expectedItemIds
|
|
42
|
+
* @param root0.mostRecentId
|
|
43
|
+
*/
|
|
44
|
+
async function assertSelectedItems(page, { expectedItemIds, mostRecentId }) {
|
|
45
|
+
const selectedItemIds = await page.evaluate(() => {
|
|
46
|
+
const dropdown = document.querySelector("calcite-dropdown");
|
|
47
|
+
return dropdown.selectedItems.map((item) => item.id);
|
|
48
|
+
});
|
|
49
|
+
if (mostRecentId) {
|
|
50
|
+
const selectedItemId = await page.evaluate(() => {
|
|
51
|
+
return window.eventDetail.item.id;
|
|
52
|
+
});
|
|
53
|
+
expect(selectedItemId).toBe(mostRecentId);
|
|
54
|
+
}
|
|
55
|
+
expect(selectedItemIds).toHaveLength(expectedItemIds.length);
|
|
56
|
+
expectedItemIds.forEach((itemId, index) => expect(selectedItemIds[index]).toEqual(itemId));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Helper to wire up the page to assert on the event detail
|
|
60
|
+
*
|
|
61
|
+
* @param page
|
|
62
|
+
*/
|
|
63
|
+
assertSelectedItems.setUpEvents = async (page) => {
|
|
64
|
+
await page.evaluate(() => {
|
|
65
|
+
document.addEventListener("calciteDropdownSelect", ({ detail }) => {
|
|
66
|
+
window.eventDetail = detail;
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
const dropdownSelectionModeContent = html `
|
|
71
|
+
<calcite-dropdown>
|
|
72
|
+
<calcite-button slot="dropdown-trigger" id="trigger">Open dropdown</calcite-button>
|
|
73
|
+
<calcite-dropdown-group id="group-1" selection-mode="multi">
|
|
74
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
75
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
76
|
+
<calcite-dropdown-item id="item-3" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
77
|
+
</calcite-dropdown-group>
|
|
78
|
+
<calcite-dropdown-group id="group-2" selection-mode="single">
|
|
79
|
+
<calcite-dropdown-item id="item-4"> Dropdown Item Content </calcite-dropdown-item>
|
|
80
|
+
<calcite-dropdown-item id="item-5" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
81
|
+
</calcite-dropdown-group>
|
|
82
|
+
<calcite-dropdown-group id="group-3" selection-mode="none">
|
|
83
|
+
<calcite-dropdown-item id="item-6"> Dropdown Item Content </calcite-dropdown-item>
|
|
84
|
+
<calcite-dropdown-item id="item-7" href="google.com"> Dropdown Item Content </calcite-dropdown-item>
|
|
85
|
+
</calcite-dropdown-group>
|
|
86
|
+
</calcite-dropdown>
|
|
87
|
+
`;
|
|
88
|
+
it("renders default props when none are provided", async () => {
|
|
89
|
+
const page = await newE2EPage();
|
|
90
|
+
await page.setContent(html `<calcite-dropdown>
|
|
91
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
92
|
+
<calcite-dropdown-group id="group-1">
|
|
93
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
94
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
95
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
96
|
+
</calcite-dropdown-group>
|
|
97
|
+
</calcite-dropdown>`);
|
|
98
|
+
const element = await page.find("calcite-dropdown");
|
|
99
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
100
|
+
expect(element).toEqualAttribute("scale", "m");
|
|
101
|
+
expect(element).toEqualAttribute("placement", "bottom-start");
|
|
102
|
+
expect(group1).toEqualAttribute("selection-mode", "single");
|
|
103
|
+
});
|
|
104
|
+
it("renders requested props when valid props are provided", async () => {
|
|
105
|
+
const page = await newE2EPage();
|
|
106
|
+
await page.setContent(html `<calcite-dropdown placement="bottom-end" scale="l" width="l">
|
|
107
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
108
|
+
<calcite-dropdown-group id="group-1" selection-mode="multi">
|
|
109
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
110
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
111
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
112
|
+
</calcite-dropdown-group>
|
|
113
|
+
</calcite-dropdown>`);
|
|
114
|
+
const element = await page.find("calcite-dropdown");
|
|
115
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
116
|
+
expect(element).toEqualAttribute("scale", "l");
|
|
117
|
+
expect(element).toEqualAttribute("width", "l");
|
|
118
|
+
expect(element).toEqualAttribute("placement", "bottom-end");
|
|
119
|
+
expect(group1).toEqualAttribute("selection-mode", "multi");
|
|
120
|
+
});
|
|
121
|
+
it("renders icons if requested and does not render icons if not requested", async () => {
|
|
122
|
+
const page = await newE2EPage();
|
|
123
|
+
await page.setContent(html `<calcite-dropdown>
|
|
124
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
125
|
+
<calcite-dropdown-group>
|
|
126
|
+
<calcite-dropdown-item icon-start="grid" id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
127
|
+
<calcite-dropdown-item icon-end="grid" id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
128
|
+
<calcite-dropdown-item icon-start="grid" icon-end="grid" id="item-3">
|
|
129
|
+
Dropdown Item Content
|
|
130
|
+
</calcite-dropdown-item>
|
|
131
|
+
<calcite-dropdown-item id="item-4"> Dropdown Item Content </calcite-dropdown-item>
|
|
132
|
+
</calcite-dropdown-group>
|
|
133
|
+
</calcite-dropdown>`);
|
|
134
|
+
const item1IconStart = await page.find("calcite-dropdown-item[id='item-1'] >>> .dropdown-item-icon-start");
|
|
135
|
+
const item1IconEnd = await page.find("calcite-dropdown-item[id='item-1'] >>> .dropdown-item-icon-end");
|
|
136
|
+
const item2IconStart = await page.find("calcite-dropdown-item[id='item-2'] >>> .dropdown-item-icon-start");
|
|
137
|
+
const item2IconEnd = await page.find("calcite-dropdown-item[id='item-2'] >>> .dropdown-item-icon-end");
|
|
138
|
+
const item3IconStart = await page.find("calcite-dropdown-item[id='item-3'] >>> .dropdown-item-icon-start");
|
|
139
|
+
const item3IconEnd = await page.find("calcite-dropdown-item[id='item-3'] >>> .dropdown-item-icon-end");
|
|
140
|
+
const item4IconStart = await page.find("calcite-dropdown-item[id='item-4'] >>> .dropdown-item-icon-start");
|
|
141
|
+
const item4IconEnd = await page.find("calcite-dropdown-item[id='item-4'] >>> .dropdown-item-icon-end");
|
|
142
|
+
expect(item1IconStart).not.toBeNull();
|
|
143
|
+
expect(item1IconEnd).toBeNull();
|
|
144
|
+
expect(item2IconStart).toBeNull();
|
|
145
|
+
expect(item2IconEnd).not.toBeNull();
|
|
146
|
+
expect(item3IconStart).not.toBeNull();
|
|
147
|
+
expect(item3IconEnd).not.toBeNull();
|
|
148
|
+
expect(item4IconStart).toBeNull();
|
|
149
|
+
expect(item4IconEnd).toBeNull();
|
|
150
|
+
});
|
|
151
|
+
it("renders group title if specified and not if absent", async () => {
|
|
152
|
+
const page = await newE2EPage();
|
|
153
|
+
await page.setContent(html `<calcite-dropdown>
|
|
154
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
155
|
+
<calcite-dropdown-group id="group-1" group-title="My Group 1 Title">
|
|
156
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
157
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
158
|
+
</calcite-dropdown-group>
|
|
159
|
+
<calcite-dropdown-group id="group-2">
|
|
160
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
161
|
+
<calcite-dropdown-item id="item-4" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
162
|
+
</calcite-dropdown-group>
|
|
163
|
+
</calcite-dropdown>`);
|
|
164
|
+
const group1Title = await page.find("calcite-dropdown-group[id='group-1'] >>> .dropdown-title");
|
|
165
|
+
const group2Title = await page.find("calcite-dropdown-group[id='group-2'] >>> .dropdown-title");
|
|
166
|
+
expect(group1Title).not.toBeNull();
|
|
167
|
+
expect(group2Title).toBeNull();
|
|
168
|
+
});
|
|
169
|
+
it("renders selected item based on attribute in dom", async () => {
|
|
170
|
+
const page = await newE2EPage();
|
|
171
|
+
await page.setContent(html `<calcite-dropdown>
|
|
172
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
173
|
+
<calcite-dropdown-group id="group-1">
|
|
174
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
175
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
176
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
177
|
+
</calcite-dropdown-group>
|
|
178
|
+
</calcite-dropdown>`);
|
|
179
|
+
const element = await page.find("calcite-dropdown");
|
|
180
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
181
|
+
const item2 = await element.find("calcite-dropdown-item[id='item-2']");
|
|
182
|
+
const item3 = await element.find("calcite-dropdown-item[id='item-3']");
|
|
183
|
+
//active prop is deprecated
|
|
184
|
+
expect(item1).not.toHaveAttribute("active");
|
|
185
|
+
expect(item3).not.toHaveAttribute("active");
|
|
186
|
+
expect(item1).not.toHaveAttribute("selected");
|
|
187
|
+
expect(item2).toHaveAttribute("selected");
|
|
188
|
+
expect(item3).not.toHaveAttribute("selected");
|
|
189
|
+
});
|
|
190
|
+
it("renders multiple selected items when group is in multi selection mode", async () => {
|
|
191
|
+
const page = await newE2EPage();
|
|
192
|
+
await page.setContent(html `<calcite-dropdown>
|
|
193
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
194
|
+
<calcite-dropdown-group id="group-1" selection-mode="multi">
|
|
195
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
196
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
197
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
198
|
+
</calcite-dropdown-group>
|
|
199
|
+
</calcite-dropdown>`);
|
|
200
|
+
const element = await page.find("calcite-dropdown");
|
|
201
|
+
const trigger = await element.find("#trigger");
|
|
202
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
203
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
204
|
+
const item2 = await element.find("calcite-dropdown-item[id='item-2']");
|
|
205
|
+
const item3 = await element.find("calcite-dropdown-item[id='item-3']");
|
|
206
|
+
const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
|
|
207
|
+
await assertSelectedItems.setUpEvents(page);
|
|
208
|
+
expect(group1).toEqualAttribute("selection-mode", "multi");
|
|
209
|
+
await trigger.click();
|
|
210
|
+
await page.waitForChanges();
|
|
211
|
+
await assertSelectedItems(page, { expectedItemIds: ["item-2"] });
|
|
212
|
+
await item1.click();
|
|
213
|
+
await page.waitForChanges();
|
|
214
|
+
await assertSelectedItems(page, {
|
|
215
|
+
expectedItemIds: ["item-1", "item-2"],
|
|
216
|
+
mostRecentId: "item-1"
|
|
217
|
+
});
|
|
218
|
+
await trigger.click();
|
|
219
|
+
await page.waitForChanges();
|
|
220
|
+
await item2.click();
|
|
221
|
+
await page.waitForChanges();
|
|
222
|
+
await assertSelectedItems(page, {
|
|
223
|
+
expectedItemIds: ["item-1"],
|
|
224
|
+
mostRecentId: "item-2"
|
|
225
|
+
});
|
|
226
|
+
await trigger.click();
|
|
227
|
+
await page.waitForChanges();
|
|
228
|
+
await item3.click();
|
|
229
|
+
await page.waitForChanges();
|
|
230
|
+
await assertSelectedItems(page, {
|
|
231
|
+
expectedItemIds: ["item-1", "item-3"],
|
|
232
|
+
mostRecentId: "item-3"
|
|
233
|
+
});
|
|
234
|
+
// active prop is deprecated
|
|
235
|
+
expect(item1).toHaveAttribute("active");
|
|
236
|
+
expect(item2).not.toHaveAttribute("active");
|
|
237
|
+
expect(item3).toHaveAttribute("active");
|
|
238
|
+
expect(item1).toHaveAttribute("selected");
|
|
239
|
+
expect(item2).not.toHaveAttribute("selected");
|
|
240
|
+
expect(item3).toHaveAttribute("selected");
|
|
241
|
+
expect(itemChangeSpy).toHaveReceivedEventTimes(3);
|
|
242
|
+
});
|
|
243
|
+
it("renders just one selected item when group is in single selection mode", async () => {
|
|
244
|
+
const page = await newE2EPage();
|
|
245
|
+
await page.setContent(html `<calcite-dropdown>
|
|
246
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
247
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
248
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
249
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
250
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
251
|
+
</calcite-dropdown-group>
|
|
252
|
+
</calcite-dropdown>`);
|
|
253
|
+
const element = await page.find("calcite-dropdown");
|
|
254
|
+
const trigger = await element.find("#trigger");
|
|
255
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
256
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
257
|
+
const item2 = await element.find("calcite-dropdown-item[id='item-2']");
|
|
258
|
+
const item3 = await element.find("calcite-dropdown-item[id='item-3']");
|
|
259
|
+
const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
|
|
260
|
+
await assertSelectedItems.setUpEvents(page);
|
|
261
|
+
expect(group1).toEqualAttribute("selection-mode", "single");
|
|
262
|
+
await assertSelectedItems(page, { expectedItemIds: ["item-2"] });
|
|
263
|
+
await trigger.click();
|
|
264
|
+
await page.waitForChanges();
|
|
265
|
+
await item1.click();
|
|
266
|
+
await page.waitForChanges();
|
|
267
|
+
await assertSelectedItems(page, {
|
|
268
|
+
expectedItemIds: ["item-1"],
|
|
269
|
+
mostRecentId: "item-1"
|
|
270
|
+
});
|
|
271
|
+
await trigger.click();
|
|
272
|
+
await page.waitForChanges();
|
|
273
|
+
await item3.click();
|
|
274
|
+
await page.waitForChanges();
|
|
275
|
+
await assertSelectedItems(page, {
|
|
276
|
+
expectedItemIds: ["item-3"],
|
|
277
|
+
mostRecentId: "item-3"
|
|
278
|
+
});
|
|
279
|
+
//active prop is deprecated
|
|
280
|
+
expect(item1).not.toHaveAttribute("active");
|
|
281
|
+
expect(item2).not.toHaveAttribute("active");
|
|
282
|
+
expect(item3).toHaveAttribute("active");
|
|
283
|
+
expect(item1).not.toHaveAttribute("selected");
|
|
284
|
+
expect(item2).not.toHaveAttribute("selected");
|
|
285
|
+
expect(item3).toHaveAttribute("selected");
|
|
286
|
+
expect(itemChangeSpy).toHaveReceivedEventTimes(2);
|
|
287
|
+
});
|
|
288
|
+
it("renders no selected item when group is in none selection mode (and removes any selected state set in dom on load)", async () => {
|
|
289
|
+
const page = await newE2EPage();
|
|
290
|
+
await page.setContent(html `<calcite-dropdown>
|
|
291
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
292
|
+
<calcite-dropdown-group id="group-1" selection-mode="none">
|
|
293
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
294
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
295
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
296
|
+
</calcite-dropdown-group>
|
|
297
|
+
</calcite-dropdown>`);
|
|
298
|
+
const element = await page.find("calcite-dropdown");
|
|
299
|
+
const trigger = await element.find("#trigger");
|
|
300
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
301
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
302
|
+
const item2 = await element.find("calcite-dropdown-item[id='item-2']");
|
|
303
|
+
const item3 = await element.find("calcite-dropdown-item[id='item-3']");
|
|
304
|
+
const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
|
|
305
|
+
await assertSelectedItems.setUpEvents(page);
|
|
306
|
+
expect(group1).toEqualAttribute("selection-mode", "none");
|
|
307
|
+
await trigger.click();
|
|
308
|
+
await item1.click();
|
|
309
|
+
await page.waitForChanges();
|
|
310
|
+
await assertSelectedItems(page, { expectedItemIds: [], mostRecentId: "item-1" });
|
|
311
|
+
await trigger.click();
|
|
312
|
+
await item2.click();
|
|
313
|
+
await page.waitForChanges();
|
|
314
|
+
await assertSelectedItems(page, { expectedItemIds: [], mostRecentId: "item-2" });
|
|
315
|
+
await trigger.click();
|
|
316
|
+
await item3.click();
|
|
317
|
+
await page.waitForChanges();
|
|
318
|
+
await assertSelectedItems(page, { expectedItemIds: [], mostRecentId: "item-3" });
|
|
319
|
+
//active prop is deprecated
|
|
320
|
+
expect(item1).not.toHaveAttribute("active");
|
|
321
|
+
expect(item2).not.toHaveAttribute("active");
|
|
322
|
+
expect(item3).not.toHaveAttribute("active");
|
|
323
|
+
expect(item1).not.toHaveAttribute("selected");
|
|
324
|
+
expect(item2).not.toHaveAttribute("selected");
|
|
325
|
+
expect(item3).not.toHaveAttribute("selected");
|
|
326
|
+
expect(itemChangeSpy).toHaveReceivedEventTimes(3);
|
|
327
|
+
});
|
|
328
|
+
it("renders the correct selected state when parent contains groups of assorted selection modes", async () => {
|
|
329
|
+
const page = await newE2EPage();
|
|
330
|
+
await page.setContent(html `<calcite-dropdown>
|
|
331
|
+
<calcite-button slot="dropdown-trigger" id="trigger">Open dropdown</calcite-button>
|
|
332
|
+
<calcite-dropdown-group id="group-1" selection-mode="multi">
|
|
333
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
334
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
335
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
336
|
+
</calcite-dropdown-group>
|
|
337
|
+
<calcite-dropdown-group id="group-2" selection-mode="single">
|
|
338
|
+
<calcite-dropdown-item id="item-4"> Dropdown Item Content </calcite-dropdown-item>
|
|
339
|
+
<calcite-dropdown-item id="item-5" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
340
|
+
<calcite-dropdown-item id="item-6"> Dropdown Item Content </calcite-dropdown-item>
|
|
341
|
+
</calcite-dropdown-group>
|
|
342
|
+
<calcite-dropdown-group id="group-3" selection-mode="none">
|
|
343
|
+
<calcite-dropdown-item id="item-7"> Dropdown Item Content </calcite-dropdown-item>
|
|
344
|
+
<calcite-dropdown-item id="item-8"> Dropdown Item Content </calcite-dropdown-item>
|
|
345
|
+
<calcite-dropdown-item id="item-9"> Dropdown Item Content </calcite-dropdown-item>
|
|
346
|
+
</calcite-dropdown-group>
|
|
347
|
+
</calcite-dropdown>`);
|
|
348
|
+
const element = await page.find("calcite-dropdown");
|
|
349
|
+
const trigger = await element.find("#trigger");
|
|
350
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
351
|
+
const group2 = await element.find("calcite-dropdown-group[id='group-2']");
|
|
352
|
+
const group3 = await element.find("calcite-dropdown-group[id='group-3']");
|
|
353
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
354
|
+
const item2 = await element.find("calcite-dropdown-item[id='item-2']");
|
|
355
|
+
const item3 = await element.find("calcite-dropdown-item[id='item-3']");
|
|
356
|
+
const item4 = await element.find("calcite-dropdown-item[id='item-4']");
|
|
357
|
+
const item5 = await element.find("calcite-dropdown-item[id='item-5']");
|
|
358
|
+
const item6 = await element.find("calcite-dropdown-item[id='item-6']");
|
|
359
|
+
const item7 = await element.find("calcite-dropdown-item[id='item-7']");
|
|
360
|
+
const item8 = await element.find("calcite-dropdown-item[id='item-8']");
|
|
361
|
+
const item9 = await element.find("calcite-dropdown-item[id='item-9']");
|
|
362
|
+
const itemChangeSpy = await element.spyOnEvent("calciteDropdownSelect");
|
|
363
|
+
await assertSelectedItems.setUpEvents(page);
|
|
364
|
+
expect(group1).toEqualAttribute("selection-mode", "multi");
|
|
365
|
+
expect(group2).toEqualAttribute("selection-mode", "single");
|
|
366
|
+
expect(group3).toEqualAttribute("selection-mode", "none");
|
|
367
|
+
await assertSelectedItems(page, { expectedItemIds: ["item-2", "item-5"] });
|
|
368
|
+
await trigger.click();
|
|
369
|
+
await page.waitForChanges();
|
|
370
|
+
await item1.click();
|
|
371
|
+
await page.waitForChanges();
|
|
372
|
+
await assertSelectedItems(page, {
|
|
373
|
+
expectedItemIds: ["item-1", "item-2", "item-5"],
|
|
374
|
+
mostRecentId: "item-1"
|
|
375
|
+
});
|
|
376
|
+
await trigger.click();
|
|
377
|
+
await page.waitForChanges();
|
|
378
|
+
await item2.click();
|
|
379
|
+
await page.waitForChanges();
|
|
380
|
+
await assertSelectedItems(page, {
|
|
381
|
+
expectedItemIds: ["item-1", "item-5"],
|
|
382
|
+
mostRecentId: "item-2"
|
|
383
|
+
});
|
|
384
|
+
await trigger.click();
|
|
385
|
+
await page.waitForChanges();
|
|
386
|
+
await item3.click();
|
|
387
|
+
await page.waitForChanges();
|
|
388
|
+
await assertSelectedItems(page, {
|
|
389
|
+
expectedItemIds: ["item-1", "item-3", "item-5"],
|
|
390
|
+
mostRecentId: "item-3"
|
|
391
|
+
});
|
|
392
|
+
await trigger.click();
|
|
393
|
+
await page.waitForChanges();
|
|
394
|
+
await item4.click();
|
|
395
|
+
await page.waitForChanges();
|
|
396
|
+
await assertSelectedItems(page, {
|
|
397
|
+
expectedItemIds: ["item-1", "item-3", "item-4"],
|
|
398
|
+
mostRecentId: "item-4"
|
|
399
|
+
});
|
|
400
|
+
await trigger.click();
|
|
401
|
+
await page.waitForChanges();
|
|
402
|
+
await item6.click();
|
|
403
|
+
await page.waitForChanges();
|
|
404
|
+
await assertSelectedItems(page, {
|
|
405
|
+
expectedItemIds: ["item-1", "item-3", "item-6"],
|
|
406
|
+
mostRecentId: "item-6"
|
|
407
|
+
});
|
|
408
|
+
await trigger.click();
|
|
409
|
+
await page.waitForChanges();
|
|
410
|
+
await item7.click();
|
|
411
|
+
await page.waitForChanges();
|
|
412
|
+
await assertSelectedItems(page, {
|
|
413
|
+
expectedItemIds: ["item-1", "item-3", "item-6"],
|
|
414
|
+
mostRecentId: "item-7"
|
|
415
|
+
});
|
|
416
|
+
await trigger.click();
|
|
417
|
+
await page.waitForChanges();
|
|
418
|
+
await item9.click();
|
|
419
|
+
await page.waitForChanges();
|
|
420
|
+
await assertSelectedItems(page, {
|
|
421
|
+
expectedItemIds: ["item-1", "item-3", "item-6"],
|
|
422
|
+
mostRecentId: "item-9"
|
|
423
|
+
});
|
|
424
|
+
//active is deprecated
|
|
425
|
+
expect(item1).toHaveAttribute("active");
|
|
426
|
+
expect(item2).not.toHaveAttribute("active");
|
|
427
|
+
expect(item3).toHaveAttribute("active");
|
|
428
|
+
expect(item4).not.toHaveAttribute("active");
|
|
429
|
+
expect(item5).not.toHaveAttribute("active");
|
|
430
|
+
expect(item6).toHaveAttribute("active");
|
|
431
|
+
expect(item7).not.toHaveAttribute("active");
|
|
432
|
+
expect(item8).not.toHaveAttribute("active");
|
|
433
|
+
expect(item9).not.toHaveAttribute("active");
|
|
434
|
+
expect(item1).toHaveAttribute("selected");
|
|
435
|
+
expect(item2).not.toHaveAttribute("selected");
|
|
436
|
+
expect(item3).toHaveAttribute("selected");
|
|
437
|
+
expect(item4).not.toHaveAttribute("selected");
|
|
438
|
+
expect(item5).not.toHaveAttribute("selected");
|
|
439
|
+
expect(item6).toHaveAttribute("selected");
|
|
440
|
+
expect(item7).not.toHaveAttribute("selected");
|
|
441
|
+
expect(item8).not.toHaveAttribute("selected");
|
|
442
|
+
expect(item9).not.toHaveAttribute("selected");
|
|
443
|
+
expect(itemChangeSpy).toHaveReceivedEventTimes(7);
|
|
444
|
+
});
|
|
445
|
+
it("renders a calcite-dropdown-item with child anchor link with passed attributes if href is present", async () => {
|
|
446
|
+
const page = await newE2EPage();
|
|
447
|
+
await page.setContent(html `<calcite-dropdown>
|
|
448
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
449
|
+
<calcite-dropdown-group id="group-1" selection-mode="none">
|
|
450
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
451
|
+
<calcite-dropdown-item id="item-2" href="google.com" rel="noopener noreferrer" target="_blank">
|
|
452
|
+
Dropdown Item Content
|
|
453
|
+
</calcite-dropdown-item>
|
|
454
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
455
|
+
</calcite-dropdown-group>
|
|
456
|
+
</calcite-dropdown>`);
|
|
457
|
+
const elementAsLink = await page.find("calcite-dropdown-item[id='item-2'] >>> a");
|
|
458
|
+
expect(elementAsLink).not.toBeNull();
|
|
459
|
+
expect(elementAsLink).toEqualAttribute("href", "google.com");
|
|
460
|
+
expect(elementAsLink).toEqualAttribute("rel", "noopener noreferrer");
|
|
461
|
+
expect(elementAsLink).toEqualAttribute("target", "_blank");
|
|
462
|
+
});
|
|
463
|
+
it("should focus the first item on open when there is no selected item", async () => {
|
|
464
|
+
const page = await newE2EPage({
|
|
465
|
+
html: html `<calcite-dropdown>
|
|
466
|
+
<calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
|
|
467
|
+
<calcite-dropdown-group>
|
|
468
|
+
<calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
|
|
469
|
+
<calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
|
|
470
|
+
<calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
|
|
471
|
+
<calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
|
|
472
|
+
</calcite-dropdown-group>
|
|
473
|
+
</calcite-dropdown>`
|
|
474
|
+
});
|
|
475
|
+
const element = await page.find("calcite-dropdown");
|
|
476
|
+
const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
|
|
477
|
+
await element.click();
|
|
478
|
+
await dropdownOpenEvent;
|
|
479
|
+
expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-1");
|
|
480
|
+
});
|
|
481
|
+
it("should focus the first selected item on open", async () => {
|
|
482
|
+
const page = await newE2EPage({
|
|
483
|
+
html: html `<calcite-dropdown>
|
|
484
|
+
<calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
|
|
485
|
+
<calcite-dropdown-group>
|
|
486
|
+
<calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
|
|
487
|
+
<calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
|
|
488
|
+
<calcite-dropdown-item id="item-3" selected>3</calcite-dropdown-item>
|
|
489
|
+
<calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
|
|
490
|
+
</calcite-dropdown-group>
|
|
491
|
+
</calcite-dropdown>`
|
|
492
|
+
});
|
|
493
|
+
const element = await page.find("calcite-dropdown");
|
|
494
|
+
const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
|
|
495
|
+
await element.click();
|
|
496
|
+
await dropdownOpenEvent;
|
|
497
|
+
expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-3");
|
|
498
|
+
});
|
|
499
|
+
it("should focus the first selected item on open (multi)", async () => {
|
|
500
|
+
const page = await newE2EPage({
|
|
501
|
+
html: html `<calcite-dropdown>
|
|
502
|
+
<calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
|
|
503
|
+
<calcite-dropdown-group selection-mode="multi">
|
|
504
|
+
<calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
|
|
505
|
+
<calcite-dropdown-item id="item-2" selected>2</calcite-dropdown-item>
|
|
506
|
+
<calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
|
|
507
|
+
<calcite-dropdown-item id="item-4" selected>4</calcite-dropdown-item>
|
|
508
|
+
</calcite-dropdown-group>
|
|
509
|
+
</calcite-dropdown>`
|
|
510
|
+
});
|
|
511
|
+
const element = await page.find("calcite-dropdown");
|
|
512
|
+
const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
|
|
513
|
+
await element.click();
|
|
514
|
+
await dropdownOpenEvent;
|
|
515
|
+
expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-2");
|
|
516
|
+
});
|
|
517
|
+
describe("scrolling", () => {
|
|
518
|
+
it("focused item should be in view when long", async () => {
|
|
519
|
+
const page = await newE2EPage();
|
|
520
|
+
await page.setContent(html `<calcite-dropdown>
|
|
521
|
+
<calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
|
|
522
|
+
<calcite-dropdown-group>
|
|
523
|
+
<calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
|
|
524
|
+
<calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
|
|
525
|
+
<calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
|
|
526
|
+
<calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
|
|
527
|
+
<calcite-dropdown-item id="item-5">5</calcite-dropdown-item>
|
|
528
|
+
<calcite-dropdown-item id="item-6">6</calcite-dropdown-item>
|
|
529
|
+
<calcite-dropdown-item id="item-7">7</calcite-dropdown-item>
|
|
530
|
+
<calcite-dropdown-item id="item-8">8</calcite-dropdown-item>
|
|
531
|
+
<calcite-dropdown-item id="item-9">9</calcite-dropdown-item>
|
|
532
|
+
<calcite-dropdown-item id="item-10">10</calcite-dropdown-item>
|
|
533
|
+
<calcite-dropdown-item id="item-11">11</calcite-dropdown-item>
|
|
534
|
+
<calcite-dropdown-item id="item-12">12</calcite-dropdown-item>
|
|
535
|
+
<calcite-dropdown-item id="item-13">13</calcite-dropdown-item>
|
|
536
|
+
<calcite-dropdown-item id="item-14">14</calcite-dropdown-item>
|
|
537
|
+
<calcite-dropdown-item id="item-15">15</calcite-dropdown-item>
|
|
538
|
+
<calcite-dropdown-item id="item-16">16</calcite-dropdown-item>
|
|
539
|
+
<calcite-dropdown-item id="item-17">17</calcite-dropdown-item>
|
|
540
|
+
<calcite-dropdown-item id="item-18">18</calcite-dropdown-item>
|
|
541
|
+
<calcite-dropdown-item id="item-19">19</calcite-dropdown-item>
|
|
542
|
+
<calcite-dropdown-item id="item-20">20</calcite-dropdown-item>
|
|
543
|
+
<calcite-dropdown-item id="item-21">21</calcite-dropdown-item>
|
|
544
|
+
<calcite-dropdown-item id="item-22">22</calcite-dropdown-item>
|
|
545
|
+
<calcite-dropdown-item id="item-23">23</calcite-dropdown-item>
|
|
546
|
+
<calcite-dropdown-item id="item-24">24</calcite-dropdown-item>
|
|
547
|
+
<calcite-dropdown-item id="item-25">25</calcite-dropdown-item>
|
|
548
|
+
<calcite-dropdown-item id="item-26">26</calcite-dropdown-item>
|
|
549
|
+
<calcite-dropdown-item id="item-27">27</calcite-dropdown-item>
|
|
550
|
+
<calcite-dropdown-item id="item-28">28</calcite-dropdown-item>
|
|
551
|
+
<calcite-dropdown-item id="item-29">29</calcite-dropdown-item>
|
|
552
|
+
<calcite-dropdown-item id="item-30">30</calcite-dropdown-item>
|
|
553
|
+
<calcite-dropdown-item id="item-41">41</calcite-dropdown-item>
|
|
554
|
+
<calcite-dropdown-item id="item-42">42</calcite-dropdown-item>
|
|
555
|
+
<calcite-dropdown-item id="item-43">43</calcite-dropdown-item>
|
|
556
|
+
<calcite-dropdown-item id="item-44">44</calcite-dropdown-item>
|
|
557
|
+
<calcite-dropdown-item id="item-45">45</calcite-dropdown-item>
|
|
558
|
+
<calcite-dropdown-item id="item-46">46</calcite-dropdown-item>
|
|
559
|
+
<calcite-dropdown-item id="item-47">47</calcite-dropdown-item>
|
|
560
|
+
<calcite-dropdown-item id="item-48">48</calcite-dropdown-item>
|
|
561
|
+
<calcite-dropdown-item id="item-49">49</calcite-dropdown-item>
|
|
562
|
+
<calcite-dropdown-item id="item-50" selected>50</calcite-dropdown-item>
|
|
563
|
+
</calcite-dropdown-group>
|
|
564
|
+
</calcite-dropdown>`);
|
|
565
|
+
await page.waitForChanges();
|
|
566
|
+
const element = await page.find("calcite-dropdown");
|
|
567
|
+
const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
|
|
568
|
+
await element.click();
|
|
569
|
+
await dropdownOpenEvent;
|
|
570
|
+
expect(await page.evaluate(() => document.activeElement.id)).toEqual("item-50");
|
|
571
|
+
const item = await page.find("#item-50");
|
|
572
|
+
expect(await item.isIntersectingViewport()).toBe(true);
|
|
573
|
+
});
|
|
574
|
+
it("control max items displayed", async () => {
|
|
575
|
+
const maxItems = 7;
|
|
576
|
+
const page = await newE2EPage({
|
|
577
|
+
html: html `<calcite-dropdown max-items="${maxItems}">
|
|
578
|
+
<calcite-button slot="dropdown-trigger">Open Dropdown</calcite-button>
|
|
579
|
+
<calcite-dropdown-group group-title="First group">
|
|
580
|
+
<calcite-dropdown-item id="item-1">1</calcite-dropdown-item>
|
|
581
|
+
<calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
|
|
582
|
+
<calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
|
|
583
|
+
<calcite-dropdown-item id="item-4">4</calcite-dropdown-item>
|
|
584
|
+
<calcite-dropdown-item id="item-5">5</calcite-dropdown-item>
|
|
585
|
+
</calcite-dropdown-group>
|
|
586
|
+
<calcite-dropdown-group group-title="Second group">
|
|
587
|
+
<calcite-dropdown-item id="item-6">6</calcite-dropdown-item>
|
|
588
|
+
<calcite-dropdown-item id="item-7">7</calcite-dropdown-item>
|
|
589
|
+
<calcite-dropdown-item id="item-8">8</calcite-dropdown-item>
|
|
590
|
+
<calcite-dropdown-item id="item-9">9</calcite-dropdown-item>
|
|
591
|
+
<calcite-dropdown-item id="item-10">10</calcite-dropdown-item>
|
|
592
|
+
</calcite-dropdown-group>
|
|
593
|
+
</calcite-dropdown>`
|
|
594
|
+
});
|
|
595
|
+
const element = await page.find("calcite-dropdown");
|
|
596
|
+
const dropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
|
|
597
|
+
await element.click();
|
|
598
|
+
await dropdownOpenEvent;
|
|
599
|
+
const items = await page.findAll("calcite-dropdown-item");
|
|
600
|
+
for (let i = 0; i < items.length; i++) {
|
|
601
|
+
expect(await items[i].isIntersectingViewport()).toBe(i <= maxItems - 1);
|
|
602
|
+
}
|
|
603
|
+
const newMaxItems = 4;
|
|
604
|
+
element.setProperty("maxItems", newMaxItems);
|
|
605
|
+
await page.waitForChanges();
|
|
606
|
+
for (let i = 0; i < items.length; i++) {
|
|
607
|
+
expect(await items[i].isIntersectingViewport()).toBe(i <= newMaxItems - 1);
|
|
608
|
+
}
|
|
609
|
+
});
|
|
610
|
+
});
|
|
611
|
+
it("closes when a selection is made", async () => {
|
|
612
|
+
const page = await newE2EPage();
|
|
613
|
+
await page.setContent(html `<calcite-dropdown>
|
|
614
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
615
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
616
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
617
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
618
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
619
|
+
</calcite-dropdown-group>
|
|
620
|
+
</calcite-dropdown>`);
|
|
621
|
+
const element = await page.find("calcite-dropdown");
|
|
622
|
+
const trigger = await element.find("#trigger");
|
|
623
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
624
|
+
const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
|
|
625
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
626
|
+
await trigger.click();
|
|
627
|
+
await page.waitForChanges();
|
|
628
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
629
|
+
await item1.click();
|
|
630
|
+
await page.waitForChanges();
|
|
631
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
632
|
+
});
|
|
633
|
+
it("remains open when disable-close-on-select is requested and selected item is not in a selection-mode:none group", async () => {
|
|
634
|
+
const page = await newE2EPage();
|
|
635
|
+
await page.setContent(html `<calcite-dropdown disable-close-on-select>
|
|
636
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
637
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
638
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
639
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
640
|
+
<calcite-dropdown-item>
|
|
641
|
+
<div id="item-3">Dropdown Item Content</div>
|
|
642
|
+
</calcite-dropdown-item>
|
|
643
|
+
</calcite-dropdown-group>
|
|
644
|
+
</calcite-dropdown>`);
|
|
645
|
+
const element = await page.find("calcite-dropdown");
|
|
646
|
+
const trigger = await element.find("#trigger");
|
|
647
|
+
const item1 = await element.find("#item-1");
|
|
648
|
+
const item3 = await element.find("#item-3");
|
|
649
|
+
const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
|
|
650
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
651
|
+
await trigger.click();
|
|
652
|
+
await page.waitForChanges();
|
|
653
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
654
|
+
await item1.click();
|
|
655
|
+
await page.waitForChanges();
|
|
656
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
657
|
+
await item3.click();
|
|
658
|
+
await page.waitForChanges();
|
|
659
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
660
|
+
});
|
|
661
|
+
it("closes when disable-close-on-select is requested and selected item is in a selection-mode:none group", async () => {
|
|
662
|
+
const page = await newE2EPage();
|
|
663
|
+
await page.setContent(html `<calcite-dropdown disable-close-on-select>
|
|
664
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
665
|
+
<calcite-dropdown-group id="group-1" selection-mode="none">
|
|
666
|
+
<calcite-dropdown-item>
|
|
667
|
+
<div id="item-1">Dropdown Item Content</div>
|
|
668
|
+
</calcite-dropdown-item>
|
|
669
|
+
<calcite-dropdown-item id="item-2"> Dropdown Item Content </calcite-dropdown-item>
|
|
670
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
671
|
+
</calcite-dropdown-group>
|
|
672
|
+
</calcite-dropdown>`);
|
|
673
|
+
const element = await page.find("calcite-dropdown");
|
|
674
|
+
const trigger = await element.find("#trigger");
|
|
675
|
+
const item1 = await element.find("#item-1");
|
|
676
|
+
const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
|
|
677
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
678
|
+
await trigger.click();
|
|
679
|
+
await page.waitForChanges();
|
|
680
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
681
|
+
await item1.click();
|
|
682
|
+
await page.waitForChanges();
|
|
683
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
684
|
+
});
|
|
685
|
+
describe("toggles the dropdown with click, enter, or space", () => {
|
|
686
|
+
it("toggles when dropdown-trigger is a button", async () => {
|
|
687
|
+
const page = await newE2EPage();
|
|
688
|
+
await page.setContent(html `
|
|
689
|
+
<calcite-dropdown>
|
|
690
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
691
|
+
<calcite-dropdown-group selection-mode="single">
|
|
692
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
693
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
694
|
+
</calcite-dropdown-group>
|
|
695
|
+
</calcite-dropdown>
|
|
696
|
+
`);
|
|
697
|
+
const element = await page.find("calcite-dropdown");
|
|
698
|
+
const trigger = await element.find("calcite-button[slot='dropdown-trigger']");
|
|
699
|
+
const dropdownWrapper = await page.find(`calcite-dropdown >>> .calcite-dropdown-wrapper`);
|
|
700
|
+
const calciteDropdownOpen = await element.spyOnEvent("calciteDropdownOpen");
|
|
701
|
+
const calciteDropdownClose = await element.spyOnEvent("calciteDropdownClose");
|
|
702
|
+
let waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
|
|
703
|
+
const waitForCalciteDropdownClose = page.waitForEvent("calciteDropdownClose");
|
|
704
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
705
|
+
await trigger.click();
|
|
706
|
+
await page.waitForChanges();
|
|
707
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
708
|
+
await waitForCalciteDropdownOpen;
|
|
709
|
+
expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
|
|
710
|
+
expect(calciteDropdownClose).toHaveReceivedEventTimes(0);
|
|
711
|
+
await trigger.focus();
|
|
712
|
+
await page.keyboard.press("Space");
|
|
713
|
+
await page.waitForChanges();
|
|
714
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
715
|
+
await waitForCalciteDropdownClose;
|
|
716
|
+
expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
|
|
717
|
+
expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
|
|
718
|
+
waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
|
|
719
|
+
await page.keyboard.press("Enter");
|
|
720
|
+
await page.waitForChanges();
|
|
721
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
722
|
+
await waitForCalciteDropdownOpen;
|
|
723
|
+
expect(calciteDropdownOpen).toHaveReceivedEventTimes(2);
|
|
724
|
+
expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
|
|
725
|
+
});
|
|
726
|
+
it("toggle when dropdown-trigger is an action", async () => {
|
|
727
|
+
const page = await newE2EPage();
|
|
728
|
+
await page.setContent(html `
|
|
729
|
+
<calcite-dropdown>
|
|
730
|
+
<calcite-action slot="dropdown-trigger">Open dropdown</calcite-action>
|
|
731
|
+
<calcite-dropdown-group selection-mode="single">
|
|
732
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content</calcite-dropdown-item>
|
|
733
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content</calcite-dropdown-item>
|
|
734
|
+
</calcite-dropdown-group>
|
|
735
|
+
</calcite-dropdown>
|
|
736
|
+
`);
|
|
737
|
+
const element = await page.find("calcite-dropdown");
|
|
738
|
+
const trigger = await element.find("calcite-action[slot='dropdown-trigger'] >>> button");
|
|
739
|
+
const dropdownWrapper = await page.find(`calcite-dropdown >>> .calcite-dropdown-wrapper`);
|
|
740
|
+
const calciteDropdownOpen = await element.spyOnEvent("calciteDropdownOpen");
|
|
741
|
+
const calciteDropdownClose = await element.spyOnEvent("calciteDropdownClose");
|
|
742
|
+
let waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
|
|
743
|
+
const waitForCalciteDropdownClose = page.waitForEvent("calciteDropdownClose");
|
|
744
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
745
|
+
await trigger.click();
|
|
746
|
+
await page.waitForChanges();
|
|
747
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
748
|
+
await waitForCalciteDropdownOpen;
|
|
749
|
+
expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
|
|
750
|
+
expect(calciteDropdownClose).toHaveReceivedEventTimes(0);
|
|
751
|
+
await trigger.focus();
|
|
752
|
+
await page.keyboard.press("Space");
|
|
753
|
+
await page.waitForChanges();
|
|
754
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
755
|
+
await waitForCalciteDropdownClose;
|
|
756
|
+
expect(calciteDropdownOpen).toHaveReceivedEventTimes(1);
|
|
757
|
+
expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
|
|
758
|
+
waitForCalciteDropdownOpen = page.waitForEvent("calciteDropdownOpen");
|
|
759
|
+
await page.keyboard.press("Enter");
|
|
760
|
+
await page.waitForChanges();
|
|
761
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
762
|
+
await waitForCalciteDropdownOpen;
|
|
763
|
+
expect(calciteDropdownOpen).toHaveReceivedEventTimes(2);
|
|
764
|
+
expect(calciteDropdownClose).toHaveReceivedEventTimes(1);
|
|
765
|
+
});
|
|
766
|
+
});
|
|
767
|
+
it("closes existing open dropdown when opened", async () => {
|
|
768
|
+
const page = await newE2EPage();
|
|
769
|
+
await page.setContent(html ` <calcite-dropdown id="dropdown-1">
|
|
770
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
771
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
772
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
773
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
774
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
775
|
+
</calcite-dropdown-group>
|
|
776
|
+
</calcite-dropdown>
|
|
777
|
+
<calcite-dropdown id="dropdown-2">
|
|
778
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
779
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
780
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
781
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
782
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
783
|
+
</calcite-dropdown-group>
|
|
784
|
+
</calcite-dropdown>`);
|
|
785
|
+
const element1 = await page.find("calcite-dropdown[id='dropdown-1']");
|
|
786
|
+
const element2 = await page.find("calcite-dropdown[id='dropdown-2']");
|
|
787
|
+
const trigger1 = await element1.find("#trigger");
|
|
788
|
+
const trigger2 = await element2.find("#trigger");
|
|
789
|
+
const dropdownWrapper1 = await page.find("calcite-dropdown[id='dropdown-1'] >>> .calcite-dropdown-wrapper");
|
|
790
|
+
const dropdownWrapper2 = await page.find("calcite-dropdown[id='dropdown-2'] >>> .calcite-dropdown-wrapper");
|
|
791
|
+
expect(await dropdownWrapper1.isVisible()).toBe(false);
|
|
792
|
+
expect(await dropdownWrapper2.isVisible()).toBe(false);
|
|
793
|
+
await trigger1.click();
|
|
794
|
+
await page.waitForChanges();
|
|
795
|
+
expect(await dropdownWrapper1.isVisible()).toBe(true);
|
|
796
|
+
expect(await dropdownWrapper2.isVisible()).toBe(false);
|
|
797
|
+
await trigger2.click();
|
|
798
|
+
await page.waitForChanges();
|
|
799
|
+
expect(await dropdownWrapper1.isVisible()).toBe(false);
|
|
800
|
+
expect(await dropdownWrapper2.isVisible()).toBe(true);
|
|
801
|
+
});
|
|
802
|
+
it("focus is returned to trigger after close", async () => {
|
|
803
|
+
const page = await newE2EPage();
|
|
804
|
+
await page.setContent(html `
|
|
805
|
+
<calcite-dropdown>
|
|
806
|
+
<calcite-button id="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
807
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
808
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
809
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
810
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
811
|
+
</calcite-dropdown-group>
|
|
812
|
+
</calcite-dropdown>
|
|
813
|
+
`);
|
|
814
|
+
const element = await page.find("calcite-dropdown");
|
|
815
|
+
const trigger = await element.find("#trigger");
|
|
816
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
817
|
+
const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
|
|
818
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
819
|
+
await trigger.click();
|
|
820
|
+
await page.waitForChanges();
|
|
821
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
822
|
+
await item1.click();
|
|
823
|
+
await page.waitForChanges();
|
|
824
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
825
|
+
expect(await page.evaluate(() => document.activeElement.id)).toEqual("trigger");
|
|
826
|
+
});
|
|
827
|
+
it("accepts multiple triggers", async () => {
|
|
828
|
+
const page = await newE2EPage();
|
|
829
|
+
await page.setContent(html `
|
|
830
|
+
<calcite-dropdown>
|
|
831
|
+
<calcite-button class="trigger" slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
832
|
+
<calcite-icon class="trigger" icon="caretDown" scale="s" slot="dropdown-trigger"></calcite-icon>
|
|
833
|
+
<calcite-dropdown-group id="group-1" selection-mode="single">
|
|
834
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
835
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
836
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
837
|
+
</calcite-dropdown-group>
|
|
838
|
+
</calcite-dropdown>
|
|
839
|
+
`);
|
|
840
|
+
const element = await page.find("calcite-dropdown");
|
|
841
|
+
const trigger = await element.findAll(".trigger");
|
|
842
|
+
const dropdownWrapper = await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper");
|
|
843
|
+
await trigger[0].click();
|
|
844
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
845
|
+
await trigger[0].click();
|
|
846
|
+
await page.waitForChanges();
|
|
847
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
848
|
+
await page.waitForChanges();
|
|
849
|
+
await trigger[1].click();
|
|
850
|
+
expect(await dropdownWrapper.isVisible()).toBe(true);
|
|
851
|
+
await trigger[1].click();
|
|
852
|
+
await page.waitForChanges();
|
|
853
|
+
expect(await dropdownWrapper.isVisible()).toBe(false);
|
|
854
|
+
});
|
|
855
|
+
it("is accessible", async () => {
|
|
856
|
+
await accessible(dedent `${dropdownSelectionModeContent}`);
|
|
857
|
+
});
|
|
858
|
+
it("correct role and aria properties are applied based on selection type", async () => {
|
|
859
|
+
const page = await newE2EPage();
|
|
860
|
+
await page.setContent(dedent `${dropdownSelectionModeContent}`);
|
|
861
|
+
await page.waitForChanges();
|
|
862
|
+
const element = await page.find("calcite-dropdown");
|
|
863
|
+
const group1 = await element.find("calcite-dropdown-group[id='group-1']");
|
|
864
|
+
const group2 = await element.find("calcite-dropdown-group[id='group-2']");
|
|
865
|
+
const group3 = await element.find("calcite-dropdown-group[id='group-3']");
|
|
866
|
+
const item1 = await element.find("calcite-dropdown-item[id='item-1']");
|
|
867
|
+
const item2 = await element.find("calcite-dropdown-item[id='item-2']");
|
|
868
|
+
const item3 = await element.find("calcite-dropdown-item[id='item-3']");
|
|
869
|
+
const item4 = await element.find("calcite-dropdown-item[id='item-4']");
|
|
870
|
+
const item5 = await element.find("calcite-dropdown-item[id='item-5']");
|
|
871
|
+
const item6 = await element.find("calcite-dropdown-item[id='item-6']");
|
|
872
|
+
const item7 = await element.find("calcite-dropdown-item[id='item-7']");
|
|
873
|
+
expect(group1).toEqualAttribute("role", "group");
|
|
874
|
+
expect(group2).toEqualAttribute("role", "group");
|
|
875
|
+
expect(group3).toEqualAttribute("role", "group");
|
|
876
|
+
expect(item1).toEqualAttribute("role", "menuitemcheckbox");
|
|
877
|
+
expect(item1).toEqualAttribute("aria-checked", "false");
|
|
878
|
+
expect(item2).toEqualAttribute("role", "menuitemcheckbox");
|
|
879
|
+
expect(item2).toEqualAttribute("aria-checked", "true");
|
|
880
|
+
expect(item3).toEqualAttribute("role", "menuitemcheckbox");
|
|
881
|
+
expect(item3).toEqualAttribute("aria-checked", "true");
|
|
882
|
+
expect(item4).toEqualAttribute("role", "menuitemradio");
|
|
883
|
+
expect(item4).toEqualAttribute("aria-checked", "false");
|
|
884
|
+
expect(item5).toEqualAttribute("role", "menuitemradio");
|
|
885
|
+
expect(item5).toEqualAttribute("aria-checked", "true");
|
|
886
|
+
expect(item6).toEqualAttribute("role", "menuitem");
|
|
887
|
+
expect(item6).not.toHaveAttribute("aria-checked");
|
|
888
|
+
expect(item7).not.toHaveAttribute("role");
|
|
889
|
+
expect(item7).not.toHaveAttribute("aria-checked");
|
|
890
|
+
});
|
|
891
|
+
it("item selection should work when placed inside shadow DOM (#992)", async () => {
|
|
892
|
+
const wrappedDropdownTemplateHTML = html `
|
|
893
|
+
<calcite-dropdown disable-close-on-select>
|
|
894
|
+
<calcite-button slot="dropdown-trigger">Open</calcite-button>
|
|
895
|
+
<calcite-dropdown-group selection-mode="single">
|
|
896
|
+
<calcite-dropdown-item id="item-1" selected>1</calcite-dropdown-item>
|
|
897
|
+
<calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
|
|
898
|
+
<calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
|
|
899
|
+
</calcite-dropdown-group>
|
|
900
|
+
</calcite-dropdown>
|
|
901
|
+
`;
|
|
902
|
+
const page = await newE2EPage({
|
|
903
|
+
// load page with the dropdown template,
|
|
904
|
+
// so they're available in the browser-evaluated fn below
|
|
905
|
+
html: wrappedDropdownTemplateHTML
|
|
906
|
+
});
|
|
907
|
+
await page.waitForChanges();
|
|
908
|
+
const wrapperName = "dropdown-wrapping-component";
|
|
909
|
+
await page.evaluate(async (templateHTML, wrapperName) => {
|
|
910
|
+
customElements.define(wrapperName, class extends HTMLElement {
|
|
911
|
+
constructor() {
|
|
912
|
+
super();
|
|
913
|
+
}
|
|
914
|
+
connectedCallback() {
|
|
915
|
+
this.attachShadow({ mode: "open" }).innerHTML = templateHTML;
|
|
916
|
+
}
|
|
917
|
+
});
|
|
918
|
+
document.body.innerHTML = `<${wrapperName}></${wrapperName}>`;
|
|
919
|
+
const wrapper = document.querySelector(wrapperName);
|
|
920
|
+
wrapper.shadowRoot.querySelector("#item-3").click();
|
|
921
|
+
}, wrappedDropdownTemplateHTML, wrapperName);
|
|
922
|
+
await page.waitForChanges();
|
|
923
|
+
const finalSelectedItem = await page.evaluate(async (wrapperName) => {
|
|
924
|
+
const wrapper = document.querySelector(wrapperName);
|
|
925
|
+
return wrapper.shadowRoot.querySelector("calcite-dropdown-item[selected]").id;
|
|
926
|
+
}, wrapperName);
|
|
927
|
+
await expect(finalSelectedItem).toBe("item-3");
|
|
928
|
+
});
|
|
929
|
+
it("dropdown should not overflow when wrapped inside a tab #3007", async () => {
|
|
930
|
+
const page = await newE2EPage({
|
|
931
|
+
html: html `<calcite-tabs>
|
|
932
|
+
<calcite-tab-nav slot="tab-nav">
|
|
933
|
+
<calcite-tab-title is-active>First tab</calcite-tab-title>
|
|
934
|
+
</calcite-tab-nav>
|
|
935
|
+
<calcite-tab is-active>
|
|
936
|
+
<calcite-dropdown>
|
|
937
|
+
<calcite-button slot="dropdown-trigger" class="dropdown">Dropdown</calcite-button>
|
|
938
|
+
<calcite-dropdown-group group-title="Select one">
|
|
939
|
+
<calcite-dropdown-item>First</calcite-dropdown-item>
|
|
940
|
+
<calcite-dropdown-item>Second</calcite-dropdown-item>
|
|
941
|
+
</calcite-dropdown-group>
|
|
942
|
+
</calcite-dropdown>
|
|
943
|
+
</calcite-tab>
|
|
944
|
+
</calcite-tabs>`
|
|
945
|
+
});
|
|
946
|
+
await page.waitForChanges();
|
|
947
|
+
const button = await page.find("calcite-button");
|
|
948
|
+
await button.click();
|
|
949
|
+
await page.waitForChanges();
|
|
950
|
+
expect(await page.$eval("calcite-dropdown", (dropdown) => {
|
|
951
|
+
// check whether the element is overflown, ref :https://stackoverflow.com/questions/9333379/check-if-an-elements-content-is-overflowing
|
|
952
|
+
const { clientWidth, clientHeight, scrollWidth, scrollHeight } = dropdown;
|
|
953
|
+
return scrollHeight > clientHeight || scrollWidth > clientWidth;
|
|
954
|
+
})).toBe(false);
|
|
955
|
+
});
|
|
956
|
+
it("dropdown wrapper shouldn't have height when filter results empty and combined with a PickList in Panel #3048", async () => {
|
|
957
|
+
const page = await newE2EPage({
|
|
958
|
+
html: html `<calcite-panel heading="Issue #3048">
|
|
959
|
+
<calcite-pick-list filter-enabled>
|
|
960
|
+
<calcite-dropdown slot="menu-actions" placement="bottom-end" type="click">
|
|
961
|
+
<calcite-action slot="dropdown-trigger" title="Sort" icon="sort-descending"> </calcite-action>
|
|
962
|
+
<calcite-dropdown-group selection-mode="single">
|
|
963
|
+
<calcite-dropdown-item>Display name</calcite-dropdown-item>
|
|
964
|
+
<calcite-dropdown-item>Type</calcite-dropdown-item>
|
|
965
|
+
</calcite-dropdown-group>
|
|
966
|
+
</calcite-dropdown>
|
|
967
|
+
<calcite-pick-list-item label="calcite" description="calcite!"> </calcite-pick-list-item>
|
|
968
|
+
<calcite-pick-list-item label="calcite" description="calcite"> </calcite-pick-list-item>
|
|
969
|
+
</calcite-pick-list>
|
|
970
|
+
</calcite-panel>`
|
|
971
|
+
});
|
|
972
|
+
await page.waitForChanges();
|
|
973
|
+
const dropdownContentHeight = await (await page.find("calcite-dropdown >>> .calcite-dropdown-wrapper")).getComputedStyle();
|
|
974
|
+
await page.evaluate(() => {
|
|
975
|
+
const filter = document.querySelector(`calcite-pick-list`).shadowRoot.querySelector("calcite-filter");
|
|
976
|
+
const filterInput = filter.shadowRoot.querySelector("calcite-input");
|
|
977
|
+
filterInput.value = "nums";
|
|
978
|
+
});
|
|
979
|
+
expect(dropdownContentHeight.height).toBe("0px");
|
|
980
|
+
});
|
|
981
|
+
it("owns a floating-ui", () => floatingUIOwner(html ` <calcite-dropdown>
|
|
982
|
+
<calcite-button slot="dropdown-trigger">Open</calcite-button>
|
|
983
|
+
<calcite-dropdown-group selection-mode="single">
|
|
984
|
+
<calcite-dropdown-item id="item-1" selected>1</calcite-dropdown-item>
|
|
985
|
+
<calcite-dropdown-item id="item-2">2</calcite-dropdown-item>
|
|
986
|
+
<calcite-dropdown-item id="item-3">3</calcite-dropdown-item>
|
|
987
|
+
</calcite-dropdown-group>
|
|
988
|
+
</calcite-dropdown>`, "open", {
|
|
989
|
+
shadowSelector: ".calcite-dropdown-wrapper"
|
|
990
|
+
}));
|
|
991
|
+
it("should emit component status for transition-chained events: 'calciteDropdownBeforeOpen', 'calciteDropdownOpen', 'calciteDropdownBeforeClose', 'calciteDropdownClose'", async () => {
|
|
992
|
+
const page = await newE2EPage();
|
|
993
|
+
await page.setContent(html `
|
|
994
|
+
<calcite-dropdown>
|
|
995
|
+
<calcite-button slot="dropdown-trigger">Open dropdown</calcite-button>
|
|
996
|
+
<calcite-dropdown-group id="group-1">
|
|
997
|
+
<calcite-dropdown-item id="item-1"> Dropdown Item Content </calcite-dropdown-item>
|
|
998
|
+
<calcite-dropdown-item id="item-2" selected> Dropdown Item Content </calcite-dropdown-item>
|
|
999
|
+
<calcite-dropdown-item id="item-3"> Dropdown Item Content </calcite-dropdown-item>
|
|
1000
|
+
</calcite-dropdown-group>
|
|
1001
|
+
</calcite-dropdown>
|
|
1002
|
+
`);
|
|
1003
|
+
const element = await page.find(`calcite-dropdown`);
|
|
1004
|
+
const group = await page.find(`calcite-dropdown >>> .${CSS.calciteDropdownContent}`);
|
|
1005
|
+
expect(await group.isVisible()).toBe(false);
|
|
1006
|
+
const calciteDropdownBeforeOpenEvent = page.waitForEvent("calciteDropdownBeforeOpen");
|
|
1007
|
+
const calciteDropdownOpenEvent = page.waitForEvent("calciteDropdownOpen");
|
|
1008
|
+
const calciteDropdownBeforeOpenSpy = await element.spyOnEvent("calciteDropdownBeforeOpen");
|
|
1009
|
+
const calciteDropdownOpenSpy = await element.spyOnEvent("calciteDropdownOpen");
|
|
1010
|
+
await element.setProperty("active", true);
|
|
1011
|
+
await page.waitForChanges();
|
|
1012
|
+
expect(await element.getProperty("open")).toBe(true);
|
|
1013
|
+
await calciteDropdownBeforeOpenEvent;
|
|
1014
|
+
await calciteDropdownOpenEvent;
|
|
1015
|
+
expect(calciteDropdownBeforeOpenSpy).toHaveReceivedEventTimes(1);
|
|
1016
|
+
expect(calciteDropdownOpenSpy).toHaveReceivedEventTimes(1);
|
|
1017
|
+
expect(await group.isVisible()).toBe(true);
|
|
1018
|
+
const calciteDropdownBeforeCloseEvent = page.waitForEvent("calciteDropdownBeforeClose");
|
|
1019
|
+
const calciteDropdownCloseEvent = page.waitForEvent("calciteDropdownClose");
|
|
1020
|
+
const calciteDropdownBeforeCloseSpy = await element.spyOnEvent("calciteDropdownBeforeClose");
|
|
1021
|
+
const calciteDropdownCloseSpy = await element.spyOnEvent("calciteDropdownClose");
|
|
1022
|
+
await element.setProperty("active", false);
|
|
1023
|
+
await page.waitForChanges();
|
|
1024
|
+
await calciteDropdownBeforeCloseEvent;
|
|
1025
|
+
await calciteDropdownCloseEvent;
|
|
1026
|
+
expect(calciteDropdownBeforeCloseSpy).toHaveReceivedEventTimes(1);
|
|
1027
|
+
expect(calciteDropdownCloseSpy).toHaveReceivedEventTimes(1);
|
|
1028
|
+
expect(await group.isVisible()).toBe(false);
|
|
1029
|
+
});
|
|
1030
|
+
});
|