@esri/calcite-components 2.4.0 → 2.4.1-next.0
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/.storybook/placeholderImage.js +1 -1
- package/dist/calcite/calcite.esm.js +2 -2
- package/dist/calcite/index.esm.js +1 -1
- package/dist/calcite/p-00b33d27.js +7 -0
- package/dist/calcite/p-01223da5.entry.js +7 -0
- package/dist/calcite/p-01ce6c82.entry.js +7 -0
- package/dist/calcite/p-0294cb32.entry.js +7 -0
- package/dist/calcite/p-041acb71.js +7 -0
- package/dist/calcite/p-082040be.js +7 -0
- package/dist/calcite/p-086954cf.entry.js +7 -0
- package/dist/calcite/p-0944eb43.entry.js +7 -0
- package/dist/calcite/p-0d04e387.js +7 -0
- package/dist/calcite/p-0f7d03d1.js +7 -0
- package/dist/calcite/p-10acb648.js +7 -0
- package/dist/calcite/p-11d4c82a.js +7 -0
- package/dist/calcite/p-128a6263.js +7 -0
- package/dist/calcite/p-15ec4f27.js +7 -0
- package/dist/calcite/p-15fd0b18.js +7 -0
- package/dist/calcite/p-1e1fed0c.entry.js +7 -0
- package/dist/calcite/p-1e1fed0c.entry.js.map +1 -0
- package/dist/calcite/p-20db39dc.js +7 -0
- package/dist/calcite/p-21d84e50.js +7 -0
- package/dist/calcite/p-264f4332.entry.js +7 -0
- package/dist/calcite/p-26cd3c63.js +7 -0
- package/dist/calcite/p-26f7f362.js +7 -0
- package/dist/calcite/p-299b2dc4.entry.js +7 -0
- package/dist/calcite/p-299b2dc4.entry.js.map +1 -0
- package/dist/calcite/p-2b1358dd.entry.js +7 -0
- package/dist/calcite/p-2e3e6934.js +7 -0
- package/dist/calcite/p-2e8e9118.entry.js +7 -0
- package/dist/calcite/p-30bc9f81.entry.js +7 -0
- package/dist/calcite/p-319afb8e.js +7 -0
- package/dist/calcite/p-31fd105d.entry.js +7 -0
- package/dist/calcite/p-32f0d2e4.entry.js +7 -0
- package/dist/calcite/p-3328f5ba.js +7 -0
- package/dist/calcite/p-3341a34a.js +7 -0
- package/dist/calcite/p-341f5dd5.js +7 -0
- package/dist/calcite/p-34a71bdb.js +7 -0
- package/dist/calcite/p-34feb62c.entry.js +7 -0
- package/dist/calcite/p-351ef8bc.js +7 -0
- package/dist/calcite/p-385fabe6.entry.js +7 -0
- package/dist/calcite/p-39613b4f.js +7 -0
- package/dist/calcite/p-39d8f5e0.entry.js +7 -0
- package/dist/calcite/p-39e3cd7c.js +7 -0
- package/dist/calcite/p-3a38726f.js +7 -0
- package/dist/calcite/p-3c663b9d.entry.js +7 -0
- package/dist/calcite/p-3e9ca753.js +7 -0
- package/dist/calcite/p-401ec473.entry.js +7 -0
- package/dist/calcite/p-41c6c9db.entry.js +7 -0
- package/dist/calcite/p-4598dc66.entry.js +7 -0
- package/dist/calcite/p-471d1acf.js +7 -0
- package/dist/calcite/p-48b5b678.js +7 -0
- package/dist/calcite/p-49586b62.js +7 -0
- package/dist/calcite/p-499adfac.entry.js +7 -0
- package/dist/calcite/p-4ca318c0.entry.js +7 -0
- package/dist/calcite/p-4dd08f5c.entry.js +7 -0
- package/dist/calcite/p-4e27599d.js +7 -0
- package/dist/calcite/p-50fae575.js +7 -0
- package/dist/calcite/p-51bb034f.entry.js +7 -0
- package/dist/calcite/p-51bb034f.entry.js.map +1 -0
- package/dist/calcite/p-541ed8e8.js +7 -0
- package/dist/calcite/p-55202d8e.entry.js +7 -0
- package/dist/calcite/p-566745a9.js +7 -0
- package/dist/calcite/p-5723d5de.entry.js +7 -0
- package/dist/calcite/p-582b93a0.js +7 -0
- package/dist/calcite/p-5886e529.entry.js +7 -0
- package/dist/calcite/p-58d1332e.js +7 -0
- package/dist/calcite/p-5b0d5824.js +7 -0
- package/dist/calcite/p-5b9f1e26.entry.js +7 -0
- package/dist/calcite/p-5bacd0a4.entry.js +7 -0
- package/dist/calcite/p-5bacd0a4.entry.js.map +1 -0
- package/dist/calcite/p-619f6b40.entry.js +7 -0
- package/dist/calcite/p-636cae83.entry.js +7 -0
- package/dist/calcite/p-65704e9c.js +7 -0
- package/dist/calcite/p-6635e3a5.js +7 -0
- package/dist/calcite/p-69628498.entry.js +7 -0
- package/dist/calcite/p-6b48fd8f.js +7 -0
- package/dist/calcite/p-6ca4af5b.js +7 -0
- package/dist/calcite/p-72484322.js +7 -0
- package/dist/calcite/p-73e108be.js +7 -0
- package/dist/calcite/p-7ab6ded4.entry.js +7 -0
- package/dist/calcite/p-7bcfca23.js +7 -0
- package/dist/calcite/p-7bd1de8b.js +7 -0
- package/dist/calcite/p-7c6b37cb.js +7 -0
- package/dist/calcite/p-7c9b1cff.js +7 -0
- package/dist/calcite/p-7d4b1849.entry.js +7 -0
- package/dist/calcite/p-7d650111.js +7 -0
- package/dist/calcite/p-7dfa77d1.js +7 -0
- package/dist/calcite/p-7f5e15af.entry.js +7 -0
- package/dist/calcite/p-810b69a9.entry.js +7 -0
- package/dist/calcite/p-812d4433.js +7 -0
- package/dist/calcite/p-85355ac3.js +7 -0
- package/dist/calcite/p-88b0202c.js +7 -0
- package/dist/calcite/p-88eda241.js +7 -0
- package/dist/calcite/p-8dcbfce8.js +7 -0
- package/dist/calcite/p-9223fe05.js +7 -0
- package/dist/calcite/p-92816b80.entry.js +7 -0
- package/dist/calcite/p-9395c02e.js +11 -0
- package/dist/calcite/p-958e9564.entry.js +7 -0
- package/dist/calcite/p-9868153c.entry.js +7 -0
- package/dist/calcite/p-99a20f25.entry.js +7 -0
- package/dist/calcite/p-9b44500a.entry.js +7 -0
- package/dist/calcite/p-9b4aed37.js +7 -0
- package/dist/calcite/p-9b565b18.js +7 -0
- package/dist/calcite/p-9bd3b0b6.js +7 -0
- package/dist/calcite/p-9bf3339b.entry.js +7 -0
- package/dist/calcite/p-9e347276.js +7 -0
- package/dist/calcite/p-9f076d48.js +7 -0
- package/dist/calcite/p-9fe87a22.entry.js +7 -0
- package/dist/calcite/p-a07af675.entry.js +7 -0
- package/dist/calcite/p-a0ca104b.js +7 -0
- package/dist/calcite/p-a5ff208a.js +7 -0
- package/dist/calcite/p-a63dbb17.entry.js +7 -0
- package/dist/calcite/p-a6687bbe.js +7 -0
- package/dist/calcite/p-a6739f55.js +7 -0
- package/dist/calcite/p-aa0e172f.js +7 -0
- package/dist/calcite/p-aa0e172f.js.map +1 -0
- package/dist/calcite/p-abbb8e20.js +7 -0
- package/dist/calcite/p-abc5ea47.entry.js +7 -0
- package/dist/calcite/p-aff88591.js +7 -0
- package/dist/calcite/p-b04460b0.js +7 -0
- package/dist/calcite/p-b06765b5.js +7 -0
- package/dist/calcite/p-b1aeb283.entry.js +7 -0
- package/dist/calcite/p-b1c541ce.js +7 -0
- package/dist/calcite/p-b3e72f62.js +7 -0
- package/dist/calcite/p-b4957e5a.js +7 -0
- package/dist/calcite/p-ba29ffe7.entry.js +7 -0
- package/dist/calcite/p-ba4c20f7.js +7 -0
- package/dist/calcite/p-bb9a7c14.entry.js +7 -0
- package/dist/calcite/p-bb9a7c14.entry.js.map +1 -0
- package/dist/calcite/p-be3588ed.entry.js +7 -0
- package/dist/calcite/p-bf3d56f4.entry.js +7 -0
- package/dist/calcite/p-bf3d56f4.entry.js.map +1 -0
- package/dist/calcite/p-c1905124.js +7 -0
- package/dist/calcite/p-c1f13ffc.entry.js +7 -0
- package/dist/calcite/p-c233af9a.js +7 -0
- package/dist/calcite/p-c5a8df34.js +7 -0
- package/dist/calcite/p-c6fd9a15.entry.js +7 -0
- package/dist/calcite/p-c827bdff.js +7 -0
- package/dist/calcite/p-cbabb3e9.entry.js +7 -0
- package/dist/calcite/p-cf6c103a.js +8 -0
- package/dist/calcite/p-d3aa19a3.js +7 -0
- package/dist/calcite/p-d4392514.entry.js +7 -0
- package/dist/calcite/p-d55685ca.entry.js +7 -0
- package/dist/calcite/p-d5d23c62.js +7 -0
- package/dist/calcite/p-d6e4ab3a.js +12 -0
- package/dist/calcite/p-d746164d.js +7 -0
- package/dist/calcite/p-dc0027ba.entry.js +7 -0
- package/dist/calcite/p-dc8fb8e4.entry.js +7 -0
- package/dist/calcite/p-e2c60ff0.entry.js +7 -0
- package/dist/calcite/p-e4186f47.js +7 -0
- package/dist/calcite/p-e4298c9a.entry.js +7 -0
- package/dist/calcite/p-e4736736.js +7 -0
- package/dist/calcite/p-e47b629f.entry.js +7 -0
- package/dist/calcite/p-e585713f.entry.js +7 -0
- package/dist/calcite/p-e589b26a.entry.js +7 -0
- package/dist/calcite/p-e6f9f5c1.js +7 -0
- package/dist/calcite/p-eb367998.entry.js +7 -0
- package/dist/calcite/p-ee9909cb.entry.js +7 -0
- package/dist/calcite/p-f148f25b.js +7 -0
- package/dist/calcite/p-f23ed287.entry.js +7 -0
- package/dist/calcite/p-f320c3b0.entry.js +7 -0
- package/dist/calcite/p-f42f46c0.js +7 -0
- package/dist/calcite/p-f60dd8b1.js +7 -0
- package/dist/calcite/p-f75bd725.entry.js +7 -0
- package/dist/calcite/p-f9c43b7f.entry.js +7 -0
- package/dist/calcite/p-f9c43b7f.entry.js.map +1 -0
- package/dist/calcite/p-f9d57a45.entry.js +7 -0
- package/dist/calcite/p-fa8aa680.js +7 -0
- package/dist/calcite/p-fd880023.entry.js +7 -0
- package/dist/calcite/p-fe4db0fa.js +13 -0
- package/dist/calcite-preset.js +1 -1
- package/dist/cjs/ExpandToggle-9521cee5.js +110 -0
- package/dist/cjs/ExpandToggle-9521cee5.js.map +1 -0
- package/dist/cjs/FloatingArrow-5525a51e.js +49 -0
- package/dist/cjs/FloatingArrow-5525a51e.js.map +1 -0
- package/dist/cjs/Heading-8294d389.js +22 -0
- package/dist/cjs/Heading-8294d389.js.map +1 -0
- package/dist/cjs/Validation-e5075693.js +18 -0
- package/dist/cjs/Validation-e5075693.js.map +1 -0
- package/dist/cjs/app-globals-b8263335.js +61 -0
- package/dist/cjs/app-globals-b8263335.js.map +1 -0
- package/dist/cjs/ar-ce7a2383.js +106 -0
- package/dist/cjs/ar-ce7a2383.js.map +1 -0
- package/dist/cjs/array-bfc7639a.js +14 -0
- package/dist/cjs/array-bfc7639a.js.map +1 -0
- package/dist/cjs/bg-d0860d48.js +84 -0
- package/dist/cjs/bg-d0860d48.js.map +1 -0
- package/dist/cjs/browser-ee8f4c43.js +20 -0
- package/dist/cjs/browser-ee8f4c43.js.map +1 -0
- package/dist/cjs/bs-89e33cf2.js +53 -0
- package/dist/cjs/bs-89e33cf2.js.map +1 -0
- package/dist/cjs/ca-91e0cc2c.js +73 -0
- package/dist/cjs/ca-91e0cc2c.js.map +1 -0
- package/dist/cjs/calcite-accordion_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-action-bar.cjs.entry.js +15 -15
- package/dist/cjs/calcite-action-group.cjs.entry.js +13 -13
- package/dist/cjs/calcite-action-menu.cjs.entry.js +9 -9
- package/dist/cjs/calcite-action-pad.cjs.entry.js +14 -14
- package/dist/cjs/calcite-action.cjs.entry.js +13 -13
- package/dist/cjs/calcite-alert.cjs.entry.js +13 -13
- package/dist/cjs/calcite-avatar.cjs.entry.js +6 -6
- package/dist/cjs/calcite-block_2.cjs.entry.js +15 -15
- package/dist/cjs/calcite-button.cjs.entry.js +15 -15
- package/dist/cjs/calcite-card.cjs.entry.js +10 -10
- package/dist/cjs/calcite-checkbox.cjs.entry.js +12 -12
- package/dist/cjs/calcite-chip-group.cjs.entry.js +9 -9
- package/dist/cjs/calcite-chip.cjs.entry.js +14 -14
- package/dist/cjs/calcite-color-picker_3.cjs.entry.js +16 -16
- package/dist/cjs/calcite-combobox_3.cjs.entry.js +22 -22
- package/dist/cjs/calcite-combobox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-date-picker_4.cjs.entry.js +15 -15
- package/dist/cjs/calcite-dropdown_3.cjs.entry.js +14 -14
- package/dist/cjs/calcite-fab.cjs.entry.js +8 -8
- package/dist/cjs/calcite-filter.cjs.entry.js +14 -14
- package/dist/cjs/calcite-flow-item.cjs.entry.js +13 -13
- package/dist/cjs/calcite-flow.cjs.entry.js +4 -4
- package/dist/cjs/calcite-graph_2.cjs.entry.js +15 -15
- package/dist/cjs/calcite-handle.cjs.entry.js +12 -12
- package/dist/cjs/calcite-icon.cjs.entry.js +6 -6
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +14 -14
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +21 -21
- package/dist/cjs/calcite-input-message.cjs.entry.js +5 -5
- package/dist/cjs/calcite-input-number.cjs.entry.js +16 -16
- package/dist/cjs/calcite-input-text.cjs.entry.js +16 -16
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-71073227.js +2918 -0
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-71073227.js.map +1 -0
- package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +20 -20
- package/dist/cjs/calcite-input-time-zone.cjs.entry.js +17 -17
- package/dist/cjs/calcite-input.cjs.entry.js +16 -16
- package/dist/cjs/calcite-label.cjs.entry.js +7 -7
- package/dist/cjs/calcite-link.cjs.entry.js +8 -8
- package/dist/cjs/calcite-list_3.cjs.entry.js +15 -15
- package/dist/cjs/calcite-loader.cjs.entry.js +3 -3
- package/dist/cjs/calcite-menu_2.cjs.entry.js +10 -10
- package/dist/cjs/calcite-meter.cjs.entry.js +10 -10
- package/dist/cjs/calcite-modal.cjs.entry.js +14 -14
- package/dist/cjs/calcite-navigation_3.cjs.entry.js +6 -6
- package/dist/cjs/calcite-notice.cjs.entry.js +14 -14
- package/dist/cjs/calcite-option_3.cjs.entry.js +13 -13
- package/dist/cjs/calcite-pagination.cjs.entry.js +12 -12
- package/dist/cjs/calcite-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-panel.cjs.entry.js +15 -15
- package/dist/cjs/calcite-pick-list_3.cjs.entry.js +17 -17
- package/dist/cjs/calcite-popover.cjs.entry.js +17 -17
- package/dist/cjs/calcite-progress.cjs.entry.js +5 -5
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +5 -5
- package/dist/cjs/calcite-radio-button.cjs.entry.js +12 -12
- package/dist/cjs/calcite-rating.cjs.entry.js +15 -15
- package/dist/cjs/calcite-scrim.cjs.entry.js +9 -9
- package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +13 -13
- package/dist/cjs/calcite-sheet.cjs.entry.js +9 -9
- package/dist/cjs/calcite-shell_3.cjs.entry.js +11 -11
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +9 -9
- package/dist/cjs/calcite-split-button.cjs.entry.js +5 -5
- package/dist/cjs/calcite-stack.cjs.entry.js +6 -6
- package/dist/cjs/calcite-stepper_2.cjs.entry.js +12 -12
- package/dist/cjs/calcite-switch.cjs.entry.js +12 -12
- package/dist/cjs/calcite-tab_4.cjs.entry.js +12 -12
- package/dist/cjs/calcite-table-cell_2.cjs.entry.js +13 -13
- package/dist/cjs/calcite-table-row.cjs.entry.js +9 -9
- package/dist/cjs/calcite-table.cjs.entry.js +11 -11
- package/dist/cjs/calcite-text-area.cjs.entry.js +18 -18
- package/dist/cjs/calcite-tile-select_2.cjs.entry.js +6 -6
- 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.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tree_2.cjs.entry.js +10 -10
- package/dist/cjs/calcite-value-list_2.cjs.entry.js +17 -17
- package/dist/cjs/calcite.cjs.js +4 -4
- package/dist/cjs/component-031364d5.js +30 -0
- package/dist/cjs/component-031364d5.js.map +1 -0
- package/dist/cjs/conditionalSlot-a14208bb.js +60 -0
- package/dist/cjs/conditionalSlot-a14208bb.js.map +1 -0
- package/dist/cjs/cs-83a82bf0.js +149 -0
- package/dist/cjs/cs-83a82bf0.js.map +1 -0
- package/dist/cjs/da-55c03ccb.js +68 -0
- package/dist/cjs/da-55c03ccb.js.map +1 -0
- package/dist/cjs/de-at-2eff8fd4.js +92 -0
- package/dist/cjs/de-at-2eff8fd4.js.map +1 -0
- package/dist/cjs/de-ch-e6790116.js +92 -0
- package/dist/cjs/de-ch-e6790116.js.map +1 -0
- package/dist/cjs/de-eb7d5bc8.js +93 -0
- package/dist/cjs/de-eb7d5bc8.js.map +1 -0
- package/dist/cjs/debounce-47d0a428.js +498 -0
- package/dist/cjs/debounce-47d0a428.js.map +1 -0
- package/dist/cjs/dom-8a99a8f4.js +1084 -0
- package/dist/cjs/dom-8a99a8f4.js.map +1 -0
- package/dist/cjs/el-efe35c19.js +68 -0
- package/dist/cjs/el-efe35c19.js.map +1 -0
- package/dist/cjs/en-au-f06421f5.js +68 -0
- package/dist/cjs/en-au-f06421f5.js.map +1 -0
- package/dist/cjs/en-ca-8eaf5515.js +67 -0
- package/dist/cjs/en-ca-8eaf5515.js.map +1 -0
- package/dist/cjs/en-gb-96b411c0.js +71 -0
- package/dist/cjs/en-gb-96b411c0.js.map +1 -0
- package/dist/cjs/es-3d63f266.js +68 -0
- package/dist/cjs/es-3d63f266.js.map +1 -0
- package/dist/cjs/es-mx-d81c53b9.js +67 -0
- package/dist/cjs/es-mx-d81c53b9.js.map +1 -0
- package/dist/cjs/et-ec23d267.js +94 -0
- package/dist/cjs/et-ec23d267.js.map +1 -0
- package/dist/cjs/fi-5276d29d.js +117 -0
- package/dist/cjs/fi-5276d29d.js.map +1 -0
- package/dist/cjs/filter-a1f78854.js +762 -0
- package/dist/cjs/filter-a1f78854.js.map +1 -0
- package/dist/cjs/floating-ui-d49e931c.js +1965 -0
- package/dist/cjs/floating-ui-d49e931c.js.map +1 -0
- package/dist/cjs/focusTrapComponent-bab8f4fe.js +1020 -0
- package/dist/cjs/focusTrapComponent-bab8f4fe.js.map +1 -0
- package/dist/cjs/form-4234381c.js +333 -0
- package/dist/cjs/form-4234381c.js.map +1 -0
- package/dist/cjs/fr-2b67725c.js +70 -0
- package/dist/cjs/fr-2b67725c.js.map +1 -0
- package/dist/cjs/fr-ch-a5ad7198.js +68 -0
- package/dist/cjs/fr-ch-a5ad7198.js.map +1 -0
- package/dist/cjs/guid-f89b696d.js +23 -0
- package/dist/cjs/guid-f89b696d.js.map +1 -0
- package/dist/cjs/he-9f0588ed.js +107 -0
- package/dist/cjs/he-9f0588ed.js.map +1 -0
- package/dist/cjs/hi-0c6c9c73.js +67 -0
- package/dist/cjs/hi-0c6c9c73.js.map +1 -0
- package/dist/cjs/hr-e9527c1e.js +82 -0
- package/dist/cjs/hr-e9527c1e.js.map +1 -0
- package/dist/cjs/hu-de46526b.js +90 -0
- package/dist/cjs/hu-de46526b.js.map +1 -0
- package/dist/cjs/id-33482348.js +68 -0
- package/dist/cjs/id-33482348.js.map +1 -0
- package/dist/cjs/index-0adb367e.js +208 -0
- package/dist/cjs/index-0adb367e.js.map +1 -0
- package/dist/cjs/index-20993df4.js +75 -0
- package/dist/cjs/index-20993df4.js.map +1 -0
- package/dist/cjs/index-315596ec.js +2655 -0
- package/dist/cjs/index-315596ec.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/interactive-1c587add.js +141 -0
- package/dist/cjs/interactive-1c587add.js.map +1 -0
- package/dist/cjs/it-8337d997.js +68 -0
- package/dist/cjs/it-8337d997.js.map +1 -0
- package/dist/cjs/it-ch-723d4507.js +68 -0
- package/dist/cjs/it-ch-723d4507.js.map +1 -0
- package/dist/cjs/ja-ebafccaf.js +74 -0
- package/dist/cjs/ja-ebafccaf.js.map +1 -0
- package/dist/cjs/key-ce27460f.js +16 -0
- package/dist/cjs/key-ce27460f.js.map +1 -0
- package/dist/cjs/ko-d9a9ed6f.js +74 -0
- package/dist/cjs/ko-d9a9ed6f.js.map +1 -0
- package/dist/cjs/label-c0757b28.js +183 -0
- package/dist/cjs/label-c0757b28.js.map +1 -0
- package/dist/cjs/loadable-583ec821.js +91 -0
- package/dist/cjs/loadable-583ec821.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/locale-62430b46.js +576 -0
- package/dist/cjs/locale-62430b46.js.map +1 -0
- package/dist/cjs/lt-547ce7f8.js +99 -0
- package/dist/cjs/lt-547ce7f8.js.map +1 -0
- package/dist/cjs/lv-e3ab0dd4.js +68 -0
- package/dist/cjs/lv-e3ab0dd4.js.map +1 -0
- package/dist/cjs/math-687d3bf5.js +57 -0
- package/dist/cjs/math-687d3bf5.js.map +1 -0
- package/dist/cjs/mk-ac39e9ba.js +68 -0
- package/dist/cjs/mk-ac39e9ba.js.map +1 -0
- package/dist/cjs/nb-3862ed2b.js +69 -0
- package/dist/cjs/nb-3862ed2b.js.map +1 -0
- package/dist/cjs/nl-f26a536c.js +69 -0
- package/dist/cjs/nl-f26a536c.js.map +1 -0
- package/dist/cjs/observers-bd89a170.js +50 -0
- package/dist/cjs/observers-bd89a170.js.map +1 -0
- package/dist/cjs/openCloseComponent-7009664d.js +89 -0
- package/dist/cjs/openCloseComponent-7009664d.js.map +1 -0
- package/dist/cjs/pl-5604e39c.js +116 -0
- package/dist/cjs/pl-5604e39c.js.map +1 -0
- package/dist/cjs/pt-a96a7649.js +69 -0
- package/dist/cjs/pt-a96a7649.js.map +1 -0
- package/dist/cjs/pt-br-609918e6.js +67 -0
- package/dist/cjs/pt-br-609918e6.js.map +1 -0
- package/dist/cjs/resources-666c6581.js +29 -0
- package/dist/cjs/resources-666c6581.js.map +1 -0
- package/dist/cjs/resources-669bed34.js +17 -0
- package/dist/cjs/resources-669bed34.js.map +1 -0
- package/dist/cjs/resources-6e141ab6.js +26 -0
- package/dist/cjs/resources-6e141ab6.js.map +1 -0
- package/dist/cjs/resources-832813b8.js +23 -0
- package/dist/cjs/resources-832813b8.js.map +1 -0
- package/dist/cjs/resources-a1c3da44.js +26 -0
- package/dist/cjs/resources-a1c3da44.js.map +1 -0
- package/dist/cjs/resources-e461c8a7.js +49 -0
- package/dist/cjs/resources-e461c8a7.js.map +1 -0
- package/dist/cjs/resources-febc620c.js +414 -0
- package/dist/cjs/resources-febc620c.js.map +1 -0
- package/dist/cjs/ro-725fe836.js +68 -0
- package/dist/cjs/ro-725fe836.js.map +1 -0
- package/dist/cjs/ru-a37f21cf.js +128 -0
- package/dist/cjs/ru-a37f21cf.js.map +1 -0
- package/dist/cjs/sk-e114c05c.js +150 -0
- package/dist/cjs/sk-e114c05c.js.map +1 -0
- package/dist/cjs/sl-283645a8.js +170 -0
- package/dist/cjs/sl-283645a8.js.map +1 -0
- package/dist/cjs/sortableComponent-22945d97.js +2739 -0
- package/dist/cjs/sortableComponent-22945d97.js.map +1 -0
- package/dist/cjs/sr-d3eabb60.js +103 -0
- package/dist/cjs/sr-d3eabb60.js.map +1 -0
- package/dist/cjs/sv-e46ad4d6.js +73 -0
- package/dist/cjs/sv-e46ad4d6.js.map +1 -0
- package/dist/cjs/t9n-2471b90f.js +97 -0
- package/dist/cjs/t9n-2471b90f.js.map +1 -0
- package/dist/cjs/th-4253024f.js +67 -0
- package/dist/cjs/th-4253024f.js.map +1 -0
- package/dist/cjs/throttle-03ef5077.js +77 -0
- package/dist/cjs/throttle-03ef5077.js.map +1 -0
- package/dist/cjs/tr-f5fb29cd.js +68 -0
- package/dist/cjs/tr-f5fb29cd.js.map +1 -0
- package/dist/cjs/uk-97721767.js +106 -0
- package/dist/cjs/uk-97721767.js.map +1 -0
- package/dist/cjs/utils-81b10422.js +218 -0
- package/dist/cjs/utils-81b10422.js.map +1 -0
- package/dist/cjs/utils-ab09fa69.js +307 -0
- package/dist/cjs/utils-ab09fa69.js.map +1 -0
- package/dist/cjs/vi-2e04fc1f.js +72 -0
- package/dist/cjs/vi-2e04fc1f.js.map +1 -0
- package/dist/cjs/zh-cn-d75e1b83.js +96 -0
- package/dist/cjs/zh-cn-d75e1b83.js.map +1 -0
- package/dist/cjs/zh-hk-603ff2dc.js +73 -0
- package/dist/cjs/zh-hk-603ff2dc.js.map +1 -0
- package/dist/cjs/zh-tw-f769c4a6.js +94 -0
- package/dist/cjs/zh-tw-f769c4a6.js.map +1 -0
- package/dist/collection/components/accordion/accordion.css +5 -5
- package/dist/collection/components/accordion/accordion.e2e.js +1 -1
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion-item/accordion-item.css +5 -5
- package/dist/collection/components/accordion-item/accordion-item.e2e.js +1 -1
- package/dist/collection/components/accordion-item/accordion-item.js +1 -1
- package/dist/collection/components/accordion-item/resources.js +1 -1
- package/dist/collection/components/action/action.css +5 -5
- package/dist/collection/components/action/action.e2e.js +1 -1
- package/dist/collection/components/action/action.js +1 -1
- package/dist/collection/components/action/resources.js +1 -1
- package/dist/collection/components/action-bar/action-bar.css +5 -5
- package/dist/collection/components/action-bar/action-bar.e2e.js +1 -1
- package/dist/collection/components/action-bar/action-bar.js +1 -1
- 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.css +5 -5
- package/dist/collection/components/action-group/action-group.e2e.js +1 -1
- package/dist/collection/components/action-group/action-group.js +1 -1
- package/dist/collection/components/action-group/resources.js +1 -1
- package/dist/collection/components/action-menu/action-menu.css +5 -5
- package/dist/collection/components/action-menu/action-menu.e2e.js +1 -1
- package/dist/collection/components/action-menu/action-menu.js +1 -1
- package/dist/collection/components/action-menu/resources.js +1 -1
- package/dist/collection/components/action-pad/action-pad.css +5 -5
- package/dist/collection/components/action-pad/action-pad.e2e.js +1 -1
- package/dist/collection/components/action-pad/action-pad.js +1 -1
- package/dist/collection/components/action-pad/resources.js +1 -1
- package/dist/collection/components/alert/alert.css +5 -5
- package/dist/collection/components/alert/alert.e2e.js +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/alert/resources.js +1 -1
- package/dist/collection/components/avatar/avatar.css +5 -5
- package/dist/collection/components/avatar/avatar.e2e.js +1 -1
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/avatar/avatar.spec.js +1 -1
- package/dist/collection/components/avatar/utils.js +1 -1
- package/dist/collection/components/block/block.css +5 -5
- package/dist/collection/components/block/block.e2e.js +1 -1
- package/dist/collection/components/block/block.js +1 -1
- package/dist/collection/components/block/resources.js +1 -1
- package/dist/collection/components/block-section/block-section.css +5 -5
- package/dist/collection/components/block-section/block-section.e2e.js +1 -1
- package/dist/collection/components/block-section/block-section.js +1 -1
- package/dist/collection/components/block-section/resources.js +1 -1
- package/dist/collection/components/button/button.css +5 -5
- package/dist/collection/components/button/button.e2e.js +1 -1
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/button/resources.js +1 -1
- package/dist/collection/components/card/card.css +5 -5
- package/dist/collection/components/card/card.e2e.js +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card/resources.js +1 -1
- package/dist/collection/components/checkbox/checkbox.css +5 -5
- package/dist/collection/components/checkbox/checkbox.e2e.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/chip/chip.css +5 -5
- package/dist/collection/components/chip/chip.e2e.js +1 -1
- package/dist/collection/components/chip/chip.js +1 -1
- package/dist/collection/components/chip/resources.js +1 -1
- package/dist/collection/components/chip-group/chip-group.css +5 -5
- package/dist/collection/components/chip-group/chip-group.e2e.js +1 -1
- package/dist/collection/components/chip-group/chip-group.js +1 -1
- package/dist/collection/components/color-picker/color-picker.css +5 -5
- package/dist/collection/components/color-picker/color-picker.e2e.js +1 -1
- package/dist/collection/components/color-picker/color-picker.js +1 -1
- 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 +1 -1
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.css +5 -5
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.e2e.js +1 -1
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +1 -1
- package/dist/collection/components/color-picker-hex-input/resources.js +1 -1
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.css +5 -5
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.e2e.js +1 -1
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +1 -1
- package/dist/collection/components/color-picker-swatch/resources.js +1 -1
- package/dist/collection/components/combobox/combobox.css +5 -5
- package/dist/collection/components/combobox/combobox.e2e.js +2 -2
- package/dist/collection/components/combobox/combobox.e2e.js.map +1 -1
- package/dist/collection/components/combobox/combobox.js +1 -1
- 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.css +5 -5
- package/dist/collection/components/combobox-item/combobox-item.e2e.js +1 -1
- package/dist/collection/components/combobox-item/combobox-item.js +1 -1
- package/dist/collection/components/combobox-item/resources.js +1 -1
- package/dist/collection/components/combobox-item-group/combobox-item-group.css +5 -5
- package/dist/collection/components/combobox-item-group/combobox-item-group.js +1 -1
- package/dist/collection/components/combobox-item-group/resources.js +1 -1
- package/dist/collection/components/date-picker/date-picker.css +5 -5
- package/dist/collection/components/date-picker/date-picker.e2e.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/date-picker/resources.js +1 -1
- package/dist/collection/components/date-picker/utils.js +1 -1
- package/dist/collection/components/date-picker/utils.spec.js +1 -1
- package/dist/collection/components/date-picker-day/date-picker-day.css +5 -5
- package/dist/collection/components/date-picker-day/date-picker-day.e2e.js +1 -1
- package/dist/collection/components/date-picker-day/date-picker-day.js +1 -1
- package/dist/collection/components/date-picker-month/date-picker-month.css +5 -5
- package/dist/collection/components/date-picker-month/date-picker-month.js +1 -1
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.css +5 -5
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.e2e.js +1 -1
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +1 -1
- package/dist/collection/components/date-picker-month-header/resources.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +5 -5
- package/dist/collection/components/dropdown/dropdown.e2e.js +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/dropdown/resources.js +1 -1
- package/dist/collection/components/dropdown-group/dropdown-group.css +5 -5
- package/dist/collection/components/dropdown-group/dropdown-group.e2e.js +1 -1
- package/dist/collection/components/dropdown-group/dropdown-group.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +5 -5
- package/dist/collection/components/dropdown-item/dropdown-item.e2e.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
- package/dist/collection/components/dropdown-item/resources.js +1 -1
- package/dist/collection/components/fab/fab.css +5 -5
- package/dist/collection/components/fab/fab.e2e.js +1 -1
- package/dist/collection/components/fab/fab.js +1 -1
- package/dist/collection/components/fab/resources.js +1 -1
- package/dist/collection/components/filter/filter.css +5 -5
- package/dist/collection/components/filter/filter.e2e.js +1 -1
- package/dist/collection/components/filter/filter.js +1 -1
- package/dist/collection/components/filter/resources.js +1 -1
- package/dist/collection/components/flow/flow.css +5 -5
- package/dist/collection/components/flow/flow.e2e.js +1 -1
- package/dist/collection/components/flow/flow.js +1 -1
- package/dist/collection/components/flow/resources.js +1 -1
- package/dist/collection/components/flow-item/flow-item.css +5 -5
- package/dist/collection/components/flow-item/flow-item.e2e.js +1 -1
- package/dist/collection/components/flow-item/flow-item.js +1 -1
- package/dist/collection/components/flow-item/resources.js +1 -1
- package/dist/collection/components/functional/ExpandToggle.js +1 -1
- package/dist/collection/components/functional/FloatingArrow.js +1 -1
- package/dist/collection/components/functional/Heading.js +1 -1
- package/dist/collection/components/functional/Heading.spec.js +1 -1
- package/dist/collection/components/functional/Validation.js +1 -1
- package/dist/collection/components/functional/XButton.js +1 -1
- package/dist/collection/components/graph/graph.css +5 -5
- package/dist/collection/components/graph/graph.e2e.js +1 -1
- package/dist/collection/components/graph/graph.js +1 -1
- package/dist/collection/components/graph/util.js +1 -1
- package/dist/collection/components/handle/handle.css +5 -5
- package/dist/collection/components/handle/handle.e2e.js +1 -1
- package/dist/collection/components/handle/handle.js +1 -1
- package/dist/collection/components/handle/resources.js +1 -1
- package/dist/collection/components/icon/icon.css +5 -5
- package/dist/collection/components/icon/icon.e2e.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- 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 +1 -1
- package/dist/collection/components/inline-editable/inline-editable.css +5 -5
- package/dist/collection/components/inline-editable/inline-editable.e2e.js +1 -1
- package/dist/collection/components/inline-editable/inline-editable.js +1 -1
- package/dist/collection/components/inline-editable/resources.js +1 -1
- package/dist/collection/components/input/common/tests.js +1 -1
- package/dist/collection/components/input/input.css +5 -5
- package/dist/collection/components/input/input.e2e.js +2 -1
- package/dist/collection/components/input/input.e2e.js.map +1 -1
- package/dist/collection/components/input/input.js +1 -1
- package/dist/collection/components/input/resources.js +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.css +5 -5
- package/dist/collection/components/input-date-picker/input-date-picker.e2e.js +2 -2
- package/dist/collection/components/input-date-picker/input-date-picker.e2e.js.map +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.js +1 -1
- package/dist/collection/components/input-date-picker/resources.js +1 -1
- package/dist/collection/components/input-date-picker/util.spec.js +1 -1
- package/dist/collection/components/input-date-picker/utils.js +1 -1
- package/dist/collection/components/input-message/input-message.css +5 -5
- package/dist/collection/components/input-message/input-message.e2e.js +1 -1
- package/dist/collection/components/input-message/input-message.js +1 -1
- package/dist/collection/components/input-message/interfaces.js +1 -1
- package/dist/collection/components/input-number/input-number.css +5 -5
- package/dist/collection/components/input-number/input-number.e2e.js +3 -2
- package/dist/collection/components/input-number/input-number.e2e.js.map +1 -1
- package/dist/collection/components/input-number/input-number.js +1 -1
- package/dist/collection/components/input-number/resources.js +1 -1
- package/dist/collection/components/input-text/input-text.css +5 -5
- package/dist/collection/components/input-text/input-text.e2e.js +2 -2
- package/dist/collection/components/input-text/input-text.e2e.js.map +1 -1
- package/dist/collection/components/input-text/input-text.js +1 -1
- package/dist/collection/components/input-text/resources.js +1 -1
- package/dist/collection/components/input-time-picker/input-time-picker.css +5 -5
- package/dist/collection/components/input-time-picker/input-time-picker.e2e.js +7 -2
- package/dist/collection/components/input-time-picker/input-time-picker.e2e.js.map +1 -1
- package/dist/collection/components/input-time-picker/input-time-picker.js +1 -1
- package/dist/collection/components/input-time-picker/resources.js +1 -1
- package/dist/collection/components/input-time-zone/input-time-zone.css +5 -5
- package/dist/collection/components/input-time-zone/input-time-zone.e2e.js +1 -1
- package/dist/collection/components/input-time-zone/input-time-zone.js +1 -1
- package/dist/collection/components/input-time-zone/utils.js +1 -1
- package/dist/collection/components/label/label.css +5 -5
- package/dist/collection/components/label/label.e2e.js +1 -1
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/label/resources.js +1 -1
- package/dist/collection/components/link/link.css +5 -5
- package/dist/collection/components/link/link.e2e.js +1 -1
- package/dist/collection/components/link/link.js +1 -1
- package/dist/collection/components/list/list.css +5 -5
- package/dist/collection/components/list/list.e2e.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list/resources.js +1 -1
- package/dist/collection/components/list-item/list-item.css +5 -5
- package/dist/collection/components/list-item/list-item.e2e.js +1 -1
- package/dist/collection/components/list-item/list-item.js +1 -1
- package/dist/collection/components/list-item/resources.js +1 -1
- package/dist/collection/components/list-item/utils.js +1 -1
- package/dist/collection/components/list-item-group/list-item-group.css +5 -5
- package/dist/collection/components/list-item-group/list-item-group.e2e.js +1 -1
- package/dist/collection/components/list-item-group/list-item-group.js +1 -1
- package/dist/collection/components/list-item-group/resources.js +1 -1
- package/dist/collection/components/loader/loader.css +5 -5
- package/dist/collection/components/loader/loader.e2e.js +1 -1
- package/dist/collection/components/loader/loader.js +1 -1
- package/dist/collection/components/menu/menu.css +5 -5
- package/dist/collection/components/menu/menu.e2e.js +1 -1
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu-item/menu-item.css +5 -5
- package/dist/collection/components/menu-item/menu-item.e2e.js +1 -1
- package/dist/collection/components/menu-item/menu-item.js +1 -1
- package/dist/collection/components/menu-item/resources.js +1 -1
- package/dist/collection/components/meter/meter.css +5 -5
- package/dist/collection/components/meter/meter.e2e.js +1 -1
- package/dist/collection/components/meter/meter.js +1 -1
- package/dist/collection/components/meter/resources.js +1 -1
- package/dist/collection/components/modal/modal.css +6 -6
- package/dist/collection/components/modal/modal.e2e.js +1 -1
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/modal/resources.js +1 -1
- package/dist/collection/components/navigation/navigation.css +5 -5
- package/dist/collection/components/navigation/navigation.e2e.js +1 -1
- package/dist/collection/components/navigation/navigation.js +1 -1
- package/dist/collection/components/navigation/resources.js +1 -1
- package/dist/collection/components/navigation-logo/navigation-logo.css +5 -5
- package/dist/collection/components/navigation-logo/navigation-logo.e2e.js +1 -1
- package/dist/collection/components/navigation-logo/navigation-logo.js +1 -1
- package/dist/collection/components/navigation-logo/resources.js +1 -1
- package/dist/collection/components/navigation-user/navigation-user.css +5 -5
- package/dist/collection/components/navigation-user/navigation-user.e2e.js +1 -1
- package/dist/collection/components/navigation-user/navigation-user.js +1 -1
- package/dist/collection/components/navigation-user/resources.js +1 -1
- package/dist/collection/components/notice/notice.css +5 -5
- package/dist/collection/components/notice/notice.e2e.js +1 -1
- package/dist/collection/components/notice/notice.js +1 -1
- package/dist/collection/components/notice/resources.js +1 -1
- package/dist/collection/components/option/option.css +5 -5
- package/dist/collection/components/option/option.e2e.js +1 -1
- package/dist/collection/components/option/option.js +1 -1
- package/dist/collection/components/option-group/option-group.css +5 -5
- package/dist/collection/components/option-group/option-group.e2e.js +1 -1
- package/dist/collection/components/option-group/option-group.js +1 -1
- package/dist/collection/components/pagination/pagination.css +5 -5
- package/dist/collection/components/pagination/pagination.e2e.js +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/pagination/resources.js +1 -1
- package/dist/collection/components/panel/panel.css +5 -5
- package/dist/collection/components/panel/panel.e2e.js +1 -1
- package/dist/collection/components/panel/panel.js +1 -1
- package/dist/collection/components/panel/resources.js +1 -1
- package/dist/collection/components/pick-list/pick-list.css +5 -5
- package/dist/collection/components/pick-list/pick-list.e2e.js +1 -1
- package/dist/collection/components/pick-list/pick-list.js +1 -1
- 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 +1 -1
- package/dist/collection/components/pick-list/shared-list-tests.js +1 -1
- package/dist/collection/components/pick-list-group/pick-list-group.css +5 -5
- package/dist/collection/components/pick-list-group/pick-list-group.e2e.js +1 -1
- package/dist/collection/components/pick-list-group/pick-list-group.js +1 -1
- package/dist/collection/components/pick-list-group/resources.js +1 -1
- package/dist/collection/components/pick-list-item/pick-list-item.css +5 -5
- package/dist/collection/components/pick-list-item/pick-list-item.e2e.js +1 -1
- package/dist/collection/components/pick-list-item/pick-list-item.js +1 -1
- 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.css +5 -5
- package/dist/collection/components/popover/popover.e2e.js +1 -1
- package/dist/collection/components/popover/popover.js +1 -1
- package/dist/collection/components/popover/resources.js +1 -1
- package/dist/collection/components/progress/progress.css +5 -5
- package/dist/collection/components/progress/progress.e2e.js +1 -1
- package/dist/collection/components/progress/progress.js +1 -1
- package/dist/collection/components/radio-button/radio-button.css +5 -5
- package/dist/collection/components/radio-button/radio-button.e2e.js +1 -1
- package/dist/collection/components/radio-button/radio-button.js +1 -1
- package/dist/collection/components/radio-button/resources.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.css +5 -5
- package/dist/collection/components/radio-button-group/radio-button-group.e2e.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-button-group/resources.js +1 -1
- package/dist/collection/components/rating/functional/star.js +1 -1
- package/dist/collection/components/rating/rating.css +5 -5
- package/dist/collection/components/rating/rating.e2e.js +1 -1
- package/dist/collection/components/rating/rating.js +1 -1
- package/dist/collection/components/resources.js +1 -1
- package/dist/collection/components/scrim/resources.js +1 -1
- package/dist/collection/components/scrim/scrim.css +5 -5
- package/dist/collection/components/scrim/scrim.e2e.js +1 -1
- package/dist/collection/components/scrim/scrim.js +1 -1
- package/dist/collection/components/segmented-control/resources.js +1 -1
- package/dist/collection/components/segmented-control/segmented-control.css +5 -5
- package/dist/collection/components/segmented-control/segmented-control.e2e.js +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +1 -1
- package/dist/collection/components/segmented-control-item/resources.js +1 -1
- package/dist/collection/components/segmented-control-item/segmented-control-item.css +5 -5
- package/dist/collection/components/segmented-control-item/segmented-control-item.e2e.js +1 -1
- package/dist/collection/components/segmented-control-item/segmented-control-item.js +1 -1
- package/dist/collection/components/select/resources.js +1 -1
- package/dist/collection/components/select/select.css +5 -5
- package/dist/collection/components/select/select.e2e.js +3 -2
- package/dist/collection/components/select/select.e2e.js.map +1 -1
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/sheet/resources.js +1 -1
- package/dist/collection/components/sheet/sheet.css +5 -5
- package/dist/collection/components/sheet/sheet.e2e.js +1 -1
- package/dist/collection/components/sheet/sheet.js +1 -1
- package/dist/collection/components/shell/resources.js +1 -1
- package/dist/collection/components/shell/shell.css +5 -5
- package/dist/collection/components/shell/shell.e2e.js +1 -1
- package/dist/collection/components/shell/shell.js +1 -1
- package/dist/collection/components/shell-center-row/resources.js +1 -1
- package/dist/collection/components/shell-center-row/shell-center-row.css +5 -5
- package/dist/collection/components/shell-center-row/shell-center-row.e2e.js +1 -1
- package/dist/collection/components/shell-center-row/shell-center-row.js +1 -1
- package/dist/collection/components/shell-panel/resources.js +1 -1
- package/dist/collection/components/shell-panel/shell-panel.css +5 -5
- package/dist/collection/components/shell-panel/shell-panel.e2e.js +1 -1
- package/dist/collection/components/shell-panel/shell-panel.js +1 -1
- package/dist/collection/components/slider/resources.js +1 -1
- package/dist/collection/components/slider/slider.css +5 -5
- package/dist/collection/components/slider/slider.e2e.js +1 -1
- package/dist/collection/components/slider/slider.js +1 -1
- package/dist/collection/components/sortable-list/resources.js +1 -1
- package/dist/collection/components/sortable-list/sortable-list.css +5 -5
- package/dist/collection/components/sortable-list/sortable-list.e2e.js +1 -1
- package/dist/collection/components/sortable-list/sortable-list.js +1 -1
- package/dist/collection/components/split-button/resources.js +1 -1
- package/dist/collection/components/split-button/split-button.css +5 -5
- package/dist/collection/components/split-button/split-button.e2e.js +1 -1
- package/dist/collection/components/split-button/split-button.js +1 -1
- package/dist/collection/components/stack/resources.js +1 -1
- package/dist/collection/components/stack/stack.css +5 -5
- package/dist/collection/components/stack/stack.e2e.js +1 -1
- package/dist/collection/components/stack/stack.js +1 -1
- package/dist/collection/components/stepper/functional/step-bar.js +1 -1
- package/dist/collection/components/stepper/resources.js +1 -1
- package/dist/collection/components/stepper/stepper.css +5 -5
- package/dist/collection/components/stepper/stepper.e2e.js +1 -1
- package/dist/collection/components/stepper/stepper.js +1 -1
- package/dist/collection/components/stepper-item/resources.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.css +5 -5
- package/dist/collection/components/stepper-item/stepper-item.e2e.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.js +1 -1
- package/dist/collection/components/switch/switch.css +5 -5
- package/dist/collection/components/switch/switch.e2e.js +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab/resources.js +1 -1
- package/dist/collection/components/tab/tab.css +5 -5
- package/dist/collection/components/tab/tab.e2e.js +1 -1
- package/dist/collection/components/tab/tab.js +1 -1
- package/dist/collection/components/tab-nav/resources.js +1 -1
- package/dist/collection/components/tab-nav/tab-nav.css +5 -5
- package/dist/collection/components/tab-nav/tab-nav.e2e.js +1 -1
- package/dist/collection/components/tab-nav/tab-nav.js +1 -1
- package/dist/collection/components/tab-title/resources.js +1 -1
- package/dist/collection/components/tab-title/tab-title.css +5 -5
- package/dist/collection/components/tab-title/tab-title.e2e.js +1 -1
- package/dist/collection/components/tab-title/tab-title.js +1 -1
- package/dist/collection/components/table/resources.js +1 -1
- package/dist/collection/components/table/table.css +5 -5
- package/dist/collection/components/table/table.e2e.js +1 -1
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/table-cell/resources.js +1 -1
- package/dist/collection/components/table-cell/table-cell.css +5 -5
- package/dist/collection/components/table-cell/table-cell.js +1 -1
- package/dist/collection/components/table-header/resources.js +1 -1
- package/dist/collection/components/table-header/table-header.css +5 -5
- package/dist/collection/components/table-header/table-header.js +1 -1
- package/dist/collection/components/table-row/resources.js +1 -1
- package/dist/collection/components/table-row/table-row.css +5 -5
- package/dist/collection/components/table-row/table-row.js +1 -1
- package/dist/collection/components/tabs/resources.js +1 -1
- package/dist/collection/components/tabs/tabs.css +5 -5
- package/dist/collection/components/tabs/tabs.e2e.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text-area/resources.js +1 -1
- package/dist/collection/components/text-area/text-area.css +5 -5
- package/dist/collection/components/text-area/text-area.e2e.js +2 -1
- package/dist/collection/components/text-area/text-area.e2e.js.map +1 -1
- package/dist/collection/components/text-area/text-area.js +1 -1
- package/dist/collection/components/tile/resources.js +1 -1
- package/dist/collection/components/tile/tile.css +5 -5
- package/dist/collection/components/tile/tile.e2e.js +1 -1
- package/dist/collection/components/tile/tile.js +1 -1
- package/dist/collection/components/tile-select/resources.js +1 -1
- package/dist/collection/components/tile-select/tile-select.css +5 -5
- package/dist/collection/components/tile-select/tile-select.e2e.js +1 -1
- package/dist/collection/components/tile-select/tile-select.js +1 -1
- package/dist/collection/components/tile-select-group/tile-select-group.css +5 -5
- package/dist/collection/components/tile-select-group/tile-select-group.e2e.js +1 -1
- package/dist/collection/components/tile-select-group/tile-select-group.js +1 -1
- package/dist/collection/components/time-picker/resources.js +1 -1
- package/dist/collection/components/time-picker/time-picker.css +5 -5
- package/dist/collection/components/time-picker/time-picker.e2e.js +1 -1
- package/dist/collection/components/time-picker/time-picker.js +1 -1
- package/dist/collection/components/tip/resources.js +1 -1
- package/dist/collection/components/tip/tip.css +5 -5
- package/dist/collection/components/tip/tip.e2e.js +1 -1
- package/dist/collection/components/tip/tip.js +1 -1
- package/dist/collection/components/tip-group/tip-group.css +5 -5
- package/dist/collection/components/tip-group/tip-group.e2e.js +1 -1
- package/dist/collection/components/tip-group/tip-group.js +1 -1
- package/dist/collection/components/tip-manager/resources.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.css +5 -5
- package/dist/collection/components/tip-manager/tip-manager.e2e.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.spec.js +1 -1
- package/dist/collection/components/tooltip/TooltipManager.js +1 -1
- package/dist/collection/components/tooltip/resources.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +5 -5
- package/dist/collection/components/tooltip/tooltip.e2e.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tooltip/utils.js +1 -1
- package/dist/collection/components/tree/tree.css +5 -5
- package/dist/collection/components/tree/tree.e2e.js +1 -1
- package/dist/collection/components/tree/tree.js +1 -1
- package/dist/collection/components/tree/utils.js +1 -1
- package/dist/collection/components/tree-item/resources.js +1 -1
- package/dist/collection/components/tree-item/tree-item.css +5 -5
- package/dist/collection/components/tree-item/tree-item.e2e.js +1 -1
- package/dist/collection/components/tree-item/tree-item.js +1 -1
- 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.css +5 -5
- package/dist/collection/components/value-list/value-list.e2e.js +1 -1
- package/dist/collection/components/value-list/value-list.js +1 -1
- package/dist/collection/components/value-list-item/resources.js +1 -1
- package/dist/collection/components/value-list-item/value-list-item.css +5 -5
- package/dist/collection/components/value-list-item/value-list-item.e2e.js +1 -1
- package/dist/collection/components/value-list-item/value-list-item.js +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/tests/commonTests.js +85 -6
- package/dist/collection/tests/commonTests.js.map +1 -1
- package/dist/collection/tests/utils.js +1 -1
- package/dist/collection/utils/array.js +1 -1
- package/dist/collection/utils/browser.js +1 -1
- package/dist/collection/utils/component.js +1 -1
- package/dist/collection/utils/component.spec.js +1 -1
- package/dist/collection/utils/conditionalSlot.js +1 -1
- package/dist/collection/utils/config.js +1 -1
- package/dist/collection/utils/config.spec.js +1 -1
- package/dist/collection/utils/date.js +1 -1
- package/dist/collection/utils/date.spec.js +1 -1
- package/dist/collection/utils/dom.e2e.js +1 -1
- package/dist/collection/utils/dom.js +1 -1
- package/dist/collection/utils/dom.spec.js +1 -1
- package/dist/collection/utils/filter.js +1 -1
- package/dist/collection/utils/floating-ui.js +1 -1
- package/dist/collection/utils/floating-ui.spec.js +1 -1
- package/dist/collection/utils/focusTrapComponent.js +1 -1
- package/dist/collection/utils/focusTrapComponent.spec.js +1 -1
- package/dist/collection/utils/form.js +29 -9
- package/dist/collection/utils/form.js.map +1 -1
- package/dist/collection/utils/form.spec.js +1 -1
- package/dist/collection/utils/globalScript.js +1 -1
- package/dist/collection/utils/guid.js +1 -1
- package/dist/collection/utils/guid.spec.js +1 -1
- package/dist/collection/utils/interactive.js +1 -1
- package/dist/collection/utils/interactive.spec.js +1 -1
- package/dist/collection/utils/key.js +1 -1
- package/dist/collection/utils/label.js +1 -1
- package/dist/collection/utils/label.spec.js +1 -1
- package/dist/collection/utils/loadable.js +1 -1
- package/dist/collection/utils/loadable.spec.js +1 -1
- package/dist/collection/utils/locale.js +1 -1
- package/dist/collection/utils/locale.spec.js +1 -1
- package/dist/collection/utils/math.js +1 -1
- package/dist/collection/utils/math.spec.js +1 -1
- package/dist/collection/utils/mode.js +1 -1
- package/dist/collection/utils/number.js +1 -1
- package/dist/collection/utils/number.spec.js +1 -1
- package/dist/collection/utils/observers.js +1 -1
- package/dist/collection/utils/openCloseComponent.js +1 -1
- package/dist/collection/utils/resources.js +1 -1
- package/dist/collection/utils/responsive.js +1 -1
- package/dist/collection/utils/responsive.spec.js +1 -1
- package/dist/collection/utils/sortableComponent.js +1 -1
- package/dist/collection/utils/t9n.js +1 -1
- package/dist/collection/utils/time.js +1 -1
- package/dist/collection/utils/time.spec.js +1 -1
- package/dist/components/ExpandToggle.js +1 -1
- package/dist/components/FloatingArrow.js +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/Validation.js +1 -1
- package/dist/components/action-group.js +1 -1
- package/dist/components/action-menu.js +1 -1
- package/dist/components/action.js +1 -1
- package/dist/components/ar.js +1 -1
- package/dist/components/array.js +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/bg.js +1 -1
- package/dist/components/bs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/ca.js +1 -1
- package/dist/components/calcite-accordion-item.js +1 -1
- package/dist/components/calcite-accordion.js +1 -1
- package/dist/components/calcite-action-bar.js +1 -1
- 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 +1 -1
- package/dist/components/calcite-action.js +1 -1
- package/dist/components/calcite-alert.js +1 -1
- package/dist/components/calcite-avatar.js +1 -1
- package/dist/components/calcite-block-section.js +1 -1
- package/dist/components/calcite-block.js +1 -1
- package/dist/components/calcite-button.js +1 -1
- package/dist/components/calcite-card.js +1 -1
- package/dist/components/calcite-checkbox.js +1 -1
- package/dist/components/calcite-chip-group.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 +1 -1
- package/dist/components/calcite-combobox-item-group.js +1 -1
- package/dist/components/calcite-combobox-item.js +1 -1
- package/dist/components/calcite-combobox.js +1 -1
- 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 +1 -1
- package/dist/components/calcite-dropdown-item.js +1 -1
- package/dist/components/calcite-dropdown.js +1 -1
- package/dist/components/calcite-fab.js +1 -1
- package/dist/components/calcite-filter.js +1 -1
- package/dist/components/calcite-flow-item.js +1 -1
- package/dist/components/calcite-flow.js +1 -1
- 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 +1 -1
- package/dist/components/calcite-input-date-picker.js +1 -1
- package/dist/components/calcite-input-message.js +1 -1
- package/dist/components/calcite-input-number.js +1 -1
- package/dist/components/calcite-input-text.js +1 -1
- package/dist/components/calcite-input-time-picker.js +1 -1
- package/dist/components/calcite-input-time-zone.js +1 -1
- 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 +1 -1
- package/dist/components/calcite-list-item.js +1 -1
- package/dist/components/calcite-list.js +1 -1
- package/dist/components/calcite-loader.js +1 -1
- package/dist/components/calcite-menu-item.js +1 -1
- package/dist/components/calcite-menu.js +1 -1
- package/dist/components/calcite-meter.js +1 -1
- package/dist/components/calcite-modal.js +1 -1
- package/dist/components/calcite-navigation-logo.js +1 -1
- package/dist/components/calcite-navigation-user.js +1 -1
- package/dist/components/calcite-navigation.js +1 -1
- package/dist/components/calcite-notice.js +1 -1
- package/dist/components/calcite-option-group.js +1 -1
- package/dist/components/calcite-option.js +1 -1
- package/dist/components/calcite-pagination.js +1 -1
- package/dist/components/calcite-panel.js +1 -1
- package/dist/components/calcite-pick-list-group.js +1 -1
- package/dist/components/calcite-pick-list-item.js +1 -1
- package/dist/components/calcite-pick-list.js +1 -1
- package/dist/components/calcite-popover.js +1 -1
- package/dist/components/calcite-progress.js +1 -1
- package/dist/components/calcite-radio-button-group.js +1 -1
- package/dist/components/calcite-radio-button.js +1 -1
- package/dist/components/calcite-rating.js +1 -1
- package/dist/components/calcite-scrim.js +1 -1
- package/dist/components/calcite-segmented-control-item.js +1 -1
- package/dist/components/calcite-segmented-control.js +1 -1
- package/dist/components/calcite-select.js +1 -1
- package/dist/components/calcite-sheet.js +1 -1
- package/dist/components/calcite-shell-center-row.js +1 -1
- package/dist/components/calcite-shell-panel.js +1 -1
- package/dist/components/calcite-shell.js +1 -1
- package/dist/components/calcite-slider.js +1 -1
- package/dist/components/calcite-sortable-list.js +1 -1
- package/dist/components/calcite-split-button.js +1 -1
- package/dist/components/calcite-stack.js +1 -1
- package/dist/components/calcite-stepper-item.js +1 -1
- package/dist/components/calcite-stepper.js +1 -1
- 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-table-cell.js +1 -1
- package/dist/components/calcite-table-header.js +1 -1
- package/dist/components/calcite-table-row.js +1 -1
- package/dist/components/calcite-table.js +1 -1
- package/dist/components/calcite-tabs.js +1 -1
- package/dist/components/calcite-text-area.js +1 -1
- package/dist/components/calcite-tile-select-group.js +1 -1
- package/dist/components/calcite-tile-select.js +1 -1
- package/dist/components/calcite-tile.js +1 -1
- package/dist/components/calcite-time-picker.js +1 -1
- package/dist/components/calcite-tip-group.js +1 -1
- package/dist/components/calcite-tip-manager.js +1 -1
- package/dist/components/calcite-tip.js +1 -1
- package/dist/components/calcite-tooltip.js +1 -1
- package/dist/components/calcite-tree-item.js +1 -1
- package/dist/components/calcite-tree.js +1 -1
- package/dist/components/calcite-value-list-item.js +1 -1
- package/dist/components/calcite-value-list.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/chip.js +1 -1
- package/dist/components/color-picker-hex-input.js +1 -1
- package/dist/components/color-picker-swatch.js +1 -1
- package/dist/components/combobox-item.js +1 -1
- package/dist/components/combobox.js +2 -2
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/conditionalSlot.js +1 -1
- package/dist/components/cs.js +1 -1
- package/dist/components/da.js +1 -1
- package/dist/components/date-picker-day.js +1 -1
- package/dist/components/date-picker-month-header.js +1 -1
- package/dist/components/date-picker-month.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date.js +1 -1
- package/dist/components/de-at.js +1 -1
- package/dist/components/de-ch.js +1 -1
- package/dist/components/de.js +1 -1
- package/dist/components/debounce.js +1 -1
- package/dist/components/dom.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/el.js +1 -1
- package/dist/components/en-au.js +1 -1
- package/dist/components/en-ca.js +1 -1
- package/dist/components/en-gb.js +1 -1
- package/dist/components/es-mx.js +1 -1
- package/dist/components/es.js +1 -1
- package/dist/components/et.js +1 -1
- package/dist/components/fi.js +1 -1
- package/dist/components/filter.js +1 -1
- package/dist/components/filter2.js +1 -1
- package/dist/components/floating-ui.js +1 -1
- package/dist/components/focusTrapComponent.js +1 -1
- package/dist/components/form.js +29 -9
- package/dist/components/form.js.map +1 -1
- package/dist/components/fr-ch.js +1 -1
- package/dist/components/fr.js +1 -1
- package/dist/components/graph.js +1 -1
- package/dist/components/guid.js +1 -1
- package/dist/components/handle.js +1 -1
- package/dist/components/he.js +1 -1
- package/dist/components/hi.js +1 -1
- package/dist/components/hr.js +1 -1
- package/dist/components/hu.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/id.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index3.js +1 -1
- package/dist/components/index4.js +1 -1
- package/dist/components/input-message.js +1 -1
- package/dist/components/input-number.js +1 -1
- package/dist/components/input-text.js +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/interactive.js +1 -1
- package/dist/components/it-ch.js +1 -1
- package/dist/components/it.js +1 -1
- package/dist/components/ja.js +1 -1
- package/dist/components/key.js +1 -1
- package/dist/components/ko.js +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label2.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/loadable.js +1 -1
- package/dist/components/loader.js +1 -1
- package/dist/components/locale.js +1 -1
- package/dist/components/lt.js +1 -1
- package/dist/components/lv.js +1 -1
- package/dist/components/math.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/mk.js +1 -1
- package/dist/components/nb.js +1 -1
- package/dist/components/nl.js +1 -1
- package/dist/components/observers.js +1 -1
- package/dist/components/openCloseComponent.js +1 -1
- package/dist/components/pagination.js +2 -2
- package/dist/components/pagination.js.map +1 -1
- package/dist/components/panel.js +1 -1
- package/dist/components/pick-list-item.js +1 -1
- package/dist/components/pl.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/pt-br.js +1 -1
- package/dist/components/pt.js +1 -1
- package/dist/components/radio-button.js +1 -1
- package/dist/components/resources.js +1 -1
- package/dist/components/resources2.js +1 -1
- package/dist/components/resources3.js +1 -1
- package/dist/components/resources4.js +1 -1
- package/dist/components/resources5.js +1 -1
- package/dist/components/ro.js +1 -1
- package/dist/components/ru.js +1 -1
- package/dist/components/scrim.js +1 -1
- package/dist/components/shared-list-render.js +1 -1
- package/dist/components/sk.js +1 -1
- package/dist/components/sl.js +1 -1
- package/dist/components/sortableComponent.js +1 -1
- package/dist/components/sr.js +1 -1
- package/dist/components/stack.js +1 -1
- package/dist/components/sv.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/t9n.js +1 -1
- package/dist/components/tab-nav.js +1 -1
- package/dist/components/tab-title.js +1 -1
- package/dist/components/tab.js +1 -1
- package/dist/components/table-cell.js +1 -1
- package/dist/components/table-header.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/th.js +1 -1
- package/dist/components/throttle.js +1 -1
- package/dist/components/time-picker.js +1 -1
- package/dist/components/tr.js +1 -1
- package/dist/components/uk.js +1 -1
- package/dist/components/utils.js +1 -1
- package/dist/components/utils2.js +1 -1
- package/dist/components/utils3.js +1 -1
- package/dist/components/vi.js +1 -1
- package/dist/components/zh-cn.js +1 -1
- package/dist/components/zh-hk.js +1 -1
- package/dist/components/zh-tw.js +1 -1
- package/dist/esm/ExpandToggle-3810effb.js +102 -0
- package/dist/esm/ExpandToggle-3810effb.js.map +1 -0
- package/dist/esm/FloatingArrow-e53a2129.js +47 -0
- package/dist/esm/FloatingArrow-e53a2129.js.map +1 -0
- package/dist/esm/Heading-11b44426.js +19 -0
- package/dist/esm/Heading-11b44426.js.map +1 -0
- package/dist/esm/Validation-67e15e5c.js +16 -0
- package/dist/esm/Validation-67e15e5c.js.map +1 -0
- package/dist/esm/app-globals-4152c05e.js +59 -0
- package/dist/esm/app-globals-4152c05e.js.map +1 -0
- package/dist/esm/ar-55bf6805.js +104 -0
- package/dist/esm/ar-55bf6805.js.map +1 -0
- package/dist/esm/array-1c5e5140.js +12 -0
- package/dist/esm/array-1c5e5140.js.map +1 -0
- package/dist/esm/bg-dd3894db.js +82 -0
- package/dist/esm/bg-dd3894db.js.map +1 -0
- package/dist/esm/browser-df09b947.js +18 -0
- package/dist/esm/browser-df09b947.js.map +1 -0
- package/dist/esm/bs-ea2c718f.js +51 -0
- package/dist/esm/bs-ea2c718f.js.map +1 -0
- package/dist/esm/ca-e09992d8.js +71 -0
- package/dist/esm/ca-e09992d8.js.map +1 -0
- package/dist/esm/calcite-accordion_2.entry.js +8 -8
- package/dist/esm/calcite-action-bar.entry.js +15 -15
- package/dist/esm/calcite-action-group.entry.js +13 -13
- package/dist/esm/calcite-action-menu.entry.js +9 -9
- package/dist/esm/calcite-action-pad.entry.js +14 -14
- package/dist/esm/calcite-action.entry.js +13 -13
- package/dist/esm/calcite-alert.entry.js +13 -13
- package/dist/esm/calcite-avatar.entry.js +6 -6
- package/dist/esm/calcite-block_2.entry.js +15 -15
- package/dist/esm/calcite-button.entry.js +15 -15
- package/dist/esm/calcite-card.entry.js +10 -10
- package/dist/esm/calcite-checkbox.entry.js +12 -12
- package/dist/esm/calcite-chip-group.entry.js +9 -9
- package/dist/esm/calcite-chip.entry.js +14 -14
- package/dist/esm/calcite-color-picker_3.entry.js +16 -16
- package/dist/esm/calcite-combobox_3.entry.js +22 -22
- package/dist/esm/calcite-combobox_3.entry.js.map +1 -1
- package/dist/esm/calcite-date-picker_4.entry.js +15 -15
- package/dist/esm/calcite-dropdown_3.entry.js +14 -14
- package/dist/esm/calcite-fab.entry.js +8 -8
- package/dist/esm/calcite-filter.entry.js +14 -14
- package/dist/esm/calcite-flow-item.entry.js +13 -13
- package/dist/esm/calcite-flow.entry.js +4 -4
- package/dist/esm/calcite-graph_2.entry.js +15 -15
- package/dist/esm/calcite-handle.entry.js +12 -12
- package/dist/esm/calcite-icon.entry.js +6 -6
- package/dist/esm/calcite-inline-editable.entry.js +14 -14
- package/dist/esm/calcite-input-date-picker.entry.js +21 -21
- package/dist/esm/calcite-input-message.entry.js +5 -5
- package/dist/esm/calcite-input-number.entry.js +16 -16
- package/dist/esm/calcite-input-text.entry.js +16 -16
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-08c42c53.js +2914 -0
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-08c42c53.js.map +1 -0
- package/dist/esm/calcite-input-time-picker_2.entry.js +20 -20
- package/dist/esm/calcite-input-time-zone.entry.js +17 -17
- package/dist/esm/calcite-input.entry.js +16 -16
- package/dist/esm/calcite-label.entry.js +7 -7
- package/dist/esm/calcite-link.entry.js +8 -8
- package/dist/esm/calcite-list_3.entry.js +15 -15
- package/dist/esm/calcite-loader.entry.js +3 -3
- package/dist/esm/calcite-menu_2.entry.js +10 -10
- package/dist/esm/calcite-meter.entry.js +10 -10
- package/dist/esm/calcite-modal.entry.js +14 -14
- package/dist/esm/calcite-navigation_3.entry.js +6 -6
- package/dist/esm/calcite-notice.entry.js +14 -14
- package/dist/esm/calcite-option_3.entry.js +13 -13
- package/dist/esm/calcite-pagination.entry.js +12 -12
- package/dist/esm/calcite-pagination.entry.js.map +1 -1
- package/dist/esm/calcite-panel.entry.js +15 -15
- package/dist/esm/calcite-pick-list_3.entry.js +17 -17
- package/dist/esm/calcite-popover.entry.js +17 -17
- package/dist/esm/calcite-progress.entry.js +5 -5
- package/dist/esm/calcite-radio-button-group.entry.js +5 -5
- package/dist/esm/calcite-radio-button.entry.js +12 -12
- package/dist/esm/calcite-rating.entry.js +15 -15
- package/dist/esm/calcite-scrim.entry.js +9 -9
- package/dist/esm/calcite-segmented-control_2.entry.js +13 -13
- package/dist/esm/calcite-sheet.entry.js +9 -9
- package/dist/esm/calcite-shell_3.entry.js +11 -11
- package/dist/esm/calcite-sortable-list.entry.js +9 -9
- package/dist/esm/calcite-split-button.entry.js +5 -5
- package/dist/esm/calcite-stack.entry.js +6 -6
- package/dist/esm/calcite-stepper_2.entry.js +12 -12
- package/dist/esm/calcite-switch.entry.js +12 -12
- package/dist/esm/calcite-tab_4.entry.js +12 -12
- package/dist/esm/calcite-table-cell_2.entry.js +13 -13
- package/dist/esm/calcite-table-row.entry.js +9 -9
- package/dist/esm/calcite-table.entry.js +11 -11
- package/dist/esm/calcite-text-area.entry.js +18 -18
- package/dist/esm/calcite-tile-select_2.entry.js +6 -6
- package/dist/esm/calcite-tile.entry.js +9 -9
- package/dist/esm/calcite-tip_3.entry.js +11 -11
- package/dist/esm/calcite-tooltip.entry.js +9 -9
- package/dist/esm/calcite-tree_2.entry.js +10 -10
- package/dist/esm/calcite-value-list_2.entry.js +17 -17
- package/dist/esm/calcite.js +5 -5
- package/dist/esm/component-0539431e.js +27 -0
- package/dist/esm/component-0539431e.js.map +1 -0
- package/dist/esm/conditionalSlot-5f792007.js +57 -0
- package/dist/esm/conditionalSlot-5f792007.js.map +1 -0
- package/dist/esm/cs-a0e885ec.js +147 -0
- package/dist/esm/cs-a0e885ec.js.map +1 -0
- package/dist/esm/da-a4ec6339.js +66 -0
- package/dist/esm/da-a4ec6339.js.map +1 -0
- package/dist/esm/de-6eb42a98.js +91 -0
- package/dist/esm/de-6eb42a98.js.map +1 -0
- package/dist/esm/de-at-80e16904.js +90 -0
- package/dist/esm/de-at-80e16904.js.map +1 -0
- package/dist/esm/de-ch-c9f3a5f4.js +90 -0
- package/dist/esm/de-ch-c9f3a5f4.js.map +1 -0
- package/dist/esm/debounce-6853b96e.js +489 -0
- package/dist/esm/debounce-6853b96e.js.map +1 -0
- package/dist/esm/dom-e5f64712.js +1053 -0
- package/dist/esm/dom-e5f64712.js.map +1 -0
- package/dist/esm/el-c5b18675.js +66 -0
- package/dist/esm/el-c5b18675.js.map +1 -0
- package/dist/esm/en-au-8f1484e5.js +66 -0
- package/dist/esm/en-au-8f1484e5.js.map +1 -0
- package/dist/esm/en-ca-fce90580.js +65 -0
- package/dist/esm/en-ca-fce90580.js.map +1 -0
- package/dist/esm/en-gb-2b14b424.js +69 -0
- package/dist/esm/en-gb-2b14b424.js.map +1 -0
- package/dist/esm/es-403a9263.js +66 -0
- package/dist/esm/es-403a9263.js.map +1 -0
- package/dist/esm/es-mx-5b6fc56e.js +65 -0
- package/dist/esm/es-mx-5b6fc56e.js.map +1 -0
- package/dist/esm/et-030ba87f.js +92 -0
- package/dist/esm/et-030ba87f.js.map +1 -0
- package/dist/esm/fi-b0ab1580.js +115 -0
- package/dist/esm/fi-b0ab1580.js.map +1 -0
- package/dist/esm/filter-4633a870.js +760 -0
- package/dist/esm/filter-4633a870.js.map +1 -0
- package/dist/esm/floating-ui-101f0321.js +1957 -0
- package/dist/esm/floating-ui-101f0321.js.map +1 -0
- package/dist/esm/focusTrapComponent-d262d8ea.js +1015 -0
- package/dist/esm/focusTrapComponent-d262d8ea.js.map +1 -0
- package/dist/esm/form-e6d220a2.js +324 -0
- package/dist/esm/form-e6d220a2.js.map +1 -0
- package/dist/esm/fr-1a492056.js +68 -0
- package/dist/esm/fr-1a492056.js.map +1 -0
- package/dist/esm/fr-ch-8c47e261.js +66 -0
- package/dist/esm/fr-ch-8c47e261.js.map +1 -0
- package/dist/esm/guid-4f87cd10.js +21 -0
- package/dist/esm/guid-4f87cd10.js.map +1 -0
- package/dist/esm/he-b791bfeb.js +105 -0
- package/dist/esm/he-b791bfeb.js.map +1 -0
- package/dist/esm/hi-f90e5520.js +65 -0
- package/dist/esm/hi-f90e5520.js.map +1 -0
- package/dist/esm/hr-11494043.js +80 -0
- package/dist/esm/hr-11494043.js.map +1 -0
- package/dist/esm/hu-36dfc8eb.js +88 -0
- package/dist/esm/hu-36dfc8eb.js.map +1 -0
- package/dist/esm/id-ae4b2c05.js +66 -0
- package/dist/esm/id-ae4b2c05.js.map +1 -0
- package/dist/esm/index-54140c30.js +2620 -0
- package/dist/esm/index-54140c30.js.map +1 -0
- package/dist/esm/index-b5cf267b.js +206 -0
- package/dist/esm/index-b5cf267b.js.map +1 -0
- package/dist/esm/index-d9046c8f.js +73 -0
- package/dist/esm/index-d9046c8f.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/interactive-9254dd1a.js +136 -0
- package/dist/esm/interactive-9254dd1a.js.map +1 -0
- package/dist/esm/it-b4d84efc.js +66 -0
- package/dist/esm/it-b4d84efc.js.map +1 -0
- package/dist/esm/it-ch-0bba1334.js +66 -0
- package/dist/esm/it-ch-0bba1334.js.map +1 -0
- package/dist/esm/ja-cf5b848e.js +72 -0
- package/dist/esm/ja-cf5b848e.js.map +1 -0
- package/dist/esm/key-c5a2dce5.js +13 -0
- package/dist/esm/key-c5a2dce5.js.map +1 -0
- package/dist/esm/ko-18ae91c3.js +72 -0
- package/dist/esm/ko-18ae91c3.js.map +1 -0
- package/dist/esm/label-4f7be475.js +176 -0
- package/dist/esm/label-4f7be475.js.map +1 -0
- package/dist/esm/loadable-703938ac.js +86 -0
- package/dist/esm/loadable-703938ac.js.map +1 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/locale-b3dd17dc.js +563 -0
- package/dist/esm/locale-b3dd17dc.js.map +1 -0
- package/dist/esm/lt-566c53d5.js +97 -0
- package/dist/esm/lt-566c53d5.js.map +1 -0
- package/dist/esm/lv-2d686712.js +66 -0
- package/dist/esm/lv-2d686712.js.map +1 -0
- package/dist/esm/math-9204a56d.js +51 -0
- package/dist/esm/math-9204a56d.js.map +1 -0
- package/dist/esm/mk-0261f9fe.js +66 -0
- package/dist/esm/mk-0261f9fe.js.map +1 -0
- package/dist/esm/nb-5dcf8d83.js +67 -0
- package/dist/esm/nb-5dcf8d83.js.map +1 -0
- package/dist/esm/nl-bc7f280a.js +67 -0
- package/dist/esm/nl-bc7f280a.js.map +1 -0
- package/dist/esm/observers-339a84bb.js +48 -0
- package/dist/esm/observers-339a84bb.js.map +1 -0
- package/dist/esm/openCloseComponent-de30d208.js +87 -0
- package/dist/esm/openCloseComponent-de30d208.js.map +1 -0
- package/dist/esm/pl-516c0130.js +114 -0
- package/dist/esm/pl-516c0130.js.map +1 -0
- package/dist/esm/pt-38801a89.js +67 -0
- package/dist/esm/pt-38801a89.js.map +1 -0
- package/dist/esm/pt-br-58c13c23.js +65 -0
- package/dist/esm/pt-br-58c13c23.js.map +1 -0
- package/dist/esm/resources-3f0f4ee9.js +387 -0
- package/dist/esm/resources-3f0f4ee9.js.map +1 -0
- package/dist/esm/resources-47bad8e2.js +45 -0
- package/dist/esm/resources-47bad8e2.js.map +1 -0
- package/dist/esm/resources-605689f9.js +23 -0
- package/dist/esm/resources-605689f9.js.map +1 -0
- package/dist/esm/resources-c5611de1.js +25 -0
- package/dist/esm/resources-c5611de1.js.map +1 -0
- package/dist/esm/resources-cea160f3.js +19 -0
- package/dist/esm/resources-cea160f3.js.map +1 -0
- package/dist/esm/resources-da6536ba.js +17 -0
- package/dist/esm/resources-da6536ba.js.map +1 -0
- package/dist/esm/resources-e92e3f84.js +21 -0
- package/dist/esm/resources-e92e3f84.js.map +1 -0
- package/dist/esm/ro-7d401b18.js +66 -0
- package/dist/esm/ro-7d401b18.js.map +1 -0
- package/dist/esm/ru-f76a0c11.js +126 -0
- package/dist/esm/ru-f76a0c11.js.map +1 -0
- package/dist/esm/sk-2e7ba2e0.js +148 -0
- package/dist/esm/sk-2e7ba2e0.js.map +1 -0
- package/dist/esm/sl-baddf04f.js +168 -0
- package/dist/esm/sl-baddf04f.js.map +1 -0
- package/dist/esm/sortableComponent-a920089c.js +2735 -0
- package/dist/esm/sortableComponent-a920089c.js.map +1 -0
- package/dist/esm/sr-32f8aa4d.js +101 -0
- package/dist/esm/sr-32f8aa4d.js.map +1 -0
- package/dist/esm/sv-1c5d7c6d.js +71 -0
- package/dist/esm/sv-1c5d7c6d.js.map +1 -0
- package/dist/esm/t9n-416f93ba.js +92 -0
- package/dist/esm/t9n-416f93ba.js.map +1 -0
- package/dist/esm/th-fa1bc6b6.js +65 -0
- package/dist/esm/th-fa1bc6b6.js.map +1 -0
- package/dist/esm/throttle-c180a249.js +75 -0
- package/dist/esm/throttle-c180a249.js.map +1 -0
- package/dist/esm/tr-2775ebd9.js +66 -0
- package/dist/esm/tr-2775ebd9.js.map +1 -0
- package/dist/esm/uk-731884a9.js +104 -0
- package/dist/esm/uk-731884a9.js.map +1 -0
- package/dist/esm/utils-35e399d8.js +200 -0
- package/dist/esm/utils-35e399d8.js.map +1 -0
- package/dist/esm/utils-7c1d6125.js +289 -0
- package/dist/esm/utils-7c1d6125.js.map +1 -0
- package/dist/esm/vi-86d98c11.js +70 -0
- package/dist/esm/vi-86d98c11.js.map +1 -0
- package/dist/esm/zh-cn-d2fef501.js +94 -0
- package/dist/esm/zh-cn-d2fef501.js.map +1 -0
- package/dist/esm/zh-hk-7f540d06.js +71 -0
- package/dist/esm/zh-hk-7f540d06.js.map +1 -0
- package/dist/esm/zh-tw-0b96e532.js +92 -0
- package/dist/esm/zh-tw-0b96e532.js.map +1 -0
- package/dist/extras/docs-json.json +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 +1 -1
- package/dist/stencil.config.js +1 -1
- package/dist/support/formatting.js +1 -1
- package/dist/support/preact.js +1 -1
- package/dist/tailwind.config.js +1 -1
- package/dist/types/tests/commonTests.d.ts +9 -1
- package/dist/types/utils/form.d.ts +12 -1
- package/hydrate/index.js +31 -11
- package/package.json +4 -5
- package/dist/calcite/p-028cc79f.entry.js +0 -7
- package/dist/calcite/p-066a2b4c.js +0 -7
- package/dist/calcite/p-067d7f21.js +0 -7
- package/dist/calcite/p-07b06f4f.js +0 -7
- package/dist/calcite/p-0861f6a0.js +0 -7
- package/dist/calcite/p-08f2b94a.js +0 -7
- package/dist/calcite/p-0a8b097d.entry.js +0 -7
- package/dist/calcite/p-0acac88b.entry.js +0 -7
- package/dist/calcite/p-0c3ad3bf.js +0 -7
- package/dist/calcite/p-0fd7f8d6.entry.js +0 -7
- package/dist/calcite/p-11f4d427.entry.js +0 -7
- package/dist/calcite/p-136151fc.entry.js +0 -7
- package/dist/calcite/p-13a7f18d.entry.js +0 -7
- package/dist/calcite/p-1531e928.entry.js +0 -7
- package/dist/calcite/p-1b304cfd.js +0 -7
- package/dist/calcite/p-1c200535.entry.js +0 -7
- package/dist/calcite/p-1e0c845c.entry.js +0 -7
- package/dist/calcite/p-1e3da260.js +0 -7
- package/dist/calcite/p-20f3a254.entry.js +0 -7
- package/dist/calcite/p-21a5e355.entry.js +0 -7
- package/dist/calcite/p-21b5f1ec.entry.js +0 -7
- package/dist/calcite/p-22a02be1.js +0 -7
- package/dist/calcite/p-24cf5d6d.js +0 -7
- package/dist/calcite/p-263b31c9.js +0 -7
- package/dist/calcite/p-2a205e6a.js +0 -7
- package/dist/calcite/p-2a4244de.entry.js +0 -7
- package/dist/calcite/p-2efade48.entry.js +0 -7
- package/dist/calcite/p-2fa45363.entry.js +0 -7
- package/dist/calcite/p-306cfee8.js +0 -7
- package/dist/calcite/p-30a40f99.js +0 -7
- package/dist/calcite/p-31824784.entry.js +0 -7
- package/dist/calcite/p-31824784.entry.js.map +0 -1
- package/dist/calcite/p-318b2766.js +0 -7
- package/dist/calcite/p-31d5878e.js +0 -7
- package/dist/calcite/p-33eec4ca.js +0 -7
- package/dist/calcite/p-3676419a.entry.js +0 -7
- package/dist/calcite/p-36bb99a2.entry.js +0 -7
- package/dist/calcite/p-380f2764.js +0 -7
- package/dist/calcite/p-39a96f9b.js +0 -7
- package/dist/calcite/p-3a89f085.js +0 -7
- package/dist/calcite/p-3a89f085.js.map +0 -1
- package/dist/calcite/p-3b15f6a3.js +0 -7
- package/dist/calcite/p-3b8f7914.js +0 -13
- package/dist/calcite/p-3bc74481.js +0 -7
- package/dist/calcite/p-3c391c77.js +0 -7
- package/dist/calcite/p-3ceff320.entry.js +0 -7
- package/dist/calcite/p-3ceff320.entry.js.map +0 -1
- package/dist/calcite/p-3de4ef19.js +0 -7
- package/dist/calcite/p-4114c95c.js +0 -7
- package/dist/calcite/p-4519b42b.js +0 -7
- package/dist/calcite/p-4543b62c.js +0 -7
- package/dist/calcite/p-46463fec.js +0 -7
- package/dist/calcite/p-47254835.js +0 -7
- package/dist/calcite/p-4a278a68.entry.js +0 -7
- package/dist/calcite/p-4e473efb.entry.js +0 -7
- package/dist/calcite/p-4fd2d616.entry.js +0 -7
- package/dist/calcite/p-50c7eed2.js +0 -7
- package/dist/calcite/p-537703c3.entry.js +0 -7
- package/dist/calcite/p-54ff1b97.entry.js +0 -7
- package/dist/calcite/p-55775302.js +0 -7
- package/dist/calcite/p-5735d697.entry.js +0 -7
- package/dist/calcite/p-5735d697.entry.js.map +0 -1
- package/dist/calcite/p-59aec9fe.js +0 -7
- package/dist/calcite/p-5b887f88.js +0 -7
- package/dist/calcite/p-5c99eac2.entry.js +0 -7
- package/dist/calcite/p-5d025baa.js +0 -7
- package/dist/calcite/p-5df29b60.js +0 -7
- package/dist/calcite/p-5e4861b9.js +0 -7
- package/dist/calcite/p-5ef2c3f1.entry.js +0 -7
- package/dist/calcite/p-670f1847.entry.js +0 -7
- package/dist/calcite/p-68999c52.js +0 -7
- package/dist/calcite/p-6afbcef7.entry.js +0 -7
- package/dist/calcite/p-6afbcef7.entry.js.map +0 -1
- package/dist/calcite/p-6c101058.js +0 -7
- package/dist/calcite/p-6c74536c.entry.js +0 -7
- package/dist/calcite/p-6cb3d749.js +0 -7
- package/dist/calcite/p-6e50580d.js +0 -7
- package/dist/calcite/p-71f06577.entry.js +0 -7
- package/dist/calcite/p-725269df.entry.js +0 -7
- package/dist/calcite/p-746edf84.js +0 -7
- package/dist/calcite/p-75a38266.js +0 -7
- package/dist/calcite/p-7926f90b.entry.js +0 -7
- package/dist/calcite/p-7998a7c4.js +0 -7
- package/dist/calcite/p-7c6d4df4.js +0 -7
- package/dist/calcite/p-822d46e9.entry.js +0 -7
- package/dist/calcite/p-83d1d82c.entry.js +0 -7
- package/dist/calcite/p-847fc584.js +0 -7
- package/dist/calcite/p-88a5eb0b.js +0 -7
- package/dist/calcite/p-8aaeb14e.entry.js +0 -7
- package/dist/calcite/p-8aaeb14e.entry.js.map +0 -1
- package/dist/calcite/p-8ac588b3.js +0 -7
- package/dist/calcite/p-8ceabb26.js +0 -11
- package/dist/calcite/p-8f83f9e2.entry.js +0 -7
- package/dist/calcite/p-91322c7d.entry.js +0 -7
- package/dist/calcite/p-91c42279.entry.js +0 -7
- package/dist/calcite/p-92001827.js +0 -7
- package/dist/calcite/p-941cbee0.js +0 -7
- package/dist/calcite/p-96d1ff13.js +0 -7
- package/dist/calcite/p-97e5479c.entry.js +0 -7
- package/dist/calcite/p-99fa5a7a.entry.js +0 -7
- package/dist/calcite/p-9bef7e9b.js +0 -7
- package/dist/calcite/p-9c4afd56.js +0 -7
- package/dist/calcite/p-a3d52285.entry.js +0 -7
- package/dist/calcite/p-a74baa51.entry.js +0 -7
- package/dist/calcite/p-a7cbe6df.entry.js +0 -7
- package/dist/calcite/p-a99eefda.entry.js +0 -7
- package/dist/calcite/p-accfb8c4.entry.js +0 -7
- package/dist/calcite/p-accfb8c4.entry.js.map +0 -1
- package/dist/calcite/p-ad66842e.js +0 -7
- package/dist/calcite/p-add4f1bb.js +0 -7
- package/dist/calcite/p-aef754b4.js +0 -7
- package/dist/calcite/p-af1d986f.js +0 -7
- package/dist/calcite/p-b02fd6a4.js +0 -7
- package/dist/calcite/p-b05bb8ad.js +0 -7
- package/dist/calcite/p-b130cc78.entry.js +0 -7
- package/dist/calcite/p-b2734b45.js +0 -7
- package/dist/calcite/p-b2c9a699.entry.js +0 -7
- package/dist/calcite/p-b3d3311f.js +0 -7
- package/dist/calcite/p-b423e703.entry.js +0 -7
- package/dist/calcite/p-b423e703.entry.js.map +0 -1
- package/dist/calcite/p-b4248c54.js +0 -7
- package/dist/calcite/p-b7074071.entry.js +0 -7
- package/dist/calcite/p-b7727ed9.js +0 -7
- package/dist/calcite/p-b79af268.js +0 -7
- package/dist/calcite/p-b82ea8d0.entry.js +0 -7
- package/dist/calcite/p-bb6939a4.js +0 -7
- package/dist/calcite/p-bd3afab4.js +0 -7
- package/dist/calcite/p-c02a4518.entry.js +0 -7
- package/dist/calcite/p-c0390de4.js +0 -7
- package/dist/calcite/p-c05c75b1.js +0 -7
- package/dist/calcite/p-c1da76f9.js +0 -7
- package/dist/calcite/p-c1ee3829.entry.js +0 -7
- package/dist/calcite/p-c38c0c3f.js +0 -7
- package/dist/calcite/p-c6ec8cb8.entry.js +0 -7
- package/dist/calcite/p-c8549743.js +0 -7
- package/dist/calcite/p-ca3d1a8c.js +0 -7
- package/dist/calcite/p-cb147cc9.js +0 -7
- package/dist/calcite/p-cd1fb2cb.entry.js +0 -7
- package/dist/calcite/p-cd98bd18.js +0 -7
- package/dist/calcite/p-cfb8da3d.js +0 -7
- package/dist/calcite/p-d27020a0.entry.js +0 -7
- package/dist/calcite/p-d2c7b585.js +0 -7
- package/dist/calcite/p-d37edb73.js +0 -7
- package/dist/calcite/p-dab09d19.entry.js +0 -7
- package/dist/calcite/p-df0ff22d.entry.js +0 -7
- package/dist/calcite/p-dfad2eba.js +0 -7
- package/dist/calcite/p-e0d99da6.js +0 -7
- package/dist/calcite/p-e149724a.entry.js +0 -7
- package/dist/calcite/p-e22d9984.js +0 -7
- package/dist/calcite/p-e77eda84.entry.js +0 -7
- package/dist/calcite/p-e8cdb629.entry.js +0 -7
- package/dist/calcite/p-eb2b0537.entry.js +0 -7
- package/dist/calcite/p-eb5fd4ea.js +0 -7
- package/dist/calcite/p-ebdcde60.entry.js +0 -7
- package/dist/calcite/p-ebed5aa1.entry.js +0 -7
- package/dist/calcite/p-ed15e6ea.js +0 -12
- package/dist/calcite/p-ef743c99.js +0 -7
- package/dist/calcite/p-f3fec07c.js +0 -7
- package/dist/calcite/p-f4367c3c.js +0 -7
- package/dist/calcite/p-f4a4649e.entry.js +0 -7
- package/dist/calcite/p-f575a18c.entry.js +0 -7
- package/dist/calcite/p-f679867c.entry.js +0 -7
- package/dist/calcite/p-f8204b4c.entry.js +0 -7
- package/dist/calcite/p-fa9c179a.js +0 -7
- package/dist/calcite/p-fb6a152b.entry.js +0 -7
- package/dist/calcite/p-fbfddd97.js +0 -8
- package/dist/calcite/p-fd087336.js +0 -7
- package/dist/calcite/p-fe9596bb.entry.js +0 -7
- package/dist/cjs/ExpandToggle-0ad6156a.js +0 -110
- package/dist/cjs/ExpandToggle-0ad6156a.js.map +0 -1
- package/dist/cjs/FloatingArrow-1ec84fe9.js +0 -49
- package/dist/cjs/FloatingArrow-1ec84fe9.js.map +0 -1
- package/dist/cjs/Heading-c1c6b6a9.js +0 -22
- package/dist/cjs/Heading-c1c6b6a9.js.map +0 -1
- package/dist/cjs/Validation-b197cd1c.js +0 -18
- package/dist/cjs/Validation-b197cd1c.js.map +0 -1
- package/dist/cjs/app-globals-aa3b34af.js +0 -61
- package/dist/cjs/app-globals-aa3b34af.js.map +0 -1
- package/dist/cjs/ar-9698693c.js +0 -106
- package/dist/cjs/ar-9698693c.js.map +0 -1
- package/dist/cjs/array-667f63ee.js +0 -14
- package/dist/cjs/array-667f63ee.js.map +0 -1
- package/dist/cjs/bg-954e59a9.js +0 -84
- package/dist/cjs/bg-954e59a9.js.map +0 -1
- package/dist/cjs/browser-ad107666.js +0 -20
- package/dist/cjs/browser-ad107666.js.map +0 -1
- package/dist/cjs/bs-5d2a374c.js +0 -53
- package/dist/cjs/bs-5d2a374c.js.map +0 -1
- package/dist/cjs/ca-3fd90b33.js +0 -73
- package/dist/cjs/ca-3fd90b33.js.map +0 -1
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-ee97d1e1.js +0 -2918
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-ee97d1e1.js.map +0 -1
- package/dist/cjs/component-b7748675.js +0 -30
- package/dist/cjs/component-b7748675.js.map +0 -1
- package/dist/cjs/conditionalSlot-34a75813.js +0 -60
- package/dist/cjs/conditionalSlot-34a75813.js.map +0 -1
- package/dist/cjs/cs-41fdf003.js +0 -149
- package/dist/cjs/cs-41fdf003.js.map +0 -1
- package/dist/cjs/da-7e525794.js +0 -68
- package/dist/cjs/da-7e525794.js.map +0 -1
- package/dist/cjs/de-at-41302891.js +0 -92
- package/dist/cjs/de-at-41302891.js.map +0 -1
- package/dist/cjs/de-c33641af.js +0 -93
- package/dist/cjs/de-c33641af.js.map +0 -1
- package/dist/cjs/de-ch-0ab4d3a2.js +0 -92
- package/dist/cjs/de-ch-0ab4d3a2.js.map +0 -1
- package/dist/cjs/debounce-d71c9b76.js +0 -498
- package/dist/cjs/debounce-d71c9b76.js.map +0 -1
- package/dist/cjs/dom-126a0394.js +0 -1084
- package/dist/cjs/dom-126a0394.js.map +0 -1
- package/dist/cjs/el-8746505d.js +0 -68
- package/dist/cjs/el-8746505d.js.map +0 -1
- package/dist/cjs/en-au-6afc689a.js +0 -68
- package/dist/cjs/en-au-6afc689a.js.map +0 -1
- package/dist/cjs/en-ca-f4da2f6e.js +0 -67
- package/dist/cjs/en-ca-f4da2f6e.js.map +0 -1
- package/dist/cjs/en-gb-7c0e7fd9.js +0 -71
- package/dist/cjs/en-gb-7c0e7fd9.js.map +0 -1
- package/dist/cjs/es-b879f4a2.js +0 -68
- package/dist/cjs/es-b879f4a2.js.map +0 -1
- package/dist/cjs/es-mx-02886958.js +0 -67
- package/dist/cjs/es-mx-02886958.js.map +0 -1
- package/dist/cjs/et-735b84e5.js +0 -94
- package/dist/cjs/et-735b84e5.js.map +0 -1
- package/dist/cjs/fi-29cb377a.js +0 -117
- package/dist/cjs/fi-29cb377a.js.map +0 -1
- package/dist/cjs/filter-1f0ac770.js +0 -762
- package/dist/cjs/filter-1f0ac770.js.map +0 -1
- package/dist/cjs/floating-ui-950261a5.js +0 -1965
- package/dist/cjs/floating-ui-950261a5.js.map +0 -1
- package/dist/cjs/focusTrapComponent-785bc360.js +0 -1020
- package/dist/cjs/focusTrapComponent-785bc360.js.map +0 -1
- package/dist/cjs/form-d3e87808.js +0 -313
- package/dist/cjs/form-d3e87808.js.map +0 -1
- package/dist/cjs/fr-ch-9c479e88.js +0 -68
- package/dist/cjs/fr-ch-9c479e88.js.map +0 -1
- package/dist/cjs/fr-f2fb0ddf.js +0 -70
- package/dist/cjs/fr-f2fb0ddf.js.map +0 -1
- package/dist/cjs/guid-1a028869.js +0 -23
- package/dist/cjs/guid-1a028869.js.map +0 -1
- package/dist/cjs/he-6ab74f73.js +0 -107
- package/dist/cjs/he-6ab74f73.js.map +0 -1
- package/dist/cjs/hi-db2c117b.js +0 -67
- package/dist/cjs/hi-db2c117b.js.map +0 -1
- package/dist/cjs/hr-8e030f26.js +0 -82
- package/dist/cjs/hr-8e030f26.js.map +0 -1
- package/dist/cjs/hu-56e7cb43.js +0 -90
- package/dist/cjs/hu-56e7cb43.js.map +0 -1
- package/dist/cjs/id-d3ba5bdd.js +0 -68
- package/dist/cjs/id-d3ba5bdd.js.map +0 -1
- package/dist/cjs/index-59f48516.js +0 -75
- package/dist/cjs/index-59f48516.js.map +0 -1
- package/dist/cjs/index-dc2985f6.js +0 -208
- package/dist/cjs/index-dc2985f6.js.map +0 -1
- package/dist/cjs/index-f46fafb3.js +0 -2655
- package/dist/cjs/index-f46fafb3.js.map +0 -1
- package/dist/cjs/interactive-f673262e.js +0 -141
- package/dist/cjs/interactive-f673262e.js.map +0 -1
- package/dist/cjs/it-ch-fbeafde9.js +0 -68
- package/dist/cjs/it-ch-fbeafde9.js.map +0 -1
- package/dist/cjs/it-d69f8e3d.js +0 -68
- package/dist/cjs/it-d69f8e3d.js.map +0 -1
- package/dist/cjs/ja-56605f23.js +0 -74
- package/dist/cjs/ja-56605f23.js.map +0 -1
- package/dist/cjs/key-744435da.js +0 -16
- package/dist/cjs/key-744435da.js.map +0 -1
- package/dist/cjs/ko-3a9d2f17.js +0 -74
- package/dist/cjs/ko-3a9d2f17.js.map +0 -1
- package/dist/cjs/label-ee8c8ca9.js +0 -183
- package/dist/cjs/label-ee8c8ca9.js.map +0 -1
- package/dist/cjs/loadable-c22eb606.js +0 -91
- package/dist/cjs/loadable-c22eb606.js.map +0 -1
- package/dist/cjs/locale-30f42ef5.js +0 -576
- package/dist/cjs/locale-30f42ef5.js.map +0 -1
- package/dist/cjs/lt-8bcd716d.js +0 -99
- package/dist/cjs/lt-8bcd716d.js.map +0 -1
- package/dist/cjs/lv-55798224.js +0 -68
- package/dist/cjs/lv-55798224.js.map +0 -1
- package/dist/cjs/math-d937e346.js +0 -57
- package/dist/cjs/math-d937e346.js.map +0 -1
- package/dist/cjs/mk-8626cb06.js +0 -68
- package/dist/cjs/mk-8626cb06.js.map +0 -1
- package/dist/cjs/nb-f7bac58d.js +0 -69
- package/dist/cjs/nb-f7bac58d.js.map +0 -1
- package/dist/cjs/nl-b1880b27.js +0 -69
- package/dist/cjs/nl-b1880b27.js.map +0 -1
- package/dist/cjs/observers-a6a546ef.js +0 -50
- package/dist/cjs/observers-a6a546ef.js.map +0 -1
- package/dist/cjs/openCloseComponent-2d5e2244.js +0 -89
- package/dist/cjs/openCloseComponent-2d5e2244.js.map +0 -1
- package/dist/cjs/pl-8ec36427.js +0 -116
- package/dist/cjs/pl-8ec36427.js.map +0 -1
- package/dist/cjs/pt-2462df4a.js +0 -69
- package/dist/cjs/pt-2462df4a.js.map +0 -1
- package/dist/cjs/pt-br-31068774.js +0 -67
- package/dist/cjs/pt-br-31068774.js.map +0 -1
- package/dist/cjs/resources-135fa426.js +0 -49
- package/dist/cjs/resources-135fa426.js.map +0 -1
- package/dist/cjs/resources-8fabb9ae.js +0 -17
- package/dist/cjs/resources-8fabb9ae.js.map +0 -1
- package/dist/cjs/resources-9083f79c.js +0 -23
- package/dist/cjs/resources-9083f79c.js.map +0 -1
- package/dist/cjs/resources-c1a9f7ab.js +0 -29
- package/dist/cjs/resources-c1a9f7ab.js.map +0 -1
- package/dist/cjs/resources-e71e4f7e.js +0 -26
- package/dist/cjs/resources-e71e4f7e.js.map +0 -1
- package/dist/cjs/resources-e7e56c8b.js +0 -26
- package/dist/cjs/resources-e7e56c8b.js.map +0 -1
- package/dist/cjs/resources-f17278e4.js +0 -414
- package/dist/cjs/resources-f17278e4.js.map +0 -1
- package/dist/cjs/ro-2805d52c.js +0 -68
- package/dist/cjs/ro-2805d52c.js.map +0 -1
- package/dist/cjs/ru-bf3541dc.js +0 -128
- package/dist/cjs/ru-bf3541dc.js.map +0 -1
- package/dist/cjs/sk-f892dab9.js +0 -150
- package/dist/cjs/sk-f892dab9.js.map +0 -1
- package/dist/cjs/sl-6e167bc2.js +0 -170
- package/dist/cjs/sl-6e167bc2.js.map +0 -1
- package/dist/cjs/sortableComponent-599eff74.js +0 -2739
- package/dist/cjs/sortableComponent-599eff74.js.map +0 -1
- package/dist/cjs/sr-e4bc3898.js +0 -103
- package/dist/cjs/sr-e4bc3898.js.map +0 -1
- package/dist/cjs/sv-7815446b.js +0 -73
- package/dist/cjs/sv-7815446b.js.map +0 -1
- package/dist/cjs/t9n-7132dfc3.js +0 -97
- package/dist/cjs/t9n-7132dfc3.js.map +0 -1
- package/dist/cjs/th-0c0df6d8.js +0 -67
- package/dist/cjs/th-0c0df6d8.js.map +0 -1
- package/dist/cjs/throttle-c94f779a.js +0 -77
- package/dist/cjs/throttle-c94f779a.js.map +0 -1
- package/dist/cjs/tr-f2f9535c.js +0 -68
- package/dist/cjs/tr-f2f9535c.js.map +0 -1
- package/dist/cjs/uk-7f9abcba.js +0 -106
- package/dist/cjs/uk-7f9abcba.js.map +0 -1
- package/dist/cjs/utils-0e3ff4bf.js +0 -307
- package/dist/cjs/utils-0e3ff4bf.js.map +0 -1
- package/dist/cjs/utils-81bd8746.js +0 -218
- package/dist/cjs/utils-81bd8746.js.map +0 -1
- package/dist/cjs/vi-9246a2c0.js +0 -72
- package/dist/cjs/vi-9246a2c0.js.map +0 -1
- package/dist/cjs/zh-cn-39ca17e3.js +0 -96
- package/dist/cjs/zh-cn-39ca17e3.js.map +0 -1
- package/dist/cjs/zh-hk-53a43264.js +0 -73
- package/dist/cjs/zh-hk-53a43264.js.map +0 -1
- package/dist/cjs/zh-tw-6d1d39a4.js +0 -94
- package/dist/cjs/zh-tw-6d1d39a4.js.map +0 -1
- package/dist/collection/utils/form.e2e.js +0 -237
- package/dist/collection/utils/form.e2e.js.map +0 -1
- package/dist/esm/ExpandToggle-9a988bbc.js +0 -102
- package/dist/esm/ExpandToggle-9a988bbc.js.map +0 -1
- package/dist/esm/FloatingArrow-618b271b.js +0 -47
- package/dist/esm/FloatingArrow-618b271b.js.map +0 -1
- package/dist/esm/Heading-bbda62ef.js +0 -19
- package/dist/esm/Heading-bbda62ef.js.map +0 -1
- package/dist/esm/Validation-751c8bf0.js +0 -16
- package/dist/esm/Validation-751c8bf0.js.map +0 -1
- package/dist/esm/app-globals-5b727ec9.js +0 -59
- package/dist/esm/app-globals-5b727ec9.js.map +0 -1
- package/dist/esm/ar-79141e15.js +0 -104
- package/dist/esm/ar-79141e15.js.map +0 -1
- package/dist/esm/array-4cc3ff84.js +0 -12
- package/dist/esm/array-4cc3ff84.js.map +0 -1
- package/dist/esm/bg-b694ff20.js +0 -82
- package/dist/esm/bg-b694ff20.js.map +0 -1
- package/dist/esm/browser-d7d72131.js +0 -18
- package/dist/esm/browser-d7d72131.js.map +0 -1
- package/dist/esm/bs-c1298399.js +0 -51
- package/dist/esm/bs-c1298399.js.map +0 -1
- package/dist/esm/ca-580c2e14.js +0 -71
- package/dist/esm/ca-580c2e14.js.map +0 -1
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-1f2e19f3.js +0 -2914
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-1f2e19f3.js.map +0 -1
- package/dist/esm/component-3d8129e7.js +0 -27
- package/dist/esm/component-3d8129e7.js.map +0 -1
- package/dist/esm/conditionalSlot-6e7dd079.js +0 -57
- package/dist/esm/conditionalSlot-6e7dd079.js.map +0 -1
- package/dist/esm/cs-69e462ec.js +0 -147
- package/dist/esm/cs-69e462ec.js.map +0 -1
- package/dist/esm/da-ef6b5f04.js +0 -66
- package/dist/esm/da-ef6b5f04.js.map +0 -1
- package/dist/esm/de-81531bbd.js +0 -91
- package/dist/esm/de-81531bbd.js.map +0 -1
- package/dist/esm/de-at-5ca28d53.js +0 -90
- package/dist/esm/de-at-5ca28d53.js.map +0 -1
- package/dist/esm/de-ch-328de192.js +0 -90
- package/dist/esm/de-ch-328de192.js.map +0 -1
- package/dist/esm/debounce-8699ed47.js +0 -489
- package/dist/esm/debounce-8699ed47.js.map +0 -1
- package/dist/esm/dom-6326e86a.js +0 -1053
- package/dist/esm/dom-6326e86a.js.map +0 -1
- package/dist/esm/el-5da49d2b.js +0 -66
- package/dist/esm/el-5da49d2b.js.map +0 -1
- package/dist/esm/en-au-c29f1931.js +0 -66
- package/dist/esm/en-au-c29f1931.js.map +0 -1
- package/dist/esm/en-ca-f01ea153.js +0 -65
- package/dist/esm/en-ca-f01ea153.js.map +0 -1
- package/dist/esm/en-gb-c3c87f59.js +0 -69
- package/dist/esm/en-gb-c3c87f59.js.map +0 -1
- package/dist/esm/es-3271d933.js +0 -66
- package/dist/esm/es-3271d933.js.map +0 -1
- package/dist/esm/es-mx-70c49e0b.js +0 -65
- package/dist/esm/es-mx-70c49e0b.js.map +0 -1
- package/dist/esm/et-1383845d.js +0 -92
- package/dist/esm/et-1383845d.js.map +0 -1
- package/dist/esm/fi-8b33a8ec.js +0 -115
- package/dist/esm/fi-8b33a8ec.js.map +0 -1
- package/dist/esm/filter-a3b6f544.js +0 -760
- package/dist/esm/filter-a3b6f544.js.map +0 -1
- package/dist/esm/floating-ui-56cb31f2.js +0 -1957
- package/dist/esm/floating-ui-56cb31f2.js.map +0 -1
- package/dist/esm/focusTrapComponent-c49639e3.js +0 -1015
- package/dist/esm/focusTrapComponent-c49639e3.js.map +0 -1
- package/dist/esm/form-71db3798.js +0 -304
- package/dist/esm/form-71db3798.js.map +0 -1
- package/dist/esm/fr-83846367.js +0 -68
- package/dist/esm/fr-83846367.js.map +0 -1
- package/dist/esm/fr-ch-4fc8224e.js +0 -66
- package/dist/esm/fr-ch-4fc8224e.js.map +0 -1
- package/dist/esm/guid-37cd2f20.js +0 -21
- package/dist/esm/guid-37cd2f20.js.map +0 -1
- package/dist/esm/he-af598193.js +0 -105
- package/dist/esm/he-af598193.js.map +0 -1
- package/dist/esm/hi-05dc9068.js +0 -65
- package/dist/esm/hi-05dc9068.js.map +0 -1
- package/dist/esm/hr-f26732b9.js +0 -80
- package/dist/esm/hr-f26732b9.js.map +0 -1
- package/dist/esm/hu-0d127589.js +0 -88
- package/dist/esm/hu-0d127589.js.map +0 -1
- package/dist/esm/id-17654080.js +0 -66
- package/dist/esm/id-17654080.js.map +0 -1
- package/dist/esm/index-2d65a295.js +0 -206
- package/dist/esm/index-2d65a295.js.map +0 -1
- package/dist/esm/index-b0eb4fce.js +0 -73
- package/dist/esm/index-b0eb4fce.js.map +0 -1
- package/dist/esm/index-dbc0520d.js +0 -2620
- package/dist/esm/index-dbc0520d.js.map +0 -1
- package/dist/esm/interactive-660c276f.js +0 -136
- package/dist/esm/interactive-660c276f.js.map +0 -1
- package/dist/esm/it-48b2de4c.js +0 -66
- package/dist/esm/it-48b2de4c.js.map +0 -1
- package/dist/esm/it-ch-6be0877d.js +0 -66
- package/dist/esm/it-ch-6be0877d.js.map +0 -1
- package/dist/esm/ja-323c34a3.js +0 -72
- package/dist/esm/ja-323c34a3.js.map +0 -1
- package/dist/esm/key-fabbd17f.js +0 -13
- package/dist/esm/key-fabbd17f.js.map +0 -1
- package/dist/esm/ko-2e8789c9.js +0 -72
- package/dist/esm/ko-2e8789c9.js.map +0 -1
- package/dist/esm/label-d9e977d0.js +0 -176
- package/dist/esm/label-d9e977d0.js.map +0 -1
- package/dist/esm/loadable-56b71380.js +0 -86
- package/dist/esm/loadable-56b71380.js.map +0 -1
- package/dist/esm/locale-722a1f1c.js +0 -563
- package/dist/esm/locale-722a1f1c.js.map +0 -1
- package/dist/esm/lt-b16d6124.js +0 -97
- package/dist/esm/lt-b16d6124.js.map +0 -1
- package/dist/esm/lv-f23d9a36.js +0 -66
- package/dist/esm/lv-f23d9a36.js.map +0 -1
- package/dist/esm/math-1eaaee15.js +0 -51
- package/dist/esm/math-1eaaee15.js.map +0 -1
- package/dist/esm/mk-bf77a1a8.js +0 -66
- package/dist/esm/mk-bf77a1a8.js.map +0 -1
- package/dist/esm/nb-7b00c4f2.js +0 -67
- package/dist/esm/nb-7b00c4f2.js.map +0 -1
- package/dist/esm/nl-846322f4.js +0 -67
- package/dist/esm/nl-846322f4.js.map +0 -1
- package/dist/esm/observers-406e8a09.js +0 -48
- package/dist/esm/observers-406e8a09.js.map +0 -1
- package/dist/esm/openCloseComponent-293d1ed4.js +0 -87
- package/dist/esm/openCloseComponent-293d1ed4.js.map +0 -1
- package/dist/esm/pl-3200d6dc.js +0 -114
- package/dist/esm/pl-3200d6dc.js.map +0 -1
- package/dist/esm/pt-540f1384.js +0 -67
- package/dist/esm/pt-540f1384.js.map +0 -1
- package/dist/esm/pt-br-0050b18c.js +0 -65
- package/dist/esm/pt-br-0050b18c.js.map +0 -1
- package/dist/esm/resources-159934f5.js +0 -23
- package/dist/esm/resources-159934f5.js.map +0 -1
- package/dist/esm/resources-39e243d1.js +0 -387
- package/dist/esm/resources-39e243d1.js.map +0 -1
- package/dist/esm/resources-57d35a67.js +0 -45
- package/dist/esm/resources-57d35a67.js.map +0 -1
- package/dist/esm/resources-73d5bb18.js +0 -21
- package/dist/esm/resources-73d5bb18.js.map +0 -1
- package/dist/esm/resources-8216b1ff.js +0 -17
- package/dist/esm/resources-8216b1ff.js.map +0 -1
- package/dist/esm/resources-82af8523.js +0 -25
- package/dist/esm/resources-82af8523.js.map +0 -1
- package/dist/esm/resources-86793667.js +0 -19
- package/dist/esm/resources-86793667.js.map +0 -1
- package/dist/esm/ro-c3fc95d1.js +0 -66
- package/dist/esm/ro-c3fc95d1.js.map +0 -1
- package/dist/esm/ru-a9966bdd.js +0 -126
- package/dist/esm/ru-a9966bdd.js.map +0 -1
- package/dist/esm/sk-83632c8a.js +0 -148
- package/dist/esm/sk-83632c8a.js.map +0 -1
- package/dist/esm/sl-24d21256.js +0 -168
- package/dist/esm/sl-24d21256.js.map +0 -1
- package/dist/esm/sortableComponent-8f288558.js +0 -2735
- package/dist/esm/sortableComponent-8f288558.js.map +0 -1
- package/dist/esm/sr-9805ba91.js +0 -101
- package/dist/esm/sr-9805ba91.js.map +0 -1
- package/dist/esm/sv-f0c05b51.js +0 -71
- package/dist/esm/sv-f0c05b51.js.map +0 -1
- package/dist/esm/t9n-48d740fe.js +0 -92
- package/dist/esm/t9n-48d740fe.js.map +0 -1
- package/dist/esm/th-168dea06.js +0 -65
- package/dist/esm/th-168dea06.js.map +0 -1
- package/dist/esm/throttle-ae8cbcc1.js +0 -75
- package/dist/esm/throttle-ae8cbcc1.js.map +0 -1
- package/dist/esm/tr-6d82816d.js +0 -66
- package/dist/esm/tr-6d82816d.js.map +0 -1
- package/dist/esm/uk-ccca8bef.js +0 -104
- package/dist/esm/uk-ccca8bef.js.map +0 -1
- package/dist/esm/utils-3d8b9d07.js +0 -200
- package/dist/esm/utils-3d8b9d07.js.map +0 -1
- package/dist/esm/utils-dca81eb1.js +0 -289
- package/dist/esm/utils-dca81eb1.js.map +0 -1
- package/dist/esm/vi-6062d292.js +0 -70
- package/dist/esm/vi-6062d292.js.map +0 -1
- package/dist/esm/zh-cn-9ae6473d.js +0 -94
- package/dist/esm/zh-cn-9ae6473d.js.map +0 -1
- package/dist/esm/zh-hk-7a7c9485.js +0 -71
- package/dist/esm/zh-hk-7a7c9485.js.map +0 -1
- package/dist/esm/zh-tw-aa216ba3.js +0 -92
- package/dist/esm/zh-tw-aa216ba3.js.map +0 -1
- package/dist/extras/vscode-data.json +0 -6882
- /package/dist/calcite/{p-9c4afd56.js.map → p-00b33d27.js.map} +0 -0
- /package/dist/calcite/{p-725269df.entry.js.map → p-01223da5.entry.js.map} +0 -0
- /package/dist/calcite/{p-eb2b0537.entry.js.map → p-01ce6c82.entry.js.map} +0 -0
- /package/dist/calcite/{p-028cc79f.entry.js.map → p-0294cb32.entry.js.map} +0 -0
- /package/dist/calcite/{p-5d025baa.js.map → p-041acb71.js.map} +0 -0
- /package/dist/calcite/{p-33eec4ca.js.map → p-082040be.js.map} +0 -0
- /package/dist/calcite/{p-20f3a254.entry.js.map → p-086954cf.entry.js.map} +0 -0
- /package/dist/calcite/{p-1e0c845c.entry.js.map → p-0944eb43.entry.js.map} +0 -0
- /package/dist/calcite/{p-dfad2eba.js.map → p-0d04e387.js.map} +0 -0
- /package/dist/calcite/{p-5e4861b9.js.map → p-0f7d03d1.js.map} +0 -0
- /package/dist/calcite/{p-eb5fd4ea.js.map → p-10acb648.js.map} +0 -0
- /package/dist/calcite/{p-e22d9984.js.map → p-11d4c82a.js.map} +0 -0
- /package/dist/calcite/{p-7998a7c4.js.map → p-128a6263.js.map} +0 -0
- /package/dist/calcite/{p-6c101058.js.map → p-15ec4f27.js.map} +0 -0
- /package/dist/calcite/{p-6cb3d749.js.map → p-15fd0b18.js.map} +0 -0
- /package/dist/calcite/{p-68999c52.js.map → p-20db39dc.js.map} +0 -0
- /package/dist/calcite/{p-cb147cc9.js.map → p-21d84e50.js.map} +0 -0
- /package/dist/calcite/{p-0acac88b.entry.js.map → p-264f4332.entry.js.map} +0 -0
- /package/dist/calcite/{p-c0390de4.js.map → p-26cd3c63.js.map} +0 -0
- /package/dist/calcite/{p-941cbee0.js.map → p-26f7f362.js.map} +0 -0
- /package/dist/calcite/{p-83d1d82c.entry.js.map → p-2b1358dd.entry.js.map} +0 -0
- /package/dist/calcite/{p-1e3da260.js.map → p-2e3e6934.js.map} +0 -0
- /package/dist/calcite/{p-11f4d427.entry.js.map → p-2e8e9118.entry.js.map} +0 -0
- /package/dist/calcite/{p-ebed5aa1.entry.js.map → p-30bc9f81.entry.js.map} +0 -0
- /package/dist/calcite/{p-cfb8da3d.js.map → p-319afb8e.js.map} +0 -0
- /package/dist/calcite/{p-7926f90b.entry.js.map → p-31fd105d.entry.js.map} +0 -0
- /package/dist/calcite/{p-4a278a68.entry.js.map → p-32f0d2e4.entry.js.map} +0 -0
- /package/dist/calcite/{p-847fc584.js.map → p-3328f5ba.js.map} +0 -0
- /package/dist/calcite/{p-b2734b45.js.map → p-3341a34a.js.map} +0 -0
- /package/dist/calcite/{p-d37edb73.js.map → p-341f5dd5.js.map} +0 -0
- /package/dist/calcite/{p-08f2b94a.js.map → p-34a71bdb.js.map} +0 -0
- /package/dist/calcite/{p-2efade48.entry.js.map → p-34feb62c.entry.js.map} +0 -0
- /package/dist/calcite/{p-e0d99da6.js.map → p-351ef8bc.js.map} +0 -0
- /package/dist/calcite/{p-a74baa51.entry.js.map → p-385fabe6.entry.js.map} +0 -0
- /package/dist/calcite/{p-d2c7b585.js.map → p-39613b4f.js.map} +0 -0
- /package/dist/calcite/{p-a99eefda.entry.js.map → p-39d8f5e0.entry.js.map} +0 -0
- /package/dist/calcite/{p-066a2b4c.js.map → p-39e3cd7c.js.map} +0 -0
- /package/dist/calcite/{p-fd087336.js.map → p-3a38726f.js.map} +0 -0
- /package/dist/calcite/{p-21b5f1ec.entry.js.map → p-3c663b9d.entry.js.map} +0 -0
- /package/dist/calcite/{p-ef743c99.js.map → p-3e9ca753.js.map} +0 -0
- /package/dist/calcite/{p-2a4244de.entry.js.map → p-401ec473.entry.js.map} +0 -0
- /package/dist/calcite/{p-e149724a.entry.js.map → p-41c6c9db.entry.js.map} +0 -0
- /package/dist/calcite/{p-537703c3.entry.js.map → p-4598dc66.entry.js.map} +0 -0
- /package/dist/calcite/{p-9bef7e9b.js.map → p-471d1acf.js.map} +0 -0
- /package/dist/calcite/{p-aef754b4.js.map → p-48b5b678.js.map} +0 -0
- /package/dist/calcite/{p-746edf84.js.map → p-49586b62.js.map} +0 -0
- /package/dist/calcite/{p-2fa45363.entry.js.map → p-499adfac.entry.js.map} +0 -0
- /package/dist/calcite/{p-8f83f9e2.entry.js.map → p-4ca318c0.entry.js.map} +0 -0
- /package/dist/calcite/{p-a3d52285.entry.js.map → p-4dd08f5c.entry.js.map} +0 -0
- /package/dist/calcite/{p-30a40f99.js.map → p-4e27599d.js.map} +0 -0
- /package/dist/calcite/{p-31d5878e.js.map → p-50fae575.js.map} +0 -0
- /package/dist/calcite/{p-c1da76f9.js.map → p-541ed8e8.js.map} +0 -0
- /package/dist/calcite/{p-21a5e355.entry.js.map → p-55202d8e.entry.js.map} +0 -0
- /package/dist/calcite/{p-3b15f6a3.js.map → p-566745a9.js.map} +0 -0
- /package/dist/calcite/{p-6c74536c.entry.js.map → p-5723d5de.entry.js.map} +0 -0
- /package/dist/calcite/{p-07b06f4f.js.map → p-582b93a0.js.map} +0 -0
- /package/dist/calcite/{p-f575a18c.entry.js.map → p-5886e529.entry.js.map} +0 -0
- /package/dist/calcite/{p-3de4ef19.js.map → p-58d1332e.js.map} +0 -0
- /package/dist/calcite/{p-4114c95c.js.map → p-5b0d5824.js.map} +0 -0
- /package/dist/calcite/{p-b82ea8d0.entry.js.map → p-5b9f1e26.entry.js.map} +0 -0
- /package/dist/calcite/{p-f679867c.entry.js.map → p-619f6b40.entry.js.map} +0 -0
- /package/dist/calcite/{p-c6ec8cb8.entry.js.map → p-636cae83.entry.js.map} +0 -0
- /package/dist/calcite/{p-c05c75b1.js.map → p-65704e9c.js.map} +0 -0
- /package/dist/calcite/{p-7c6d4df4.js.map → p-6635e3a5.js.map} +0 -0
- /package/dist/calcite/{p-36bb99a2.entry.js.map → p-69628498.entry.js.map} +0 -0
- /package/dist/calcite/{p-b79af268.js.map → p-6b48fd8f.js.map} +0 -0
- /package/dist/calcite/{p-22a02be1.js.map → p-6ca4af5b.js.map} +0 -0
- /package/dist/calcite/{p-4543b62c.js.map → p-72484322.js.map} +0 -0
- /package/dist/calcite/{p-ad66842e.js.map → p-73e108be.js.map} +0 -0
- /package/dist/calcite/{p-d27020a0.entry.js.map → p-7ab6ded4.entry.js.map} +0 -0
- /package/dist/calcite/{p-263b31c9.js.map → p-7bcfca23.js.map} +0 -0
- /package/dist/calcite/{p-bb6939a4.js.map → p-7bd1de8b.js.map} +0 -0
- /package/dist/calcite/{p-cd98bd18.js.map → p-7c6b37cb.js.map} +0 -0
- /package/dist/calcite/{p-8ac588b3.js.map → p-7c9b1cff.js.map} +0 -0
- /package/dist/calcite/{p-df0ff22d.entry.js.map → p-7d4b1849.entry.js.map} +0 -0
- /package/dist/calcite/{p-c38c0c3f.js.map → p-7d650111.js.map} +0 -0
- /package/dist/calcite/{p-4519b42b.js.map → p-7dfa77d1.js.map} +0 -0
- /package/dist/calcite/{p-b130cc78.entry.js.map → p-7f5e15af.entry.js.map} +0 -0
- /package/dist/calcite/{p-822d46e9.entry.js.map → p-810b69a9.entry.js.map} +0 -0
- /package/dist/calcite/{p-50c7eed2.js.map → p-812d4433.js.map} +0 -0
- /package/dist/calcite/{p-fa9c179a.js.map → p-85355ac3.js.map} +0 -0
- /package/dist/calcite/{p-75a38266.js.map → p-88b0202c.js.map} +0 -0
- /package/dist/calcite/{p-55775302.js.map → p-88eda241.js.map} +0 -0
- /package/dist/calcite/{p-c8549743.js.map → p-8dcbfce8.js.map} +0 -0
- /package/dist/calcite/{p-1b304cfd.js.map → p-9223fe05.js.map} +0 -0
- /package/dist/calcite/{p-4fd2d616.entry.js.map → p-92816b80.entry.js.map} +0 -0
- /package/dist/calcite/{p-8ceabb26.js.map → p-9395c02e.js.map} +0 -0
- /package/dist/calcite/{p-e77eda84.entry.js.map → p-958e9564.entry.js.map} +0 -0
- /package/dist/calcite/{p-136151fc.entry.js.map → p-9868153c.entry.js.map} +0 -0
- /package/dist/calcite/{p-13a7f18d.entry.js.map → p-99a20f25.entry.js.map} +0 -0
- /package/dist/calcite/{p-1c200535.entry.js.map → p-9b44500a.entry.js.map} +0 -0
- /package/dist/calcite/{p-59aec9fe.js.map → p-9b4aed37.js.map} +0 -0
- /package/dist/calcite/{p-f3fec07c.js.map → p-9b565b18.js.map} +0 -0
- /package/dist/calcite/{p-067d7f21.js.map → p-9bd3b0b6.js.map} +0 -0
- /package/dist/calcite/{p-670f1847.entry.js.map → p-9bf3339b.entry.js.map} +0 -0
- /package/dist/calcite/{p-318b2766.js.map → p-9e347276.js.map} +0 -0
- /package/dist/calcite/{p-0861f6a0.js.map → p-9f076d48.js.map} +0 -0
- /package/dist/calcite/{p-cd1fb2cb.entry.js.map → p-9fe87a22.entry.js.map} +0 -0
- /package/dist/calcite/{p-fb6a152b.entry.js.map → p-a07af675.entry.js.map} +0 -0
- /package/dist/calcite/{p-f4367c3c.js.map → p-a0ca104b.js.map} +0 -0
- /package/dist/calcite/{p-39a96f9b.js.map → p-a5ff208a.js.map} +0 -0
- /package/dist/calcite/{p-e8cdb629.entry.js.map → p-a63dbb17.entry.js.map} +0 -0
- /package/dist/calcite/{p-2a205e6a.js.map → p-a6687bbe.js.map} +0 -0
- /package/dist/calcite/{p-92001827.js.map → p-a6739f55.js.map} +0 -0
- /package/dist/calcite/{p-b02fd6a4.js.map → p-abbb8e20.js.map} +0 -0
- /package/dist/calcite/{p-1531e928.entry.js.map → p-abc5ea47.entry.js.map} +0 -0
- /package/dist/calcite/{p-5b887f88.js.map → p-aff88591.js.map} +0 -0
- /package/dist/calcite/{p-47254835.js.map → p-b04460b0.js.map} +0 -0
- /package/dist/calcite/{p-b05bb8ad.js.map → p-b06765b5.js.map} +0 -0
- /package/dist/calcite/{p-ebdcde60.entry.js.map → p-b1aeb283.entry.js.map} +0 -0
- /package/dist/calcite/{p-24cf5d6d.js.map → p-b1c541ce.js.map} +0 -0
- /package/dist/calcite/{p-380f2764.js.map → p-b3e72f62.js.map} +0 -0
- /package/dist/calcite/{p-b3d3311f.js.map → p-b4957e5a.js.map} +0 -0
- /package/dist/calcite/{p-c02a4518.entry.js.map → p-ba29ffe7.entry.js.map} +0 -0
- /package/dist/calcite/{p-46463fec.js.map → p-ba4c20f7.js.map} +0 -0
- /package/dist/calcite/{p-b2c9a699.entry.js.map → p-be3588ed.entry.js.map} +0 -0
- /package/dist/calcite/{p-0c3ad3bf.js.map → p-c1905124.js.map} +0 -0
- /package/dist/calcite/{p-f4a4649e.entry.js.map → p-c1f13ffc.entry.js.map} +0 -0
- /package/dist/calcite/{p-add4f1bb.js.map → p-c233af9a.js.map} +0 -0
- /package/dist/calcite/{p-6e50580d.js.map → p-c5a8df34.js.map} +0 -0
- /package/dist/calcite/{p-99fa5a7a.entry.js.map → p-c6fd9a15.entry.js.map} +0 -0
- /package/dist/calcite/{p-3bc74481.js.map → p-c827bdff.js.map} +0 -0
- /package/dist/calcite/{p-dab09d19.entry.js.map → p-cbabb3e9.entry.js.map} +0 -0
- /package/dist/calcite/{p-fbfddd97.js.map → p-cf6c103a.js.map} +0 -0
- /package/dist/calcite/{p-b7727ed9.js.map → p-d3aa19a3.js.map} +0 -0
- /package/dist/calcite/{p-c1ee3829.entry.js.map → p-d4392514.entry.js.map} +0 -0
- /package/dist/calcite/{p-0a8b097d.entry.js.map → p-d55685ca.entry.js.map} +0 -0
- /package/dist/calcite/{p-306cfee8.js.map → p-d5d23c62.js.map} +0 -0
- /package/dist/calcite/{p-ed15e6ea.js.map → p-d6e4ab3a.js.map} +0 -0
- /package/dist/calcite/{p-af1d986f.js.map → p-d746164d.js.map} +0 -0
- /package/dist/calcite/{p-5ef2c3f1.entry.js.map → p-dc0027ba.entry.js.map} +0 -0
- /package/dist/calcite/{p-4e473efb.entry.js.map → p-dc8fb8e4.entry.js.map} +0 -0
- /package/dist/calcite/{p-a7cbe6df.entry.js.map → p-e2c60ff0.entry.js.map} +0 -0
- /package/dist/calcite/{p-b4248c54.js.map → p-e4186f47.js.map} +0 -0
- /package/dist/calcite/{p-3676419a.entry.js.map → p-e4298c9a.entry.js.map} +0 -0
- /package/dist/calcite/{p-bd3afab4.js.map → p-e4736736.js.map} +0 -0
- /package/dist/calcite/{p-0fd7f8d6.entry.js.map → p-e47b629f.entry.js.map} +0 -0
- /package/dist/calcite/{p-5c99eac2.entry.js.map → p-e585713f.entry.js.map} +0 -0
- /package/dist/calcite/{p-97e5479c.entry.js.map → p-e589b26a.entry.js.map} +0 -0
- /package/dist/calcite/{p-88a5eb0b.js.map → p-e6f9f5c1.js.map} +0 -0
- /package/dist/calcite/{p-f8204b4c.entry.js.map → p-eb367998.entry.js.map} +0 -0
- /package/dist/calcite/{p-fe9596bb.entry.js.map → p-ee9909cb.entry.js.map} +0 -0
- /package/dist/calcite/{p-3c391c77.js.map → p-f148f25b.js.map} +0 -0
- /package/dist/calcite/{p-54ff1b97.entry.js.map → p-f23ed287.entry.js.map} +0 -0
- /package/dist/calcite/{p-b7074071.entry.js.map → p-f320c3b0.entry.js.map} +0 -0
- /package/dist/calcite/{p-5df29b60.js.map → p-f42f46c0.js.map} +0 -0
- /package/dist/calcite/{p-ca3d1a8c.js.map → p-f60dd8b1.js.map} +0 -0
- /package/dist/calcite/{p-71f06577.entry.js.map → p-f75bd725.entry.js.map} +0 -0
- /package/dist/calcite/{p-91322c7d.entry.js.map → p-f9d57a45.entry.js.map} +0 -0
- /package/dist/calcite/{p-96d1ff13.js.map → p-fa8aa680.js.map} +0 -0
- /package/dist/calcite/{p-91c42279.entry.js.map → p-fd880023.entry.js.map} +0 -0
- /package/dist/calcite/{p-3b8f7914.js.map → p-fe4db0fa.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonTests.js","sourceRoot":"","sources":["../../../src/tests/commonTests.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jest/no-conditional-expect -- Using conditional logic in a confined test helper to handle specific scenarios, reducing duplication, balancing test readability and maintainability. **/\n/* eslint-disable jest/no-export -- Util functions are now imported to be used as `it` blocks within `describe` instead of assertions within `it` blocks. */\nimport { E2EElement, E2EPage, EventSpy, newE2EPage } from \"@stencil/core/testing\";\nimport axe from \"axe-core\";\nimport { toHaveNoViolations } from \"jest-axe\";\nimport { config } from \"../../stencil.config\";\nimport { html } from \"../../support/formatting\";\nimport type { JSX } from \"../components\";\nimport { hiddenFormInputSlotName } from \"../utils/form\";\nimport { MessageBundle } from \"../utils/t9n\";\nimport {\n GlobalTestProps,\n IntrinsicElementsWithProp,\n isElementFocused,\n newProgrammaticE2EPage,\n skipAnimations,\n} from \"./utils\";\n\nexpect.extend(toHaveNoViolations);\n\ntype ComponentTag = keyof JSX.IntrinsicElements;\ntype AxeOwningWindow = GlobalTestProps<{ axe: typeof axe }>;\ntype ComponentHTML = string;\ntype TagOrHTML = ComponentTag | ComponentHTML;\ntype BeforeContent = (page: E2EPage) => Promise<void>;\n\nexport type TagAndPage = {\n tag: ComponentTag;\n page: E2EPage;\n};\n\ntype TagOrHTMLWithBeforeContent = {\n tagOrHTML: TagOrHTML;\n\n /**\n * Allows for custom setup of the page.\n *\n * This is useful for test helpers that need to create and configure the test page before running tests.\n *\n * @param page\n */\n beforeContent: BeforeContent;\n};\n\nexport const HYDRATED_ATTR = config.hydratedFlag.name;\n\nfunction isHTML(tagOrHTML: string): boolean {\n return tagOrHTML.trim().startsWith(\"<\");\n}\n\nfunction getTag(tagOrHTML: string): ComponentTag {\n if (isHTML(tagOrHTML)) {\n const calciteTagRegex = /<calcite-[a-z0-9-]+/i;\n const trimmedTag = tagOrHTML.trim();\n const calciteTagMatchResult = trimmedTag.match(calciteTagRegex);\n if (calciteTagMatchResult) {\n return calciteTagMatchResult[0].substring(1) as ComponentTag;\n }\n throw new Error(`Could not extract tag from HTML: ${trimmedTag}`);\n }\n\n return tagOrHTML as ComponentTag;\n}\n\nasync function simplePageSetup(componentTagOrHTML: TagOrHTML): Promise<E2EPage> {\n const componentTag = getTag(componentTagOrHTML);\n const page = await newE2EPage({\n html: isHTML(componentTagOrHTML) ? componentTagOrHTML : `<${componentTag}></${componentTag}>`,\n failOnConsoleError: true,\n });\n await page.waitForChanges();\n\n return page;\n}\n\n/**\n * Helper for asserting that a component is accessible.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"accessible\"), () => {\n * accessible(`<calcite-tree></calcite-tree>`);\n * });\n *\n * @param {ComponentTestSetup} componentTestSetup - A component tag, html, or the tag and e2e page for setting up a test\n */\nexport function accessible(componentTestSetup: ComponentTestSetup): void {\n it(\"is accessible\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n\n await page.addScriptTag({ path: require.resolve(\"axe-core\") });\n await page.waitForFunction(() => (window as AxeOwningWindow).axe);\n\n expect(\n await page.evaluate(async (componentTag: ComponentTag) => (window as AxeOwningWindow).axe.run(componentTag), tag),\n ).toHaveNoViolations();\n });\n}\n\n/**\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"renders\", () => {\n * renders(`<calcite-tree></calcite-tree>`);\n * });\n * @param componentTestSetup\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param {object} options - additional options to assert\n * @param {string} options.visible - is the component visible\n * @param {string} options.display - is the component's display \"inline\"\n */\nexport async function renders(\n componentTestSetup: ComponentTestSetup,\n options?: {\n visible?: boolean;\n display: string;\n },\n): Promise<void> {\n it(`renders`, async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n\n expect(element).toHaveAttribute(HYDRATED_ATTR);\n expect(await element.isVisible()).toBe(options?.visible ?? true);\n expect((await element.getComputedStyle()).display).toBe(options?.display ?? \"inline\");\n });\n}\n\n/**\n *\n * Helper for asserting that a component reflects\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"reflects\", () => {\n * reflects(\"calcite-action-bar\", [\n * {\n * propertyName: \"expandDisabled\",\n * value: true\n * },\n * {\n * propertyName: \"expanded\",\n * value: true\n * }\n * ])\n * })\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param componentTestSetup\n * @param {object[]} propsToTest - the properties to test\n * @param {string} propsToTest.propertyName - the property name\n * @param {any} propsToTest.value - the property value (if boolean, needs to be `true` to ensure reflection)\n */\nexport function reflects(\n componentTestSetup: ComponentTestSetup,\n propsToTest: {\n propertyName: string;\n value: any;\n }[],\n): void {\n const cases = propsToTest.map(({ propertyName, value }) => [propertyName, value]);\n\n it.each(cases)(\"%p\", async (propertyName, value) => {\n const { page, tag: componentTag } = await getTagAndPage(componentTestSetup);\n await skipAnimations(page);\n const element = await page.find(componentTag);\n\n const attrName = propToAttr(propertyName);\n const componentAttributeSelector = `${componentTag}[${attrName}]`;\n\n element.setProperty(propertyName, value);\n await page.waitForChanges();\n\n expect(await page.find(componentAttributeSelector)).toBeTruthy();\n\n if (typeof value === \"boolean\") {\n const getExpectedValue = (propValue: boolean): string | null => (propValue ? \"\" : null);\n const negated = !value;\n\n element.setProperty(propertyName, negated);\n await page.waitForChanges();\n\n expect(element.getAttribute(attrName)).toBe(getExpectedValue(negated));\n\n element.setProperty(propertyName, value);\n await page.waitForChanges();\n\n expect(element.getAttribute(attrName)).toBe(getExpectedValue(value));\n }\n });\n}\n\nfunction propToAttr(name: string): string {\n return name.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\n\n/**\n * Helper for asserting that a property's value is its default\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"defaults\", () => {\n * defaults(\"calcite-action\", [\n * {\n * propertyName: \"active\",\n * defaultValue: false\n * },\n * {\n * propertyName: \"appearance\",\n * defaultValue: \"solid\"\n * }\n * ])\n * })\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param componentTestSetup\n * @param {object[]} propsToTest - the properties to test\n * @param {string} propsToTest.propertyName - the property name\n * @param {any} propsToTest.value - the property value\n */\nexport function defaults(\n componentTestSetup: ComponentTestSetup,\n propsToTest: {\n propertyName: string;\n defaultValue: any;\n }[],\n): void {\n it.each(propsToTest.map(({ propertyName, defaultValue }) => [propertyName, defaultValue]))(\n \"%p\",\n async (propertyName, defaultValue) => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n const prop = await element.getProperty(propertyName);\n expect(prop).toEqual(defaultValue);\n },\n );\n}\n\n/**\n * Helper for asserting that a component is not visible when hidden\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * @param componentTestSetup\n * describe(\"honors hidden attribute\", () => {\n * hidden(\"calcite-accordion\")\n * });\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n */\nexport async function hidden(componentTestSetup: ComponentTestSetup): Promise<void> {\n it(\"is hidden\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n\n element.setAttribute(\"hidden\", \"\");\n await page.waitForChanges();\n\n expect(await element.isVisible()).toBe(false);\n });\n}\n\ninterface FocusableOptions {\n /**\n * use this to pass an ID to setFocus()\n *\n * @deprecated components should no longer use a focusId parameter for setFocus()\n */\n focusId?: string;\n\n /**\n * selector used to assert the focused DOM element\n */\n focusTargetSelector?: string;\n\n /**\n * selector used to assert the focused shadow DOM element\n */\n shadowFocusTargetSelector?: string;\n}\n\n/**\n * Helper for asserting that a component is focusable\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"is focusable\", () => {\n * focusable(`calcite-input-number`, { shadowFocusTargetSelector: \"input\" })\n * });\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param componentTestSetup\n * @param {FocusableOptions} [options] - additional options for asserting focus\n */\nexport function focusable(componentTestSetup: ComponentTestSetup, options?: FocusableOptions): void {\n it(\"is focusable\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n const focusTargetSelector = options?.focusTargetSelector || tag;\n await element.callMethod(\"setFocus\", options?.focusId); // assumes element is FocusableElement\n\n if (options?.shadowFocusTargetSelector) {\n expect(\n await page.$eval(\n tag,\n (element: HTMLElement, selector: string) => element.shadowRoot.activeElement?.matches(selector),\n options?.shadowFocusTargetSelector,\n ),\n ).toBe(true);\n }\n\n // wait for next frame before checking focus\n await page.waitForChanges();\n\n expect(await page.evaluate((selector) => document.activeElement?.matches(selector), focusTargetSelector)).toBe(\n true,\n );\n });\n}\n\n/**\n * Helper for asserting slots.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"slots\", () => {\n * slots(\"calcite-stack\", SLOTS)\n * })\n *\n * @param {string} componentTagOrHTML - The component tag or HTML markup to test against.\n * @param {Record<string, string> | string[]} slots - A component's SLOTS resource object or an array of slot names.\n * @param {boolean} includeDefaultSlot - When true, it will run assertions on the default slot.\n */\nexport function slots(\n componentTagOrHTML: TagOrHTML,\n slots: Record<string, string> | string[],\n includeDefaultSlot = false,\n): void {\n it(\"has slots\", async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n const tag = getTag(componentTagOrHTML);\n const slotNames = Array.isArray(slots) ? slots : Object.values(slots);\n\n await page.$eval(\n tag,\n async (component, slotNames: string[], includeDefaultSlot?: boolean) => {\n async function slotTestElement(testClass: string, slotName?: string): Promise<void> {\n const el = document.createElement(\"div\"); // slotting a <div> will suffice for our purposes\n el.classList.add(testClass);\n\n if (slotName) {\n el.slot = slotName;\n }\n\n component.append(el);\n await new Promise<void>((resolve) => requestAnimationFrame(() => resolve()));\n }\n\n for (let i = 0; i < slotNames.length; i++) {\n await slotTestElement(\"slotted-into-named-slot\", slotNames[i]);\n }\n\n if (includeDefaultSlot) {\n await slotTestElement(\"slotted-into-default-slot\");\n }\n },\n slotNames,\n includeDefaultSlot,\n );\n\n await page.waitForChanges();\n\n const slotted = await page.evaluate(() =>\n Array.from(document.querySelectorAll(\".slotted-into-named-slot\"))\n .filter((slotted) => slotted.assignedSlot)\n .map((slotted) => slotted.slot),\n );\n\n expect(slotNames).toEqual(slotted);\n\n if (includeDefaultSlot) {\n const hasDefaultSlotted = await page.evaluate(() => {\n const defaultSlotted = document.querySelector(\".slotted-into-default-slot\");\n return defaultSlotted.assignedSlot?.name === \"\" && defaultSlotted.slot === \"\";\n });\n\n expect(hasDefaultSlotted).toBe(true);\n }\n });\n}\n\nasync function assertLabelable({\n page,\n componentTag,\n propertyToToggle,\n focusTargetSelector = componentTag,\n shadowFocusTargetSelector,\n}: {\n page: E2EPage;\n componentTag: string;\n propertyToToggle?: string;\n focusTargetSelector?: string;\n shadowFocusTargetSelector?: string;\n}): Promise<void> {\n let initialPropertyValue: boolean;\n const component = await page.find(componentTag);\n\n if (propertyToToggle) {\n initialPropertyValue = await component.getProperty(propertyToToggle);\n }\n\n const label = await page.find(\"calcite-label\");\n await label.callMethod(\"click\"); // we call the method to avoid clicking the child element\n await page.waitForChanges();\n\n expect(\n await page.evaluate(\n (focusTargetSelector: string): boolean => !!document.activeElement?.closest(focusTargetSelector),\n focusTargetSelector,\n ),\n ).toBe(true);\n\n if (shadowFocusTargetSelector) {\n expect(\n await page.$eval(\n componentTag,\n (element: HTMLElement, selector: string) => element.shadowRoot.activeElement.matches(selector),\n shadowFocusTargetSelector,\n ),\n ).toBe(true);\n }\n\n if (propertyToToggle) {\n const toggledPropertyValue = !initialPropertyValue;\n expect(await component.getProperty(propertyToToggle)).toBe(toggledPropertyValue);\n\n // assert that direct clicks on component toggle property correctly\n component.setProperty(propertyToToggle, initialPropertyValue); // we reset as not all components toggle when clicked\n await page.waitForChanges();\n await component.click();\n await page.waitForChanges();\n expect(await component.getProperty(propertyToToggle)).toBe(toggledPropertyValue);\n }\n\n // assert clicking on labelable keeps focus\n await component.callMethod(\"click\");\n await page.waitForChanges();\n\n expect(await isElementFocused(page, focusTargetSelector)).toBe(true);\n}\n\ninterface LabelableOptions extends Pick<FocusableOptions, \"focusTargetSelector\" | \"shadowFocusTargetSelector\"> {\n /**\n * If clicking on a label toggles the labelable component, use this prop to specify the name of the toggled prop.\n */\n propertyToToggle?: string;\n}\n\n/**\n * Helper for asserting label clicking functionality works.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"labelable\", () => {\n * async () => labelable(\"calcite-button\")\n * })\n *\n * @param {string} componentTagOrHtml - The component tag or HTML used to test label support.\n * @param {LabelableOptions} [options] - Labelable options.\n */\nexport function labelable(\n componentTagOrHtml: TagOrHTML | TagOrHTMLWithBeforeContent,\n options?: LabelableOptions,\n): void {\n const id = \"labelable-id\";\n const labelTitle = \"My Component\";\n const propertyToToggle = options?.propertyToToggle;\n const focusTargetSelector = options?.focusTargetSelector || `#${id}`;\n const shadowFocusTargetSelector = options?.shadowFocusTargetSelector;\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const componentTag = getTag(tagOrHTML);\n const componentHtml = isHTML(tagOrHTML) ? ensureId(tagOrHTML) : `<${componentTag} id=\"${id}\"></${componentTag}>`;\n\n function ensureId(html: string): string {\n return html.includes(\"id=\") ? html : html.replace(componentTag, `${componentTag} id=\"${id}\" `);\n }\n\n describe(\"label wraps labelables\", () => {\n it(\"is labelable when component is wrapped in a label\", async () => {\n const wrappedHtml = html`<calcite-label>${labelTitle} ${componentHtml}</calcite-label>`;\n const wrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(wrappedPage);\n await wrappedPage.setContent(wrappedHtml);\n await wrappedPage.waitForChanges();\n\n await assertLabelable({\n page: wrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when wrapping label is set prior to component\", async () => {\n const labelFirstWrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(labelFirstWrappedPage);\n await labelFirstWrappedPage.setContent(html`\n <calcite-label></calcite-label>\n <template>${componentHtml}</template>\n `);\n await labelFirstWrappedPage.waitForChanges();\n await labelFirstWrappedPage.evaluate(() => {\n const template = document.querySelector(\"template\");\n const labelEl = document.querySelector(\"calcite-label\");\n\n labelEl.append(template.content.cloneNode(true));\n }, componentHtml);\n await labelFirstWrappedPage.waitForChanges();\n\n await assertLabelable({\n page: labelFirstWrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when a component is set first before being wrapped in a label\", async () => {\n const componentFirstWrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(componentFirstWrappedPage);\n await componentFirstWrappedPage.setContent(componentHtml);\n await componentFirstWrappedPage.waitForChanges();\n await componentFirstWrappedPage.evaluate((id: string) => {\n const componentEl = document.querySelector(`[id='${id}']`);\n const labelEl = document.createElement(\"calcite-label\");\n document.body.append(labelEl);\n labelEl.append(componentEl);\n }, id);\n await componentFirstWrappedPage.waitForChanges();\n\n await assertLabelable({\n page: componentFirstWrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"only sets focus on the first labelable when label is clicked\", async () => {\n const firstLabelableId = `${id}`;\n const componentFirstWrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(componentFirstWrappedPage);\n const content = html`\n <calcite-label>\n <!-- duplicate tags should be fine as assertion uses first match -->\n ${componentHtml.replace(id, firstLabelableId)} ${componentHtml.replace(id, `${id}-2`)}\n ${componentHtml.replace(id, `${id}-3`)}\n </calcite-label>\n `;\n\n await componentFirstWrappedPage.setContent(content);\n await componentFirstWrappedPage.waitForChanges();\n\n const firstLabelableSelector = `#${firstLabelableId}`;\n\n await assertLabelable({\n page: componentFirstWrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector:\n focusTargetSelector === firstLabelableSelector\n ? firstLabelableSelector\n : `${firstLabelableSelector} ${focusTargetSelector}`,\n });\n });\n });\n\n describe(\"label is sibling to labelables\", () => {\n it(\"is labelable with label set as a sibling to the component\", async () => {\n const siblingHtml = html`\n <calcite-label for=\"${id}\">${labelTitle}</calcite-label>\n ${componentHtml}\n `;\n const siblingPage: E2EPage = await newE2EPage();\n beforeContent?.(siblingPage);\n\n await siblingPage.setContent(siblingHtml);\n await siblingPage.waitForChanges();\n\n await assertLabelable({\n page: siblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when sibling label is set prior to component\", async () => {\n const labelFirstSiblingPage: E2EPage = await newE2EPage();\n beforeContent?.(labelFirstSiblingPage);\n await labelFirstSiblingPage.setContent(html`\n <calcite-label for=\"${id}\"></calcite-label>\n <template>${componentHtml}</template>\n `);\n await labelFirstSiblingPage.waitForChanges();\n await labelFirstSiblingPage.evaluate(() => {\n const template = document.querySelector(\"template\");\n document.body.append(template.content.cloneNode(true));\n }, componentHtml);\n await labelFirstSiblingPage.waitForChanges();\n\n await assertLabelable({\n page: labelFirstSiblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable for a component set before sibling label\", async () => {\n const componentFirstSiblingPage: E2EPage = await newE2EPage();\n beforeContent?.(componentFirstSiblingPage);\n await componentFirstSiblingPage.setContent(componentHtml);\n await componentFirstSiblingPage.waitForChanges();\n await componentFirstSiblingPage.evaluate((id: string) => {\n const label = document.createElement(\"calcite-label\");\n label.setAttribute(\"for\", `${id}`);\n document.body.append(label);\n }, id);\n await componentFirstSiblingPage.waitForChanges();\n\n await assertLabelable({\n page: componentFirstSiblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when label's for is set after initialization\", async () => {\n const siblingHtml = html`\n <calcite-label>${labelTitle}</calcite-label>\n ${componentHtml}\n `;\n const siblingPage: E2EPage = await newE2EPage();\n beforeContent?.(siblingPage);\n\n await siblingPage.setContent(siblingHtml);\n await siblingPage.waitForChanges();\n\n const label = await siblingPage.find(\"calcite-label\");\n label.setProperty(\"for\", id);\n await siblingPage.waitForChanges();\n\n await assertLabelable({\n page: siblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n });\n}\n\ninterface FormAssociatedOptions {\n /**\n * This value will be set on the component and submitted by the form.\n */\n testValue: any;\n\n /**\n * Set this if the expected submit value **is different** from stringifying `testValue`. For example, a component may transform an object to a serializable string.\n */\n expectedSubmitValue?: any;\n\n /**\n * Specifies the input type that will be used to capture the value.\n */\n inputType?: HTMLInputElement[\"type\"];\n\n /**\n * Specifies if the component supports submitting the form on Enter key press.\n */\n submitsOnEnter?: boolean;\n\n /**\n * Specifies if the component supports clearing its value (i.e., setting to null).\n */\n clearable?: boolean;\n}\n\n/**\n * Helper for testing form-associated components; specifically form submitting and resetting.\n *\n * Note that this helper should be used within a describe block.\n *\n * @param {string} componentTagOrHtml - the component tag or HTML markup to test against\n * @param {FormAssociatedOptions} options - form associated options\n */\nexport function formAssociated(\n componentTagOrHtml: TagOrHTML | TagOrHTMLWithBeforeContent,\n options: FormAssociatedOptions,\n): void {\n it(\"supports association via ancestry\", () => testAncestorFormAssociated());\n it(\"supports association via form ID\", () => testIdFormAssociated());\n\n async function testAncestorFormAssociated(): Promise<void> {\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const tag = getTag(tagOrHTML);\n const componentHtml = ensureName(isHTML(tagOrHTML) ? tagOrHTML : `<${tag}></${tag}>`, tag);\n\n const page = await newE2EPage();\n await beforeContent?.(page);\n\n const content = html` <form>\n ${componentHtml}\n <!--\n keeping things simple by using submit-type input\n this should cover button and calcite-button submit cases\n -->\n <input id=\"submitter\" type=\"submit\" />\n </form>`;\n await page.setContent(content);\n await page.waitForChanges();\n const component = await page.find(tag);\n\n await assertValueSubmissionType(page, component, options);\n await assertValueResetOnFormReset(page, component, options);\n await assertValueSubmittedOnFormSubmit(page, component, options);\n\n if (options.submitsOnEnter) {\n await assertFormSubmitOnEnter(page, component, options);\n }\n }\n\n async function testIdFormAssociated(): Promise<void> {\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const tag = getTag(tagOrHTML);\n const componentHtml = ensureForm(ensureName(isHTML(tagOrHTML) ? tagOrHTML : `<${tag}></${tag}>`, tag), tag);\n\n const page = await newE2EPage();\n await beforeContent?.(page);\n await page.setContent(\n html` <form id=\"test-form\"></form>\n ${componentHtml}\n <!--\n keeping things simple by using submit-type input\n this should cover button and calcite-button submit cases\n -->\n <input id=\"submitter\" form=\"test-form\" type=\"submit\" />`,\n );\n await page.waitForChanges();\n const component = await page.find(tag);\n\n await assertValueSubmissionType(page, component, options);\n await assertValueResetOnFormReset(page, component, options);\n await assertValueSubmittedOnFormSubmit(page, component, options);\n\n if (options.submitsOnEnter) {\n await assertFormSubmitOnEnter(page, component, options);\n }\n }\n\n function ensureForm(html: string, componentTag: string): string {\n return html.includes(\"form=\") ? html : html.replace(componentTag, `${componentTag} form=\"test-form\" `);\n }\n\n function ensureName(html: string, componentTag: string): string {\n return html.includes(\"name=\") ? html : html.replace(componentTag, `${componentTag} name=\"testName\" `);\n }\n\n async function isCheckable(page: E2EPage, component: E2EElement, options: FormAssociatedOptions): Promise<boolean> {\n return (\n typeof options.testValue === \"boolean\" &&\n (await page.$eval(component.tagName.toLowerCase(), (component) => \"checked\" in component))\n );\n }\n\n function stringifyTestValue(value: any): string | string[] {\n return Array.isArray(value) ? value.map((value) => value.toString()) : value.toString();\n }\n\n async function assertValueSubmissionType(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n const name = await component.getProperty(\"name\");\n const inputType = options.inputType ?? \"text\";\n\n const hiddenFormInputType = await page.evaluate(\n async (inputName: string, hiddenFormInputSlotName: string): Promise<string> => {\n const hiddenFormInput = document.querySelector<HTMLInputElement>(\n `[name=\"${inputName}\"] input[slot=${hiddenFormInputSlotName}]`,\n );\n\n return hiddenFormInput.type;\n },\n name,\n hiddenFormInputSlotName,\n );\n\n if (await isCheckable(page, component, options)) {\n expect(hiddenFormInputType).toMatch(/radio|checkbox/);\n } else {\n expect(hiddenFormInputType).toMatch(inputType);\n }\n }\n\n async function assertValueResetOnFormReset(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n const resettablePropName = (await isCheckable(page, component, options)) ? \"checked\" : \"value\";\n const initialValue = await component.getProperty(resettablePropName);\n component.setProperty(resettablePropName, options.testValue);\n await page.waitForChanges();\n\n await page.$eval(\"form\", (form: HTMLFormElement) => form.reset());\n await page.waitForChanges();\n\n expect(await component.getProperty(resettablePropName)).toBe(initialValue);\n }\n\n async function assertValueSubmittedOnFormSubmit(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n const stringifiedTestValue = stringifyTestValue(options.testValue);\n const name = await component.getProperty(\"name\");\n\n if (await isCheckable(page, component, options)) {\n component.setProperty(\"checked\", true);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(\"on\");\n\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(stringifiedTestValue);\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(null);\n\n component.setProperty(\"checked\", true);\n component.setProperty(\"disabled\", false);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(stringifiedTestValue);\n\n component.setProperty(\"checked\", false);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(null);\n } else {\n if (options.clearable) {\n component.setProperty(\"required\", true);\n component.setProperty(\"value\", null);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(\n options.inputType === \"color\"\n ? // `input[type=\"color\"]` will set its value to #000000 when set to an invalid value\n // see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color#value\n \"#000\"\n : undefined,\n );\n\n component.setProperty(\"required\", false);\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(options?.expectedSubmitValue || stringifiedTestValue);\n }\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(null);\n\n component.setProperty(\"disabled\", false);\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(options?.expectedSubmitValue || stringifiedTestValue);\n\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(options?.expectedSubmitValue || stringifiedTestValue);\n }\n\n type SubmitValueResult = ReturnType<FormData[\"get\"]> | ReturnType<FormData[\"getAll\"] | undefined>;\n\n /**\n * This method will submit the form and return the submitted value:\n *\n * For single-value components, it will return a string or null if the value was not submitted\n * For multi-value components, it will return an array of strings\n *\n * If the input cannot be submitted because it is invalid, undefined will be returned\n */\n async function submitAndGetValue(): Promise<SubmitValueResult> {\n return page.$eval(\n \"form\",\n async (\n form: HTMLFormElement,\n inputName: string,\n hiddenFormInputSlotName: string,\n ): Promise<SubmitValueResult> => {\n const hiddenFormInput = document.querySelector(\n `[name=\"${inputName}\"] input[slot=${hiddenFormInputSlotName}]`,\n );\n\n let resolve: (value: SubmitValueResult) => void;\n const submitPromise = new Promise<SubmitValueResult>((yes) => (resolve = yes));\n\n function handleFormSubmit(event: Event): void {\n event.preventDefault();\n const formData = new FormData(form);\n const values = formData.getAll(inputName);\n\n if (values.length > 1) {\n resolve(values as string[]);\n return;\n }\n\n resolve(formData.get(inputName));\n hiddenFormInput.removeEventListener(\"invalid\", handleInvalidInput);\n }\n\n function handleInvalidInput(): void {\n resolve(undefined);\n form.removeEventListener(\"submit\", handleFormSubmit);\n }\n\n form.addEventListener(\"submit\", handleFormSubmit, { once: true });\n hiddenFormInput.addEventListener(\"invalid\", handleInvalidInput, { once: true });\n\n document.querySelector<HTMLInputElement>(\"#submitter\").click();\n\n return submitPromise;\n },\n name,\n hiddenFormInputSlotName,\n );\n }\n }\n\n async function assertFormSubmitOnEnter(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n type TestWindow = GlobalTestProps<{\n called: boolean;\n }>;\n\n await page.$eval(\"form\", (form: HTMLFormElement) => {\n form.addEventListener(\"submit\", (event) => {\n event.preventDefault();\n (window as TestWindow).called = true;\n });\n });\n\n const stringifiedTestValue = stringifyTestValue(options.testValue);\n\n component.setProperty(\"value\", stringifiedTestValue);\n await component.callMethod(\"setFocus\");\n await page.keyboard.press(\"Enter\");\n const called = await page.evaluate(() => (window as TestWindow).called);\n\n expect(called).toBe(true);\n }\n}\n\ninterface TabAndClickTargets {\n tab: string;\n click: string;\n}\n\ntype FocusTarget = \"host\" | \"child\" | \"none\";\n\ninterface DisabledOptions {\n /**\n * Use this to specify whether the test should cover focusing.\n */\n focusTarget?: FocusTarget | TabAndClickTargets;\n\n /**\n * Use this to specify the main wrapped component in shadow DOM that handles disabling interaction.\n *\n * Note: this should only be used for components that wrap a single component that implements disabled behavior.\n */\n shadowAriaAttributeTargetSelector?: string;\n}\n\ntype ComponentTestContent = TagOrHTML | TagAndPage;\ntype ComponentTestSetupProvider = (() => ComponentTestContent) | (() => Promise<ComponentTestContent>);\ntype ComponentTestSetup = ComponentTestContent | ComponentTestSetupProvider;\n\nasync function getTagAndPage(componentTestSetup: ComponentTestSetup): Promise<TagAndPage> {\n if (typeof componentTestSetup === \"function\") {\n componentTestSetup = await componentTestSetup();\n }\n\n if (typeof componentTestSetup === \"string\") {\n const page = await simplePageSetup(componentTestSetup);\n const tag = getTag(componentTestSetup);\n\n return { page, tag };\n }\n\n return componentTestSetup;\n}\n\nfunction getTagOrHTMLWithBeforeContent(componentTestSetup: TagOrHTML | TagOrHTMLWithBeforeContent): {\n tagOrHTML: TagOrHTML;\n beforeContent?: BeforeContent;\n} {\n if (typeof componentTestSetup === \"string\") {\n return { tagOrHTML: componentTestSetup };\n }\n\n return {\n tagOrHTML: componentTestSetup.tagOrHTML,\n beforeContent: componentTestSetup.beforeContent,\n };\n}\n\n/**\n * Helper to test the disabled prop disabling user interaction.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"disabled\", () => {\n * disabled(\"calcite-input\")\n * });\n *\n * @param {ComponentTestSetup} componentTestSetup - A component tag, html, or the tag and e2e page for setting up a test.\n * @param {DisabledOptions} [options] - Disabled options.\n */\nexport function disabled(componentTestSetup: ComponentTestSetup, options?: DisabledOptions): void {\n options = { focusTarget: \"host\", ...options };\n\n const addRedirectPrevention = async (page: E2EPage, tag: string): Promise<void> => {\n await page.$eval(tag, (el) => {\n el.addEventListener(\n \"click\",\n (event) => {\n const path = event.composedPath() as HTMLElement[];\n const anchor = path.find((el) => el?.tagName === \"A\");\n\n if (anchor) {\n // we prevent the default behavior to avoid a page redirect\n anchor.addEventListener(\"click\", (event) => event.preventDefault(), { once: true });\n }\n },\n true,\n );\n });\n };\n\n async function expectToBeFocused(page: E2EPage, tag: string): Promise<void> {\n const focusedTag = await page.evaluate(() => document.activeElement?.tagName.toLowerCase());\n expect(focusedTag).toBe(tag);\n }\n\n function assertOnMouseAndPointerEvents(spies: EventSpy[], expectCallback: (spy: EventSpy) => void): void {\n for (const spy of spies) {\n expectCallback(spy);\n }\n }\n\n // only testing events from https://github.com/web-platform-tests/wpt/blob/master/html/semantics/disabled-elements/event-propagate-disabled.tentative.html#L66\n const eventsExpectedToBubble = [\"mousemove\", \"pointermove\", \"pointerdown\", \"pointerup\"];\n const eventsExpectedToNotBubble = [\"mousedown\", \"mouseup\", \"click\"];\n const allExpectedEvents = [...eventsExpectedToBubble, ...eventsExpectedToNotBubble];\n\n const createEventSpiesForExpectedEvents = async (component: E2EElement): Promise<EventSpy[]> => {\n const eventSpies: EventSpy[] = [];\n\n for (const event of allExpectedEvents) {\n eventSpies.push(await component.spyOnEvent(event));\n }\n\n return eventSpies;\n };\n\n async function getFocusTarget(page: E2EPage, tag: string, focusTarget: FocusTarget): Promise<string> {\n return focusTarget === \"host\" ? tag : await page.evaluate(() => document.activeElement?.tagName.toLowerCase());\n }\n\n const getTabAndClickFocusTarget = async (\n page: E2EPage,\n tag: string,\n focusTarget: DisabledOptions[\"focusTarget\"],\n ): Promise<string[]> => {\n if (typeof focusTarget === \"object\") {\n return [focusTarget.tab, focusTarget.click];\n }\n\n const sameClickAndTabFocusTarget = await getFocusTarget(page, tag, focusTarget);\n\n return [sameClickAndTabFocusTarget, sameClickAndTabFocusTarget];\n };\n\n const getShadowFocusableCenterCoordinates = async (page: E2EPage, tabFocusTarget: string): Promise<number[]> => {\n return await page.$eval(tabFocusTarget, (element: HTMLElement) => {\n const focusTarget = element.shadowRoot.activeElement || element;\n const rect = focusTarget.getBoundingClientRect();\n\n return [rect.x + rect.width / 2, rect.y + rect.height / 2];\n });\n };\n\n it(\"prevents focusing via keyboard and mouse\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n\n const component = await page.find(tag);\n const ariaAttributeTargetElement = options.shadowAriaAttributeTargetSelector\n ? await page.find(`${tag} >>> ${options.shadowAriaAttributeTargetSelector}`)\n : component;\n await skipAnimations(page);\n await addRedirectPrevention(page, tag);\n\n const eventSpies = await createEventSpiesForExpectedEvents(component);\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBeNull();\n\n if (options.focusTarget === \"none\") {\n await page.click(tag);\n await page.waitForChanges();\n await expectToBeFocused(page, \"body\");\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => expect(spy).toHaveReceivedEventTimes(1));\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBe(\"true\");\n\n await page.click(tag);\n await page.waitForChanges();\n await expectToBeFocused(page, \"body\");\n\n await component.callMethod(\"click\");\n await page.waitForChanges();\n await expectToBeFocused(page, \"body\");\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 2 : 1);\n });\n\n return;\n }\n\n await page.keyboard.press(\"Tab\");\n\n const [tabFocusTarget, clickFocusTarget] = await getTabAndClickFocusTarget(page, tag, options.focusTarget);\n\n expect(tabFocusTarget).not.toBe(\"body\");\n await expectToBeFocused(page, tabFocusTarget);\n\n const [shadowFocusableCenterX, shadowFocusableCenterY] = await getShadowFocusableCenterCoordinates(\n page,\n tabFocusTarget,\n );\n\n async function resetFocusOrder(): Promise<void> {\n // test page has default margin, so clicking on 0,0 will not hit the test element\n await page.mouse.click(0, 0);\n }\n\n await resetFocusOrder();\n await expectToBeFocused(page, \"body\");\n\n await page.mouse.click(shadowFocusableCenterX, shadowFocusableCenterY);\n await page.waitForChanges();\n await expectToBeFocused(page, clickFocusTarget);\n\n await component.callMethod(\"click\");\n await page.waitForChanges();\n await expectToBeFocused(page, clickFocusTarget);\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n if (spy.eventName === \"click\") {\n // some components emit more than one click event (e.g., from calling `click()`),\n // so we check if at least one event is received\n expect(spy.length).toBeGreaterThanOrEqual(2);\n } else {\n expect(spy).toHaveReceivedEventTimes(1);\n }\n });\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBe(\"true\");\n\n await resetFocusOrder();\n await page.keyboard.press(\"Tab\");\n await expectToBeFocused(page, \"body\");\n\n await page.mouse.click(shadowFocusableCenterX, shadowFocusableCenterY);\n await expectToBeFocused(page, \"body\");\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n if (spy.eventName === \"click\") {\n // some components emit more than one click event (e.g., from calling `click()`),\n // so we check if at least one event is received\n expect(spy.length).toBeGreaterThanOrEqual(2);\n } else {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 2 : 1);\n }\n });\n });\n\n it(\"events are no longer blocked right after enabling\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n\n const component = await page.find(tag);\n const ariaAttributeTargetElement = options.shadowAriaAttributeTargetSelector\n ? await page.find(`${tag} >>> ${options.shadowAriaAttributeTargetSelector}`)\n : component;\n\n await skipAnimations(page);\n await addRedirectPrevention(page, tag);\n\n const eventSpies = await createEventSpiesForExpectedEvents(component);\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBe(\"true\");\n\n await page.click(tag);\n await page.waitForChanges();\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 1 : 0);\n });\n\n type InteractiveCalciteComponents = IntrinsicElementsWithProp<\"disabled\"> & HTMLElement;\n\n // this needs to run in the browser context to ensure disabling and events fire immediately after being set\n await page.$eval(\n tag,\n (component: InteractiveCalciteComponents, allExpectedEvents: string[]) => {\n component.disabled = false;\n allExpectedEvents.forEach((event) => component.dispatchEvent(new MouseEvent(event)));\n\n component.disabled = true;\n allExpectedEvents.forEach((event) => component.dispatchEvent(new MouseEvent(event)));\n },\n allExpectedEvents,\n );\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n if (spy.eventName === \"click\") {\n // some components emit more than one click event (e.g., from calling `click()`),\n // so we check if at least one event is received\n expect(spy.length).toBeGreaterThanOrEqual(1);\n } else {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 3 : 1);\n }\n });\n });\n}\n\n/**\n * This helper will test if a floating-ui-owning component has configured the floating-ui correctly.\n * At the moment, this only tests if the scroll event listeners are only active when the floating-ui is displayed.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"owns a floating-ui\", () => {\n * floatingUIOwner(\n * `<calcite-input-date-picker></calcite-input-date-picker>`,\n * \"open\",\n * { shadowSelector: \".menu-container\" }\n * )\n * });\n *\n * @param {TagOrHTML} componentTagOrHTML - The component tag or HTML markup to test against.\n * @param {string} togglePropName - The component property that toggles the floating-ui.\n * @param [options] - additional options for asserting focus\n * @param {string} [options.shadowSelector] - The selector in the shadow DOM for the floating-ui element.\n */\nexport function floatingUIOwner(\n componentTagOrHTML: TagOrHTML,\n togglePropName: string,\n options?: {\n /**\n * Use this to specify the selector in the shadow DOM for the floating-ui element.\n */\n shadowSelector?: string;\n },\n): void {\n it(\"owns a floating-ui\", async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n\n const scrollablePageSizeInPx = 2400;\n await page.addStyleTag({\n content: `body {\n height: ${scrollablePageSizeInPx}px;\n width: ${scrollablePageSizeInPx}px;\n }`,\n });\n await page.waitForChanges();\n\n const tag = getTag(componentTagOrHTML);\n const component = await page.find(tag);\n\n async function getTransform(): Promise<string> {\n // need to get the style attribute from the browser context since the E2E element returns null\n return page.$eval(\n tag,\n (component: HTMLElement, shadowSelector: string): string => {\n const floatingUIEl = shadowSelector\n ? component.shadowRoot.querySelector<HTMLElement>(shadowSelector)\n : component;\n\n return floatingUIEl.getAttribute(\"style\");\n },\n options?.shadowSelector,\n );\n }\n\n async function scrollTo(x: number, y: number): Promise<void> {\n await page.evaluate((x: number, y: number) => document.firstElementChild.scrollTo(x, y), x, y);\n }\n\n component.setProperty(togglePropName, false);\n await page.waitForChanges();\n\n const initialClosedTransform = await getTransform();\n\n await scrollTo(scrollablePageSizeInPx, scrollablePageSizeInPx);\n await page.waitForChanges();\n\n expect(await getTransform()).toBe(initialClosedTransform);\n\n await scrollTo(0, 0);\n await page.waitForChanges();\n\n expect(await getTransform()).toBe(initialClosedTransform);\n\n component.setProperty(togglePropName, true);\n await page.waitForChanges();\n\n const initialOpenTransform = await getTransform();\n\n await scrollTo(scrollablePageSizeInPx, scrollablePageSizeInPx);\n await page.waitForChanges();\n\n expect(await getTransform()).not.toBe(initialOpenTransform);\n\n await scrollTo(0, 0);\n await page.waitForChanges();\n\n expect(await getTransform()).toBe(initialOpenTransform);\n });\n}\n\n/**\n * Helper to test if a component has a floating-UI-owning component wired up.\n *\n * Note: this performs a shallow test and assumes the underlying component has floating-ui properly configured.\n *\n * @example\n * describe(\"delegates to floating-ui-owner component\", () => {\n * delegatesToFloatingUiOwningComponent(\"calcite-pad\", \"calcite-action-group\");\n * });\n *\n * @param componentTagOrHTML\n * @param floatingUiOwnerComponentTag\n */\nexport async function delegatesToFloatingUiOwningComponent(\n componentTagOrHTML: TagOrHTML,\n floatingUiOwnerComponentTag: ComponentTag,\n): Promise<void> {\n it(\"delegates to floating-ui owning component\", async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n const tag = getTag(componentTagOrHTML);\n\n // we assume if `overlay-positioning` is used by an internal component that it is a floating-ui component\n\n const floatingUiOwningComponent = await page.find(`${tag} >>> ${floatingUiOwnerComponentTag}`);\n expect(await floatingUiOwningComponent.getProperty(\"overlayPositioning\")).toBe(\"absolute\");\n\n const component = await page.find(tag);\n await component.setProperty(\"overlayPositioning\", \"fixed\");\n await page.waitForChanges();\n\n expect(await floatingUiOwningComponent.getProperty(\"overlayPositioning\")).toBe(\"fixed\");\n });\n}\n\n/**\n * Helper to test t9n component setup.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"translation support\", () => {\n * t9n(\"calcite-action\");\n * });\n *\n * @param {ComponentTestSetup} componentTestSetup - A component tag, html, or the tag and e2e page for setting up a test.\n */\n\nexport async function t9n(componentTestSetup: ComponentTestSetup): Promise<void> {\n let component: E2EElement;\n let page: E2EPage;\n let getCurrentMessages: () => Promise<MessageBundle>;\n\n beforeEach(async () => {\n const { page: e2ePage, tag } = await getTagAndPage(componentTestSetup);\n page = e2ePage;\n\n type CalciteComponentsWithMessages = IntrinsicElementsWithProp<\"messages\"> & HTMLElement;\n\n component = await page.find(tag);\n getCurrentMessages = async (): Promise<MessageBundle> => {\n return page.$eval(tag, (component: CalciteComponentsWithMessages) => component.messages);\n };\n });\n\n it(\"has defined default messages\", async () => await assertDefaultMessages());\n it(\"overrides messages\", async () => await assertOverrides());\n it(\"switches messages\", async () => await assertLangSwitch());\n\n async function assertDefaultMessages(): Promise<void> {\n expect(await getCurrentMessages()).toBeDefined();\n }\n\n async function assertOverrides(): Promise<void> {\n const messages = await getCurrentMessages();\n const firstMessageProp = Object.keys(messages)[0];\n const messageOverride = { [firstMessageProp]: \"override test\" };\n\n component.setProperty(\"messageOverrides\", messageOverride);\n await page.waitForChanges();\n\n expect(await getCurrentMessages()).toEqual({\n ...messages,\n ...messageOverride,\n });\n\n // reset test changes\n component.setProperty(\"messageOverrides\", undefined);\n await page.waitForChanges();\n }\n\n async function assertLangSwitch(): Promise<void> {\n const enMessages = await getCurrentMessages();\n const fakeBundleIdentifier = \"__fake__\";\n await page.evaluate(\n (enMessages, fakeBundleIdentifier) => {\n const orig = window.fetch;\n window.fetch = async function (input, init) {\n if (typeof input === \"string\" && input.endsWith(\"messages_es.json\")) {\n const fakeEsMessages = {\n ...enMessages, // reuse real message bundle in case component rendering depends on strings\n\n [fakeBundleIdentifier]: true, // we inject a fake identifier for assertion-purposes\n };\n window.fetch = orig;\n return new Response(new Blob([JSON.stringify(fakeEsMessages, null, 2)], { type: \"application/json\" }));\n }\n\n return orig.call(input, init);\n };\n },\n enMessages,\n fakeBundleIdentifier,\n );\n\n component.setAttribute(\"lang\", \"es\");\n await page.waitForChanges();\n await page.waitForTimeout(3000);\n const esMessages = await getCurrentMessages();\n\n expect(esMessages).toHaveProperty(fakeBundleIdentifier);\n\n // reset test changes\n component.removeAttribute(\"lang\");\n await page.waitForChanges();\n }\n}\n\ninterface BeforeToggle {\n /**\n * Function argument to simulate user input (mouse or keyboard), to open the component.\n */\n open: (page: E2EPage) => Promise<void>;\n\n /**\n * Function argument to simulate user input (mouse or keyboard), to close the component.\n */\n close: (page: E2EPage) => Promise<void>;\n}\n\ninterface OpenCloseOptions {\n /**\n * Toggle property to test. Currently, either \"open\" or \"expanded\".\n */\n openPropName?: string;\n\n /**\n * Indicates the initial value of the toggle property.\n */\n initialToggleValue?: boolean;\n\n /**\n * Optional argument with functions to simulate user input (mouse or keyboard), to open or close the component.\n */\n beforeToggle?: BeforeToggle;\n}\n\n/**\n * Helper to test openClose component setup.\n *\n * Note that this helper should be used within a `describe` block.\n *\n * @example\n *\n * describe(\"openClose\", () => {\n * openClose(\"calcite-combobox opened with a tab\", {\n * beforeToggle: {\n * open: async (page) => {\n * await page.keyboard.press(\"Tab\");\n * await page.waitForChanges();\n * },\n * close: async (page) => {\n * await page.keyboard.press(\"Tab\");\n * await page.waitForChanges();\n * },\n * }\n * });\n *\n * openClose(\"open calcite-combobox closed with a tab\", {\n * initialToggleValue: true,\n * beforeToggle: {\n * close: async (page) => {\n * await page.keyboard.press(\"Tab\");\n * await page.waitForChanges();\n * },\n * }\n * }\n * })\n *\n * @param componentTagOrHTML - The component tag or HTML markup to test against.\n * @param {object} [options] - Additional options to assert.\n */\n\nexport function openClose(componentTagOrHTML: TagOrHTML, options?: OpenCloseOptions): void {\n const defaultOptions: OpenCloseOptions = {\n initialToggleValue: false,\n openPropName: \"open\",\n };\n const customizedOptions = { ...defaultOptions, ...options };\n\n type EventOrderWindow = GlobalTestProps<{ events: string[] }>;\n const eventSequence = setUpEventSequence(componentTagOrHTML);\n\n function setUpEventSequence(componentTagOrHTML: TagOrHTML): string[] {\n const tag = getTag(componentTagOrHTML);\n\n const camelCaseTag = tag.replace(/-([a-z])/g, (lettersAfterHyphen) => lettersAfterHyphen[1].toUpperCase());\n const eventSuffixes = [`BeforeOpen`, `Open`, `BeforeClose`, `Close`];\n\n return eventSuffixes.map((suffix) => `${camelCaseTag}${suffix}`);\n }\n\n async function setUpPage(componentTagOrHTML: TagOrHTML, page: E2EPage): Promise<void> {\n await page.evaluate(\n (eventSequence: string[], initialToggleValue: boolean, openPropName: string, componentTagOrHTML: string) => {\n const receivedEvents: string[] = [];\n\n (window as EventOrderWindow).events = receivedEvents;\n\n eventSequence.forEach((eventType) => {\n document.addEventListener(eventType, (event) => receivedEvents.push(event.type));\n });\n\n if (!initialToggleValue) {\n return;\n }\n\n const component = document.createElement(componentTagOrHTML);\n component[openPropName] = true;\n\n document.body.append(component);\n },\n eventSequence,\n customizedOptions.initialToggleValue,\n customizedOptions.openPropName,\n componentTagOrHTML,\n );\n }\n\n async function testOpenCloseEvents(componentTagOrHTML: TagOrHTML, page: E2EPage): Promise<void> {\n const tag = getTag(componentTagOrHTML);\n const element = await page.find(tag);\n\n const [beforeOpenEvent, openEvent, beforeCloseEvent, closeEvent] = eventSequence.map((event) =>\n page.waitForEvent(event),\n );\n\n const [beforeOpenSpy, openSpy, beforeCloseSpy, closeSpy] = await Promise.all(\n eventSequence.map(async (event) => await element.spyOnEvent(event)),\n );\n\n await page.waitForChanges();\n\n if (customizedOptions.beforeToggle) {\n await customizedOptions.beforeToggle.open(page);\n } else {\n element.setProperty(customizedOptions.openPropName, true);\n }\n\n await page.waitForChanges();\n\n await beforeOpenEvent;\n await openEvent;\n\n expect(beforeOpenSpy).toHaveReceivedEventTimes(1);\n expect(openSpy).toHaveReceivedEventTimes(1);\n expect(beforeCloseSpy).toHaveReceivedEventTimes(0);\n expect(closeSpy).toHaveReceivedEventTimes(0);\n\n if (customizedOptions.beforeToggle) {\n await customizedOptions.beforeToggle.close(page);\n } else {\n element.setProperty(customizedOptions.openPropName, false);\n }\n\n await page.waitForChanges();\n\n await beforeCloseEvent;\n await closeEvent;\n\n expect(beforeCloseSpy).toHaveReceivedEventTimes(1);\n expect(closeSpy).toHaveReceivedEventTimes(1);\n expect(beforeOpenSpy).toHaveReceivedEventTimes(1);\n expect(openSpy).toHaveReceivedEventTimes(1);\n\n expect(await page.evaluate(() => (window as EventOrderWindow).events)).toEqual(eventSequence);\n }\n\n /**\n * `skipAnimations` utility sets the animation duration to 0.01. This is a workaround for an issue with the animation utility.\n * Because this still leaves a very small duration, we can still test the animation events, but faster.\n */\n\n if (customizedOptions.initialToggleValue === true) {\n it(\"emits on initialization with animations enabled\", async () => {\n const page = await newProgrammaticE2EPage();\n await skipAnimations(page);\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n\n it(\"emits on initialization with animations disabled\", async () => {\n const page = await newProgrammaticE2EPage();\n await page.addStyleTag({\n content: `:root { --calcite-duration-factor: 0; }`,\n });\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n } else {\n it(`emits with animations enabled`, async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n await skipAnimations(page);\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n\n it(`emits with animations disabled`, async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n await page.addStyleTag({\n content: `:root { --calcite-duration-factor: 0; }`,\n });\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"commonTests.js","sourceRoot":"","sources":["../../../src/tests/commonTests.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jest/no-conditional-expect -- Using conditional logic in a confined test helper to handle specific scenarios, reducing duplication, balancing test readability and maintainability. **/\n/* eslint-disable jest/no-export -- Util functions are now imported to be used as `it` blocks within `describe` instead of assertions within `it` blocks. */\nimport { E2EElement, E2EPage, EventSpy, newE2EPage } from \"@stencil/core/testing\";\nimport axe from \"axe-core\";\nimport { toHaveNoViolations } from \"jest-axe\";\nimport { config } from \"../../stencil.config\";\nimport { html } from \"../../support/formatting\";\nimport type { JSX } from \"../components\";\nimport { getClearValidationEventName, hiddenFormInputSlotName, componentsWithInputEvent } from \"../utils/form\";\nimport { MessageBundle } from \"../utils/t9n\";\nimport {\n GlobalTestProps,\n IntrinsicElementsWithProp,\n isElementFocused,\n newProgrammaticE2EPage,\n skipAnimations,\n} from \"./utils\";\nimport { KeyInput } from \"puppeteer\";\n\nexpect.extend(toHaveNoViolations);\n\ntype ComponentTag = keyof JSX.IntrinsicElements;\ntype AxeOwningWindow = GlobalTestProps<{ axe: typeof axe }>;\ntype ComponentHTML = string;\ntype TagOrHTML = ComponentTag | ComponentHTML;\ntype BeforeContent = (page: E2EPage) => Promise<void>;\n\nexport type TagAndPage = {\n tag: ComponentTag;\n page: E2EPage;\n};\n\ntype TagOrHTMLWithBeforeContent = {\n tagOrHTML: TagOrHTML;\n\n /**\n * Allows for custom setup of the page.\n *\n * This is useful for test helpers that need to create and configure the test page before running tests.\n *\n * @param page\n */\n beforeContent: BeforeContent;\n};\n\nexport const HYDRATED_ATTR = config.hydratedFlag.name;\n\nfunction isHTML(tagOrHTML: string): boolean {\n return tagOrHTML.trim().startsWith(\"<\");\n}\n\nfunction getTag(tagOrHTML: string): ComponentTag {\n if (isHTML(tagOrHTML)) {\n const calciteTagRegex = /<calcite-[a-z0-9-]+/i;\n const trimmedTag = tagOrHTML.trim();\n const calciteTagMatchResult = trimmedTag.match(calciteTagRegex);\n if (calciteTagMatchResult) {\n return calciteTagMatchResult[0].substring(1) as ComponentTag;\n }\n throw new Error(`Could not extract tag from HTML: ${trimmedTag}`);\n }\n\n return tagOrHTML as ComponentTag;\n}\n\nasync function simplePageSetup(componentTagOrHTML: TagOrHTML): Promise<E2EPage> {\n const componentTag = getTag(componentTagOrHTML);\n const page = await newE2EPage({\n html: isHTML(componentTagOrHTML) ? componentTagOrHTML : `<${componentTag}></${componentTag}>`,\n failOnConsoleError: true,\n });\n await page.waitForChanges();\n\n return page;\n}\n\n/**\n * Helper for asserting that a component is accessible.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"accessible\"), () => {\n * accessible(`<calcite-tree></calcite-tree>`);\n * });\n *\n * @param {ComponentTestSetup} componentTestSetup - A component tag, html, or the tag and e2e page for setting up a test\n */\nexport function accessible(componentTestSetup: ComponentTestSetup): void {\n it(\"is accessible\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n\n await page.addScriptTag({ path: require.resolve(\"axe-core\") });\n await page.waitForFunction(() => (window as AxeOwningWindow).axe);\n\n expect(\n await page.evaluate(async (componentTag: ComponentTag) => (window as AxeOwningWindow).axe.run(componentTag), tag),\n ).toHaveNoViolations();\n });\n}\n\n/**\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"renders\", () => {\n * renders(`<calcite-tree></calcite-tree>`);\n * });\n * @param componentTestSetup\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param {object} options - additional options to assert\n * @param {string} options.visible - is the component visible\n * @param {string} options.display - is the component's display \"inline\"\n */\nexport async function renders(\n componentTestSetup: ComponentTestSetup,\n options?: {\n visible?: boolean;\n display: string;\n },\n): Promise<void> {\n it(`renders`, async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n\n expect(element).toHaveAttribute(HYDRATED_ATTR);\n expect(await element.isVisible()).toBe(options?.visible ?? true);\n expect((await element.getComputedStyle()).display).toBe(options?.display ?? \"inline\");\n });\n}\n\n/**\n *\n * Helper for asserting that a component reflects\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"reflects\", () => {\n * reflects(\"calcite-action-bar\", [\n * {\n * propertyName: \"expandDisabled\",\n * value: true\n * },\n * {\n * propertyName: \"expanded\",\n * value: true\n * }\n * ])\n * })\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param componentTestSetup\n * @param {object[]} propsToTest - the properties to test\n * @param {string} propsToTest.propertyName - the property name\n * @param {any} propsToTest.value - the property value (if boolean, needs to be `true` to ensure reflection)\n */\nexport function reflects(\n componentTestSetup: ComponentTestSetup,\n propsToTest: {\n propertyName: string;\n value: any;\n }[],\n): void {\n const cases = propsToTest.map(({ propertyName, value }) => [propertyName, value]);\n\n it.each(cases)(\"%p\", async (propertyName, value) => {\n const { page, tag: componentTag } = await getTagAndPage(componentTestSetup);\n await skipAnimations(page);\n const element = await page.find(componentTag);\n\n const attrName = propToAttr(propertyName);\n const componentAttributeSelector = `${componentTag}[${attrName}]`;\n\n element.setProperty(propertyName, value);\n await page.waitForChanges();\n\n expect(await page.find(componentAttributeSelector)).toBeTruthy();\n\n if (typeof value === \"boolean\") {\n const getExpectedValue = (propValue: boolean): string | null => (propValue ? \"\" : null);\n const negated = !value;\n\n element.setProperty(propertyName, negated);\n await page.waitForChanges();\n\n expect(element.getAttribute(attrName)).toBe(getExpectedValue(negated));\n\n element.setProperty(propertyName, value);\n await page.waitForChanges();\n\n expect(element.getAttribute(attrName)).toBe(getExpectedValue(value));\n }\n });\n}\n\nfunction propToAttr(name: string): string {\n return name.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\n\n/**\n * Helper for asserting that a property's value is its default\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"defaults\", () => {\n * defaults(\"calcite-action\", [\n * {\n * propertyName: \"active\",\n * defaultValue: false\n * },\n * {\n * propertyName: \"appearance\",\n * defaultValue: \"solid\"\n * }\n * ])\n * })\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param componentTestSetup\n * @param {object[]} propsToTest - the properties to test\n * @param {string} propsToTest.propertyName - the property name\n * @param {any} propsToTest.value - the property value\n */\nexport function defaults(\n componentTestSetup: ComponentTestSetup,\n propsToTest: {\n propertyName: string;\n defaultValue: any;\n }[],\n): void {\n it.each(propsToTest.map(({ propertyName, defaultValue }) => [propertyName, defaultValue]))(\n \"%p\",\n async (propertyName, defaultValue) => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n const prop = await element.getProperty(propertyName);\n expect(prop).toEqual(defaultValue);\n },\n );\n}\n\n/**\n * Helper for asserting that a component is not visible when hidden\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * @param componentTestSetup\n * describe(\"honors hidden attribute\", () => {\n * hidden(\"calcite-accordion\")\n * });\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n */\nexport async function hidden(componentTestSetup: ComponentTestSetup): Promise<void> {\n it(\"is hidden\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n\n element.setAttribute(\"hidden\", \"\");\n await page.waitForChanges();\n\n expect(await element.isVisible()).toBe(false);\n });\n}\n\ninterface FocusableOptions {\n /**\n * use this to pass an ID to setFocus()\n *\n * @deprecated components should no longer use a focusId parameter for setFocus()\n */\n focusId?: string;\n\n /**\n * selector used to assert the focused DOM element\n */\n focusTargetSelector?: string;\n\n /**\n * selector used to assert the focused shadow DOM element\n */\n shadowFocusTargetSelector?: string;\n}\n\n/**\n * Helper for asserting that a component is focusable\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"is focusable\", () => {\n * focusable(`calcite-input-number`, { shadowFocusTargetSelector: \"input\" })\n * });\n *\n * @param {string} componentTagOrHTML - the component tag or HTML markup to test against\n * @param componentTestSetup\n * @param {FocusableOptions} [options] - additional options for asserting focus\n */\nexport function focusable(componentTestSetup: ComponentTestSetup, options?: FocusableOptions): void {\n it(\"is focusable\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n const element = await page.find(tag);\n const focusTargetSelector = options?.focusTargetSelector || tag;\n await element.callMethod(\"setFocus\", options?.focusId); // assumes element is FocusableElement\n\n if (options?.shadowFocusTargetSelector) {\n expect(\n await page.$eval(\n tag,\n (element: HTMLElement, selector: string) => element.shadowRoot.activeElement?.matches(selector),\n options?.shadowFocusTargetSelector,\n ),\n ).toBe(true);\n }\n\n // wait for next frame before checking focus\n await page.waitForChanges();\n\n expect(await page.evaluate((selector) => document.activeElement?.matches(selector), focusTargetSelector)).toBe(\n true,\n );\n });\n}\n\n/**\n * Helper for asserting slots.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"slots\", () => {\n * slots(\"calcite-stack\", SLOTS)\n * })\n *\n * @param {string} componentTagOrHTML - The component tag or HTML markup to test against.\n * @param {Record<string, string> | string[]} slots - A component's SLOTS resource object or an array of slot names.\n * @param {boolean} includeDefaultSlot - When true, it will run assertions on the default slot.\n */\nexport function slots(\n componentTagOrHTML: TagOrHTML,\n slots: Record<string, string> | string[],\n includeDefaultSlot = false,\n): void {\n it(\"has slots\", async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n const tag = getTag(componentTagOrHTML);\n const slotNames = Array.isArray(slots) ? slots : Object.values(slots);\n\n await page.$eval(\n tag,\n async (component, slotNames: string[], includeDefaultSlot?: boolean) => {\n async function slotTestElement(testClass: string, slotName?: string): Promise<void> {\n const el = document.createElement(\"div\"); // slotting a <div> will suffice for our purposes\n el.classList.add(testClass);\n\n if (slotName) {\n el.slot = slotName;\n }\n\n component.append(el);\n await new Promise<void>((resolve) => requestAnimationFrame(() => resolve()));\n }\n\n for (let i = 0; i < slotNames.length; i++) {\n await slotTestElement(\"slotted-into-named-slot\", slotNames[i]);\n }\n\n if (includeDefaultSlot) {\n await slotTestElement(\"slotted-into-default-slot\");\n }\n },\n slotNames,\n includeDefaultSlot,\n );\n\n await page.waitForChanges();\n\n const slotted = await page.evaluate(() =>\n Array.from(document.querySelectorAll(\".slotted-into-named-slot\"))\n .filter((slotted) => slotted.assignedSlot)\n .map((slotted) => slotted.slot),\n );\n\n expect(slotNames).toEqual(slotted);\n\n if (includeDefaultSlot) {\n const hasDefaultSlotted = await page.evaluate(() => {\n const defaultSlotted = document.querySelector(\".slotted-into-default-slot\");\n return defaultSlotted.assignedSlot?.name === \"\" && defaultSlotted.slot === \"\";\n });\n\n expect(hasDefaultSlotted).toBe(true);\n }\n });\n}\n\nasync function assertLabelable({\n page,\n componentTag,\n propertyToToggle,\n focusTargetSelector = componentTag,\n shadowFocusTargetSelector,\n}: {\n page: E2EPage;\n componentTag: string;\n propertyToToggle?: string;\n focusTargetSelector?: string;\n shadowFocusTargetSelector?: string;\n}): Promise<void> {\n let initialPropertyValue: boolean;\n const component = await page.find(componentTag);\n\n if (propertyToToggle) {\n initialPropertyValue = await component.getProperty(propertyToToggle);\n }\n\n const label = await page.find(\"calcite-label\");\n await label.callMethod(\"click\"); // we call the method to avoid clicking the child element\n await page.waitForChanges();\n\n expect(\n await page.evaluate(\n (focusTargetSelector: string): boolean => !!document.activeElement?.closest(focusTargetSelector),\n focusTargetSelector,\n ),\n ).toBe(true);\n\n if (shadowFocusTargetSelector) {\n expect(\n await page.$eval(\n componentTag,\n (element: HTMLElement, selector: string) => element.shadowRoot.activeElement.matches(selector),\n shadowFocusTargetSelector,\n ),\n ).toBe(true);\n }\n\n if (propertyToToggle) {\n const toggledPropertyValue = !initialPropertyValue;\n expect(await component.getProperty(propertyToToggle)).toBe(toggledPropertyValue);\n\n // assert that direct clicks on component toggle property correctly\n component.setProperty(propertyToToggle, initialPropertyValue); // we reset as not all components toggle when clicked\n await page.waitForChanges();\n await component.click();\n await page.waitForChanges();\n expect(await component.getProperty(propertyToToggle)).toBe(toggledPropertyValue);\n }\n\n // assert clicking on labelable keeps focus\n await component.callMethod(\"click\");\n await page.waitForChanges();\n\n expect(await isElementFocused(page, focusTargetSelector)).toBe(true);\n}\n\ninterface LabelableOptions extends Pick<FocusableOptions, \"focusTargetSelector\" | \"shadowFocusTargetSelector\"> {\n /**\n * If clicking on a label toggles the labelable component, use this prop to specify the name of the toggled prop.\n */\n propertyToToggle?: string;\n}\n\n/**\n * Helper for asserting label clicking functionality works.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"labelable\", () => {\n * async () => labelable(\"calcite-button\")\n * })\n *\n * @param {string} componentTagOrHtml - The component tag or HTML used to test label support.\n * @param {LabelableOptions} [options] - Labelable options.\n */\nexport function labelable(\n componentTagOrHtml: TagOrHTML | TagOrHTMLWithBeforeContent,\n options?: LabelableOptions,\n): void {\n const id = \"labelable-id\";\n const labelTitle = \"My Component\";\n const propertyToToggle = options?.propertyToToggle;\n const focusTargetSelector = options?.focusTargetSelector || `#${id}`;\n const shadowFocusTargetSelector = options?.shadowFocusTargetSelector;\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const componentTag = getTag(tagOrHTML);\n const componentHtml = isHTML(tagOrHTML) ? ensureId(tagOrHTML) : `<${componentTag} id=\"${id}\"></${componentTag}>`;\n\n function ensureId(html: string): string {\n return html.includes(\"id=\") ? html : html.replace(componentTag, `${componentTag} id=\"${id}\" `);\n }\n\n describe(\"label wraps labelables\", () => {\n it(\"is labelable when component is wrapped in a label\", async () => {\n const wrappedHtml = html`<calcite-label>${labelTitle} ${componentHtml}</calcite-label>`;\n const wrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(wrappedPage);\n await wrappedPage.setContent(wrappedHtml);\n await wrappedPage.waitForChanges();\n\n await assertLabelable({\n page: wrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when wrapping label is set prior to component\", async () => {\n const labelFirstWrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(labelFirstWrappedPage);\n await labelFirstWrappedPage.setContent(html`\n <calcite-label></calcite-label>\n <template>${componentHtml}</template>\n `);\n await labelFirstWrappedPage.waitForChanges();\n await labelFirstWrappedPage.evaluate(() => {\n const template = document.querySelector(\"template\");\n const labelEl = document.querySelector(\"calcite-label\");\n\n labelEl.append(template.content.cloneNode(true));\n }, componentHtml);\n await labelFirstWrappedPage.waitForChanges();\n\n await assertLabelable({\n page: labelFirstWrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when a component is set first before being wrapped in a label\", async () => {\n const componentFirstWrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(componentFirstWrappedPage);\n await componentFirstWrappedPage.setContent(componentHtml);\n await componentFirstWrappedPage.waitForChanges();\n await componentFirstWrappedPage.evaluate((id: string) => {\n const componentEl = document.querySelector(`[id='${id}']`);\n const labelEl = document.createElement(\"calcite-label\");\n document.body.append(labelEl);\n labelEl.append(componentEl);\n }, id);\n await componentFirstWrappedPage.waitForChanges();\n\n await assertLabelable({\n page: componentFirstWrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"only sets focus on the first labelable when label is clicked\", async () => {\n const firstLabelableId = `${id}`;\n const componentFirstWrappedPage: E2EPage = await newE2EPage();\n beforeContent?.(componentFirstWrappedPage);\n const content = html`\n <calcite-label>\n <!-- duplicate tags should be fine as assertion uses first match -->\n ${componentHtml.replace(id, firstLabelableId)} ${componentHtml.replace(id, `${id}-2`)}\n ${componentHtml.replace(id, `${id}-3`)}\n </calcite-label>\n `;\n\n await componentFirstWrappedPage.setContent(content);\n await componentFirstWrappedPage.waitForChanges();\n\n const firstLabelableSelector = `#${firstLabelableId}`;\n\n await assertLabelable({\n page: componentFirstWrappedPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector:\n focusTargetSelector === firstLabelableSelector\n ? firstLabelableSelector\n : `${firstLabelableSelector} ${focusTargetSelector}`,\n });\n });\n });\n\n describe(\"label is sibling to labelables\", () => {\n it(\"is labelable with label set as a sibling to the component\", async () => {\n const siblingHtml = html`\n <calcite-label for=\"${id}\">${labelTitle}</calcite-label>\n ${componentHtml}\n `;\n const siblingPage: E2EPage = await newE2EPage();\n beforeContent?.(siblingPage);\n\n await siblingPage.setContent(siblingHtml);\n await siblingPage.waitForChanges();\n\n await assertLabelable({\n page: siblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when sibling label is set prior to component\", async () => {\n const labelFirstSiblingPage: E2EPage = await newE2EPage();\n beforeContent?.(labelFirstSiblingPage);\n await labelFirstSiblingPage.setContent(html`\n <calcite-label for=\"${id}\"></calcite-label>\n <template>${componentHtml}</template>\n `);\n await labelFirstSiblingPage.waitForChanges();\n await labelFirstSiblingPage.evaluate(() => {\n const template = document.querySelector(\"template\");\n document.body.append(template.content.cloneNode(true));\n }, componentHtml);\n await labelFirstSiblingPage.waitForChanges();\n\n await assertLabelable({\n page: labelFirstSiblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable for a component set before sibling label\", async () => {\n const componentFirstSiblingPage: E2EPage = await newE2EPage();\n beforeContent?.(componentFirstSiblingPage);\n await componentFirstSiblingPage.setContent(componentHtml);\n await componentFirstSiblingPage.waitForChanges();\n await componentFirstSiblingPage.evaluate((id: string) => {\n const label = document.createElement(\"calcite-label\");\n label.setAttribute(\"for\", `${id}`);\n document.body.append(label);\n }, id);\n await componentFirstSiblingPage.waitForChanges();\n\n await assertLabelable({\n page: componentFirstSiblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n\n it(\"is labelable when label's for is set after initialization\", async () => {\n const siblingHtml = html`\n <calcite-label>${labelTitle}</calcite-label>\n ${componentHtml}\n `;\n const siblingPage: E2EPage = await newE2EPage();\n beforeContent?.(siblingPage);\n\n await siblingPage.setContent(siblingHtml);\n await siblingPage.waitForChanges();\n\n const label = await siblingPage.find(\"calcite-label\");\n label.setProperty(\"for\", id);\n await siblingPage.waitForChanges();\n\n await assertLabelable({\n page: siblingPage,\n componentTag,\n propertyToToggle,\n focusTargetSelector,\n shadowFocusTargetSelector,\n });\n });\n });\n}\n\ninterface FormAssociatedOptions {\n /**\n * This value will be set on the component and submitted by the form.\n */\n testValue: any;\n\n /**\n * Set this if the expected submit value **is different** from stringifying `testValue`.\n * For example, a component may transform an object to a serializable string.\n */\n expectedSubmitValue?: any;\n\n /*\n * Set this if the value required to emit an input/change event is different from `testValue`.\n * The value is passed to `page.keyboard.type()`. For example, input-time-picker requires\n * appending AM or PM before the value commits and calciteInputTimePickerChange emits.\n *\n * This option is only relevant when the `validation` option is enabled.\n */\n validUserInputTestValue?: string;\n\n /*\n * Set this if emitting an input/change event requires key presses. Each array item will be passed\n * to `page.keyboard.press()`. For example, the combobox value can be changed by pressing \"Space\"\n * to open the component and \"Enter\" to select a value.\n *\n * This option is only relevant when the `validation` option is enabled.\n */\n changeValueKeys?: KeyInput[];\n\n /**\n * Specifies the input type that will be used to capture the value.\n */\n inputType?: HTMLInputElement[\"type\"];\n\n /**\n * Specifies if the component supports submitting the form on Enter key press.\n */\n submitsOnEnter?: boolean;\n\n /**\n * Specifies if the component supports clearing its value (i.e., setting to null).\n */\n clearable?: boolean;\n\n /**\n * Specifies if the component supports preventing submission and displaying validation messages.\n */\n validation?: boolean;\n}\n\n/**\n * Helper for testing form-associated components; specifically form submitting and resetting.\n *\n * Note that this helper should be used within a describe block.\n *\n * @param {string} componentTagOrHtml - the component tag or HTML markup to test against\n * @param {FormAssociatedOptions} options - form associated options\n */\nexport function formAssociated(\n componentTagOrHtml: TagOrHTML | TagOrHTMLWithBeforeContent,\n options: FormAssociatedOptions,\n): void {\n const inputTypeContext = options?.inputType ? ` (input type=\"${options.inputType}\")` : \"\";\n\n it(`supports association via ancestry${inputTypeContext}`, () => testAncestorFormAssociated());\n it(`supports association via form ID${inputTypeContext}`, () => testIdFormAssociated());\n\n if (options?.validation && ![\"color\", \"month\", \"time\"].includes(options?.inputType)) {\n it(`supports required property validation${inputTypeContext}`, () => testRequiredPropertyValidation());\n }\n\n async function testAncestorFormAssociated(): Promise<void> {\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const tag = getTag(tagOrHTML);\n const componentHtml = ensureName(isHTML(tagOrHTML) ? tagOrHTML : `<${tag}></${tag}>`, tag);\n\n const page = await newE2EPage();\n await beforeContent?.(page);\n\n const content = html` <form>\n ${componentHtml}\n <!--\n keeping things simple by using submit-type input\n this should cover button and calcite-button submit cases\n -->\n <input id=\"submitter\" type=\"submit\" />\n </form>`;\n await page.setContent(content);\n await page.waitForChanges();\n const component = await page.find(tag);\n\n await assertValueSubmissionType(page, component, options);\n await assertValueResetOnFormReset(page, component, options);\n await assertValueSubmittedOnFormSubmit(page, component, options);\n\n if (options.submitsOnEnter) {\n await assertFormSubmitOnEnter(page, component, options);\n }\n }\n\n async function testIdFormAssociated(): Promise<void> {\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const tag = getTag(tagOrHTML);\n const componentHtml = ensureForm(ensureName(isHTML(tagOrHTML) ? tagOrHTML : `<${tag}></${tag}>`, tag), tag);\n\n const page = await newE2EPage();\n await beforeContent?.(page);\n await page.setContent(\n html` <form id=\"test-form\"></form>\n ${componentHtml}\n <!--\n keeping things simple by using submit-type input\n this should cover button and calcite-button submit cases\n -->\n <input id=\"submitter\" form=\"test-form\" type=\"submit\" />`,\n );\n await page.waitForChanges();\n const component = await page.find(tag);\n\n await assertValueSubmissionType(page, component, options);\n await assertValueResetOnFormReset(page, component, options);\n await assertValueSubmittedOnFormSubmit(page, component, options);\n\n if (options.submitsOnEnter) {\n await assertFormSubmitOnEnter(page, component, options);\n }\n }\n\n async function testRequiredPropertyValidation(): Promise<void> {\n const requiredValidationMessage = \"Please fill out this field.\";\n const { beforeContent, tagOrHTML } = getTagOrHTMLWithBeforeContent(componentTagOrHtml);\n const tag = getTag(tagOrHTML);\n const componentHtml = ensureUnchecked(\n ensureRequired(ensureName(isHTML(tagOrHTML) ? tagOrHTML : `<${tag}></${tag}>`, tag), tag),\n );\n\n const page = await newE2EPage();\n await beforeContent?.(page);\n\n const content = html`\n <form>\n ${componentHtml}\n <calcite-button id=\"submitButton\" type=\"submit\">Submit</calcite-button>\n </form>\n `;\n\n await page.setContent(content);\n await page.waitForChanges();\n const component = await page.find(tag);\n\n const submitButton = await page.find(\"#submitButton\");\n const spyEvent = await page.spyOnEvent(getClearValidationEventName(tag));\n\n await assertPreventsFormSubmission(page, component, submitButton, requiredValidationMessage);\n await assertClearsValidationOnValueChange(page, component, options, spyEvent, tag);\n await assertUserMessageNotOverridden(page, component, submitButton);\n }\n\n function ensureName(html: string, componentTag: string): string {\n return html.includes(\"name=\") ? html : html.replace(componentTag, `${componentTag} name=\"testName\" `);\n }\n\n function ensureRequired(html: string, componentTag: string): string {\n return html.includes(\"required\") ? html : html.replace(componentTag, `${componentTag} required `);\n }\n\n function ensureUnchecked(html: string): string {\n return html.replace(/(checked|selected)/, \"\");\n }\n\n function ensureForm(html: string, componentTag: string): string {\n return html.includes(\"form=\") ? html : html.replace(componentTag, `${componentTag} form=\"test-form\" `);\n }\n\n async function isCheckable(page: E2EPage, component: E2EElement, options: FormAssociatedOptions): Promise<boolean> {\n return (\n typeof options.testValue === \"boolean\" &&\n (await page.$eval(component.tagName.toLowerCase(), (component) => \"checked\" in component))\n );\n }\n\n function stringifyTestValue(value: any): string | string[] {\n return Array.isArray(value) ? value.map((value) => value.toString()) : value.toString();\n }\n\n async function assertValueSubmissionType(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n const name = await component.getProperty(\"name\");\n const inputType = options.inputType ?? \"text\";\n\n const hiddenFormInputType = await page.evaluate(\n async (inputName: string, hiddenFormInputSlotName: string): Promise<string> => {\n const hiddenFormInput = document.querySelector<HTMLInputElement>(\n `[name=\"${inputName}\"] input[slot=${hiddenFormInputSlotName}]`,\n );\n\n return hiddenFormInput.type;\n },\n name,\n hiddenFormInputSlotName,\n );\n\n if (await isCheckable(page, component, options)) {\n expect(hiddenFormInputType).toMatch(/radio|checkbox/);\n } else {\n expect(hiddenFormInputType).toMatch(inputType);\n }\n }\n\n async function assertValueResetOnFormReset(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n const resettablePropName = (await isCheckable(page, component, options)) ? \"checked\" : \"value\";\n const initialValue = await component.getProperty(resettablePropName);\n component.setProperty(resettablePropName, options.testValue);\n await page.waitForChanges();\n\n await page.$eval(\"form\", (form: HTMLFormElement) => form.reset());\n await page.waitForChanges();\n\n expect(await component.getProperty(resettablePropName)).toBe(initialValue);\n }\n\n async function assertValueSubmittedOnFormSubmit(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n const stringifiedTestValue = stringifyTestValue(options.testValue);\n const name = await component.getProperty(\"name\");\n\n if (await isCheckable(page, component, options)) {\n component.setProperty(\"checked\", true);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(\"on\");\n\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(stringifiedTestValue);\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(null);\n\n component.setProperty(\"checked\", true);\n component.setProperty(\"disabled\", false);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(stringifiedTestValue);\n\n component.setProperty(\"checked\", false);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(null);\n } else {\n if (options.clearable) {\n component.setProperty(\"required\", true);\n component.setProperty(\"value\", null);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(\n options.inputType === \"color\"\n ? // `input[type=\"color\"]` will set its value to #000000 when set to an invalid value\n // see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color#value\n \"#000\"\n : undefined,\n );\n\n component.setProperty(\"required\", false);\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(options?.expectedSubmitValue || stringifiedTestValue);\n }\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toBe(null);\n\n component.setProperty(\"disabled\", false);\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(options?.expectedSubmitValue || stringifiedTestValue);\n\n component.setProperty(\"value\", options.testValue);\n await page.waitForChanges();\n expect(await submitAndGetValue()).toEqual(options?.expectedSubmitValue || stringifiedTestValue);\n }\n\n type SubmitValueResult = ReturnType<FormData[\"get\"]> | ReturnType<FormData[\"getAll\"] | undefined>;\n\n /**\n * This method will submit the form and return the submitted value:\n *\n * For single-value components, it will return a string or null if the value was not submitted\n * For multi-value components, it will return an array of strings\n *\n * If the input cannot be submitted because it is invalid, undefined will be returned\n */\n async function submitAndGetValue(): Promise<SubmitValueResult> {\n return page.$eval(\n \"form\",\n async (\n form: HTMLFormElement,\n inputName: string,\n hiddenFormInputSlotName: string,\n ): Promise<SubmitValueResult> => {\n const hiddenFormInput = document.querySelector(\n `[name=\"${inputName}\"] input[slot=${hiddenFormInputSlotName}]`,\n );\n\n let resolve: (value: SubmitValueResult) => void;\n const submitPromise = new Promise<SubmitValueResult>((yes) => (resolve = yes));\n\n function handleFormSubmit(event: Event): void {\n event.preventDefault();\n const formData = new FormData(form);\n const values = formData.getAll(inputName);\n\n if (values.length > 1) {\n resolve(values as string[]);\n return;\n }\n\n resolve(formData.get(inputName));\n hiddenFormInput.removeEventListener(\"invalid\", handleInvalidInput);\n }\n\n function handleInvalidInput(): void {\n resolve(undefined);\n form.removeEventListener(\"submit\", handleFormSubmit);\n }\n\n form.addEventListener(\"submit\", handleFormSubmit, { once: true });\n hiddenFormInput.addEventListener(\"invalid\", handleInvalidInput, { once: true });\n\n document.querySelector<HTMLInputElement>(\"#submitter\").click();\n\n return submitPromise;\n },\n name,\n hiddenFormInputSlotName,\n );\n }\n }\n\n async function assertFormSubmitOnEnter(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n ): Promise<void> {\n type TestWindow = GlobalTestProps<{\n called: boolean;\n }>;\n\n await page.$eval(\"form\", (form: HTMLFormElement) => {\n form.addEventListener(\"submit\", (event) => {\n event.preventDefault();\n (window as TestWindow).called = true;\n });\n });\n\n const stringifiedTestValue = stringifyTestValue(options.testValue);\n\n component.setProperty(\"value\", stringifiedTestValue);\n await component.callMethod(\"setFocus\");\n await page.keyboard.press(\"Enter\");\n const called = await page.evaluate(() => (window as TestWindow).called);\n\n expect(called).toBe(true);\n }\n\n async function assertPreventsFormSubmission(\n page: E2EPage,\n component: E2EElement,\n submitButton: E2EElement,\n message: string,\n ) {\n await submitButton.click();\n await page.waitForChanges();\n\n await expectValidationInvalid(component, message);\n }\n\n async function assertClearsValidationOnValueChange(\n page: E2EPage,\n component: E2EElement,\n options: FormAssociatedOptions,\n event: EventSpy,\n tag: string,\n ) {\n if (options?.changeValueKeys) {\n for (const key of options.changeValueKeys) {\n await page.keyboard.press(key);\n }\n } else {\n await page.keyboard.type(options?.validUserInputTestValue ?? options.testValue);\n await page.keyboard.press(\"Tab\");\n }\n\n await page.waitForChanges();\n\n // components with an Input event will emit multiple times depending on the length of testValue\n if (componentsWithInputEvent.includes(tag)) {\n expect(event.length).toBeGreaterThanOrEqual(1);\n } else {\n expect(event).toHaveReceivedEventTimes(1);\n }\n\n await expectValidationIdle(component);\n }\n\n async function assertUserMessageNotOverridden(page: E2EPage, component: E2EElement, submitButton: E2EElement) {\n const customValidationMessage = \"This is a custom message.\";\n const customValidationIcon = \"banana\";\n\n // don't override custom validation message and icon\n component.setProperty(\"validationMessage\", customValidationMessage);\n component.setProperty(\"validationIcon\", customValidationIcon);\n component.setProperty(\"value\", undefined);\n await page.waitForChanges();\n\n await submitButton.click();\n await page.waitForChanges();\n\n await expectValidationInvalid(component, customValidationMessage, customValidationIcon);\n }\n\n async function expectValidationIdle(element: E2EElement) {\n expect(await element.getProperty(\"status\")).toBe(\"idle\");\n expect(await element.getProperty(\"validationMessage\")).toBe(\"\");\n expect(await element.getProperty(\"validationIcon\")).toBe(false);\n }\n\n async function expectValidationInvalid(element: E2EElement, message: string, icon: string = \"\") {\n expect(await element.getProperty(\"status\")).toBe(\"invalid\");\n expect(await element.getProperty(\"validationMessage\")).toBe(message);\n expect(element.getAttribute(\"validation-icon\")).toBe(icon);\n }\n}\n\ninterface TabAndClickTargets {\n tab: string;\n click: string;\n}\n\ntype FocusTarget = \"host\" | \"child\" | \"none\";\n\ninterface DisabledOptions {\n /**\n * Use this to specify whether the test should cover focusing.\n */\n focusTarget?: FocusTarget | TabAndClickTargets;\n\n /**\n * Use this to specify the main wrapped component in shadow DOM that handles disabling interaction.\n *\n * Note: this should only be used for components that wrap a single component that implements disabled behavior.\n */\n shadowAriaAttributeTargetSelector?: string;\n}\n\ntype ComponentTestContent = TagOrHTML | TagAndPage;\ntype ComponentTestSetupProvider = (() => ComponentTestContent) | (() => Promise<ComponentTestContent>);\ntype ComponentTestSetup = ComponentTestContent | ComponentTestSetupProvider;\n\nasync function getTagAndPage(componentTestSetup: ComponentTestSetup): Promise<TagAndPage> {\n if (typeof componentTestSetup === \"function\") {\n componentTestSetup = await componentTestSetup();\n }\n\n if (typeof componentTestSetup === \"string\") {\n const page = await simplePageSetup(componentTestSetup);\n const tag = getTag(componentTestSetup);\n\n return { page, tag };\n }\n\n return componentTestSetup;\n}\n\nfunction getTagOrHTMLWithBeforeContent(componentTestSetup: TagOrHTML | TagOrHTMLWithBeforeContent): {\n tagOrHTML: TagOrHTML;\n beforeContent?: BeforeContent;\n} {\n if (typeof componentTestSetup === \"string\") {\n return { tagOrHTML: componentTestSetup };\n }\n\n return {\n tagOrHTML: componentTestSetup.tagOrHTML,\n beforeContent: componentTestSetup.beforeContent,\n };\n}\n\n/**\n * Helper to test the disabled prop disabling user interaction.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"disabled\", () => {\n * disabled(\"calcite-input\")\n * });\n *\n * @param {ComponentTestSetup} componentTestSetup - A component tag, html, or the tag and e2e page for setting up a test.\n * @param {DisabledOptions} [options] - Disabled options.\n */\nexport function disabled(componentTestSetup: ComponentTestSetup, options?: DisabledOptions): void {\n options = { focusTarget: \"host\", ...options };\n\n const addRedirectPrevention = async (page: E2EPage, tag: string): Promise<void> => {\n await page.$eval(tag, (el) => {\n el.addEventListener(\n \"click\",\n (event) => {\n const path = event.composedPath() as HTMLElement[];\n const anchor = path.find((el) => el?.tagName === \"A\");\n\n if (anchor) {\n // we prevent the default behavior to avoid a page redirect\n anchor.addEventListener(\"click\", (event) => event.preventDefault(), { once: true });\n }\n },\n true,\n );\n });\n };\n\n async function expectToBeFocused(page: E2EPage, tag: string): Promise<void> {\n const focusedTag = await page.evaluate(() => document.activeElement?.tagName.toLowerCase());\n expect(focusedTag).toBe(tag);\n }\n\n function assertOnMouseAndPointerEvents(spies: EventSpy[], expectCallback: (spy: EventSpy) => void): void {\n for (const spy of spies) {\n expectCallback(spy);\n }\n }\n\n // only testing events from https://github.com/web-platform-tests/wpt/blob/master/html/semantics/disabled-elements/event-propagate-disabled.tentative.html#L66\n const eventsExpectedToBubble = [\"mousemove\", \"pointermove\", \"pointerdown\", \"pointerup\"];\n const eventsExpectedToNotBubble = [\"mousedown\", \"mouseup\", \"click\"];\n const allExpectedEvents = [...eventsExpectedToBubble, ...eventsExpectedToNotBubble];\n\n const createEventSpiesForExpectedEvents = async (component: E2EElement): Promise<EventSpy[]> => {\n const eventSpies: EventSpy[] = [];\n\n for (const event of allExpectedEvents) {\n eventSpies.push(await component.spyOnEvent(event));\n }\n\n return eventSpies;\n };\n\n async function getFocusTarget(page: E2EPage, tag: string, focusTarget: FocusTarget): Promise<string> {\n return focusTarget === \"host\" ? tag : await page.evaluate(() => document.activeElement?.tagName.toLowerCase());\n }\n\n const getTabAndClickFocusTarget = async (\n page: E2EPage,\n tag: string,\n focusTarget: DisabledOptions[\"focusTarget\"],\n ): Promise<string[]> => {\n if (typeof focusTarget === \"object\") {\n return [focusTarget.tab, focusTarget.click];\n }\n\n const sameClickAndTabFocusTarget = await getFocusTarget(page, tag, focusTarget);\n\n return [sameClickAndTabFocusTarget, sameClickAndTabFocusTarget];\n };\n\n const getShadowFocusableCenterCoordinates = async (page: E2EPage, tabFocusTarget: string): Promise<number[]> => {\n return await page.$eval(tabFocusTarget, (element: HTMLElement) => {\n const focusTarget = element.shadowRoot.activeElement || element;\n const rect = focusTarget.getBoundingClientRect();\n\n return [rect.x + rect.width / 2, rect.y + rect.height / 2];\n });\n };\n\n it(\"prevents focusing via keyboard and mouse\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n\n const component = await page.find(tag);\n const ariaAttributeTargetElement = options.shadowAriaAttributeTargetSelector\n ? await page.find(`${tag} >>> ${options.shadowAriaAttributeTargetSelector}`)\n : component;\n await skipAnimations(page);\n await addRedirectPrevention(page, tag);\n\n const eventSpies = await createEventSpiesForExpectedEvents(component);\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBeNull();\n\n if (options.focusTarget === \"none\") {\n await page.click(tag);\n await page.waitForChanges();\n await expectToBeFocused(page, \"body\");\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => expect(spy).toHaveReceivedEventTimes(1));\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBe(\"true\");\n\n await page.click(tag);\n await page.waitForChanges();\n await expectToBeFocused(page, \"body\");\n\n await component.callMethod(\"click\");\n await page.waitForChanges();\n await expectToBeFocused(page, \"body\");\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 2 : 1);\n });\n\n return;\n }\n\n await page.keyboard.press(\"Tab\");\n\n const [tabFocusTarget, clickFocusTarget] = await getTabAndClickFocusTarget(page, tag, options.focusTarget);\n\n expect(tabFocusTarget).not.toBe(\"body\");\n await expectToBeFocused(page, tabFocusTarget);\n\n const [shadowFocusableCenterX, shadowFocusableCenterY] = await getShadowFocusableCenterCoordinates(\n page,\n tabFocusTarget,\n );\n\n async function resetFocusOrder(): Promise<void> {\n // test page has default margin, so clicking on 0,0 will not hit the test element\n await page.mouse.click(0, 0);\n }\n\n await resetFocusOrder();\n await expectToBeFocused(page, \"body\");\n\n await page.mouse.click(shadowFocusableCenterX, shadowFocusableCenterY);\n await page.waitForChanges();\n await expectToBeFocused(page, clickFocusTarget);\n\n await component.callMethod(\"click\");\n await page.waitForChanges();\n await expectToBeFocused(page, clickFocusTarget);\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n if (spy.eventName === \"click\") {\n // some components emit more than one click event (e.g., from calling `click()`),\n // so we check if at least one event is received\n expect(spy.length).toBeGreaterThanOrEqual(2);\n } else {\n expect(spy).toHaveReceivedEventTimes(1);\n }\n });\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBe(\"true\");\n\n await resetFocusOrder();\n await page.keyboard.press(\"Tab\");\n await expectToBeFocused(page, \"body\");\n\n await page.mouse.click(shadowFocusableCenterX, shadowFocusableCenterY);\n await expectToBeFocused(page, \"body\");\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n if (spy.eventName === \"click\") {\n // some components emit more than one click event (e.g., from calling `click()`),\n // so we check if at least one event is received\n expect(spy.length).toBeGreaterThanOrEqual(2);\n } else {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 2 : 1);\n }\n });\n });\n\n it(\"events are no longer blocked right after enabling\", async () => {\n const { page, tag } = await getTagAndPage(componentTestSetup);\n\n const component = await page.find(tag);\n const ariaAttributeTargetElement = options.shadowAriaAttributeTargetSelector\n ? await page.find(`${tag} >>> ${options.shadowAriaAttributeTargetSelector}`)\n : component;\n\n await skipAnimations(page);\n await addRedirectPrevention(page, tag);\n\n const eventSpies = await createEventSpiesForExpectedEvents(component);\n\n component.setProperty(\"disabled\", true);\n await page.waitForChanges();\n\n expect(ariaAttributeTargetElement.getAttribute(\"aria-disabled\")).toBe(\"true\");\n\n await page.click(tag);\n await page.waitForChanges();\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 1 : 0);\n });\n\n type InteractiveCalciteComponents = IntrinsicElementsWithProp<\"disabled\"> & HTMLElement;\n\n // this needs to run in the browser context to ensure disabling and events fire immediately after being set\n await page.$eval(\n tag,\n (component: InteractiveCalciteComponents, allExpectedEvents: string[]) => {\n component.disabled = false;\n allExpectedEvents.forEach((event) => component.dispatchEvent(new MouseEvent(event)));\n\n component.disabled = true;\n allExpectedEvents.forEach((event) => component.dispatchEvent(new MouseEvent(event)));\n },\n allExpectedEvents,\n );\n\n assertOnMouseAndPointerEvents(eventSpies, (spy) => {\n if (spy.eventName === \"click\") {\n // some components emit more than one click event (e.g., from calling `click()`),\n // so we check if at least one event is received\n expect(spy.length).toBeGreaterThanOrEqual(1);\n } else {\n expect(spy).toHaveReceivedEventTimes(eventsExpectedToBubble.includes(spy.eventName) ? 3 : 1);\n }\n });\n });\n}\n\n/**\n * This helper will test if a floating-ui-owning component has configured the floating-ui correctly.\n * At the moment, this only tests if the scroll event listeners are only active when the floating-ui is displayed.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"owns a floating-ui\", () => {\n * floatingUIOwner(\n * `<calcite-input-date-picker></calcite-input-date-picker>`,\n * \"open\",\n * { shadowSelector: \".menu-container\" }\n * )\n * });\n *\n * @param {TagOrHTML} componentTagOrHTML - The component tag or HTML markup to test against.\n * @param {string} togglePropName - The component property that toggles the floating-ui.\n * @param [options] - additional options for asserting focus\n * @param {string} [options.shadowSelector] - The selector in the shadow DOM for the floating-ui element.\n */\nexport function floatingUIOwner(\n componentTagOrHTML: TagOrHTML,\n togglePropName: string,\n options?: {\n /**\n * Use this to specify the selector in the shadow DOM for the floating-ui element.\n */\n shadowSelector?: string;\n },\n): void {\n it(\"owns a floating-ui\", async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n\n const scrollablePageSizeInPx = 2400;\n await page.addStyleTag({\n content: `body {\n height: ${scrollablePageSizeInPx}px;\n width: ${scrollablePageSizeInPx}px;\n }`,\n });\n await page.waitForChanges();\n\n const tag = getTag(componentTagOrHTML);\n const component = await page.find(tag);\n\n async function getTransform(): Promise<string> {\n // need to get the style attribute from the browser context since the E2E element returns null\n return page.$eval(\n tag,\n (component: HTMLElement, shadowSelector: string): string => {\n const floatingUIEl = shadowSelector\n ? component.shadowRoot.querySelector<HTMLElement>(shadowSelector)\n : component;\n\n return floatingUIEl.getAttribute(\"style\");\n },\n options?.shadowSelector,\n );\n }\n\n async function scrollTo(x: number, y: number): Promise<void> {\n await page.evaluate((x: number, y: number) => document.firstElementChild.scrollTo(x, y), x, y);\n }\n\n component.setProperty(togglePropName, false);\n await page.waitForChanges();\n\n const initialClosedTransform = await getTransform();\n\n await scrollTo(scrollablePageSizeInPx, scrollablePageSizeInPx);\n await page.waitForChanges();\n\n expect(await getTransform()).toBe(initialClosedTransform);\n\n await scrollTo(0, 0);\n await page.waitForChanges();\n\n expect(await getTransform()).toBe(initialClosedTransform);\n\n component.setProperty(togglePropName, true);\n await page.waitForChanges();\n\n const initialOpenTransform = await getTransform();\n\n await scrollTo(scrollablePageSizeInPx, scrollablePageSizeInPx);\n await page.waitForChanges();\n\n expect(await getTransform()).not.toBe(initialOpenTransform);\n\n await scrollTo(0, 0);\n await page.waitForChanges();\n\n expect(await getTransform()).toBe(initialOpenTransform);\n });\n}\n\n/**\n * Helper to test if a component has a floating-UI-owning component wired up.\n *\n * Note: this performs a shallow test and assumes the underlying component has floating-ui properly configured.\n *\n * @example\n * describe(\"delegates to floating-ui-owner component\", () => {\n * delegatesToFloatingUiOwningComponent(\"calcite-pad\", \"calcite-action-group\");\n * });\n *\n * @param componentTagOrHTML\n * @param floatingUiOwnerComponentTag\n */\nexport async function delegatesToFloatingUiOwningComponent(\n componentTagOrHTML: TagOrHTML,\n floatingUiOwnerComponentTag: ComponentTag,\n): Promise<void> {\n it(\"delegates to floating-ui owning component\", async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n const tag = getTag(componentTagOrHTML);\n\n // we assume if `overlay-positioning` is used by an internal component that it is a floating-ui component\n\n const floatingUiOwningComponent = await page.find(`${tag} >>> ${floatingUiOwnerComponentTag}`);\n expect(await floatingUiOwningComponent.getProperty(\"overlayPositioning\")).toBe(\"absolute\");\n\n const component = await page.find(tag);\n await component.setProperty(\"overlayPositioning\", \"fixed\");\n await page.waitForChanges();\n\n expect(await floatingUiOwningComponent.getProperty(\"overlayPositioning\")).toBe(\"fixed\");\n });\n}\n\n/**\n * Helper to test t9n component setup.\n *\n * Note that this helper should be used within a describe block.\n *\n * @example\n * describe(\"translation support\", () => {\n * t9n(\"calcite-action\");\n * });\n *\n * @param {ComponentTestSetup} componentTestSetup - A component tag, html, or the tag and e2e page for setting up a test.\n */\n\nexport async function t9n(componentTestSetup: ComponentTestSetup): Promise<void> {\n let component: E2EElement;\n let page: E2EPage;\n let getCurrentMessages: () => Promise<MessageBundle>;\n\n beforeEach(async () => {\n const { page: e2ePage, tag } = await getTagAndPage(componentTestSetup);\n page = e2ePage;\n\n type CalciteComponentsWithMessages = IntrinsicElementsWithProp<\"messages\"> & HTMLElement;\n\n component = await page.find(tag);\n getCurrentMessages = async (): Promise<MessageBundle> => {\n return page.$eval(tag, (component: CalciteComponentsWithMessages) => component.messages);\n };\n });\n\n it(\"has defined default messages\", async () => await assertDefaultMessages());\n it(\"overrides messages\", async () => await assertOverrides());\n it(\"switches messages\", async () => await assertLangSwitch());\n\n async function assertDefaultMessages(): Promise<void> {\n expect(await getCurrentMessages()).toBeDefined();\n }\n\n async function assertOverrides(): Promise<void> {\n const messages = await getCurrentMessages();\n const firstMessageProp = Object.keys(messages)[0];\n const messageOverride = { [firstMessageProp]: \"override test\" };\n\n component.setProperty(\"messageOverrides\", messageOverride);\n await page.waitForChanges();\n\n expect(await getCurrentMessages()).toEqual({\n ...messages,\n ...messageOverride,\n });\n\n // reset test changes\n component.setProperty(\"messageOverrides\", undefined);\n await page.waitForChanges();\n }\n\n async function assertLangSwitch(): Promise<void> {\n const enMessages = await getCurrentMessages();\n const fakeBundleIdentifier = \"__fake__\";\n await page.evaluate(\n (enMessages, fakeBundleIdentifier) => {\n const orig = window.fetch;\n window.fetch = async function (input, init) {\n if (typeof input === \"string\" && input.endsWith(\"messages_es.json\")) {\n const fakeEsMessages = {\n ...enMessages, // reuse real message bundle in case component rendering depends on strings\n\n [fakeBundleIdentifier]: true, // we inject a fake identifier for assertion-purposes\n };\n window.fetch = orig;\n return new Response(new Blob([JSON.stringify(fakeEsMessages, null, 2)], { type: \"application/json\" }));\n }\n\n return orig.call(input, init);\n };\n },\n enMessages,\n fakeBundleIdentifier,\n );\n\n component.setAttribute(\"lang\", \"es\");\n await page.waitForChanges();\n await page.waitForTimeout(3000);\n const esMessages = await getCurrentMessages();\n\n expect(esMessages).toHaveProperty(fakeBundleIdentifier);\n\n // reset test changes\n component.removeAttribute(\"lang\");\n await page.waitForChanges();\n }\n}\n\ninterface BeforeToggle {\n /**\n * Function argument to simulate user input (mouse or keyboard), to open the component.\n */\n open: (page: E2EPage) => Promise<void>;\n\n /**\n * Function argument to simulate user input (mouse or keyboard), to close the component.\n */\n close: (page: E2EPage) => Promise<void>;\n}\n\ninterface OpenCloseOptions {\n /**\n * Toggle property to test. Currently, either \"open\" or \"expanded\".\n */\n openPropName?: string;\n\n /**\n * Indicates the initial value of the toggle property.\n */\n initialToggleValue?: boolean;\n\n /**\n * Optional argument with functions to simulate user input (mouse or keyboard), to open or close the component.\n */\n beforeToggle?: BeforeToggle;\n}\n\n/**\n * Helper to test openClose component setup.\n *\n * Note that this helper should be used within a `describe` block.\n *\n * @example\n *\n * describe(\"openClose\", () => {\n * openClose(\"calcite-combobox opened with a tab\", {\n * beforeToggle: {\n * open: async (page) => {\n * await page.keyboard.press(\"Tab\");\n * await page.waitForChanges();\n * },\n * close: async (page) => {\n * await page.keyboard.press(\"Tab\");\n * await page.waitForChanges();\n * },\n * }\n * });\n *\n * openClose(\"open calcite-combobox closed with a tab\", {\n * initialToggleValue: true,\n * beforeToggle: {\n * close: async (page) => {\n * await page.keyboard.press(\"Tab\");\n * await page.waitForChanges();\n * },\n * }\n * }\n * })\n *\n * @param componentTagOrHTML - The component tag or HTML markup to test against.\n * @param {object} [options] - Additional options to assert.\n */\n\nexport function openClose(componentTagOrHTML: TagOrHTML, options?: OpenCloseOptions): void {\n const defaultOptions: OpenCloseOptions = {\n initialToggleValue: false,\n openPropName: \"open\",\n };\n const customizedOptions = { ...defaultOptions, ...options };\n\n type EventOrderWindow = GlobalTestProps<{ events: string[] }>;\n const eventSequence = setUpEventSequence(componentTagOrHTML);\n\n function setUpEventSequence(componentTagOrHTML: TagOrHTML): string[] {\n const tag = getTag(componentTagOrHTML);\n\n const camelCaseTag = tag.replace(/-([a-z])/g, (lettersAfterHyphen) => lettersAfterHyphen[1].toUpperCase());\n const eventSuffixes = [`BeforeOpen`, `Open`, `BeforeClose`, `Close`];\n\n return eventSuffixes.map((suffix) => `${camelCaseTag}${suffix}`);\n }\n\n async function setUpPage(componentTagOrHTML: TagOrHTML, page: E2EPage): Promise<void> {\n await page.evaluate(\n (eventSequence: string[], initialToggleValue: boolean, openPropName: string, componentTagOrHTML: string) => {\n const receivedEvents: string[] = [];\n\n (window as EventOrderWindow).events = receivedEvents;\n\n eventSequence.forEach((eventType) => {\n document.addEventListener(eventType, (event) => receivedEvents.push(event.type));\n });\n\n if (!initialToggleValue) {\n return;\n }\n\n const component = document.createElement(componentTagOrHTML);\n component[openPropName] = true;\n\n document.body.append(component);\n },\n eventSequence,\n customizedOptions.initialToggleValue,\n customizedOptions.openPropName,\n componentTagOrHTML,\n );\n }\n\n async function testOpenCloseEvents(componentTagOrHTML: TagOrHTML, page: E2EPage): Promise<void> {\n const tag = getTag(componentTagOrHTML);\n const element = await page.find(tag);\n\n const [beforeOpenEvent, openEvent, beforeCloseEvent, closeEvent] = eventSequence.map((event) =>\n page.waitForEvent(event),\n );\n\n const [beforeOpenSpy, openSpy, beforeCloseSpy, closeSpy] = await Promise.all(\n eventSequence.map(async (event) => await element.spyOnEvent(event)),\n );\n\n await page.waitForChanges();\n\n if (customizedOptions.beforeToggle) {\n await customizedOptions.beforeToggle.open(page);\n } else {\n element.setProperty(customizedOptions.openPropName, true);\n }\n\n await page.waitForChanges();\n\n await beforeOpenEvent;\n await openEvent;\n\n expect(beforeOpenSpy).toHaveReceivedEventTimes(1);\n expect(openSpy).toHaveReceivedEventTimes(1);\n expect(beforeCloseSpy).toHaveReceivedEventTimes(0);\n expect(closeSpy).toHaveReceivedEventTimes(0);\n\n if (customizedOptions.beforeToggle) {\n await customizedOptions.beforeToggle.close(page);\n } else {\n element.setProperty(customizedOptions.openPropName, false);\n }\n\n await page.waitForChanges();\n\n await beforeCloseEvent;\n await closeEvent;\n\n expect(beforeCloseSpy).toHaveReceivedEventTimes(1);\n expect(closeSpy).toHaveReceivedEventTimes(1);\n expect(beforeOpenSpy).toHaveReceivedEventTimes(1);\n expect(openSpy).toHaveReceivedEventTimes(1);\n\n expect(await page.evaluate(() => (window as EventOrderWindow).events)).toEqual(eventSequence);\n }\n\n /**\n * `skipAnimations` utility sets the animation duration to 0.01. This is a workaround for an issue with the animation utility.\n * Because this still leaves a very small duration, we can still test the animation events, but faster.\n */\n\n if (customizedOptions.initialToggleValue === true) {\n it(\"emits on initialization with animations enabled\", async () => {\n const page = await newProgrammaticE2EPage();\n await skipAnimations(page);\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n\n it(\"emits on initialization with animations disabled\", async () => {\n const page = await newProgrammaticE2EPage();\n await page.addStyleTag({\n content: `:root { --calcite-duration-factor: 0; }`,\n });\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n } else {\n it(`emits with animations enabled`, async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n await skipAnimations(page);\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n\n it(`emits with animations disabled`, async () => {\n const page = await simplePageSetup(componentTagOrHTML);\n await page.addStyleTag({\n content: `:root { --calcite-duration-factor: 0; }`,\n });\n await setUpPage(componentTagOrHTML, page);\n await testOpenCloseEvents(componentTagOrHTML, page);\n });\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
import { newE2EPage } from "@stencil/core/testing";
|
|
7
7
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
export function getRoundRobinIndex(index, total) {
|
|
7
7
|
return (index + total) % total;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
import { Build } from "@stencil/core";
|
|
7
7
|
function getUserAgentData() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
export function getIconScale(componentScale) {
|
|
7
7
|
return componentScale === "l" ? "m" : "s";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
import { componentOnReady, getIconScale } from "./component";
|
|
7
7
|
import { html } from "../../support/formatting";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
import { forceUpdate } from "@stencil/core";
|
|
7
7
|
import { createObserver } from "./observers";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
7
7
|
* This module allows custom configuration for components.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
|
4
|
-
* v2.4.0
|
|
4
|
+
* v2.4.1-next.0
|
|
5
5
|
*/
|
|
6
6
|
import { dateFromISO, dateFromRange, datePartsFromISO, dateToISO, formatCalendarYear, getOrder, inRange, nextMonth, parseCalendarYear, parseDateString, prevMonth, sameDate, } from "./date";
|
|
7
7
|
import arabic from "../components/date-picker/assets/date-picker/nls/ar.json";
|