@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,1068 @@
|
|
|
1
|
+
import { accessible, defaults, hidden, reflects, renders, focusable, disabled } from "../../tests/commonTests";
|
|
2
|
+
import { CSS, DEFAULT_COLOR, DEFAULT_STORAGE_KEY_PREFIX, DIMENSIONS, TEXT } from "./resources";
|
|
3
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
4
|
+
import { selectText, getElementXY } from "../../tests/utils";
|
|
5
|
+
describe("calcite-color-picker", () => {
|
|
6
|
+
let consoleSpy;
|
|
7
|
+
async function clickScope(page, scope) {
|
|
8
|
+
// helps workaround puppeteer not being able to click on a 0x0 element
|
|
9
|
+
// https://github.com/puppeteer/puppeteer/issues/4147#issuecomment-473208182
|
|
10
|
+
await page.$eval(`calcite-color-picker`, (colorPicker, scopeSelector) => {
|
|
11
|
+
colorPicker.shadowRoot.querySelector(scopeSelector).click();
|
|
12
|
+
}, `.${scope === "hue" ? CSS.hueScope : CSS.colorFieldScope}`);
|
|
13
|
+
}
|
|
14
|
+
beforeEach(() => (consoleSpy = jest.spyOn(console, "warn").mockImplementation(() => {
|
|
15
|
+
// hide warning messages during test
|
|
16
|
+
})));
|
|
17
|
+
afterEach(() => consoleSpy.mockClear());
|
|
18
|
+
describe("is focusable", () => {
|
|
19
|
+
it("should focus scope by default", async () => focusable("<calcite-color-picker></calcite-color-picker>", {
|
|
20
|
+
shadowFocusTargetSelector: `.${CSS.colorFieldScope}`
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
it("is accessible", async () => {
|
|
24
|
+
await accessible("calcite-color-picker");
|
|
25
|
+
await accessible("<calcite-color-picker allow-empty value=''></calcite-color-picker>");
|
|
26
|
+
});
|
|
27
|
+
it("can be hidden", async () => hidden("calcite-color-picker"));
|
|
28
|
+
it("reflects", async () => reflects("calcite-color-picker", [
|
|
29
|
+
{
|
|
30
|
+
propertyName: "appearance",
|
|
31
|
+
value: "minimal"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
propertyName: "scale",
|
|
35
|
+
value: "m"
|
|
36
|
+
}
|
|
37
|
+
]));
|
|
38
|
+
it("renders", async () => renders("calcite-color-picker", { display: "inline-block" }));
|
|
39
|
+
it("has defaults", async () => defaults("calcite-color-picker", [
|
|
40
|
+
{
|
|
41
|
+
propertyName: "allowEmpty",
|
|
42
|
+
defaultValue: false
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
propertyName: "appearance",
|
|
46
|
+
defaultValue: "solid"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
propertyName: "format",
|
|
50
|
+
defaultValue: "auto"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
propertyName: "intlB",
|
|
54
|
+
defaultValue: TEXT.b
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
propertyName: "intlBlue",
|
|
58
|
+
defaultValue: TEXT.blue
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
propertyName: "intlDeleteColor",
|
|
62
|
+
defaultValue: TEXT["deleteColor"]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
propertyName: "intlG",
|
|
66
|
+
defaultValue: TEXT.g
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
propertyName: "intlGreen",
|
|
70
|
+
defaultValue: TEXT.green
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
propertyName: "intlH",
|
|
74
|
+
defaultValue: TEXT.h
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
propertyName: "intlHsv",
|
|
78
|
+
defaultValue: TEXT["hsv"]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
propertyName: "intlHex",
|
|
82
|
+
defaultValue: TEXT.hex
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
propertyName: "intlHue",
|
|
86
|
+
defaultValue: TEXT.hue
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
propertyName: "intlNoColor",
|
|
90
|
+
defaultValue: TEXT.noColor
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
propertyName: "intlR",
|
|
94
|
+
defaultValue: TEXT.r
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
propertyName: "intlRed",
|
|
98
|
+
defaultValue: TEXT.red
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
propertyName: "intlRgb",
|
|
102
|
+
defaultValue: TEXT.rgb
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
propertyName: "intlS",
|
|
106
|
+
defaultValue: TEXT.s
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
propertyName: "intlSaturation",
|
|
110
|
+
defaultValue: TEXT.saturation
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
propertyName: "intlSaveColor",
|
|
114
|
+
defaultValue: TEXT.saveColor
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
propertyName: "intlSaved",
|
|
118
|
+
defaultValue: TEXT.saved
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
propertyName: "intlV",
|
|
122
|
+
defaultValue: TEXT.v
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
propertyName: "intlValue",
|
|
126
|
+
defaultValue: TEXT.value
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
propertyName: "scale",
|
|
130
|
+
defaultValue: "m"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
propertyName: "value",
|
|
134
|
+
defaultValue: "#007ac2"
|
|
135
|
+
}
|
|
136
|
+
]));
|
|
137
|
+
// #408047 is a color in the middle of the color field
|
|
138
|
+
it("can be disabled", () => disabled("<calcite-color-picker value='#408047'></calcite-color-picker>"));
|
|
139
|
+
it(`should set all internal calcite-button types to 'button'`, async () => {
|
|
140
|
+
const page = await newE2EPage({
|
|
141
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
142
|
+
});
|
|
143
|
+
const buttons = await page.findAll("calcite-color-picker >>> calcite-button");
|
|
144
|
+
expect(buttons).toHaveLength(2);
|
|
145
|
+
for (const button of buttons) {
|
|
146
|
+
expect(await button.getProperty("type")).toBe("button");
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
it.skip("emits event when value changes via user interaction and not programmatically", async () => {
|
|
150
|
+
const page = await newE2EPage();
|
|
151
|
+
await page.setContent("<calcite-color-picker></calcite-color-picker>");
|
|
152
|
+
const picker = await page.find("calcite-color-picker");
|
|
153
|
+
const changeSpy = await picker.spyOnEvent("calciteColorPickerChange");
|
|
154
|
+
const inputSpy = await picker.spyOnEvent("calciteColorPickerInput");
|
|
155
|
+
const colorFieldCenterValueHex = "#408048";
|
|
156
|
+
picker.setProperty("value", colorFieldCenterValueHex);
|
|
157
|
+
await page.waitForChanges();
|
|
158
|
+
expect(changeSpy).toHaveReceivedEventTimes(0);
|
|
159
|
+
expect(inputSpy).toHaveReceivedEventTimes(0);
|
|
160
|
+
// save for future test/assertion
|
|
161
|
+
await (await page.find(`calcite-color-picker >>> .${CSS.saveColor}`)).click();
|
|
162
|
+
// change by clicking on field
|
|
163
|
+
await (await page.find(`calcite-color-picker >>> .${CSS.colorFieldAndSlider}`)).click();
|
|
164
|
+
expect(changeSpy).toHaveReceivedEventTimes(1);
|
|
165
|
+
expect(inputSpy).toHaveReceivedEventTimes(1);
|
|
166
|
+
// change by clicking on hue
|
|
167
|
+
let [hueScopeX, hueScopeY] = await getElementXY(page, "calcite-color-picker", `.${CSS.hueScope}`);
|
|
168
|
+
await page.mouse.click(hueScopeX + 10, hueScopeY);
|
|
169
|
+
await page.waitForChanges();
|
|
170
|
+
expect(changeSpy).toHaveReceivedEventTimes(2);
|
|
171
|
+
expect(inputSpy).toHaveReceivedEventTimes(2);
|
|
172
|
+
// change by changing hex value
|
|
173
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
174
|
+
await selectText(hexInput);
|
|
175
|
+
await hexInput.type("fff");
|
|
176
|
+
await hexInput.press("Enter");
|
|
177
|
+
expect(changeSpy).toHaveReceivedEventTimes(3);
|
|
178
|
+
expect(inputSpy).toHaveReceivedEventTimes(3);
|
|
179
|
+
// change by changing color channels (we only test R and assume the same holds for G/B & H/S/V channels)
|
|
180
|
+
const channelInput = await page.find(`calcite-color-picker >>> .${CSS.channel}`);
|
|
181
|
+
await selectText(channelInput);
|
|
182
|
+
await channelInput.type("254");
|
|
183
|
+
await channelInput.press("Enter");
|
|
184
|
+
expect(changeSpy).toHaveReceivedEventTimes(4);
|
|
185
|
+
expect(inputSpy).toHaveReceivedEventTimes(4);
|
|
186
|
+
// change by clicking stored color
|
|
187
|
+
await (await page.find(`calcite-color-picker >>> .${CSS.savedColor}`)).click();
|
|
188
|
+
expect(changeSpy).toHaveReceivedEventTimes(5);
|
|
189
|
+
expect(inputSpy).toHaveReceivedEventTimes(5);
|
|
190
|
+
// change by dragging color field thumb
|
|
191
|
+
const mouseDragSteps = 10;
|
|
192
|
+
const [colorFieldScopeX, colorFieldScopeY] = await getElementXY(page, "calcite-color-picker", `.${CSS.colorFieldScope}`);
|
|
193
|
+
await page.mouse.move(colorFieldScopeX, colorFieldScopeY);
|
|
194
|
+
await page.mouse.down();
|
|
195
|
+
await page.mouse.move(colorFieldScopeX + 10, colorFieldScopeY, {
|
|
196
|
+
steps: mouseDragSteps
|
|
197
|
+
});
|
|
198
|
+
await page.mouse.up();
|
|
199
|
+
await page.waitForChanges();
|
|
200
|
+
expect(changeSpy).toHaveReceivedEventTimes(6);
|
|
201
|
+
expect(inputSpy.length).toBeGreaterThan(6); // input event fires more than once
|
|
202
|
+
// change by dragging hue slider thumb
|
|
203
|
+
[hueScopeX, hueScopeY] = await getElementXY(page, "calcite-color-picker", `.${CSS.hueScope}`);
|
|
204
|
+
let previousInputEventLength = inputSpy.length;
|
|
205
|
+
await page.mouse.move(hueScopeX, hueScopeY);
|
|
206
|
+
await page.mouse.down();
|
|
207
|
+
await page.mouse.move(hueScopeX + 10, hueScopeY, { steps: mouseDragSteps });
|
|
208
|
+
await page.mouse.up();
|
|
209
|
+
await page.waitForChanges();
|
|
210
|
+
expect(changeSpy).toHaveReceivedEventTimes(7);
|
|
211
|
+
expect(inputSpy.length).toBeGreaterThan(previousInputEventLength + 1); // input event fires more than once
|
|
212
|
+
previousInputEventLength = inputSpy.length;
|
|
213
|
+
// this portion covers an odd scenario where setting twice would cause the component to emit
|
|
214
|
+
picker.setProperty("value", "colorFieldCenterValueHex");
|
|
215
|
+
await page.waitForChanges();
|
|
216
|
+
picker.setProperty("value", "#fff");
|
|
217
|
+
await page.waitForChanges();
|
|
218
|
+
expect(changeSpy).toHaveReceivedEventTimes(7);
|
|
219
|
+
expect(inputSpy.length).toBe(previousInputEventLength);
|
|
220
|
+
});
|
|
221
|
+
it("does not emit on initialization", async () => {
|
|
222
|
+
// initialize page with calcite-color-picker to make it available in the evaluate callback below
|
|
223
|
+
const page = await newE2EPage({ html: "<calcite-color-picker></calcite-color-picker>" });
|
|
224
|
+
await page.setContent("");
|
|
225
|
+
const emitted = await page.evaluate(() => {
|
|
226
|
+
const emitted = [];
|
|
227
|
+
document.addEventListener("calciteColorPickerInput", () => emitted.push("input"));
|
|
228
|
+
document.addEventListener("calciteColorPickerChange", () => emitted.push("change"));
|
|
229
|
+
const picker = document.createElement("calcite-color-picker");
|
|
230
|
+
picker.value = "rgb(255, 255, 255)";
|
|
231
|
+
document.body.append(picker);
|
|
232
|
+
return emitted;
|
|
233
|
+
});
|
|
234
|
+
expect(emitted).toHaveLength(0);
|
|
235
|
+
});
|
|
236
|
+
const supportedFormatToSampleValue = {
|
|
237
|
+
hex: "#ffffff",
|
|
238
|
+
"rgb-css": "rgb(255, 255, 255)",
|
|
239
|
+
"hsl-css": "hsl(0, 0%, 100%)",
|
|
240
|
+
rgb: { r: 255, g: 255, b: 255 },
|
|
241
|
+
hsl: { h: 0, s: 0, l: 100 },
|
|
242
|
+
hsv: { h: 0, s: 0, v: 100 }
|
|
243
|
+
};
|
|
244
|
+
const clearAndEnterHexOrChannelValue = async (page, channelInputOrHexInput, value) => {
|
|
245
|
+
await channelInputOrHexInput.callMethod("setFocus");
|
|
246
|
+
await selectText(channelInputOrHexInput);
|
|
247
|
+
const currentValue = await channelInputOrHexInput.getProperty("value");
|
|
248
|
+
for (let i = 0; i < (currentValue === null || currentValue === void 0 ? void 0 : currentValue.length); i++) {
|
|
249
|
+
await page.keyboard.press("Backspace");
|
|
250
|
+
}
|
|
251
|
+
await channelInputOrHexInput.type(value);
|
|
252
|
+
await page.keyboard.press("Enter");
|
|
253
|
+
await page.waitForChanges();
|
|
254
|
+
};
|
|
255
|
+
function assertUnsupportedValueMessage(value, format) {
|
|
256
|
+
expect(consoleSpy).toBeCalledTimes(1);
|
|
257
|
+
expect(consoleSpy).toHaveBeenCalledWith(expect.stringMatching(new RegExp(`\\s*ignoring color value \\(${value}\\) as it is not compatible with the current format \\(${format}\\)\\s*`)));
|
|
258
|
+
}
|
|
259
|
+
describe("color format", () => {
|
|
260
|
+
describe("when set initially", () => {
|
|
261
|
+
let page;
|
|
262
|
+
let spy;
|
|
263
|
+
beforeEach(async () => {
|
|
264
|
+
page = await newE2EPage();
|
|
265
|
+
spy = await page.spyOnEvent("calciteColorPickerChange");
|
|
266
|
+
});
|
|
267
|
+
function assertNoChangeEvents() {
|
|
268
|
+
expect(spy).toHaveReceivedEventTimes(0);
|
|
269
|
+
}
|
|
270
|
+
// this suite uses a subset of supported formats as other tests cover the rest
|
|
271
|
+
it("changes the default value to the format", async () => {
|
|
272
|
+
await page.setContent("<calcite-color-picker format='rgb'></calcite-color-picker>");
|
|
273
|
+
const color = await page.find("calcite-color-picker");
|
|
274
|
+
expect(await color.getProperty("value")).toEqual(DEFAULT_COLOR.rgb().round().object());
|
|
275
|
+
assertNoChangeEvents();
|
|
276
|
+
});
|
|
277
|
+
it("initial value and format are both set if compatible", async () => {
|
|
278
|
+
const initialValue = "rgb(255, 128, 255)";
|
|
279
|
+
await page.setContent(`<calcite-color-picker format='rgb-css' value='${initialValue}'></calcite-color-picker>`);
|
|
280
|
+
const color = await page.find("calcite-color-picker");
|
|
281
|
+
const initialValueIsRendered = await page.$eval("calcite-color-picker", (picker, initialValue) =>
|
|
282
|
+
// color prop is used to render the active color
|
|
283
|
+
picker.color.string() === initialValue, initialValue);
|
|
284
|
+
expect(await color.getProperty("value")).toEqual(initialValue);
|
|
285
|
+
expect(initialValueIsRendered).toBe(true);
|
|
286
|
+
assertNoChangeEvents();
|
|
287
|
+
});
|
|
288
|
+
it("falls back to format-compliant default if initial value is not compatible with initial format", async () => {
|
|
289
|
+
await page.setContent("<calcite-color-picker format='hsl-css' value='#f00f00'></calcite-color-picker>");
|
|
290
|
+
const color = await page.find("calcite-color-picker");
|
|
291
|
+
expect(await color.getProperty("value")).toEqual(DEFAULT_COLOR.hsl().round().string());
|
|
292
|
+
assertNoChangeEvents();
|
|
293
|
+
});
|
|
294
|
+
});
|
|
295
|
+
it("allows specifying the color value format", async () => {
|
|
296
|
+
const page = await newE2EPage({
|
|
297
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
298
|
+
});
|
|
299
|
+
const color = await page.find("calcite-color-picker");
|
|
300
|
+
for (const format in supportedFormatToSampleValue) {
|
|
301
|
+
const expectedValue = supportedFormatToSampleValue[format];
|
|
302
|
+
// set base format and value to test setting different format values
|
|
303
|
+
color.setProperty("format", format);
|
|
304
|
+
color.setProperty("value", expectedValue);
|
|
305
|
+
await page.waitForChanges();
|
|
306
|
+
for (const format in supportedFormatToSampleValue) {
|
|
307
|
+
const currentTestValue = supportedFormatToSampleValue[format];
|
|
308
|
+
color.setProperty("value", currentTestValue);
|
|
309
|
+
await page.waitForChanges();
|
|
310
|
+
// non-matching formats are ignored
|
|
311
|
+
expect(await color.getProperty("value")).toEqual(expectedValue);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
it("changing format updates value", async () => {
|
|
316
|
+
const page = await newE2EPage({
|
|
317
|
+
html: `<calcite-color-picker value=${supportedFormatToSampleValue["hex"]}></calcite-color-picker>`
|
|
318
|
+
});
|
|
319
|
+
const color = await page.find("calcite-color-picker");
|
|
320
|
+
for (const format in supportedFormatToSampleValue) {
|
|
321
|
+
color.setProperty("format", format);
|
|
322
|
+
await page.waitForChanges();
|
|
323
|
+
expect(await color.getProperty("value")).toEqual(supportedFormatToSampleValue[format]);
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
it("accepts multiple color value formats", async () => {
|
|
328
|
+
const page = await newE2EPage({
|
|
329
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
330
|
+
});
|
|
331
|
+
const picker = await page.find("calcite-color-picker");
|
|
332
|
+
const supportedStringFormats = [
|
|
333
|
+
supportedFormatToSampleValue.hex,
|
|
334
|
+
supportedFormatToSampleValue["rgb-css"],
|
|
335
|
+
supportedFormatToSampleValue["hsl-css"]
|
|
336
|
+
];
|
|
337
|
+
for (const value of supportedStringFormats) {
|
|
338
|
+
picker.setProperty("value", value);
|
|
339
|
+
await page.waitForChanges();
|
|
340
|
+
expect(await picker.getProperty("value")).toBe(value);
|
|
341
|
+
}
|
|
342
|
+
const supportedObjectFormats = [
|
|
343
|
+
supportedFormatToSampleValue.rgb,
|
|
344
|
+
supportedFormatToSampleValue.hsl,
|
|
345
|
+
supportedFormatToSampleValue.hsv
|
|
346
|
+
];
|
|
347
|
+
for (const value of supportedObjectFormats) {
|
|
348
|
+
picker.setProperty("value", value);
|
|
349
|
+
await page.waitForChanges();
|
|
350
|
+
expect(await picker.getProperty("value")).toMatchObject(value);
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
it("allows selecting colors via color field/slider", async () => {
|
|
354
|
+
const page = await newE2EPage();
|
|
355
|
+
await page.setContent("<calcite-color-picker value='#000' scale='m'></calcite-color-picker>");
|
|
356
|
+
const picker = await page.find(`calcite-color-picker`);
|
|
357
|
+
const spy = await picker.spyOnEvent("calciteColorPickerChange");
|
|
358
|
+
let changes = 0;
|
|
359
|
+
const mediumScaleDimensions = DIMENSIONS.m;
|
|
360
|
+
const widthOffset = 0.5;
|
|
361
|
+
const [fieldAndSliderX, fieldAndSliderY] = await getElementXY(page, "calcite-color-picker", "canvas");
|
|
362
|
+
// clicking color field colors to pick a color
|
|
363
|
+
await page.mouse.click(fieldAndSliderX, fieldAndSliderY);
|
|
364
|
+
expect(await picker.getProperty("value")).toBe("#ffffff");
|
|
365
|
+
expect(spy).toHaveReceivedEventTimes(++changes);
|
|
366
|
+
await page.mouse.click(fieldAndSliderX, fieldAndSliderY + mediumScaleDimensions.colorField.height);
|
|
367
|
+
expect(await picker.getProperty("value")).toBe("#000000");
|
|
368
|
+
expect(spy).toHaveReceivedEventTimes(++changes);
|
|
369
|
+
await page.mouse.click(fieldAndSliderX + mediumScaleDimensions.colorField.width - widthOffset, fieldAndSliderY);
|
|
370
|
+
expect(await picker.getProperty("value")).toBe("#ff0000");
|
|
371
|
+
expect(spy).toHaveReceivedEventTimes(++changes);
|
|
372
|
+
await page.mouse.click(fieldAndSliderX + mediumScaleDimensions.colorField.width - widthOffset, fieldAndSliderY + mediumScaleDimensions.colorField.height);
|
|
373
|
+
expect(await picker.getProperty("value")).toBe("#000000");
|
|
374
|
+
expect(spy).toHaveReceivedEventTimes(++changes);
|
|
375
|
+
// set to corner right value that's not red (first value)
|
|
376
|
+
picker.setProperty("value", "#ff0");
|
|
377
|
+
await page.waitForChanges();
|
|
378
|
+
expect(spy).toHaveReceivedEventTimes(changes);
|
|
379
|
+
// clicking on color slider to set hue
|
|
380
|
+
const colorsToSample = 7;
|
|
381
|
+
const offsetX = (mediumScaleDimensions.slider.width - widthOffset) / colorsToSample;
|
|
382
|
+
let x = fieldAndSliderX;
|
|
383
|
+
const sliderHeight = fieldAndSliderY + mediumScaleDimensions.colorField.height + mediumScaleDimensions.slider.height;
|
|
384
|
+
const expectedColorSamples = [
|
|
385
|
+
"#ff0000",
|
|
386
|
+
"#ffd900",
|
|
387
|
+
"#48ff00",
|
|
388
|
+
"#00ff91",
|
|
389
|
+
"#0095ff",
|
|
390
|
+
"#4800ff",
|
|
391
|
+
"#ff00dd",
|
|
392
|
+
"#ff0004"
|
|
393
|
+
];
|
|
394
|
+
for (let i = 0; i < expectedColorSamples.length; i++) {
|
|
395
|
+
const expectedColor = expectedColorSamples[i];
|
|
396
|
+
await page.mouse.click(x, sliderHeight);
|
|
397
|
+
expect(await picker.getProperty("value")).toBe(expectedColor);
|
|
398
|
+
expect(spy).toHaveReceivedEventTimes(++changes);
|
|
399
|
+
x += offsetX;
|
|
400
|
+
}
|
|
401
|
+
// clicking on the slider when the color won't change by hue adjustments
|
|
402
|
+
picker.setProperty("value", "#000");
|
|
403
|
+
await page.waitForChanges();
|
|
404
|
+
expect(spy).toHaveReceivedEventTimes(changes);
|
|
405
|
+
x = 0;
|
|
406
|
+
await page.evaluateHandle(() => {
|
|
407
|
+
const color = document.querySelector("calcite-color-picker");
|
|
408
|
+
window.internalColor = color.color;
|
|
409
|
+
});
|
|
410
|
+
const middleOfSlider = mediumScaleDimensions.slider.width / 2;
|
|
411
|
+
await page.mouse.click(x + middleOfSlider, sliderHeight);
|
|
412
|
+
const internalColorChanged = await page.evaluate(() => {
|
|
413
|
+
const color = document.querySelector("calcite-color-picker");
|
|
414
|
+
return window.internalColor !== color.color;
|
|
415
|
+
});
|
|
416
|
+
expect(internalColorChanged).toBe(true);
|
|
417
|
+
expect(spy).toHaveReceivedEventTimes(++changes);
|
|
418
|
+
});
|
|
419
|
+
it("keeps tracking mouse movement when a thumb is actively dragged", async () => {
|
|
420
|
+
const page = await newE2EPage({
|
|
421
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
422
|
+
});
|
|
423
|
+
const picker = await page.find(`calcite-color-picker`);
|
|
424
|
+
const colorFieldAndSlider = await page.find(`calcite-color-picker >>> .${CSS.colorFieldAndSlider}`);
|
|
425
|
+
await colorFieldAndSlider.click(); // click middle color
|
|
426
|
+
let lastColor = await picker.getProperty("value");
|
|
427
|
+
await page.mouse.down();
|
|
428
|
+
await page.mouse.move(1000, -1000); // top-right
|
|
429
|
+
// note that we move the mouse in this order to guarantee value changes (bottom row is #000)
|
|
430
|
+
let currentColor = await picker.getProperty("value");
|
|
431
|
+
expect(currentColor).not.toEqual(lastColor);
|
|
432
|
+
lastColor = currentColor;
|
|
433
|
+
await page.mouse.move(-1000, 1000); // bottom-left
|
|
434
|
+
currentColor = await picker.getProperty("value");
|
|
435
|
+
expect(currentColor).not.toEqual(lastColor);
|
|
436
|
+
lastColor = currentColor;
|
|
437
|
+
await page.mouse.move(-1000, -1000); // top-left
|
|
438
|
+
currentColor = await picker.getProperty("value");
|
|
439
|
+
expect(currentColor).not.toEqual(lastColor);
|
|
440
|
+
lastColor = currentColor;
|
|
441
|
+
await page.mouse.move(1000, 1000); // bottom-right
|
|
442
|
+
currentColor = await picker.getProperty("value");
|
|
443
|
+
expect(currentColor).not.toEqual(lastColor);
|
|
444
|
+
lastColor = currentColor;
|
|
445
|
+
// no longer tracks
|
|
446
|
+
await page.mouse.up();
|
|
447
|
+
await page.mouse.move(1000, -1000); // top-right
|
|
448
|
+
currentColor = await picker.getProperty("value");
|
|
449
|
+
expect(currentColor).toEqual(lastColor);
|
|
450
|
+
lastColor = currentColor;
|
|
451
|
+
await page.mouse.move(-1000, 1000); // bottom-left
|
|
452
|
+
currentColor = await picker.getProperty("value");
|
|
453
|
+
expect(currentColor).toEqual(lastColor);
|
|
454
|
+
lastColor = currentColor;
|
|
455
|
+
await page.mouse.move(-1000, -1000); // top-left
|
|
456
|
+
currentColor = await picker.getProperty("value");
|
|
457
|
+
expect(currentColor).toEqual(lastColor);
|
|
458
|
+
lastColor = currentColor;
|
|
459
|
+
await page.mouse.move(1000, 1000); // bottom-right
|
|
460
|
+
currentColor = await picker.getProperty("value");
|
|
461
|
+
expect(currentColor).toEqual(lastColor);
|
|
462
|
+
});
|
|
463
|
+
it(`mouse movement tracking is not offset by the component's padding (mimics issue from #3041 when the component was placed within another component's shadow DOM)`, async () => {
|
|
464
|
+
const colorFieldCenterValueHsv = { h: 127, s: 50, v: 50 };
|
|
465
|
+
const page = await newE2EPage({
|
|
466
|
+
html: `<calcite-color-picker style='padding: 10px;'></calcite-color-picker>`
|
|
467
|
+
});
|
|
468
|
+
const colorPicker = await page.find("calcite-color-picker");
|
|
469
|
+
colorPicker.setProperty("value", colorFieldCenterValueHsv);
|
|
470
|
+
await page.waitForChanges();
|
|
471
|
+
// change by dragging color field thumb
|
|
472
|
+
const [colorFieldScopeX, colorFieldScopeY] = await getElementXY(page, "calcite-color-picker", `.${CSS.colorFieldScope}`);
|
|
473
|
+
await page.mouse.move(colorFieldScopeX, colorFieldScopeY);
|
|
474
|
+
await page.mouse.down();
|
|
475
|
+
await page.mouse.up();
|
|
476
|
+
await page.waitForChanges();
|
|
477
|
+
const beforeDragHsv = await colorPicker.getProperty("value");
|
|
478
|
+
await page.mouse.down();
|
|
479
|
+
await page.mouse.move(colorFieldScopeX + 10, colorFieldScopeY);
|
|
480
|
+
await page.mouse.up();
|
|
481
|
+
await page.waitForChanges();
|
|
482
|
+
const afterDragHsv = await colorPicker.getProperty("value");
|
|
483
|
+
expect(afterDragHsv.h).toBe(beforeDragHsv.h);
|
|
484
|
+
expect(afterDragHsv.s).toBeGreaterThan(beforeDragHsv.s);
|
|
485
|
+
expect(afterDragHsv.v).toBe(beforeDragHsv.v);
|
|
486
|
+
});
|
|
487
|
+
describe("unsupported value handling", () => {
|
|
488
|
+
let page;
|
|
489
|
+
async function assertUnsupportedValue(page, unsupportedValue) {
|
|
490
|
+
const picker = await page.find("calcite-color-picker");
|
|
491
|
+
const spy = await picker.spyOnEvent("calciteColorPickerChange");
|
|
492
|
+
const currentValue = await picker.getProperty("value");
|
|
493
|
+
const format = await picker.getProperty("format");
|
|
494
|
+
picker.setProperty("value", unsupportedValue);
|
|
495
|
+
await page.waitForChanges();
|
|
496
|
+
expect(await picker.getProperty("value")).toBe(currentValue);
|
|
497
|
+
expect(spy).toHaveReceivedEventTimes(0);
|
|
498
|
+
assertUnsupportedValueMessage(unsupportedValue, format);
|
|
499
|
+
}
|
|
500
|
+
beforeEach(async () => {
|
|
501
|
+
page = await newE2EPage({
|
|
502
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
503
|
+
});
|
|
504
|
+
});
|
|
505
|
+
it("ignores unsupported value types", () => assertUnsupportedValue(page, "unsupported-color-format"));
|
|
506
|
+
it("ignores null when not allowed", () => assertUnsupportedValue(page, null));
|
|
507
|
+
});
|
|
508
|
+
it("normalizes shorthand CSS hex", async () => {
|
|
509
|
+
const page = await newE2EPage({
|
|
510
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
511
|
+
});
|
|
512
|
+
const picker = await page.find("calcite-color-picker");
|
|
513
|
+
picker.setProperty("value", "#ABC");
|
|
514
|
+
await page.waitForChanges();
|
|
515
|
+
expect(await picker.getProperty("value")).toBe("#aabbcc");
|
|
516
|
+
});
|
|
517
|
+
it("has backdoor color prop for advanced use cases", async () => {
|
|
518
|
+
const page = await newE2EPage({
|
|
519
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
520
|
+
});
|
|
521
|
+
const picker = await page.find("calcite-color-picker");
|
|
522
|
+
expect(await picker.getProperty("color")).toBeTruthy();
|
|
523
|
+
});
|
|
524
|
+
describe("initial value used to initialize internal color", () => {
|
|
525
|
+
const initialColor = supportedFormatToSampleValue.hex;
|
|
526
|
+
async function getInternalColorAsHex(page) {
|
|
527
|
+
return page.$eval("calcite-color-picker", (picker) => picker.color.hex().toLowerCase());
|
|
528
|
+
}
|
|
529
|
+
it("value as attribute", async () => {
|
|
530
|
+
const page = await newE2EPage({
|
|
531
|
+
html: `<calcite-color-picker value="${initialColor}"></calcite-color-picker>`
|
|
532
|
+
});
|
|
533
|
+
expect(await getInternalColorAsHex(page)).toBe(initialColor);
|
|
534
|
+
});
|
|
535
|
+
it("value as property", async () => {
|
|
536
|
+
// initialize page with calcite-color-picker to make it available in the evaluate callback below
|
|
537
|
+
const page = await newE2EPage({
|
|
538
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
539
|
+
});
|
|
540
|
+
await page.setContent("");
|
|
541
|
+
await page.evaluate(async (color) => {
|
|
542
|
+
const picker = document.createElement("calcite-color-picker");
|
|
543
|
+
picker.value = color;
|
|
544
|
+
document.body.append(picker);
|
|
545
|
+
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
|
546
|
+
}, initialColor);
|
|
547
|
+
expect(await getInternalColorAsHex(page)).toBe(initialColor);
|
|
548
|
+
});
|
|
549
|
+
});
|
|
550
|
+
describe("color inputs", () => {
|
|
551
|
+
describe("keeps value in same format when applying updates", () => {
|
|
552
|
+
let page;
|
|
553
|
+
let picker;
|
|
554
|
+
beforeEach(async () => {
|
|
555
|
+
page = await newE2EPage({
|
|
556
|
+
html: "<calcite-color-picker></calcite-color-picker>"
|
|
557
|
+
});
|
|
558
|
+
picker = await page.find("calcite-color-picker");
|
|
559
|
+
});
|
|
560
|
+
const updateColorWithAllInputs = async (assertColorUpdate) => {
|
|
561
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
562
|
+
await clearAndEnterHexOrChannelValue(page, hexInput, "abc");
|
|
563
|
+
assertColorUpdate(await picker.getProperty("value"));
|
|
564
|
+
const [rgbModeButton, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
565
|
+
const [rInput, gInput, bInput, hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
566
|
+
await rgbModeButton.click();
|
|
567
|
+
await clearAndEnterHexOrChannelValue(page, rInput, "128");
|
|
568
|
+
await clearAndEnterHexOrChannelValue(page, gInput, "64");
|
|
569
|
+
await clearAndEnterHexOrChannelValue(page, bInput, "32");
|
|
570
|
+
assertColorUpdate(await picker.getProperty("value"));
|
|
571
|
+
await hsvModeButton.click();
|
|
572
|
+
await clearAndEnterHexOrChannelValue(page, hInput, "180");
|
|
573
|
+
await clearAndEnterHexOrChannelValue(page, sInput, "90");
|
|
574
|
+
await clearAndEnterHexOrChannelValue(page, vInput, "45");
|
|
575
|
+
assertColorUpdate(await picker.getProperty("value"));
|
|
576
|
+
};
|
|
577
|
+
// see https://jasmine.github.io/tutorials/custom_argument_matchers for more info
|
|
578
|
+
function toBeInteger() {
|
|
579
|
+
return {
|
|
580
|
+
asymmetricMatch(abc) {
|
|
581
|
+
return Number.isInteger(abc);
|
|
582
|
+
},
|
|
583
|
+
jasmineToString() {
|
|
584
|
+
return `Expected value to be an integer.`;
|
|
585
|
+
}
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
it("supports hex", async () => {
|
|
589
|
+
const hex = supportedFormatToSampleValue.hex;
|
|
590
|
+
picker.setProperty("value", hex);
|
|
591
|
+
await page.waitForChanges();
|
|
592
|
+
await updateColorWithAllInputs((value) => {
|
|
593
|
+
expect(value).not.toBe(hex);
|
|
594
|
+
expect(value).toMatch(/^#[a-f0-9]{6}$/);
|
|
595
|
+
});
|
|
596
|
+
expect(() => assertUnsupportedValueMessage(hex, "auto")).toThrow();
|
|
597
|
+
});
|
|
598
|
+
it("supports rgb", async () => {
|
|
599
|
+
const rgbCss = supportedFormatToSampleValue["rgb-css"];
|
|
600
|
+
picker.setProperty("value", rgbCss);
|
|
601
|
+
await page.waitForChanges();
|
|
602
|
+
await updateColorWithAllInputs((value) => {
|
|
603
|
+
expect(value).not.toBe(rgbCss);
|
|
604
|
+
expect(value).toMatch(/^rgb\(\d+, \d+, \d+\)/);
|
|
605
|
+
});
|
|
606
|
+
expect(() => assertUnsupportedValueMessage(rgbCss, "auto")).toThrow();
|
|
607
|
+
});
|
|
608
|
+
it("supports hsl", async () => {
|
|
609
|
+
const hslCss = supportedFormatToSampleValue["hsl-css"];
|
|
610
|
+
picker.setProperty("value", hslCss);
|
|
611
|
+
await page.waitForChanges();
|
|
612
|
+
await updateColorWithAllInputs((value) => {
|
|
613
|
+
expect(value).not.toBe(hslCss);
|
|
614
|
+
expect(value).toMatch(/^hsl\([0-9.]+, [0-9.]+%, [0-9.]+%\)/);
|
|
615
|
+
});
|
|
616
|
+
expect(() => assertUnsupportedValueMessage(hslCss, "auto")).toThrow();
|
|
617
|
+
});
|
|
618
|
+
it("supports rgb (object)", async () => {
|
|
619
|
+
const rgbObject = supportedFormatToSampleValue.rgb;
|
|
620
|
+
picker.setProperty("value", rgbObject);
|
|
621
|
+
await page.waitForChanges();
|
|
622
|
+
await updateColorWithAllInputs((value) => {
|
|
623
|
+
expect(value).not.toMatchObject(rgbObject);
|
|
624
|
+
expect(value).toMatchObject({
|
|
625
|
+
r: toBeInteger(),
|
|
626
|
+
g: toBeInteger(),
|
|
627
|
+
b: toBeInteger()
|
|
628
|
+
});
|
|
629
|
+
});
|
|
630
|
+
expect(() => assertUnsupportedValueMessage(rgbObject, "auto")).toThrow();
|
|
631
|
+
});
|
|
632
|
+
it("supports hsl (object)", async () => {
|
|
633
|
+
const hslObject = supportedFormatToSampleValue.hsl;
|
|
634
|
+
picker.setProperty("value", hslObject);
|
|
635
|
+
await page.waitForChanges();
|
|
636
|
+
await updateColorWithAllInputs((value) => {
|
|
637
|
+
expect(value).not.toMatchObject(hslObject);
|
|
638
|
+
expect(value).toMatchObject({
|
|
639
|
+
h: toBeInteger(),
|
|
640
|
+
s: toBeInteger(),
|
|
641
|
+
l: toBeInteger()
|
|
642
|
+
});
|
|
643
|
+
});
|
|
644
|
+
expect(() => assertUnsupportedValueMessage(hslObject, "auto")).toThrow();
|
|
645
|
+
});
|
|
646
|
+
it("supports hsv (object)", async () => {
|
|
647
|
+
const hsvObject = supportedFormatToSampleValue.hsv;
|
|
648
|
+
picker.setProperty("value", hsvObject);
|
|
649
|
+
await page.waitForChanges();
|
|
650
|
+
await updateColorWithAllInputs((value) => {
|
|
651
|
+
expect(value).not.toMatchObject(hsvObject);
|
|
652
|
+
expect(value).toMatchObject({
|
|
653
|
+
h: toBeInteger(),
|
|
654
|
+
s: toBeInteger(),
|
|
655
|
+
v: toBeInteger()
|
|
656
|
+
});
|
|
657
|
+
});
|
|
658
|
+
expect(() => assertUnsupportedValueMessage(hsvObject, "auto")).toThrow();
|
|
659
|
+
});
|
|
660
|
+
});
|
|
661
|
+
describe("color gets propagated to support inputs", () => {
|
|
662
|
+
describe("valid color", () => {
|
|
663
|
+
it("color gets propagated to hex, RGB & HSV inputs", async () => {
|
|
664
|
+
const page = await newE2EPage({
|
|
665
|
+
html: "<calcite-color-picker value='#fff000'></calcite-color-picker>"
|
|
666
|
+
});
|
|
667
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
668
|
+
expect(await hexInput.getProperty("value")).toBe("#fff000");
|
|
669
|
+
const [rgbModeButton, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
670
|
+
const [rInput, gInput, bInput, hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
671
|
+
await rgbModeButton.click();
|
|
672
|
+
expect(await rInput.getProperty("value")).toBe("255");
|
|
673
|
+
expect(await gInput.getProperty("value")).toBe("240");
|
|
674
|
+
expect(await bInput.getProperty("value")).toBe("0");
|
|
675
|
+
await hsvModeButton.click();
|
|
676
|
+
expect(await hInput.getProperty("value")).toBe("56");
|
|
677
|
+
expect(await sInput.getProperty("value")).toBe("100");
|
|
678
|
+
expect(await vInput.getProperty("value")).toBe("100");
|
|
679
|
+
});
|
|
680
|
+
it("allows modifying color via hex, RGB, HSV inputs", async () => {
|
|
681
|
+
const page = await newE2EPage({
|
|
682
|
+
html: "<calcite-color-picker value='#fff'></calcite-color-picker>"
|
|
683
|
+
});
|
|
684
|
+
const picker = await page.find("calcite-color-picker");
|
|
685
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
686
|
+
await clearAndEnterHexOrChannelValue(page, hexInput, "abc");
|
|
687
|
+
expect(await picker.getProperty("value")).toBe("#aabbcc");
|
|
688
|
+
const [rgbModeButton, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
689
|
+
const [rInput, gInput, bInput, hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
690
|
+
await rgbModeButton.click();
|
|
691
|
+
await clearAndEnterHexOrChannelValue(page, rInput, "128");
|
|
692
|
+
await clearAndEnterHexOrChannelValue(page, gInput, "64");
|
|
693
|
+
await clearAndEnterHexOrChannelValue(page, bInput, "32");
|
|
694
|
+
expect(await picker.getProperty("value")).toBe("#804020");
|
|
695
|
+
await hsvModeButton.click();
|
|
696
|
+
await clearAndEnterHexOrChannelValue(page, hInput, "180");
|
|
697
|
+
await clearAndEnterHexOrChannelValue(page, sInput, "90");
|
|
698
|
+
await clearAndEnterHexOrChannelValue(page, vInput, "45");
|
|
699
|
+
expect(await picker.getProperty("value")).toBe("#0b7373");
|
|
700
|
+
});
|
|
701
|
+
it.skip("allows nudging values", async () => {
|
|
702
|
+
const assertChannelValueNudge = async (page, calciteInput) => {
|
|
703
|
+
await calciteInput.callMethod("setFocus");
|
|
704
|
+
const currentValue = await calciteInput.getProperty("value");
|
|
705
|
+
await page.keyboard.press("ArrowUp");
|
|
706
|
+
expect(await calciteInput.getProperty("value")).toBe(`${Number(currentValue) + 1}`);
|
|
707
|
+
await page.keyboard.press("ArrowDown");
|
|
708
|
+
expect(await calciteInput.getProperty("value")).toBe(currentValue);
|
|
709
|
+
await page.keyboard.down("Shift");
|
|
710
|
+
await page.keyboard.press("ArrowUp");
|
|
711
|
+
await page.keyboard.up("Shift");
|
|
712
|
+
expect(await calciteInput.getProperty("value")).toBe(`${Number(currentValue) + 10}`);
|
|
713
|
+
await page.keyboard.down("Shift");
|
|
714
|
+
await page.keyboard.press("ArrowDown");
|
|
715
|
+
await page.keyboard.up("Shift");
|
|
716
|
+
expect(await calciteInput.getProperty("value")).toBe(currentValue);
|
|
717
|
+
};
|
|
718
|
+
const page = await newE2EPage({
|
|
719
|
+
html: "<calcite-color-picker value='#408048'></calcite-color-picker>"
|
|
720
|
+
});
|
|
721
|
+
const [rgbModeButton, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
722
|
+
const [rInput, gInput, bInput, hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
723
|
+
await rgbModeButton.click();
|
|
724
|
+
await assertChannelValueNudge(page, rInput);
|
|
725
|
+
await assertChannelValueNudge(page, gInput);
|
|
726
|
+
await assertChannelValueNudge(page, bInput);
|
|
727
|
+
await hsvModeButton.click();
|
|
728
|
+
await assertChannelValueNudge(page, hInput);
|
|
729
|
+
await assertChannelValueNudge(page, sInput);
|
|
730
|
+
await assertChannelValueNudge(page, vInput);
|
|
731
|
+
});
|
|
732
|
+
});
|
|
733
|
+
describe("when no-color", () => {
|
|
734
|
+
it("color gets propagated to hex, RGB & HSV inputs", async () => {
|
|
735
|
+
const page = await newE2EPage({
|
|
736
|
+
html: "<calcite-color-picker allow-empty value=''></calcite-color-picker>"
|
|
737
|
+
});
|
|
738
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
739
|
+
expect(await hexInput.getProperty("value")).toBe(null);
|
|
740
|
+
const [rgbModeButton, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
741
|
+
const [rInput, gInput, bInput, hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
742
|
+
await rgbModeButton.click();
|
|
743
|
+
expect(await rInput.getProperty("value")).toBe("");
|
|
744
|
+
expect(await gInput.getProperty("value")).toBe("");
|
|
745
|
+
expect(await bInput.getProperty("value")).toBe("");
|
|
746
|
+
await hsvModeButton.click();
|
|
747
|
+
expect(await hInput.getProperty("value")).toBe("");
|
|
748
|
+
expect(await sInput.getProperty("value")).toBe("");
|
|
749
|
+
expect(await vInput.getProperty("value")).toBe("");
|
|
750
|
+
});
|
|
751
|
+
describe("clearing color via supporting inputs", () => {
|
|
752
|
+
it("clears color via hex input", async () => {
|
|
753
|
+
const page = await newE2EPage({
|
|
754
|
+
html: "<calcite-color-picker allow-empty value='#c0ff33'></calcite-color-picker>"
|
|
755
|
+
});
|
|
756
|
+
const picker = await page.find("calcite-color-picker");
|
|
757
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
758
|
+
await clearAndEnterHexOrChannelValue(page, hexInput, "");
|
|
759
|
+
expect(await picker.getProperty("value")).toBe(null);
|
|
760
|
+
});
|
|
761
|
+
it("clears color via RGB channel inputs", async () => {
|
|
762
|
+
const page = await newE2EPage({
|
|
763
|
+
html: "<calcite-color-picker allow-empty value='#c0ff33'></calcite-color-picker>"
|
|
764
|
+
});
|
|
765
|
+
const picker = await page.find("calcite-color-picker");
|
|
766
|
+
const [rgbModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
767
|
+
const [rInput, gInput, bInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
768
|
+
await rgbModeButton.click();
|
|
769
|
+
await clearAndEnterHexOrChannelValue(page, rInput, "");
|
|
770
|
+
// clearing one clears the rest
|
|
771
|
+
expect(await gInput.getProperty("value")).toBe("");
|
|
772
|
+
expect(await bInput.getProperty("value")).toBe("");
|
|
773
|
+
expect(await picker.getProperty("value")).toBeNull();
|
|
774
|
+
});
|
|
775
|
+
it("clears color via HSV channel inputs", async () => {
|
|
776
|
+
const page = await newE2EPage({
|
|
777
|
+
html: "<calcite-color-picker allow-empty value='#c0ff33'></calcite-color-picker>"
|
|
778
|
+
});
|
|
779
|
+
const picker = await page.find("calcite-color-picker");
|
|
780
|
+
const [, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
781
|
+
const [, , , hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
782
|
+
await hsvModeButton.click();
|
|
783
|
+
await clearAndEnterHexOrChannelValue(page, hInput, "");
|
|
784
|
+
// clearing one clears the rest
|
|
785
|
+
expect(await sInput.getProperty("value")).toBe("");
|
|
786
|
+
expect(await vInput.getProperty("value")).toBe("");
|
|
787
|
+
expect(await picker.getProperty("value")).toBeNull();
|
|
788
|
+
});
|
|
789
|
+
});
|
|
790
|
+
it("restores previous color value when a nudge key is pressed", async () => {
|
|
791
|
+
const consistentRgbHsvChannelValue = "0";
|
|
792
|
+
const initialValue = "#".padEnd(7, consistentRgbHsvChannelValue);
|
|
793
|
+
const assertChannelValueNudge = async (page, calciteInput) => {
|
|
794
|
+
await calciteInput.callMethod("setFocus");
|
|
795
|
+
await clearAndEnterHexOrChannelValue(page, calciteInput, "");
|
|
796
|
+
// using page.waitForChanges as keyboard nudges occur in the next frame
|
|
797
|
+
await page.keyboard.press("ArrowUp");
|
|
798
|
+
await page.waitForChanges();
|
|
799
|
+
expect(await calciteInput.getProperty("value")).toBe(consistentRgbHsvChannelValue);
|
|
800
|
+
await clearAndEnterHexOrChannelValue(page, calciteInput, "");
|
|
801
|
+
await page.keyboard.press("ArrowDown");
|
|
802
|
+
await page.waitForChanges();
|
|
803
|
+
expect(await calciteInput.getProperty("value")).toBe(consistentRgbHsvChannelValue);
|
|
804
|
+
await clearAndEnterHexOrChannelValue(page, calciteInput, "");
|
|
805
|
+
await page.keyboard.down("Shift");
|
|
806
|
+
await page.keyboard.press("ArrowUp");
|
|
807
|
+
await page.keyboard.up("Shift");
|
|
808
|
+
await page.waitForChanges();
|
|
809
|
+
expect(await calciteInput.getProperty("value")).toBe(consistentRgbHsvChannelValue);
|
|
810
|
+
await clearAndEnterHexOrChannelValue(page, calciteInput, "");
|
|
811
|
+
await page.keyboard.down("Shift");
|
|
812
|
+
await page.keyboard.press("ArrowDown");
|
|
813
|
+
await page.keyboard.up("Shift");
|
|
814
|
+
await page.waitForChanges();
|
|
815
|
+
expect(await calciteInput.getProperty("value")).toBe(consistentRgbHsvChannelValue);
|
|
816
|
+
};
|
|
817
|
+
const page = await newE2EPage({
|
|
818
|
+
html: `<calcite-color-picker allow-empty value='${initialValue}'></calcite-color-picker>`
|
|
819
|
+
});
|
|
820
|
+
const [rgbModeButton, hsvModeButton] = await page.findAll(`calcite-color-picker >>> .${CSS.colorMode}`);
|
|
821
|
+
const [rInput, gInput, bInput, hInput, sInput, vInput] = await page.findAll(`calcite-color-picker >>> calcite-input.${CSS.channel}`);
|
|
822
|
+
await rgbModeButton.click();
|
|
823
|
+
await assertChannelValueNudge(page, rInput);
|
|
824
|
+
await assertChannelValueNudge(page, gInput);
|
|
825
|
+
await assertChannelValueNudge(page, bInput);
|
|
826
|
+
await hsvModeButton.click();
|
|
827
|
+
await assertChannelValueNudge(page, hInput);
|
|
828
|
+
await assertChannelValueNudge(page, sInput);
|
|
829
|
+
await assertChannelValueNudge(page, vInput);
|
|
830
|
+
});
|
|
831
|
+
it("changes the value to the specified format after being empty", async () => {
|
|
832
|
+
const page = await newE2EPage({
|
|
833
|
+
html: "<calcite-color-picker allow-empty value='' format='rgb'></calcite-color-picker>"
|
|
834
|
+
});
|
|
835
|
+
const color = await page.find("calcite-color-picker");
|
|
836
|
+
const hexInput = await page.find(`calcite-color-picker >>> calcite-color-picker-hex-input`);
|
|
837
|
+
await clearAndEnterHexOrChannelValue(page, hexInput, supportedFormatToSampleValue.hex);
|
|
838
|
+
expect(await color.getProperty("value")).toEqual(supportedFormatToSampleValue.rgb);
|
|
839
|
+
});
|
|
840
|
+
});
|
|
841
|
+
});
|
|
842
|
+
});
|
|
843
|
+
describe("color storage", () => {
|
|
844
|
+
const storageId = "test-storage-id";
|
|
845
|
+
const color1 = "#ff00ff";
|
|
846
|
+
const color2 = "#beefee";
|
|
847
|
+
async function clearStorage() {
|
|
848
|
+
const storageKey = `${DEFAULT_STORAGE_KEY_PREFIX}${storageId}`;
|
|
849
|
+
const page = await newE2EPage({
|
|
850
|
+
html: `<calcite-color-picker></calcite-color-picker>`
|
|
851
|
+
});
|
|
852
|
+
await page.evaluate((storageKey) => localStorage.removeItem(storageKey), [storageKey]);
|
|
853
|
+
}
|
|
854
|
+
beforeAll(clearStorage);
|
|
855
|
+
afterAll(clearStorage);
|
|
856
|
+
it("allows saving unique colors", async () => {
|
|
857
|
+
const page = await newE2EPage({
|
|
858
|
+
html: `<calcite-color-picker storage-id=${storageId}></calcite-color-picker>`
|
|
859
|
+
});
|
|
860
|
+
const picker = await page.find("calcite-color-picker");
|
|
861
|
+
const saveColor = await page.find(`calcite-color-picker >>> .${CSS.saveColor}`);
|
|
862
|
+
await saveColor.click();
|
|
863
|
+
picker.setProperty("value", color1);
|
|
864
|
+
await page.waitForChanges();
|
|
865
|
+
await saveColor.click();
|
|
866
|
+
picker.setProperty("value", color2);
|
|
867
|
+
await page.waitForChanges();
|
|
868
|
+
await saveColor.click();
|
|
869
|
+
picker.setProperty("value", color1);
|
|
870
|
+
await page.waitForChanges();
|
|
871
|
+
await saveColor.click();
|
|
872
|
+
picker.setProperty("value", color2);
|
|
873
|
+
await page.waitForChanges();
|
|
874
|
+
await saveColor.click();
|
|
875
|
+
const savedColors = await page.findAll(`calcite-color-picker >>> .${CSS.savedColors} calcite-color-picker-swatch`);
|
|
876
|
+
expect(savedColors).toHaveLength(3);
|
|
877
|
+
});
|
|
878
|
+
it("loads saved colors", async () => {
|
|
879
|
+
const page = await newE2EPage({
|
|
880
|
+
html: `<calcite-color-picker storage-id=${storageId}></calcite-color-picker>`
|
|
881
|
+
});
|
|
882
|
+
const savedColors = await page.findAll(`calcite-color-picker >>> .${CSS.savedColors} calcite-color-picker-swatch`);
|
|
883
|
+
expect(savedColors).toHaveLength(3);
|
|
884
|
+
});
|
|
885
|
+
it("allows removing stored colors", async () => {
|
|
886
|
+
const page = await newE2EPage({
|
|
887
|
+
html: `<calcite-color-picker storage-id=${storageId}></calcite-color-picker>`
|
|
888
|
+
});
|
|
889
|
+
const picker = await page.find("calcite-color-picker");
|
|
890
|
+
const saveColor = await page.find(`calcite-color-picker >>> .${CSS.saveColor}`);
|
|
891
|
+
await saveColor.click();
|
|
892
|
+
picker.setProperty("value", color1);
|
|
893
|
+
await page.waitForChanges();
|
|
894
|
+
await saveColor.click();
|
|
895
|
+
picker.setProperty("value", color2);
|
|
896
|
+
await page.waitForChanges();
|
|
897
|
+
await saveColor.click();
|
|
898
|
+
const saved = await page.findAll(`calcite-color-picker >>> .${CSS.savedColors} calcite-color-picker-swatch`);
|
|
899
|
+
let expectedSaved = 3;
|
|
900
|
+
const removeColor = await page.find(`calcite-color-picker >>> .${CSS.deleteColor}`);
|
|
901
|
+
for (const swatch of saved) {
|
|
902
|
+
await swatch.click();
|
|
903
|
+
await removeColor.click();
|
|
904
|
+
expect(await page.findAll(`calcite-color-picker >>> .${CSS.savedColors} calcite-color-picker-swatch`)).toHaveLength(--expectedSaved);
|
|
905
|
+
}
|
|
906
|
+
});
|
|
907
|
+
it("does not allow saving/removing when no-color is set", async () => {
|
|
908
|
+
const page = await newE2EPage({
|
|
909
|
+
html: `<calcite-color-picker allow-empty value=""></calcite-color-picker>`
|
|
910
|
+
});
|
|
911
|
+
const saveColor = await page.find(`calcite-color-picker >>> .${CSS.saveColor}`);
|
|
912
|
+
const removeColor = await page.find(`calcite-color-picker >>> .${CSS.deleteColor}`);
|
|
913
|
+
expect(await saveColor.getProperty("disabled")).toBe(true);
|
|
914
|
+
expect(await removeColor.getProperty("disabled")).toBe(true);
|
|
915
|
+
});
|
|
916
|
+
});
|
|
917
|
+
it("allows setting no-color", async () => {
|
|
918
|
+
const page = await newE2EPage({
|
|
919
|
+
html: `<calcite-color-picker allow-empty></calcite-color-picker>`
|
|
920
|
+
});
|
|
921
|
+
const color = await page.find("calcite-color-picker");
|
|
922
|
+
expect(await color.getProperty("value")).not.toBe(null);
|
|
923
|
+
expect(await color.getProperty("color")).not.toBe(null);
|
|
924
|
+
color.setProperty("value", null);
|
|
925
|
+
await page.waitForChanges();
|
|
926
|
+
expect(await color.getProperty("value")).toBe(null);
|
|
927
|
+
expect(await color.getProperty("color")).toBe(null);
|
|
928
|
+
expect(() => assertUnsupportedValueMessage(null, "auto")).toThrow();
|
|
929
|
+
});
|
|
930
|
+
it("allows hiding sections", async () => {
|
|
931
|
+
const page = await newE2EPage({
|
|
932
|
+
html: `<calcite-color-picker></calcite-color-picker>`
|
|
933
|
+
});
|
|
934
|
+
async function assertHiddenSection(hiddenSections) {
|
|
935
|
+
const sectionVisibility = {
|
|
936
|
+
hex: true,
|
|
937
|
+
channels: true,
|
|
938
|
+
saved: true
|
|
939
|
+
};
|
|
940
|
+
hiddenSections.forEach((section) => (sectionVisibility[section] = false));
|
|
941
|
+
const color = await page.find("calcite-color-picker");
|
|
942
|
+
const sections = Object.keys(sectionVisibility);
|
|
943
|
+
for (let i = 0; i < sections.length; i++) {
|
|
944
|
+
const section = sections[i];
|
|
945
|
+
const hideSectionProp = `hide${section.charAt(0).toUpperCase() + section.slice(1)}`;
|
|
946
|
+
color.setProperty(hideSectionProp, !sectionVisibility[section]);
|
|
947
|
+
await page.waitForChanges();
|
|
948
|
+
}
|
|
949
|
+
const [hex, channels, saved] = await Promise.all([
|
|
950
|
+
page.find(`calcite-color-picker >>> .${CSS.hexOptions}`),
|
|
951
|
+
page.find(`calcite-color-picker >>> .${CSS.colorModeContainer}`),
|
|
952
|
+
page.find(`calcite-color-picker >>> .${CSS.savedColors}`)
|
|
953
|
+
]);
|
|
954
|
+
const sectionNodes = {
|
|
955
|
+
hex,
|
|
956
|
+
channels,
|
|
957
|
+
saved
|
|
958
|
+
};
|
|
959
|
+
sections.forEach((section) => {
|
|
960
|
+
const node = sectionNodes[section];
|
|
961
|
+
const visible = sectionVisibility[section];
|
|
962
|
+
expect(node)[visible ? "toBeDefined" : "toBeNull"]();
|
|
963
|
+
});
|
|
964
|
+
}
|
|
965
|
+
await assertHiddenSection(["hex", "channels", "saved"]);
|
|
966
|
+
await assertHiddenSection(["hex", "channels"]);
|
|
967
|
+
await assertHiddenSection(["hex", "saved"]);
|
|
968
|
+
await assertHiddenSection(["hex"]);
|
|
969
|
+
await assertHiddenSection(["channels", "saved"]);
|
|
970
|
+
await assertHiddenSection(["saved"]);
|
|
971
|
+
await assertHiddenSection(["channels"]);
|
|
972
|
+
await assertHiddenSection([]);
|
|
973
|
+
});
|
|
974
|
+
describe("scope keyboard interaction", () => {
|
|
975
|
+
it("allows editing color field via keyboard", async () => {
|
|
976
|
+
const page = await newE2EPage({
|
|
977
|
+
html: `<calcite-color-picker allow-empty value=""></calcite-color-picker>`
|
|
978
|
+
});
|
|
979
|
+
const picker = await page.find("calcite-color-picker");
|
|
980
|
+
const scope = await page.find(`calcite-color-picker >>> .${CSS.scope}`);
|
|
981
|
+
await scope.press("Tab");
|
|
982
|
+
expect(await picker.getProperty("value")).toBeFalsy();
|
|
983
|
+
await scope.press("ArrowDown");
|
|
984
|
+
expect(await picker.getProperty("value")).toBe("#ffffff");
|
|
985
|
+
await scope.press("ArrowDown");
|
|
986
|
+
expect(await picker.getProperty("value")).toBe("#ededed");
|
|
987
|
+
await scope.press("ArrowDown");
|
|
988
|
+
expect(await picker.getProperty("value")).toBe("#dbdbdb");
|
|
989
|
+
await scope.press("ArrowUp");
|
|
990
|
+
expect(await picker.getProperty("value")).toBe("#ededed");
|
|
991
|
+
await scope.press("ArrowRight");
|
|
992
|
+
expect(await picker.getProperty("value")).toBe("#e4eaed");
|
|
993
|
+
await scope.press("ArrowLeft");
|
|
994
|
+
expect(await picker.getProperty("value")).toBe("#ededed");
|
|
995
|
+
});
|
|
996
|
+
it("allows nudging color's saturation even if it does not change RGB value", async () => {
|
|
997
|
+
const page = await newE2EPage({
|
|
998
|
+
html: `<calcite-color-picker value="#000"></calcite-color-picker>`
|
|
999
|
+
});
|
|
1000
|
+
const scope = await page.find(`calcite-color-picker >>> .${CSS.colorFieldScope}`);
|
|
1001
|
+
const initialStyle = await scope.getComputedStyle();
|
|
1002
|
+
expect(initialStyle.left).toBe("0px");
|
|
1003
|
+
await clickScope(page, "color-field");
|
|
1004
|
+
let nudgesToTheEdge = 25;
|
|
1005
|
+
while (nudgesToTheEdge--) {
|
|
1006
|
+
await scope.press("ArrowRight");
|
|
1007
|
+
}
|
|
1008
|
+
const finalStyle = await scope.getComputedStyle();
|
|
1009
|
+
expect(finalStyle.left).toBe(`${DIMENSIONS.m.colorField.width}px`);
|
|
1010
|
+
});
|
|
1011
|
+
it("allows nudging color's hue even if it does not change RGB value", async () => {
|
|
1012
|
+
const page = await newE2EPage({
|
|
1013
|
+
html: `<calcite-color-picker value="#000"></calcite-color-picker>`
|
|
1014
|
+
});
|
|
1015
|
+
const scope = await page.find(`calcite-color-picker >>> .${CSS.hueScope}`);
|
|
1016
|
+
const nudgeAThirdOfSlider = async () => {
|
|
1017
|
+
let stepsToShiftNudgeToAThird = 18;
|
|
1018
|
+
while (stepsToShiftNudgeToAThird--) {
|
|
1019
|
+
// pressing shift to move faster across slider
|
|
1020
|
+
await page.keyboard.down("Shift");
|
|
1021
|
+
await scope.press("ArrowRight");
|
|
1022
|
+
await page.keyboard.up("Shift");
|
|
1023
|
+
}
|
|
1024
|
+
};
|
|
1025
|
+
const getScopeLeftOffset = async () => parseFloat((await scope.getComputedStyle()).left);
|
|
1026
|
+
expect(await getScopeLeftOffset()).toBe(0);
|
|
1027
|
+
await clickScope(page, "hue");
|
|
1028
|
+
await nudgeAThirdOfSlider();
|
|
1029
|
+
expect(await getScopeLeftOffset()).toBeCloseTo(DIMENSIONS.m.colorField.width / 2);
|
|
1030
|
+
await nudgeAThirdOfSlider();
|
|
1031
|
+
// hue wraps around, so we nudge it back to assert position at the edge
|
|
1032
|
+
await scope.press("ArrowLeft");
|
|
1033
|
+
expect(await getScopeLeftOffset()).toBeCloseTo(DIMENSIONS.m.colorField.width - 1, 0);
|
|
1034
|
+
// nudge it back to wrap around
|
|
1035
|
+
await scope.press("ArrowRight");
|
|
1036
|
+
expect(await getScopeLeftOffset()).toBeCloseTo(0);
|
|
1037
|
+
});
|
|
1038
|
+
it("allows editing hue slider via keyboard", async () => {
|
|
1039
|
+
const page = await newE2EPage({
|
|
1040
|
+
html: `<calcite-color-picker allow-empty value=""></calcite-color-picker>`
|
|
1041
|
+
});
|
|
1042
|
+
const picker = await page.find("calcite-color-picker");
|
|
1043
|
+
const scopes = await page.findAll(`calcite-color-picker >>> .${CSS.scope}`);
|
|
1044
|
+
await scopes[0].press("Tab");
|
|
1045
|
+
await scopes[1].press("ArrowDown");
|
|
1046
|
+
expect(await picker.getProperty("value")).toBe("#007ec2");
|
|
1047
|
+
await scopes[1].press("ArrowRight");
|
|
1048
|
+
expect(await picker.getProperty("value")).toBe("#007bc2");
|
|
1049
|
+
await scopes[1].press("ArrowLeft");
|
|
1050
|
+
expect(await picker.getProperty("value")).toBe("#007ec2");
|
|
1051
|
+
await page.keyboard.press("Shift");
|
|
1052
|
+
await scopes[1].press("ArrowDown");
|
|
1053
|
+
expect(await picker.getProperty("value")).toBe("#0081c2");
|
|
1054
|
+
await scopes[1].press("ArrowUp");
|
|
1055
|
+
expect(await picker.getProperty("value")).toBe("#007ec2");
|
|
1056
|
+
});
|
|
1057
|
+
it("positions the scope correctly when the color is 000", async () => {
|
|
1058
|
+
const page = await newE2EPage({
|
|
1059
|
+
html: `<calcite-color-picker value="#000"></calcite-color-picker>`
|
|
1060
|
+
});
|
|
1061
|
+
const [, hueSliderScope] = await page.findAll(`calcite-color-picker >>> .${CSS.scope}`);
|
|
1062
|
+
expect(await hueSliderScope.getComputedStyle()).toMatchObject({
|
|
1063
|
+
top: "157px",
|
|
1064
|
+
left: "0px"
|
|
1065
|
+
});
|
|
1066
|
+
});
|
|
1067
|
+
});
|
|
1068
|
+
});
|