@ukic/web-components 3.21.0 → 3.22.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/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-3a796e7a.js → helpers-81cd6930.js} +3 -16
- package/dist/cjs/helpers-81cd6930.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +7 -3
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +7 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +13 -5
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +212 -80
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination-bar.cjs.entry.js +389 -0
- package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination_3.cjs.entry.js +1412 -0
- package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +11 -11
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js +18 -9
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-step.cjs.entry.js +14 -14
- package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +5 -5
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +8 -7
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/index-d337cd8a.js +12 -16
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/ic-action-chip/ic-action-chip.css +15 -2
- package/dist/collection/components/ic-action-chip/ic-action-chip.js +5 -1
- package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -5
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.css +15 -3
- package/dist/collection/components/ic-chip/ic-chip.js +5 -1
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -5
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +32 -0
- package/dist/collection/components/ic-menu/ic-menu.css +6 -1
- package/dist/collection/components/ic-menu/ic-menu.js +184 -53
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +104 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +895 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +215 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -11
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.css +1 -2
- package/dist/collection/components/ic-select/ic-select.js +414 -589
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.types.js +2 -0
- package/dist/collection/components/ic-select/ic-select.types.js.map +1 -0
- package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +26 -21
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +18 -9
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- package/dist/collection/components/ic-step/ic-step.js +13 -13
- package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.js +4 -4
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
- package/dist/collection/components/ic-theme/ic-theme.js +1 -1
- package/dist/collection/components/ic-toast/ic-toast.js +7 -6
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
- package/dist/collection/utils/helpers.js +2 -15
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +3 -16
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-action-chip.js +6 -2
- package/dist/components/ic-action-chip.js.map +1 -1
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox.js +4 -4
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +6 -2
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +14 -5
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-menu2.js +213 -79
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-pagination-bar.d.ts +11 -0
- package/dist/components/ic-pagination-bar.js +523 -0
- package/dist/components/ic-pagination-bar.js.map +1 -0
- package/dist/components/ic-pagination.js +1 -375
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/{esm/ic-pagination.entry.js → components/ic-pagination2.js} +82 -11
- package/dist/components/ic-pagination2.js.map +1 -0
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +11 -11
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select.js +1 -994
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-select2.js +804 -0
- package/dist/components/ic-select2.js.map +1 -0
- package/dist/components/ic-side-navigation.js +18 -9
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-step.js +13 -13
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +4 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +1 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-text-field.js +1 -528
- package/dist/components/ic-text-field.js.map +1 -1
- package/dist/{esm/ic-text-field.entry.js → components/ic-text-field2.js} +114 -11
- package/dist/components/ic-text-field2.js.map +1 -0
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +7 -6
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button.js +2 -2
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-0a24c536.entry.js → p-05fd2707.entry.js} +2 -2
- package/dist/core/{p-85e15d01.entry.js → p-09505807.entry.js} +2 -2
- package/dist/core/{p-96bc7d24.entry.js → p-09caf7ed.entry.js} +2 -2
- package/dist/core/p-09caf7ed.entry.js.map +1 -0
- package/dist/core/{p-9057a186.entry.js → p-0b728f50.entry.js} +2 -2
- package/dist/core/{p-9057a186.entry.js.map → p-0b728f50.entry.js.map} +1 -1
- package/dist/core/p-0fb7f915.entry.js +2 -0
- package/dist/core/p-0fb7f915.entry.js.map +1 -0
- package/dist/core/{p-41a5da12.entry.js → p-1b81ec88.entry.js} +2 -2
- package/dist/core/{p-99951365.entry.js → p-2691cc80.entry.js} +2 -2
- package/dist/core/{p-94916588.entry.js → p-2a124daf.entry.js} +2 -2
- package/dist/core/{p-04c77b2d.entry.js → p-2b87c592.entry.js} +2 -2
- package/dist/core/{p-4aa56990.entry.js → p-2bd80913.entry.js} +2 -2
- package/dist/core/{p-aed1c7e7.entry.js → p-347cc084.entry.js} +2 -2
- package/dist/core/p-393af2bc.entry.js +2 -0
- package/dist/core/p-393af2bc.entry.js.map +1 -0
- package/dist/core/{p-a3dea729.entry.js → p-3aed13ba.entry.js} +2 -2
- package/dist/core/{p-8da90b72.entry.js → p-46fd555f.entry.js} +2 -2
- package/dist/core/{p-43cc0f1d.entry.js → p-48a628f0.entry.js} +2 -2
- package/dist/core/{p-9a4e067f.entry.js → p-4f56acff.entry.js} +2 -2
- package/dist/core/{p-3021290f.entry.js → p-506d428a.entry.js} +2 -2
- package/dist/core/{p-a1b2f483.entry.js → p-50dca790.entry.js} +2 -2
- package/dist/core/p-53ab3c0f.entry.js +2 -0
- package/dist/core/p-53ab3c0f.entry.js.map +1 -0
- package/dist/core/{p-feef7c2c.entry.js → p-56de4f4b.entry.js} +2 -2
- package/dist/core/{p-b4e322fe.entry.js → p-5900cb65.entry.js} +2 -2
- package/dist/core/{p-78a54069.entry.js → p-5976de6e.entry.js} +2 -2
- package/dist/core/{p-2af89564.entry.js → p-61d79fc6.entry.js} +2 -2
- package/dist/core/{p-2af89564.entry.js.map → p-61d79fc6.entry.js.map} +1 -1
- package/dist/core/p-659d048d.entry.js +2 -0
- package/dist/core/{p-1edf2689.entry.js → p-67de1290.entry.js} +2 -2
- package/dist/core/p-6b4ec95f.entry.js +3 -0
- package/dist/core/p-6b4ec95f.entry.js.map +1 -0
- package/dist/core/{p-f700b759.entry.js → p-73043f57.entry.js} +2 -2
- package/dist/core/{p-7b8e5926.entry.js → p-735d3096.entry.js} +2 -2
- package/dist/core/{p-07075461.entry.js → p-7b538fd1.entry.js} +2 -2
- package/dist/core/{p-cfd43558.entry.js → p-80d85403.entry.js} +2 -2
- package/dist/core/{p-7f279c8a.entry.js → p-83578f1d.entry.js} +2 -2
- package/dist/core/{p-7f279c8a.entry.js.map → p-83578f1d.entry.js.map} +1 -1
- package/dist/core/{p-b8c0c142.entry.js → p-880f7548.entry.js} +2 -2
- package/dist/core/p-880f7548.entry.js.map +1 -0
- package/dist/core/{p-79949920.entry.js → p-8a833e82.entry.js} +2 -2
- package/dist/core/{p-0aba9e31.entry.js → p-90678e67.entry.js} +2 -2
- package/dist/core/{p-a851eb65.entry.js → p-9502fb86.entry.js} +2 -2
- package/dist/core/{p-2ca7f050.entry.js → p-99433296.entry.js} +2 -2
- package/dist/core/p-99433296.entry.js.map +1 -0
- package/dist/core/{p-f6de08fb.entry.js → p-9c2b2cb9.entry.js} +2 -2
- package/dist/core/{p-949d08d3.entry.js → p-9cb83a2e.entry.js} +2 -2
- package/dist/core/{p-f0ecb80b.entry.js → p-a08d6b46.entry.js} +2 -2
- package/dist/core/p-a321feee.entry.js +2 -0
- package/dist/core/p-a321feee.entry.js.map +1 -0
- package/dist/core/{p-208f470f.entry.js → p-a780a34b.entry.js} +2 -2
- package/dist/core/{p-387b7bca.entry.js → p-aad03a3c.entry.js} +2 -2
- package/dist/core/{p-ec14c783.entry.js → p-aaf4e367.entry.js} +2 -2
- package/dist/core/{p-707ae6e9.entry.js → p-b52c44eb.entry.js} +2 -2
- package/dist/core/{p-716e7eaf.entry.js → p-b777f0a1.entry.js} +2 -2
- package/dist/core/p-b777f0a1.entry.js.map +1 -0
- package/dist/core/p-b77b1e1f.js +2 -0
- package/dist/core/p-b77b1e1f.js.map +1 -0
- package/dist/core/{p-780babc0.entry.js → p-b997ad5e.entry.js} +2 -2
- package/dist/core/{p-a0af1b0a.entry.js → p-bb7652cd.entry.js} +2 -2
- package/dist/core/{p-ded4cd76.entry.js → p-cbca04bb.entry.js} +2 -2
- package/dist/core/{p-99687bce.entry.js → p-cc64e5ef.entry.js} +2 -2
- package/dist/core/{p-812c5e61.entry.js → p-cfbacca1.entry.js} +2 -2
- package/dist/core/{p-0da2caa2.entry.js → p-daec7e69.entry.js} +2 -2
- package/dist/core/{p-1590fd69.entry.js → p-e7767c0d.entry.js} +2 -2
- package/dist/core/p-e938eb31.entry.js +2 -0
- package/dist/core/p-e938eb31.entry.js.map +1 -0
- package/dist/core/{p-dce11b9d.entry.js → p-ea7a3d30.entry.js} +2 -2
- package/dist/core/{p-880afd4b.entry.js → p-ebd688b9.entry.js} +2 -2
- package/dist/core/p-ebd688b9.entry.js.map +1 -0
- package/dist/core/{p-a674b13b.entry.js → p-ef70ea50.entry.js} +2 -2
- package/dist/core/{p-d25d0aad.entry.js → p-f64996f1.entry.js} +2 -2
- package/dist/core/{p-db17a793.entry.js → p-f661ba76.entry.js} +2 -2
- package/dist/core/{p-a03bb31c.entry.js → p-f84ac9c6.entry.js} +2 -2
- package/dist/core/{p-f3406b42.entry.js → p-fb9376f0.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-0f85537f.js → helpers-66681c73.js} +4 -17
- package/dist/esm/helpers-66681c73.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +7 -3
- package/dist/esm/ic-action-chip.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +1 -1
- package/dist/esm/ic-card-vertical.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js +5 -5
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +7 -3
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +13 -5
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +212 -80
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination-bar.entry.js +385 -0
- package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
- package/dist/esm/ic-pagination-item.entry.js +1 -1
- package/dist/esm/ic-pagination_3.entry.js +1406 -0
- package/dist/esm/ic-pagination_3.entry.js.map +1 -0
- package/dist/esm/ic-popover-menu.entry.js +5 -5
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-search-bar.entry.js +11 -11
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js +18 -9
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-step.entry.js +14 -14
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +5 -5
- package/dist/esm/ic-tab-context.entry.js +1 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +8 -7
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +3 -3
- package/dist/esm/ic-toggle-button.entry.js +3 -3
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/index-a7a720e7.js +12 -16
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +4 -0
- package/dist/types/components/ic-menu/ic-menu.d.ts +11 -1
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +162 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +8 -0
- package/dist/types/components/ic-select/ic-select.d.ts +53 -80
- package/dist/types/components/ic-select/ic-select.types.d.ts +43 -0
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
- package/dist/types/components.d.ts +234 -5
- package/dist/types/utils/helpers.d.ts +2 -4
- package/hydrate/index.js +1141 -771
- package/hydrate/index.mjs +1141 -771
- package/package.json +2 -2
- package/vscode-data.json +131 -0
- package/dist/cjs/helpers-3a796e7a.js.map +0 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +0 -312
- package/dist/cjs/ic-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-select.cjs.entry.js +0 -879
- package/dist/cjs/ic-select.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +0 -433
- package/dist/cjs/ic-text-field.cjs.entry.js.map +0 -1
- package/dist/core/p-0d7fd892.entry.js +0 -2
- package/dist/core/p-29b61bb5.entry.js +0 -3
- package/dist/core/p-29b61bb5.entry.js.map +0 -1
- package/dist/core/p-2ca7f050.entry.js.map +0 -1
- package/dist/core/p-4aadabc8.entry.js +0 -2
- package/dist/core/p-4aadabc8.entry.js.map +0 -1
- package/dist/core/p-716e7eaf.entry.js.map +0 -1
- package/dist/core/p-808e1ef5.entry.js +0 -2
- package/dist/core/p-808e1ef5.entry.js.map +0 -1
- package/dist/core/p-880afd4b.entry.js.map +0 -1
- package/dist/core/p-8fe4e0ad.entry.js +0 -2
- package/dist/core/p-8fe4e0ad.entry.js.map +0 -1
- package/dist/core/p-96bc7d24.entry.js.map +0 -1
- package/dist/core/p-b8c0c142.entry.js.map +0 -1
- package/dist/core/p-c5b9519d.entry.js +0 -2
- package/dist/core/p-c5b9519d.entry.js.map +0 -1
- package/dist/core/p-d1730d4d.entry.js +0 -2
- package/dist/core/p-d1730d4d.entry.js.map +0 -1
- package/dist/core/p-dbc8bf0c.js +0 -2
- package/dist/core/p-dbc8bf0c.js.map +0 -1
- package/dist/core/p-fdb587ab.entry.js +0 -2
- package/dist/core/p-fdb587ab.entry.js.map +0 -1
- package/dist/esm/helpers-0f85537f.js.map +0 -1
- package/dist/esm/ic-pagination.entry.js.map +0 -1
- package/dist/esm/ic-select.entry.js +0 -875
- package/dist/esm/ic-select.entry.js.map +0 -1
- package/dist/esm/ic-text-field.entry.js.map +0 -1
- /package/dist/core/{p-0a24c536.entry.js.map → p-05fd2707.entry.js.map} +0 -0
- /package/dist/core/{p-85e15d01.entry.js.map → p-09505807.entry.js.map} +0 -0
- /package/dist/core/{p-41a5da12.entry.js.map → p-1b81ec88.entry.js.map} +0 -0
- /package/dist/core/{p-99951365.entry.js.map → p-2691cc80.entry.js.map} +0 -0
- /package/dist/core/{p-94916588.entry.js.map → p-2a124daf.entry.js.map} +0 -0
- /package/dist/core/{p-04c77b2d.entry.js.map → p-2b87c592.entry.js.map} +0 -0
- /package/dist/core/{p-4aa56990.entry.js.map → p-2bd80913.entry.js.map} +0 -0
- /package/dist/core/{p-aed1c7e7.entry.js.map → p-347cc084.entry.js.map} +0 -0
- /package/dist/core/{p-a3dea729.entry.js.map → p-3aed13ba.entry.js.map} +0 -0
- /package/dist/core/{p-8da90b72.entry.js.map → p-46fd555f.entry.js.map} +0 -0
- /package/dist/core/{p-43cc0f1d.entry.js.map → p-48a628f0.entry.js.map} +0 -0
- /package/dist/core/{p-9a4e067f.entry.js.map → p-4f56acff.entry.js.map} +0 -0
- /package/dist/core/{p-3021290f.entry.js.map → p-506d428a.entry.js.map} +0 -0
- /package/dist/core/{p-a1b2f483.entry.js.map → p-50dca790.entry.js.map} +0 -0
- /package/dist/core/{p-feef7c2c.entry.js.map → p-56de4f4b.entry.js.map} +0 -0
- /package/dist/core/{p-b4e322fe.entry.js.map → p-5900cb65.entry.js.map} +0 -0
- /package/dist/core/{p-78a54069.entry.js.map → p-5976de6e.entry.js.map} +0 -0
- /package/dist/core/{p-0d7fd892.entry.js.map → p-659d048d.entry.js.map} +0 -0
- /package/dist/core/{p-1edf2689.entry.js.map → p-67de1290.entry.js.map} +0 -0
- /package/dist/core/{p-f700b759.entry.js.map → p-73043f57.entry.js.map} +0 -0
- /package/dist/core/{p-7b8e5926.entry.js.map → p-735d3096.entry.js.map} +0 -0
- /package/dist/core/{p-07075461.entry.js.map → p-7b538fd1.entry.js.map} +0 -0
- /package/dist/core/{p-cfd43558.entry.js.map → p-80d85403.entry.js.map} +0 -0
- /package/dist/core/{p-79949920.entry.js.map → p-8a833e82.entry.js.map} +0 -0
- /package/dist/core/{p-0aba9e31.entry.js.map → p-90678e67.entry.js.map} +0 -0
- /package/dist/core/{p-a851eb65.entry.js.map → p-9502fb86.entry.js.map} +0 -0
- /package/dist/core/{p-f6de08fb.entry.js.map → p-9c2b2cb9.entry.js.map} +0 -0
- /package/dist/core/{p-949d08d3.entry.js.map → p-9cb83a2e.entry.js.map} +0 -0
- /package/dist/core/{p-f0ecb80b.entry.js.map → p-a08d6b46.entry.js.map} +0 -0
- /package/dist/core/{p-208f470f.entry.js.map → p-a780a34b.entry.js.map} +0 -0
- /package/dist/core/{p-387b7bca.entry.js.map → p-aad03a3c.entry.js.map} +0 -0
- /package/dist/core/{p-ec14c783.entry.js.map → p-aaf4e367.entry.js.map} +0 -0
- /package/dist/core/{p-707ae6e9.entry.js.map → p-b52c44eb.entry.js.map} +0 -0
- /package/dist/core/{p-780babc0.entry.js.map → p-b997ad5e.entry.js.map} +0 -0
- /package/dist/core/{p-a0af1b0a.entry.js.map → p-bb7652cd.entry.js.map} +0 -0
- /package/dist/core/{p-ded4cd76.entry.js.map → p-cbca04bb.entry.js.map} +0 -0
- /package/dist/core/{p-99687bce.entry.js.map → p-cc64e5ef.entry.js.map} +0 -0
- /package/dist/core/{p-812c5e61.entry.js.map → p-cfbacca1.entry.js.map} +0 -0
- /package/dist/core/{p-0da2caa2.entry.js.map → p-daec7e69.entry.js.map} +0 -0
- /package/dist/core/{p-1590fd69.entry.js.map → p-e7767c0d.entry.js.map} +0 -0
- /package/dist/core/{p-dce11b9d.entry.js.map → p-ea7a3d30.entry.js.map} +0 -0
- /package/dist/core/{p-a674b13b.entry.js.map → p-ef70ea50.entry.js.map} +0 -0
- /package/dist/core/{p-d25d0aad.entry.js.map → p-f64996f1.entry.js.map} +0 -0
- /package/dist/core/{p-db17a793.entry.js.map → p-f661ba76.entry.js.map} +0 -0
- /package/dist/core/{p-a03bb31c.entry.js.map → p-f84ac9c6.entry.js.map} +0 -0
- /package/dist/core/{p-f3406b42.entry.js.map → p-fb9376f0.entry.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement, c as createEvent, F as Fragment } from './index-a7a720e7.js';
|
|
2
|
-
import { r as removeDisabledFalse, a as renderDynamicChildSlots, t as slotHasContent,
|
|
2
|
+
import { r as removeDisabledFalse, a as renderDynamicChildSlots, t as slotHasContent, S as IcInformationStatus, U as isMacDevice, o as onComponentRequiredPropUndefined, V as getOptionsWithoutGroupTitlesCount } from './helpers-66681c73.js';
|
|
3
3
|
import { s as successIcon, f as IC_CUSTOM_ALLOWED_COMPONENTS } from './constants-ab12fdcf.js';
|
|
4
4
|
import { C as Check } from './check-icon-4a9f8371.js';
|
|
5
5
|
import { c as createPopper } from './popper-0fbeff6d.js';
|
|
@@ -97,7 +97,7 @@ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof win
|
|
|
97
97
|
|
|
98
98
|
var purify = {exports: {}};
|
|
99
99
|
|
|
100
|
-
/*! @license DOMPurify 3.
|
|
100
|
+
/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */
|
|
101
101
|
|
|
102
102
|
(function (module, exports) {
|
|
103
103
|
(function (global, factory) {
|
|
@@ -130,12 +130,18 @@ var purify = {exports: {}};
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
if (!apply) {
|
|
133
|
-
apply = function apply(
|
|
134
|
-
|
|
133
|
+
apply = function apply(func, thisArg) {
|
|
134
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
135
|
+
args[_key - 2] = arguments[_key];
|
|
136
|
+
}
|
|
137
|
+
return func.apply(thisArg, args);
|
|
135
138
|
};
|
|
136
139
|
}
|
|
137
140
|
if (!construct) {
|
|
138
|
-
construct = function construct(Func
|
|
141
|
+
construct = function construct(Func) {
|
|
142
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
143
|
+
args[_key2 - 1] = arguments[_key2];
|
|
144
|
+
}
|
|
139
145
|
return new Func(...args);
|
|
140
146
|
};
|
|
141
147
|
}
|
|
@@ -164,8 +170,8 @@ var purify = {exports: {}};
|
|
|
164
170
|
if (thisArg instanceof RegExp) {
|
|
165
171
|
thisArg.lastIndex = 0;
|
|
166
172
|
}
|
|
167
|
-
for (var
|
|
168
|
-
args[
|
|
173
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
174
|
+
args[_key3 - 1] = arguments[_key3];
|
|
169
175
|
}
|
|
170
176
|
return apply(func, thisArg, args);
|
|
171
177
|
};
|
|
@@ -176,12 +182,12 @@ var purify = {exports: {}};
|
|
|
176
182
|
* @param func - The constructor function to be wrapped and called.
|
|
177
183
|
* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
|
|
178
184
|
*/
|
|
179
|
-
function unconstruct(
|
|
185
|
+
function unconstruct(Func) {
|
|
180
186
|
return function () {
|
|
181
|
-
for (var
|
|
182
|
-
args[
|
|
187
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
188
|
+
args[_key4] = arguments[_key4];
|
|
183
189
|
}
|
|
184
|
-
return construct(
|
|
190
|
+
return construct(Func, args);
|
|
185
191
|
};
|
|
186
192
|
}
|
|
187
193
|
/**
|
|
@@ -280,8 +286,8 @@ var purify = {exports: {}};
|
|
|
280
286
|
return fallbackValue;
|
|
281
287
|
}
|
|
282
288
|
|
|
283
|
-
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
284
|
-
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
289
|
+
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
290
|
+
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
285
291
|
const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
|
|
286
292
|
// List of SVG elements that are disallowed by default.
|
|
287
293
|
// We still need to know them so that we can do namespace
|
|
@@ -294,8 +300,8 @@ var purify = {exports: {}};
|
|
|
294
300
|
const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
|
|
295
301
|
const text = freeze(['#text']);
|
|
296
302
|
|
|
297
|
-
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
298
|
-
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
303
|
+
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
304
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
299
305
|
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
300
306
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
301
307
|
|
|
@@ -402,7 +408,7 @@ var purify = {exports: {}};
|
|
|
402
408
|
function createDOMPurify() {
|
|
403
409
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
404
410
|
const DOMPurify = root => createDOMPurify(root);
|
|
405
|
-
DOMPurify.version = '3.
|
|
411
|
+
DOMPurify.version = '3.3.3';
|
|
406
412
|
DOMPurify.removed = [];
|
|
407
413
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
408
414
|
// Not running in a browser, provide a factory function
|
|
@@ -513,6 +519,21 @@ var purify = {exports: {}};
|
|
|
513
519
|
let FORBID_TAGS = null;
|
|
514
520
|
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
515
521
|
let FORBID_ATTR = null;
|
|
522
|
+
/* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
|
|
523
|
+
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
524
|
+
tagCheck: {
|
|
525
|
+
writable: true,
|
|
526
|
+
configurable: false,
|
|
527
|
+
enumerable: true,
|
|
528
|
+
value: null
|
|
529
|
+
},
|
|
530
|
+
attributeCheck: {
|
|
531
|
+
writable: true,
|
|
532
|
+
configurable: false,
|
|
533
|
+
enumerable: true,
|
|
534
|
+
value: null
|
|
535
|
+
}
|
|
536
|
+
}));
|
|
516
537
|
/* Decide if ARIA attributes are okay */
|
|
517
538
|
let ALLOW_ARIA_ATTR = true;
|
|
518
539
|
/* Decide if custom data attributes are okay */
|
|
@@ -682,7 +703,7 @@ var purify = {exports: {}};
|
|
|
682
703
|
/* Parse profile info */
|
|
683
704
|
if (USE_PROFILES) {
|
|
684
705
|
ALLOWED_TAGS = addToSet({}, text);
|
|
685
|
-
ALLOWED_ATTR =
|
|
706
|
+
ALLOWED_ATTR = create(null);
|
|
686
707
|
if (USE_PROFILES.html === true) {
|
|
687
708
|
addToSet(ALLOWED_TAGS, html$1);
|
|
688
709
|
addToSet(ALLOWED_ATTR, html);
|
|
@@ -703,18 +724,33 @@ var purify = {exports: {}};
|
|
|
703
724
|
addToSet(ALLOWED_ATTR, xml);
|
|
704
725
|
}
|
|
705
726
|
}
|
|
727
|
+
/* Prevent function-based ADD_ATTR / ADD_TAGS from leaking across calls */
|
|
728
|
+
if (!objectHasOwnProperty(cfg, 'ADD_TAGS')) {
|
|
729
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = null;
|
|
730
|
+
}
|
|
731
|
+
if (!objectHasOwnProperty(cfg, 'ADD_ATTR')) {
|
|
732
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
733
|
+
}
|
|
706
734
|
/* Merge configuration parameters */
|
|
707
735
|
if (cfg.ADD_TAGS) {
|
|
708
|
-
if (
|
|
709
|
-
|
|
736
|
+
if (typeof cfg.ADD_TAGS === 'function') {
|
|
737
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
738
|
+
} else {
|
|
739
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
740
|
+
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
741
|
+
}
|
|
742
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
710
743
|
}
|
|
711
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
712
744
|
}
|
|
713
745
|
if (cfg.ADD_ATTR) {
|
|
714
|
-
if (
|
|
715
|
-
|
|
746
|
+
if (typeof cfg.ADD_ATTR === 'function') {
|
|
747
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
748
|
+
} else {
|
|
749
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
750
|
+
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
751
|
+
}
|
|
752
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
716
753
|
}
|
|
717
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
718
754
|
}
|
|
719
755
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
720
756
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -725,6 +761,12 @@ var purify = {exports: {}};
|
|
|
725
761
|
}
|
|
726
762
|
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
727
763
|
}
|
|
764
|
+
if (cfg.ADD_FORBID_CONTENTS) {
|
|
765
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
766
|
+
FORBID_CONTENTS = clone(FORBID_CONTENTS);
|
|
767
|
+
}
|
|
768
|
+
addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
|
|
769
|
+
}
|
|
728
770
|
/* Add #text in case KEEP_CONTENT is set to true */
|
|
729
771
|
if (KEEP_CONTENT) {
|
|
730
772
|
ALLOWED_TAGS['#text'] = true;
|
|
@@ -1022,7 +1064,7 @@ var purify = {exports: {}};
|
|
|
1022
1064
|
return true;
|
|
1023
1065
|
}
|
|
1024
1066
|
/* Remove element if anything forbids its presence */
|
|
1025
|
-
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
1067
|
+
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
|
|
1026
1068
|
/* Check if we have a custom element to handle */
|
|
1027
1069
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
1028
1070
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -1086,6 +1128,10 @@ var purify = {exports: {}};
|
|
|
1086
1128
|
*/
|
|
1087
1129
|
// eslint-disable-next-line complexity
|
|
1088
1130
|
const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
|
|
1131
|
+
/* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */
|
|
1132
|
+
if (FORBID_ATTR[lcName]) {
|
|
1133
|
+
return false;
|
|
1134
|
+
}
|
|
1089
1135
|
/* Make sure attribute cannot clobber */
|
|
1090
1136
|
if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
|
|
1091
1137
|
return false;
|
|
@@ -1094,12 +1140,12 @@ var purify = {exports: {}};
|
|
|
1094
1140
|
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
1095
1141
|
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
1096
1142
|
We don't need to check the value; it's always URI safe. */
|
|
1097
|
-
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
1143
|
+
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
1098
1144
|
if (
|
|
1099
1145
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
1100
1146
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
1101
1147
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
1102
|
-
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||
|
|
1148
|
+
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||
|
|
1103
1149
|
// Alternative, second condition checks if it's an `is`-attribute, AND
|
|
1104
1150
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
1105
1151
|
lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
|
|
@@ -1178,7 +1224,12 @@ var purify = {exports: {}};
|
|
|
1178
1224
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
1179
1225
|
}
|
|
1180
1226
|
/* Work around a security issue with comments inside attributes */
|
|
1181
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
1227
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
|
|
1228
|
+
_removeAttribute(name, currentNode);
|
|
1229
|
+
continue;
|
|
1230
|
+
}
|
|
1231
|
+
/* Make sure we cannot easily use animated hrefs, even if animations are allowed */
|
|
1232
|
+
if (lcName === 'attributename' && stringMatch(value, 'href')) {
|
|
1182
1233
|
_removeAttribute(name, currentNode);
|
|
1183
1234
|
continue;
|
|
1184
1235
|
}
|
|
@@ -1468,7 +1519,7 @@ const sanitizeHTMLIconString = (html) => {
|
|
|
1468
1519
|
return purifier.sanitize(html, getCustomElementHandling(false));
|
|
1469
1520
|
};
|
|
1470
1521
|
|
|
1471
|
-
const icMenuCss = "html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type=\"button\"].sc-ic-menu,[type=\"reset\"].sc-ic-menu,[type=\"submit\"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type=\"button\"].sc-ic-menu::-moz-focus-inner,[type=\"reset\"].sc-ic-menu::-moz-focus-inner,[type=\"submit\"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type=\"button\"].sc-ic-menu:-moz-focusring,[type=\"reset\"].sc-ic-menu:-moz-focusring,[type=\"submit\"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type=\"checkbox\"].sc-ic-menu,[type=\"radio\"].sc-ic-menu{box-sizing:border-box;padding:0}[type=\"number\"].sc-ic-menu::-webkit-inner-spin-button,[type=\"number\"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type=\"search\"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{max-height:0;width:var(--menu-width, var(--input-width, 20rem));color:var(--menu-item-text-color, var(--ic-menu-list-option-text-color));--ic-typography-color:var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:var(--ic-border-radius)}.ic-menu-open.sc-ic-menu-h:not(.ic-menu-no-focus):focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}.ic-select-select-all-focused.sc-ic-menu-h{box-shadow:var(--ic-elevation-overlay) !important}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border-radius:1px;background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );visibility:hidden;max-height:0;overflow-y:hidden}.menu.sc-ic-menu:has(+.option-bar).sc-ic-menu{border-radius:0 0 1px 1px}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.ic-menu-open.sc-ic-menu-h{max-height:none;display:flex;flex-direction:column-reverse;border:var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));transition:box-shadow var(--ic-easing-transition-fast)}.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.ic-menu-open.sc-ic-menu-h .option-bar.sc-ic-menu{visibility:visible}.ic-menu-open.sc-ic-menu-h .select-all-button.sc-ic-menu{display:block}.ic-menu-full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center;gap:var(--ic-space-xs)}.loading-option.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.ic-menu-small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.ic-menu-large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 1px 1px}.sc-ic-menu:not(.menu:has(+.option-bar)).sc-ic-menu .option.sc-ic-menu:first-child{border-radius:1px 1px 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-menu-list-option-hover-background-color)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-menu-list-option-pressed-background-color)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{--ic-typography-color:var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n )}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-label.sc-ic-menu ic-typography.sc-ic-menu{max-width:100%;word-wrap:break-word}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxs)}.option-text-container.sc-ic-menu{pointer-events:none;width:100%}.option-text-container.show-check-icon.sc-ic-menu{flex-grow:1}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-menu-loading-list-option-text-color);--ic-typography-color:var(--ic-menu-loading-list-option-text-color)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-atoms-status-icon-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);min-width:var(--ic-space-lg);width:var(--ic-space-lg);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);--ic-typography-color:var(--ic-menu-option-group-label-text-color)}.ic-menu-small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-menu-last-recommended-option-border)}.disabled-option.sc-ic-menu{color:var(--ic-atoms-list-option-text-disabled-light);--ic-typography-color:var(--ic-atoms-list-option-text-disabled-light);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-color-focus-inner) !important;color:var(--ic-atoms-list-option-text-focused-light) !important;--ic-typography-color:var(\n --ic-atoms-list-option-text-focused-light\n ) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}.option-bar.sc-ic-menu{padding:var(--ic-space-xxs) var(--ic-space-xs);display:flex;align-items:center;justify-content:space-between;background-color:var(--ic-menu-option-bar-background-color);visibility:hidden;border-bottom:var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);border-radius:1px 1px 0 0}.option-bar.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.ic-menu-large.sc-ic-menu-h .option-bar.sc-ic-menu{padding:var(--ic-space-xs)}.select-all-button.sc-ic-menu{display:none}.select-all-button.sc-ic-menu:focus{z-index:calc(var(--ic-z-index-menu) + 1)}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}.disabled-option.sc-ic-menu{color:GrayText;--ic-typography-color:GrayText}}@media screen AND (max-width: 22rem){.sc-ic-menu-h{max-width:var(--menu-width, var(--input-width, 20rem));width:100%}}@media (prefers-reduced-motion: reduce){.ic-menu-open.sc-ic-menu-h{transition:none}}";
|
|
1522
|
+
const icMenuCss = "html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type=\"button\"].sc-ic-menu,[type=\"reset\"].sc-ic-menu,[type=\"submit\"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type=\"button\"].sc-ic-menu::-moz-focus-inner,[type=\"reset\"].sc-ic-menu::-moz-focus-inner,[type=\"submit\"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type=\"button\"].sc-ic-menu:-moz-focusring,[type=\"reset\"].sc-ic-menu:-moz-focusring,[type=\"submit\"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type=\"checkbox\"].sc-ic-menu,[type=\"radio\"].sc-ic-menu{box-sizing:border-box;padding:0}[type=\"number\"].sc-ic-menu::-webkit-inner-spin-button,[type=\"number\"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type=\"search\"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{max-height:0;width:var(--menu-width, var(--input-width, 20rem));color:var(--menu-item-text-color, var(--ic-menu-list-option-text-color));--ic-typography-color:var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:var(--ic-border-radius)}.ic-menu-open.sc-ic-menu-h:not(.ic-menu-no-focus):focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}.ic-select-select-all-focused.sc-ic-menu-h{box-shadow:var(--ic-elevation-overlay) !important}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border-radius:1px;background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );visibility:hidden;max-height:0;overflow-y:hidden}.menu.sc-ic-menu:has(+.option-bar).sc-ic-menu{border-radius:0 0 1px 1px}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.ic-menu-open.sc-ic-menu-h{max-height:none;display:flex;flex-direction:column-reverse;border:var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));transition:box-shadow var(--ic-easing-transition-fast)}.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.ic-menu-open.sc-ic-menu-h .option-bar.sc-ic-menu{visibility:visible}.ic-menu-open.sc-ic-menu-h .select-all-button.sc-ic-menu{display:block}.ic-menu-full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center;gap:var(--ic-space-xs)}.loading-option.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.ic-menu-small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.ic-menu-large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 1px 1px}.sc-ic-menu:not(.menu:has(+.option-bar)).sc-ic-menu .option.sc-ic-menu:first-child{border-radius:1px 1px 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-menu-list-option-hover-background-color)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-menu-list-option-pressed-background-color)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{--ic-typography-color:var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n )}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-label.sc-ic-menu ic-typography.sc-ic-menu{max-width:100%;word-wrap:break-word}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxs)}.option-text-container.sc-ic-menu{pointer-events:none;width:100%}.option-text-container.show-check-icon.sc-ic-menu{flex-grow:1}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-menu-loading-list-option-text-color);--ic-typography-color:var(--ic-menu-loading-list-option-text-color)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-atoms-status-icon-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);min-width:var(--ic-space-lg);width:var(--ic-space-lg);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.sc-ic-menu:first-child>.option-group-title.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs)}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);--ic-typography-color:var(--ic-menu-option-group-label-text-color)}.ic-menu-small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-menu-last-recommended-option-border)}.disabled-option.sc-ic-menu{color:var(--ic-atoms-list-option-text-disabled-light);--ic-typography-color:var(--ic-atoms-list-option-text-disabled-light);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-color-focus-inner) !important;color:var(--ic-atoms-list-option-text-focused-light) !important;--ic-typography-color:var(\n --ic-atoms-list-option-text-focused-light\n ) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}.option-bar.sc-ic-menu{padding:var(--ic-space-xxs) var(--ic-space-xs);display:flex;align-items:center;justify-content:space-between;background-color:var(--ic-menu-option-bar-background-color);visibility:hidden;border-bottom:var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);border-radius:1px 1px 0 0}.option-bar.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.ic-menu-large.sc-ic-menu-h .option-bar.sc-ic-menu{padding:var(--ic-space-xs)}.select-all-button.sc-ic-menu{display:none}.select-all-button.sc-ic-menu:focus{z-index:calc(var(--ic-z-index-menu) + 1)}@media (forced-colors: active){.focused-option.sc-ic-menu{outline:none;border:0.125rem solid transparent}.disabled-option.sc-ic-menu{color:GrayText;--ic-typography-color:GrayText}}@media screen AND (max-width: 22rem){.sc-ic-menu-h{max-width:var(--menu-width, var(--input-width, 20rem));width:100%}}@media (prefers-reduced-motion: reduce){.ic-menu-open.sc-ic-menu-h{transition:none}}";
|
|
1472
1523
|
const IcMenuStyle0 = icMenuCss;
|
|
1473
1524
|
|
|
1474
1525
|
const Menu = class {
|
|
@@ -1550,6 +1601,30 @@ const Menu = class {
|
|
|
1550
1601
|
* The custom name for the value field for IcMenuOption.
|
|
1551
1602
|
*/
|
|
1552
1603
|
this.valueField = "value";
|
|
1604
|
+
/**
|
|
1605
|
+
* @internal If `true`, allows the menu to receive focus when opened.
|
|
1606
|
+
*/
|
|
1607
|
+
this.allowMenuFocus = true;
|
|
1608
|
+
this.emitOptionId = (index) => {
|
|
1609
|
+
let option;
|
|
1610
|
+
if (index >= 0 && index < this.ungroupedOptions.length) {
|
|
1611
|
+
option = this.ungroupedOptions[index];
|
|
1612
|
+
}
|
|
1613
|
+
else if (this.ungroupedOptions.length > 0) {
|
|
1614
|
+
option =
|
|
1615
|
+
index < 0
|
|
1616
|
+
? this.ungroupedOptions[this.ungroupedOptions.length - 1]
|
|
1617
|
+
: this.ungroupedOptions[0];
|
|
1618
|
+
}
|
|
1619
|
+
if (option) {
|
|
1620
|
+
this.menuOptionId.emit({
|
|
1621
|
+
optionId: this.getOptionId(option[this.valueField]),
|
|
1622
|
+
});
|
|
1623
|
+
}
|
|
1624
|
+
else {
|
|
1625
|
+
this.menuOptionId.emit({ optionId: undefined });
|
|
1626
|
+
}
|
|
1627
|
+
};
|
|
1553
1628
|
this.handleClearListener = () => {
|
|
1554
1629
|
this.optionHighlighted = "";
|
|
1555
1630
|
};
|
|
@@ -1562,7 +1637,9 @@ const Menu = class {
|
|
|
1562
1637
|
this.menuStateChange.emit({ open, focusInput });
|
|
1563
1638
|
if (!open) {
|
|
1564
1639
|
if (focusInput !== false) {
|
|
1565
|
-
(
|
|
1640
|
+
if (this.allowMenuFocus) {
|
|
1641
|
+
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1642
|
+
}
|
|
1566
1643
|
this.preventClickOpen = false;
|
|
1567
1644
|
}
|
|
1568
1645
|
// Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed
|
|
@@ -1621,16 +1698,42 @@ const Menu = class {
|
|
|
1621
1698
|
const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
|
|
1622
1699
|
this.keyboardNav = false;
|
|
1623
1700
|
switch (event.key) {
|
|
1624
|
-
case "ArrowDown":
|
|
1701
|
+
case "ArrowDown": {
|
|
1625
1702
|
this.keyboardNav = true;
|
|
1626
1703
|
this.arrowBehaviour(event);
|
|
1704
|
+
const nextIndex = selectedOptionIndex < this.ungroupedOptions.length - 1
|
|
1705
|
+
? selectedOptionIndex + 1
|
|
1706
|
+
: 0;
|
|
1627
1707
|
this.setNextOptionValue(selectedOptionIndex);
|
|
1708
|
+
this.emitOptionId(nextIndex);
|
|
1628
1709
|
break;
|
|
1629
|
-
|
|
1710
|
+
}
|
|
1711
|
+
case "ArrowUp": {
|
|
1630
1712
|
this.keyboardNav = true;
|
|
1631
1713
|
this.arrowBehaviour(event);
|
|
1714
|
+
const prevIndex = selectedOptionIndex > 0
|
|
1715
|
+
? selectedOptionIndex - 1
|
|
1716
|
+
: this.ungroupedOptions.length - 1;
|
|
1632
1717
|
this.setPreviousOptionValue(selectedOptionIndex);
|
|
1718
|
+
this.emitOptionId(prevIndex);
|
|
1719
|
+
break;
|
|
1720
|
+
}
|
|
1721
|
+
case "Home": {
|
|
1722
|
+
this.keyboardNav = true;
|
|
1723
|
+
event.preventDefault();
|
|
1724
|
+
this.arrowBehaviour(event);
|
|
1725
|
+
this.setNextOptionValue(-1);
|
|
1726
|
+
this.emitOptionId(0);
|
|
1727
|
+
break;
|
|
1728
|
+
}
|
|
1729
|
+
case "End": {
|
|
1730
|
+
this.keyboardNav = true;
|
|
1731
|
+
event.preventDefault();
|
|
1732
|
+
this.arrowBehaviour(event);
|
|
1733
|
+
this.setPreviousOptionValue(this.ungroupedOptions.length);
|
|
1734
|
+
this.emitOptionId(this.ungroupedOptions.length - 1);
|
|
1633
1735
|
break;
|
|
1736
|
+
}
|
|
1634
1737
|
case " ":
|
|
1635
1738
|
case "Enter":
|
|
1636
1739
|
if (event.target.id !== this.CLEAR_BUTTON_ID) {
|
|
@@ -1830,14 +1933,15 @@ const Menu = class {
|
|
|
1830
1933
|
if (this.open) {
|
|
1831
1934
|
event.stopImmediatePropagation();
|
|
1832
1935
|
}
|
|
1833
|
-
this.handleMenuChange(false);
|
|
1936
|
+
this.handleMenuChange(false, !this.allowMenuFocus);
|
|
1834
1937
|
this.menuOptionId.emit({ optionId: undefined });
|
|
1835
1938
|
break;
|
|
1836
1939
|
case "a":
|
|
1837
1940
|
// Checks if Cmd (meta) key is pressed if Mac device (while excluding meta key on Windows)
|
|
1838
1941
|
// Otherwise, if a different OS, checks Ctrl key
|
|
1839
|
-
if (
|
|
1840
|
-
(
|
|
1942
|
+
if (this.multiSelect &&
|
|
1943
|
+
((isMacDevice() && event.metaKey) ||
|
|
1944
|
+
(!isMacDevice() && event.ctrlKey))) {
|
|
1841
1945
|
this.emitSelectAllEvents();
|
|
1842
1946
|
this.lastOptionFocused = null;
|
|
1843
1947
|
this.lastOptionSelected = null;
|
|
@@ -1942,14 +2046,6 @@ const Menu = class {
|
|
|
1942
2046
|
this.handleMouseDown = (event) => {
|
|
1943
2047
|
event.preventDefault();
|
|
1944
2048
|
};
|
|
1945
|
-
this.handleMenuKeyDown = (event) => {
|
|
1946
|
-
if (this.activationType === "automatic") {
|
|
1947
|
-
this.autoSetValueOnMenuKeyDown(event);
|
|
1948
|
-
}
|
|
1949
|
-
else if (this.activationType === "manual" && !this.searchBar) {
|
|
1950
|
-
this.manualSetInputValueKeyboardOpen(event);
|
|
1951
|
-
}
|
|
1952
|
-
};
|
|
1953
2049
|
this.handleMenuKeyUp = (event) => {
|
|
1954
2050
|
if (event.key === "Tab" && event.shiftKey) {
|
|
1955
2051
|
this.preventClickOpen = false;
|
|
@@ -1965,15 +2061,19 @@ const Menu = class {
|
|
|
1965
2061
|
this.handleSelectAllClick = () => {
|
|
1966
2062
|
var _a;
|
|
1967
2063
|
this.keyboardNav = false;
|
|
1968
|
-
(
|
|
2064
|
+
if (this.allowMenuFocus) {
|
|
2065
|
+
(_a = this.menu) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2066
|
+
}
|
|
1969
2067
|
this.emitSelectAllEvents();
|
|
1970
2068
|
this.lastOptionFocused = null;
|
|
1971
2069
|
this.lastOptionSelected = null;
|
|
1972
2070
|
};
|
|
1973
2071
|
this.handleSelectAllBlur = (event) => {
|
|
1974
|
-
var _a;
|
|
2072
|
+
var _a, _b, _c;
|
|
1975
2073
|
this.host.classList.remove("ic-select-select-all-focused");
|
|
1976
|
-
|
|
2074
|
+
const relatedTarget = event.relatedTarget;
|
|
2075
|
+
if (!((_a = this.menu) === null || _a === void 0 ? void 0 : _a.contains(relatedTarget)) &&
|
|
2076
|
+
!((_c = (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.contains(relatedTarget))) {
|
|
1977
2077
|
this.handleMenuChange(false, false);
|
|
1978
2078
|
}
|
|
1979
2079
|
};
|
|
@@ -2057,7 +2157,7 @@ const Menu = class {
|
|
|
2057
2157
|
// (i.e. you don't have to press Enter select an option - just focus on it)
|
|
2058
2158
|
// and menu is focused
|
|
2059
2159
|
this.autoSetValueOnMenuKeyDown = (event) => {
|
|
2060
|
-
var _a
|
|
2160
|
+
var _a;
|
|
2061
2161
|
event.cancelBubble = true;
|
|
2062
2162
|
const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
|
|
2063
2163
|
const isSearchableSelect = !!this.inputEl && this.inputEl.tagName === "INPUT";
|
|
@@ -2070,6 +2170,9 @@ const Menu = class {
|
|
|
2070
2170
|
if (!this.hasTimedOut) {
|
|
2071
2171
|
event.preventDefault();
|
|
2072
2172
|
this.setPreviousOptionValue(selectedOptionIndex);
|
|
2173
|
+
this.emitOptionId(selectedOptionIndex > 0
|
|
2174
|
+
? selectedOptionIndex - 1
|
|
2175
|
+
: this.ungroupedOptions.length - 1);
|
|
2073
2176
|
this.keyboardNav = true;
|
|
2074
2177
|
}
|
|
2075
2178
|
break;
|
|
@@ -2077,6 +2180,9 @@ const Menu = class {
|
|
|
2077
2180
|
if (!this.hasTimedOut) {
|
|
2078
2181
|
event.preventDefault();
|
|
2079
2182
|
this.setNextOptionValue(selectedOptionIndex);
|
|
2183
|
+
this.emitOptionId(selectedOptionIndex < this.ungroupedOptions.length - 1
|
|
2184
|
+
? selectedOptionIndex + 1
|
|
2185
|
+
: 0);
|
|
2080
2186
|
this.keyboardNav = true;
|
|
2081
2187
|
}
|
|
2082
2188
|
break;
|
|
@@ -2084,30 +2190,29 @@ const Menu = class {
|
|
|
2084
2190
|
this.menuOptionSelect.emit({
|
|
2085
2191
|
value: this.ungroupedOptions[0][this.valueField],
|
|
2086
2192
|
});
|
|
2193
|
+
this.emitOptionId(0);
|
|
2087
2194
|
this.keyboardNav = true;
|
|
2088
2195
|
break;
|
|
2089
2196
|
case "End":
|
|
2090
2197
|
this.menuOptionSelect.emit({
|
|
2091
2198
|
value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],
|
|
2092
2199
|
});
|
|
2200
|
+
this.emitOptionId(this.ungroupedOptions.length - 1);
|
|
2093
2201
|
this.keyboardNav = true;
|
|
2094
2202
|
break;
|
|
2095
2203
|
case "Enter":
|
|
2096
2204
|
!this.hasTimedOut && this.handleMenuChange(false);
|
|
2097
2205
|
break;
|
|
2098
2206
|
case "Escape":
|
|
2099
|
-
this.handleMenuChange(false);
|
|
2207
|
+
this.handleMenuChange(false, !this.allowMenuFocus);
|
|
2100
2208
|
break;
|
|
2101
2209
|
case "Backspace":
|
|
2102
|
-
if (isSearchableSelect) {
|
|
2103
|
-
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2104
|
-
}
|
|
2105
2210
|
break;
|
|
2106
2211
|
case "Shift":
|
|
2107
2212
|
break;
|
|
2108
2213
|
default:
|
|
2109
2214
|
if (isSearchableSelect && event.key !== "Tab" && !this.hasTimedOut) {
|
|
2110
|
-
(
|
|
2215
|
+
(_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
|
|
2111
2216
|
}
|
|
2112
2217
|
if (event.key.length === 1) {
|
|
2113
2218
|
this.keyboardNav = true;
|
|
@@ -2146,21 +2251,28 @@ const Menu = class {
|
|
|
2146
2251
|
return menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
|
|
2147
2252
|
};
|
|
2148
2253
|
this.isManualMode = this.activationType === "manual";
|
|
2149
|
-
|
|
2254
|
+
// Scroll to highlighted option, or selected option if no highlighted option (i.e. when the menu opens)
|
|
2255
|
+
this.scrollToSelected = () => {
|
|
2150
2256
|
var _a;
|
|
2151
|
-
const
|
|
2257
|
+
const menu = this.menu;
|
|
2258
|
+
const selectedOption = this.selectOnEnter || this.searchableSelect || this.multiSelect
|
|
2152
2259
|
? this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`)
|
|
2153
2260
|
: menu.querySelector(".option[aria-selected='true']");
|
|
2154
2261
|
if (selectedOption) {
|
|
2155
|
-
const
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
menu.scrollTop
|
|
2262
|
+
const menuRect = menu.getBoundingClientRect();
|
|
2263
|
+
const optionRect = selectedOption.getBoundingClientRect();
|
|
2264
|
+
if (optionRect.top < menuRect.top) {
|
|
2265
|
+
menu.scrollTop -= menuRect.top - optionRect.top;
|
|
2266
|
+
}
|
|
2267
|
+
else if (optionRect.bottom > menuRect.bottom) {
|
|
2268
|
+
menu.scrollTop += optionRect.bottom - menuRect.bottom;
|
|
2159
2269
|
}
|
|
2160
2270
|
// 'aria-activedescendant' affects screen reader focus
|
|
2161
2271
|
// https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/#kbd_focus_activedescendant
|
|
2162
2272
|
(_a = this.menu) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ACTIVE_DESCENDANT, selectedOption.id);
|
|
2163
|
-
|
|
2273
|
+
if (this.allowMenuFocus) {
|
|
2274
|
+
selectedOption.focus();
|
|
2275
|
+
}
|
|
2164
2276
|
}
|
|
2165
2277
|
};
|
|
2166
2278
|
// Set 'ungroupedOptions' variable and emit its value
|
|
@@ -2203,7 +2315,7 @@ const Menu = class {
|
|
|
2203
2315
|
"show-check-icon": showCheckIcon,
|
|
2204
2316
|
} }, (option.icon || !option.hideLabel) && (h("div", { class: "option-label" }, option.icon && (h("div", { class: "option-icon", innerHTML: sanitizeHTMLIconString(option.icon), "aria-hidden": "true" })), !option.hideLabel && (h("ic-typography", { variant: "body", "aria-hidden": "true" }, option[this.labelField])))), option.description && (h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description))), option.element && (h("div", { class: {
|
|
2205
2317
|
"option-element": option.icon || !option.hideLabel || option.description,
|
|
2206
|
-
}, innerHTML: sanitizeHTMLString(option.element.component), "aria-hidden": "true" }))), showCheckIcon && h("span", { class: "check-icon", innerHTML: Check })));
|
|
2318
|
+
}, innerHTML: sanitizeHTMLString(option.element.component), "aria-hidden": "true" }))), showCheckIcon && (h("span", { class: "check-icon", innerHTML: Check, "aria-hidden": "true" }))));
|
|
2207
2319
|
};
|
|
2208
2320
|
this.displayOption = (option, selected, index, parentOption) => {
|
|
2209
2321
|
var _a;
|
|
@@ -2220,11 +2332,13 @@ const Menu = class {
|
|
|
2220
2332
|
"disabled-option": !!option.disabled,
|
|
2221
2333
|
"loading-option": !!option.loading,
|
|
2222
2334
|
timeout: !!option.timedOut,
|
|
2223
|
-
}, role: "option", tabindex:
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2335
|
+
}, role: "option", tabindex: !this.allowMenuFocus
|
|
2336
|
+
? "-1"
|
|
2337
|
+
: open &&
|
|
2338
|
+
(selected || option[this.valueField] === optionHighlighted) &&
|
|
2339
|
+
keyboardNav
|
|
2340
|
+
? "0"
|
|
2341
|
+
: "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": selected ? "true" : "false", "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading
|
|
2228
2342
|
? this.handleOptionClick
|
|
2229
2343
|
: undefined, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option[this.valueField], "data-label": option[this.labelField] }, ((_a = option.htmlProps) !== null && _a !== void 0 ? _a : {})), option.timedOut ? (h(Fragment, null, h("div", { class: "loading-error-info" }, h("svg", { class: "error-icon-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, h("title", null, "Error"), h("g", null, h("path", { d: "M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" }))), h("ic-typography", { variant: "label" }, option[this.labelField])), h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option, selected))));
|
|
2230
2344
|
};
|
|
@@ -2286,10 +2400,7 @@ const Menu = class {
|
|
|
2286
2400
|
inputValueInOptions &&
|
|
2287
2401
|
this.autofocusOnSelected &&
|
|
2288
2402
|
!this.searchableSelect) {
|
|
2289
|
-
this.scrollToSelected(
|
|
2290
|
-
}
|
|
2291
|
-
else if (this.selectOnEnter) {
|
|
2292
|
-
this.menu.focus();
|
|
2403
|
+
this.scrollToSelected();
|
|
2293
2404
|
}
|
|
2294
2405
|
else if (!!this.optionHighlighted &&
|
|
2295
2406
|
!this.focusFromSearchKeypress &&
|
|
@@ -2297,15 +2408,19 @@ const Menu = class {
|
|
|
2297
2408
|
const highlightedEl = this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);
|
|
2298
2409
|
if (highlightedEl) {
|
|
2299
2410
|
this.menu.setAttribute(this.ACTIVE_DESCENDANT, highlightedEl.id);
|
|
2300
|
-
|
|
2411
|
+
if (this.allowMenuFocus) {
|
|
2412
|
+
highlightedEl.focus();
|
|
2413
|
+
}
|
|
2301
2414
|
}
|
|
2302
2415
|
}
|
|
2303
|
-
else if (this.inputEl &&
|
|
2416
|
+
else if (this.inputEl &&
|
|
2417
|
+
this.inputEl.tagName !== "INPUT" &&
|
|
2418
|
+
this.allowMenuFocus) {
|
|
2304
2419
|
this.menu.focus();
|
|
2305
2420
|
}
|
|
2306
2421
|
}
|
|
2307
|
-
if (this.menu && this.open
|
|
2308
|
-
this.scrollToSelected(
|
|
2422
|
+
if (this.menu && this.open) {
|
|
2423
|
+
this.scrollToSelected();
|
|
2309
2424
|
}
|
|
2310
2425
|
this.preventMenuFocus = false;
|
|
2311
2426
|
}
|
|
@@ -2340,6 +2455,19 @@ const Menu = class {
|
|
|
2340
2455
|
this.manualSetInputValueKeyboardOpen(event);
|
|
2341
2456
|
}
|
|
2342
2457
|
}
|
|
2458
|
+
/**
|
|
2459
|
+
* Used alongside activationType
|
|
2460
|
+
* If menu is open and user navigates options via keyboard, emit optionSelect custom event.
|
|
2461
|
+
* @param {KeyboardEvent} event The keyboard event which is available when handleMenuKeydown is invoked.
|
|
2462
|
+
*/
|
|
2463
|
+
async handleMenuKeyDown(event) {
|
|
2464
|
+
if (this.activationType === "automatic") {
|
|
2465
|
+
this.autoSetValueOnMenuKeyDown(event);
|
|
2466
|
+
}
|
|
2467
|
+
else if (this.activationType === "manual" && !this.searchBar) {
|
|
2468
|
+
this.manualSetInputValueKeyboardOpen(event);
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2343
2471
|
/**
|
|
2344
2472
|
* @internal Used to highlight the first option in the menu.
|
|
2345
2473
|
*/
|
|
@@ -2393,7 +2521,7 @@ const Menu = class {
|
|
|
2393
2521
|
const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, multiSelect, } = this;
|
|
2394
2522
|
const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
|
|
2395
2523
|
const hasNoResults = this.host.classList.contains("no-results");
|
|
2396
|
-
return (h(Host, { key: '
|
|
2524
|
+
return (h(Host, { key: '8b0e06f14c1979c3658e6e13fca3e4c6828c795d', class: {
|
|
2397
2525
|
"ic-menu-full-width": !!fullWidth,
|
|
2398
2526
|
"ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
|
|
2399
2527
|
(parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
|
|
@@ -2402,12 +2530,16 @@ const Menu = class {
|
|
|
2402
2530
|
[`ic-menu-${size}`]: true,
|
|
2403
2531
|
"ic-menu-open": open && options.length !== 0,
|
|
2404
2532
|
"ic-menu-multiple": multiSelect,
|
|
2405
|
-
} }, options.length !== 0 && (h("ul", { key: '
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2533
|
+
} }, options.length !== 0 && (h("ul", { key: '5af8ebaf798f09d020cab17adf4ef04e0fe2f9d4', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", "aria-activedescendant": this.optionHighlighted
|
|
2534
|
+
? this.getOptionId(this.optionHighlighted)
|
|
2535
|
+
: undefined, tabindex: !this.allowMenuFocus
|
|
2536
|
+
? "-1"
|
|
2537
|
+
: open &&
|
|
2538
|
+
!keyboardNav &&
|
|
2539
|
+
((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
|
|
2540
|
+
(parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
|
|
2541
|
+
? "0"
|
|
2542
|
+
: "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
|
|
2411
2543
|
if (option.children) {
|
|
2412
2544
|
if (option.children.length > 0) {
|
|
2413
2545
|
return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option[this.labelField])), option.children.map((childOption) => childOption[this.labelField] &&
|
|
@@ -2430,7 +2562,7 @@ const Menu = class {
|
|
|
2430
2562
|
multiSelect &&
|
|
2431
2563
|
!isLoading &&
|
|
2432
2564
|
!hasTimedOut &&
|
|
2433
|
-
!hasNoResults && (h("div", { key: '
|
|
2565
|
+
!hasNoResults && (h("div", { key: 'f1a670781a41df910d8d55d2a956e062faf5a425', class: "option-bar" }, h("ic-typography", { key: '9687b26a0a275e9a6cff54180f2962d836ef4262' }, h("p", { key: '33e219ebba6ad3eb4ed60d77d9ed86551cb93a48' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: '05e39e54ef176fb303ba59dcc3b91745cf38deef', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
|
|
2434
2566
|
}
|
|
2435
2567
|
get host() { return getElement(this); }
|
|
2436
2568
|
static get watchers() { return {
|