@ukic/canary-web-components 2.0.0-canary.14 → 2.0.0-canary.15
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-6d736902.js → helpers-191dca49.js} +54 -98
- package/dist/cjs/helpers-191dca49.js.map +1 -0
- package/dist/cjs/{helpers-f75cf7cf.js → helpers-765a5118.js} +30 -1
- package/dist/cjs/helpers-765a5118.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +3 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +15 -9
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +55 -77
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -16
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +32 -30
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +21 -31
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-data-table.cjs.entry.js +154 -31
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
- package/dist/cjs/ic-date-picker.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_2.cjs.entry.js +322 -0
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
- 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_4.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js +176 -35
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +3 -3
- package/dist/cjs/ic-menu.cjs.entry.js.map +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-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_4.cjs.entry.js +10 -6
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -2
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- 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 +1 -1
- package/dist/cjs/ic-select-with-multi.cjs.entry.js +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +13 -15
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +2 -2
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-4cf27b16.js +8 -8
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-data-table/ic-data-table.css +76 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js +368 -43
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +258 -0
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +320 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +91 -0
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
- package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
- package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
- package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js +176 -35
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +180 -3
- package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +145 -116
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +47 -10
- package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +53 -96
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +28 -1
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-accordion-group.js +2 -1
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-back-to-top.js +22 -9
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +59 -77
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +2 -0
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +26 -16
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +32 -30
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +21 -31
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-data-table-title-bar.d.ts +11 -0
- package/dist/components/ic-data-table-title-bar.js +136 -0
- package/dist/components/ic-data-table-title-bar.js.map +1 -0
- package/dist/components/ic-data-table.js +179 -37
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +1 -1
- package/dist/components/ic-date-picker.js +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +1 -57
- package/dist/components/ic-empty-state.js.map +1 -1
- package/dist/{esm/ic-empty-state.entry.js → components/ic-empty-state2.js} +38 -11
- package/dist/components/ic-empty-state2.js.map +1 -0
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link.js +1 -1
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-hero.js +1 -1
- package/dist/components/ic-horizontal-scroll2.js +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-menu-item2.js +2 -2
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +2 -2
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-menu3.js +177 -36
- package/dist/components/ic-menu3.js.map +1 -1
- package/dist/components/ic-navigation-button.js +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-menu2.js +1 -1
- package/dist/components/ic-pagination-bar2.js +126 -99
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +3 -2
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-option.js +1 -1
- package/dist/components/ic-search-bar.js +1 -1
- package/dist/components/ic-select-with-multi.js +1 -1
- package/dist/components/ic-select2.js +8 -4
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-stepper.js +1 -1
- package/dist/components/ic-theme.js +13 -15
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast.js +1 -1
- package/dist/components/ic-tooltip2.js +1 -1
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-typography2.js +1 -1
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +2 -2
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-a8c15117.entry.js → p-005e83b0.entry.js} +2 -2
- package/dist/core/{p-c621d6b0.entry.js → p-05df3901.entry.js} +2 -2
- package/dist/core/{p-a2dc10d8.entry.js → p-0646ef0c.entry.js} +2 -2
- package/dist/core/p-0ec09955.entry.js +2 -0
- package/dist/core/p-0ec09955.entry.js.map +1 -0
- package/dist/core/{p-3dcc61cc.entry.js → p-114bea92.entry.js} +2 -2
- package/dist/core/{p-3dcc61cc.entry.js.map → p-114bea92.entry.js.map} +1 -1
- package/dist/core/p-11bbb09c.js +2 -0
- package/dist/core/p-11bbb09c.js.map +1 -0
- package/dist/core/p-11e736a3.entry.js +2 -0
- package/dist/core/p-11e736a3.entry.js.map +1 -0
- package/dist/core/{p-6dce8e88.entry.js → p-16c82b13.entry.js} +2 -2
- package/dist/core/p-1b35b6af.entry.js +2 -0
- package/dist/core/{p-dc5e1f8f.entry.js.map → p-1b35b6af.entry.js.map} +1 -1
- package/dist/core/p-1cf8a04e.entry.js +2 -0
- package/dist/core/p-1cf8a04e.entry.js.map +1 -0
- package/dist/core/{p-849f43c3.entry.js → p-2170f59e.entry.js} +2 -2
- package/dist/core/{p-00c5639e.entry.js → p-2e167ebb.entry.js} +2 -2
- package/dist/core/p-2e167ebb.entry.js.map +1 -0
- package/dist/core/p-3f20608d.entry.js +2 -0
- package/dist/core/p-3f20608d.entry.js.map +1 -0
- package/dist/core/p-41606de1.entry.js +2 -0
- package/dist/core/p-41606de1.entry.js.map +1 -0
- package/dist/core/{p-d2d63a61.entry.js → p-4415c93f.entry.js} +2 -2
- package/dist/core/{p-730f058b.entry.js → p-457dd939.entry.js} +2 -2
- package/dist/core/p-457dd939.entry.js.map +1 -0
- package/dist/core/{p-e1963c78.entry.js → p-4737844f.entry.js} +2 -2
- package/dist/core/{p-9d8883d7.entry.js → p-53374a27.entry.js} +2 -2
- package/dist/core/p-53e45d51.entry.js +2 -0
- package/dist/core/{p-3e9a8977.entry.js.map → p-53e45d51.entry.js.map} +1 -1
- package/dist/core/{p-1a91e842.entry.js → p-593f0318.entry.js} +2 -2
- package/dist/core/{p-aabab75f.entry.js → p-5d5979fa.entry.js} +2 -2
- package/dist/core/{p-db3a35fb.entry.js → p-66af5958.entry.js} +2 -2
- package/dist/core/p-67b0faac.entry.js +2 -0
- package/dist/core/p-67b0faac.entry.js.map +1 -0
- package/dist/core/{p-7f53d1be.entry.js → p-6b277e09.entry.js} +2 -2
- package/dist/core/{p-7f53d1be.entry.js.map → p-6b277e09.entry.js.map} +1 -1
- package/dist/core/{p-9567c117.entry.js → p-72cea8fd.entry.js} +2 -2
- package/dist/core/p-73dad5cf.entry.js +2 -0
- package/dist/core/{p-06c27edb.entry.js.map → p-73dad5cf.entry.js.map} +1 -1
- package/dist/core/{p-e16f73ba.entry.js → p-85e2a9af.entry.js} +2 -2
- package/dist/core/p-85e2a9af.entry.js.map +1 -0
- package/dist/core/{p-957de939.entry.js → p-872c3555.entry.js} +2 -2
- package/dist/core/p-87743c4a.entry.js +2 -0
- package/dist/core/{p-e8151d13.entry.js.map → p-87743c4a.entry.js.map} +1 -1
- package/dist/core/p-8cfc74da.entry.js +2 -0
- package/dist/core/{p-162f3e36.entry.js.map → p-8cfc74da.entry.js.map} +1 -1
- package/dist/core/{p-7fda2f94.entry.js → p-9729086f.entry.js} +2 -2
- package/dist/core/{p-8b1f9648.entry.js → p-9cc19e91.entry.js} +2 -2
- package/dist/core/{p-9528b29e.entry.js → p-9de20265.entry.js} +2 -2
- package/dist/core/{p-843bdaae.entry.js → p-a088373e.entry.js} +2 -2
- package/dist/core/p-a088373e.entry.js.map +1 -0
- package/dist/core/{p-00bd7919.entry.js → p-a0e42564.entry.js} +2 -2
- package/dist/core/p-a8110c27.entry.js +2 -0
- package/dist/core/p-a8110c27.entry.js.map +1 -0
- package/dist/core/{p-946625a3.entry.js → p-a9d07792.entry.js} +2 -2
- package/dist/core/p-a9d07792.entry.js.map +1 -0
- package/dist/core/{p-a05755b1.entry.js → p-b08f4371.entry.js} +2 -2
- package/dist/core/{p-0af27517.entry.js → p-b79c0631.entry.js} +2 -2
- package/dist/core/{p-4bd13376.entry.js → p-b8247636.entry.js} +2 -2
- package/dist/core/{p-fca46bd9.entry.js → p-badfdf2a.entry.js} +2 -2
- package/dist/core/{p-99bf38e3.entry.js → p-be56fa17.entry.js} +2 -2
- package/dist/core/{p-ff6f1e3a.entry.js → p-bebf535f.entry.js} +2 -2
- package/dist/core/p-c07cef0e.js +2 -0
- package/dist/core/p-c07cef0e.js.map +1 -0
- package/dist/core/{p-494c3cbe.entry.js → p-c0d88af8.entry.js} +2 -2
- package/dist/core/{p-4ad3012a.entry.js → p-c3af5dab.entry.js} +2 -2
- package/dist/core/{p-4fd58768.entry.js → p-c3dabce4.entry.js} +2 -2
- package/dist/core/{p-6eb58b0a.entry.js → p-c7e932b5.entry.js} +2 -2
- package/dist/core/{p-c14a897d.entry.js → p-d09aaa5b.entry.js} +2 -2
- package/dist/core/{p-41b682dc.entry.js → p-d59a72a9.entry.js} +2 -2
- package/dist/core/p-d59a72a9.entry.js.map +1 -0
- package/dist/core/{p-8b820365.entry.js → p-d71e9cb5.entry.js} +2 -2
- package/dist/core/{p-cca482e2.entry.js → p-ecd6d123.entry.js} +2 -2
- package/dist/core/p-ecd6d123.entry.js.map +1 -0
- package/dist/core/p-ee52a11a.entry.js +2 -0
- package/dist/core/p-ee52a11a.entry.js.map +1 -0
- package/dist/core/p-f11597df.entry.js +2 -0
- package/dist/core/p-f11597df.entry.js.map +1 -0
- package/dist/core/p-f1f3acd2.entry.js +2 -0
- package/dist/core/p-f1f3acd2.entry.js.map +1 -0
- package/dist/core/{p-19c1e271.entry.js → p-f659e5eb.entry.js} +2 -2
- package/dist/core/{p-f8f36680.entry.js → p-fc2551c0.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-f328a7b6.js → helpers-8df79303.js} +29 -2
- package/dist/esm/helpers-8df79303.js.map +1 -0
- package/dist/esm/{helpers-c34e4042.js → helpers-da05c476.js} +54 -97
- package/dist/esm/helpers-da05c476.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +3 -1
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +15 -9
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +55 -77
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +3 -1
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +2 -2
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +23 -16
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +32 -30
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +21 -31
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
- package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
- package/dist/esm/ic-data-table.entry.js +155 -32
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +1 -1
- package/dist/esm/ic-date-picker.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_2.entry.js +317 -0
- package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
- 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_4.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js +176 -35
- package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
- package/dist/esm/ic-menu.entry.js +3 -3
- package/dist/esm/ic-menu.entry.js.map +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-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_4.entry.js +10 -6
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +3 -2
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- 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 +1 -1
- package/dist/esm/ic-select-with-multi.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +13 -15
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +1 -1
- package/dist/esm/ic-toggle-button.entry.js +1 -1
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-typography.entry.js +2 -2
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-93509377.js +8 -8
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +79 -3
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +9 -0
- package/dist/types/components/ic-data-table/story-data.d.ts +59 -0
- package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
- package/dist/types/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +10 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +24 -14
- package/dist/types/components.d.ts +207 -28
- package/dist/types/utils/types.d.ts +5 -5
- package/hydrate/index.js +1253 -909
- package/package.json +3 -3
- package/dist/cjs/helpers-6d736902.js.map +0 -1
- package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -269
- package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
- package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
- package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
- package/dist/core/p-00c5639e.entry.js.map +0 -1
- package/dist/core/p-06c27edb.entry.js +0 -2
- package/dist/core/p-162f3e36.entry.js +0 -2
- package/dist/core/p-1c3bd46d.entry.js +0 -2
- package/dist/core/p-1c3bd46d.entry.js.map +0 -1
- package/dist/core/p-2c9d6334.entry.js +0 -2
- package/dist/core/p-2c9d6334.entry.js.map +0 -1
- package/dist/core/p-3e9a8977.entry.js +0 -2
- package/dist/core/p-41b682dc.entry.js.map +0 -1
- package/dist/core/p-730f058b.entry.js.map +0 -1
- package/dist/core/p-843bdaae.entry.js.map +0 -1
- package/dist/core/p-946625a3.entry.js.map +0 -1
- package/dist/core/p-9e3178e8.entry.js +0 -2
- package/dist/core/p-9e3178e8.entry.js.map +0 -1
- package/dist/core/p-a1556d97.entry.js +0 -2
- package/dist/core/p-a1556d97.entry.js.map +0 -1
- package/dist/core/p-c7590421.entry.js +0 -2
- package/dist/core/p-c7590421.entry.js.map +0 -1
- package/dist/core/p-c953edb9.entry.js +0 -2
- package/dist/core/p-c953edb9.entry.js.map +0 -1
- package/dist/core/p-cca482e2.entry.js.map +0 -1
- package/dist/core/p-cd799087.js +0 -2
- package/dist/core/p-cd799087.js.map +0 -1
- package/dist/core/p-d32d331b.entry.js +0 -2
- package/dist/core/p-d32d331b.entry.js.map +0 -1
- package/dist/core/p-dc5e1f8f.entry.js +0 -2
- package/dist/core/p-e16f73ba.entry.js.map +0 -1
- package/dist/core/p-e189f1d0.entry.js +0 -2
- package/dist/core/p-e189f1d0.entry.js.map +0 -1
- package/dist/core/p-e8151d13.entry.js +0 -2
- package/dist/core/p-ee765ad5.js +0 -2
- package/dist/core/p-ee765ad5.js.map +0 -1
- package/dist/core/p-f2147136.entry.js +0 -2
- package/dist/core/p-f2147136.entry.js.map +0 -1
- package/dist/core/p-ff3a01f3.entry.js +0 -2
- package/dist/core/p-ff3a01f3.entry.js.map +0 -1
- package/dist/esm/helpers-c34e4042.js.map +0 -1
- package/dist/esm/helpers-f328a7b6.js.map +0 -1
- package/dist/esm/ic-empty-state.entry.js.map +0 -1
- package/dist/esm/ic-pagination-bar.entry.js +0 -265
- package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
- package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
- /package/dist/core/{p-a8c15117.entry.js.map → p-005e83b0.entry.js.map} +0 -0
- /package/dist/core/{p-c621d6b0.entry.js.map → p-05df3901.entry.js.map} +0 -0
- /package/dist/core/{p-a2dc10d8.entry.js.map → p-0646ef0c.entry.js.map} +0 -0
- /package/dist/core/{p-6dce8e88.entry.js.map → p-16c82b13.entry.js.map} +0 -0
- /package/dist/core/{p-849f43c3.entry.js.map → p-2170f59e.entry.js.map} +0 -0
- /package/dist/core/{p-d2d63a61.entry.js.map → p-4415c93f.entry.js.map} +0 -0
- /package/dist/core/{p-e1963c78.entry.js.map → p-4737844f.entry.js.map} +0 -0
- /package/dist/core/{p-9d8883d7.entry.js.map → p-53374a27.entry.js.map} +0 -0
- /package/dist/core/{p-1a91e842.entry.js.map → p-593f0318.entry.js.map} +0 -0
- /package/dist/core/{p-aabab75f.entry.js.map → p-5d5979fa.entry.js.map} +0 -0
- /package/dist/core/{p-db3a35fb.entry.js.map → p-66af5958.entry.js.map} +0 -0
- /package/dist/core/{p-9567c117.entry.js.map → p-72cea8fd.entry.js.map} +0 -0
- /package/dist/core/{p-957de939.entry.js.map → p-872c3555.entry.js.map} +0 -0
- /package/dist/core/{p-7fda2f94.entry.js.map → p-9729086f.entry.js.map} +0 -0
- /package/dist/core/{p-8b1f9648.entry.js.map → p-9cc19e91.entry.js.map} +0 -0
- /package/dist/core/{p-9528b29e.entry.js.map → p-9de20265.entry.js.map} +0 -0
- /package/dist/core/{p-00bd7919.entry.js.map → p-a0e42564.entry.js.map} +0 -0
- /package/dist/core/{p-a05755b1.entry.js.map → p-b08f4371.entry.js.map} +0 -0
- /package/dist/core/{p-0af27517.entry.js.map → p-b79c0631.entry.js.map} +0 -0
- /package/dist/core/{p-4bd13376.entry.js.map → p-b8247636.entry.js.map} +0 -0
- /package/dist/core/{p-fca46bd9.entry.js.map → p-badfdf2a.entry.js.map} +0 -0
- /package/dist/core/{p-99bf38e3.entry.js.map → p-be56fa17.entry.js.map} +0 -0
- /package/dist/core/{p-ff6f1e3a.entry.js.map → p-bebf535f.entry.js.map} +0 -0
- /package/dist/core/{p-494c3cbe.entry.js.map → p-c0d88af8.entry.js.map} +0 -0
- /package/dist/core/{p-4ad3012a.entry.js.map → p-c3af5dab.entry.js.map} +0 -0
- /package/dist/core/{p-4fd58768.entry.js.map → p-c3dabce4.entry.js.map} +0 -0
- /package/dist/core/{p-6eb58b0a.entry.js.map → p-c7e932b5.entry.js.map} +0 -0
- /package/dist/core/{p-c14a897d.entry.js.map → p-d09aaa5b.entry.js.map} +0 -0
- /package/dist/core/{p-8b820365.entry.js.map → p-d71e9cb5.entry.js.map} +0 -0
- /package/dist/core/{p-19c1e271.entry.js.map → p-f659e5eb.entry.js.map} +0 -0
- /package/dist/core/{p-f8f36680.entry.js.map → p-fc2551c0.entry.js.map} +0 -0
@@ -14,9 +14,12 @@ export class Menu {
|
|
14
14
|
this.isMultiSelect = false;
|
15
15
|
this.isSearchBar = false;
|
16
16
|
this.isSearchableSelect = false;
|
17
|
+
this.lastOptionSelected = null; // Index of last option selected
|
18
|
+
this.lastOptionFocused = null; // Index of last option focused
|
17
19
|
this.multiOptionClicked = null;
|
18
20
|
this.preventClickOpen = false; // Prevents menu re-opening immediately after it is closed on blur when clicking input.
|
19
21
|
this.preventMenuFocus = false; // (When multiple) ensures focus moves straight to select all button from menu.
|
22
|
+
this.shiftPressed = false;
|
20
23
|
this.ungroupedOptions = [];
|
21
24
|
this.handleClearListener = () => {
|
22
25
|
this.optionHighlighted = "";
|
@@ -136,7 +139,6 @@ export class Menu {
|
|
136
139
|
}
|
137
140
|
else {
|
138
141
|
this.setInputValue(highlightedOptionIndex);
|
139
|
-
this.value = options[highlightedOptionIndex][this.valueField];
|
140
142
|
}
|
141
143
|
}
|
142
144
|
}
|
@@ -149,16 +151,38 @@ export class Menu {
|
|
149
151
|
this.handleMenuChange(true);
|
150
152
|
}
|
151
153
|
};
|
154
|
+
// Check if option is selected based on the index of the option
|
155
|
+
this.isOptionSelected = (index) => {
|
156
|
+
const menuOptions = this.getMenuOptions();
|
157
|
+
return this.value
|
158
|
+
? this.value.includes(menuOptions[index][this.valueField])
|
159
|
+
: false;
|
160
|
+
};
|
161
|
+
// Deselect currently selected options when shift pressed, but keep certain options selected
|
162
|
+
this.deselectSelectedOptions = (optionsToKeepSelected) => {
|
163
|
+
const menuOptions = this.getMenuOptions();
|
164
|
+
if (this.value) {
|
165
|
+
const selectedOptionIndexes = this.value.map((value) => {
|
166
|
+
return menuOptions.findIndex((option) => option[this.valueField] === value);
|
167
|
+
});
|
168
|
+
// Call setInputValue (which toggles the selected state) on options that need to be deselected
|
169
|
+
selectedOptionIndexes.forEach((index) => !optionsToKeepSelected.includes(index) && this.setInputValue(index));
|
170
|
+
}
|
171
|
+
};
|
152
172
|
// Determines keyboard behaviour when selection is manual (i.e. when you have to press Enter to select an option)
|
153
173
|
this.manualSetInputValueKeyboardOpen = (event) => {
|
154
174
|
const menuOptions = this.getMenuOptions();
|
155
|
-
|
156
|
-
|
175
|
+
// Prevent focus disappearing on currently focused option when Shift / Cmd / Ctrl pressed
|
176
|
+
// (i.e. when user is likely in the middle of executing a keyboard combination to select options)
|
177
|
+
if (!(event.shiftKey || event.metaKey || event.ctrlKey)) {
|
178
|
+
this.keyboardNav = false;
|
179
|
+
}
|
180
|
+
const highlightedOptionIndex = this.getOptionHighlightedIndex();
|
157
181
|
const clickedMultiOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.multiOptionClicked);
|
158
182
|
const getOptionId = (index) => { var _a; return (_a = Array.from(this.el.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
|
159
183
|
// Space press should be equivalent to Enter when multi-select
|
160
184
|
if (event.key === " " && this.isMultiSelect) {
|
161
|
-
this.
|
185
|
+
this.handleOptionSelect(event, highlightedOptionIndex);
|
162
186
|
}
|
163
187
|
else {
|
164
188
|
switch (event.key) {
|
@@ -171,18 +195,32 @@ export class Menu {
|
|
171
195
|
this.setHighlightedOption(clickedMultiOptionIndex);
|
172
196
|
this.multiOptionClicked = null;
|
173
197
|
}
|
174
|
-
else if (highlightedOptionIndex < menuOptions.length - 1) {
|
175
|
-
this.setHighlightedOption(highlightedOptionIndex + 1);
|
176
|
-
this.menuOptionId.emit({
|
177
|
-
optionId: getOptionId(highlightedOptionIndex + 1),
|
178
|
-
});
|
179
|
-
}
|
180
198
|
else {
|
181
|
-
this.
|
182
|
-
|
183
|
-
|
184
|
-
|
199
|
+
this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
|
200
|
+
if (highlightedOptionIndex < menuOptions.length - 1) {
|
201
|
+
this.setHighlightedOption(highlightedOptionIndex + 1);
|
202
|
+
this.menuOptionId.emit({
|
203
|
+
optionId: getOptionId(highlightedOptionIndex + 1),
|
204
|
+
});
|
205
|
+
this.handleSingleShiftSelect(event, highlightedOptionIndex + 1, menuOptions);
|
206
|
+
}
|
207
|
+
else {
|
208
|
+
this.setHighlightedOption(0);
|
209
|
+
this.menuOptionId.emit({
|
210
|
+
optionId: getOptionId(0),
|
211
|
+
});
|
212
|
+
this.handleSingleShiftSelect(event, 0, menuOptions);
|
213
|
+
}
|
214
|
+
// Deselect currently selected options if arrow was pressed for first time after shift is held
|
215
|
+
if (this.isMultiSelect && this.shiftPressed) {
|
216
|
+
this.deselectSelectedOptions([
|
217
|
+
highlightedOptionIndex,
|
218
|
+
this.getOptionHighlightedIndex(),
|
219
|
+
]);
|
220
|
+
this.shiftPressed = false;
|
221
|
+
}
|
185
222
|
}
|
223
|
+
this.lastOptionFocused = this.getOptionHighlightedIndex();
|
186
224
|
this.preventIncorrectTabOrder = false;
|
187
225
|
this.focusFromSearchKeypress = false;
|
188
226
|
break;
|
@@ -195,40 +233,68 @@ export class Menu {
|
|
195
233
|
this.setHighlightedOption(clickedMultiOptionIndex);
|
196
234
|
this.multiOptionClicked = null;
|
197
235
|
}
|
198
|
-
else if (highlightedOptionIndex <= 0 ||
|
199
|
-
highlightedOptionIndex > menuOptions.length + 1) {
|
200
|
-
this.setHighlightedOption(menuOptions.length - 1);
|
201
|
-
this.menuOptionId.emit({
|
202
|
-
optionId: getOptionId(menuOptions.length - 1),
|
203
|
-
});
|
204
|
-
}
|
205
236
|
else {
|
206
|
-
this.
|
207
|
-
|
208
|
-
|
209
|
-
|
237
|
+
this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
|
238
|
+
if (highlightedOptionIndex <= 0 ||
|
239
|
+
highlightedOptionIndex > menuOptions.length + 1) {
|
240
|
+
this.setHighlightedOption(menuOptions.length - 1);
|
241
|
+
this.menuOptionId.emit({
|
242
|
+
optionId: getOptionId(menuOptions.length - 1),
|
243
|
+
});
|
244
|
+
this.handleSingleShiftSelect(event, menuOptions.length - 1, menuOptions);
|
245
|
+
}
|
246
|
+
else {
|
247
|
+
this.setHighlightedOption(highlightedOptionIndex - 1);
|
248
|
+
this.menuOptionId.emit({
|
249
|
+
optionId: getOptionId(highlightedOptionIndex - 1),
|
250
|
+
});
|
251
|
+
this.handleSingleShiftSelect(event, highlightedOptionIndex - 1, menuOptions);
|
252
|
+
}
|
253
|
+
// Deselect currently selected options if arrow was pressed for first time after shift is held
|
254
|
+
if (this.isMultiSelect && this.shiftPressed) {
|
255
|
+
this.deselectSelectedOptions([
|
256
|
+
highlightedOptionIndex,
|
257
|
+
this.getOptionHighlightedIndex(),
|
258
|
+
]);
|
259
|
+
this.shiftPressed = false;
|
260
|
+
}
|
210
261
|
}
|
262
|
+
this.lastOptionFocused = this.getOptionHighlightedIndex();
|
211
263
|
this.preventIncorrectTabOrder = false;
|
212
264
|
this.focusFromSearchKeypress = false;
|
213
265
|
break;
|
214
|
-
case "Home":
|
266
|
+
case "Home": {
|
267
|
+
const startOptionIndex = 0;
|
215
268
|
this.keyboardNav = true;
|
216
269
|
event.preventDefault();
|
217
270
|
this.arrowBehaviour(event);
|
218
|
-
this.setHighlightedOption(
|
271
|
+
this.setHighlightedOption(startOptionIndex);
|
219
272
|
this.menuOptionId.emit({
|
220
|
-
optionId: getOptionId(
|
273
|
+
optionId: getOptionId(startOptionIndex),
|
221
274
|
});
|
275
|
+
if (event.shiftKey && event.ctrlKey) {
|
276
|
+
this.handleMultipleShiftSelect(startOptionIndex);
|
277
|
+
}
|
278
|
+
this.lastOptionFocused = startOptionIndex;
|
279
|
+
this.lastOptionSelected = startOptionIndex;
|
222
280
|
break;
|
223
|
-
|
281
|
+
}
|
282
|
+
case "End": {
|
283
|
+
const endOptionIndex = menuOptions.length - 1;
|
224
284
|
this.keyboardNav = true;
|
225
285
|
event.preventDefault();
|
226
286
|
this.arrowBehaviour(event);
|
227
|
-
this.setHighlightedOption(
|
287
|
+
this.setHighlightedOption(endOptionIndex);
|
228
288
|
this.menuOptionId.emit({
|
229
|
-
optionId: getOptionId(
|
289
|
+
optionId: getOptionId(endOptionIndex),
|
230
290
|
});
|
291
|
+
if (event.shiftKey && event.ctrlKey) {
|
292
|
+
this.handleMultipleShiftSelect(endOptionIndex);
|
293
|
+
}
|
294
|
+
this.lastOptionFocused = endOptionIndex;
|
295
|
+
this.lastOptionSelected = endOptionIndex;
|
231
296
|
break;
|
297
|
+
}
|
232
298
|
case " ":
|
233
299
|
if (this.isSearchBar || this.isSearchableSelect) {
|
234
300
|
break;
|
@@ -241,7 +307,7 @@ export class Menu {
|
|
241
307
|
break;
|
242
308
|
case "Enter":
|
243
309
|
event.preventDefault();
|
244
|
-
this.
|
310
|
+
this.handleOptionSelect(event, highlightedOptionIndex);
|
245
311
|
break;
|
246
312
|
case "Escape":
|
247
313
|
if (this.open) {
|
@@ -256,10 +322,15 @@ export class Menu {
|
|
256
322
|
if ((isMacDevice() && event.metaKey) ||
|
257
323
|
(!isMacDevice() && event.ctrlKey)) {
|
258
324
|
this.emitSelectAll();
|
325
|
+
this.lastOptionFocused = null;
|
326
|
+
this.lastOptionSelected = null;
|
259
327
|
}
|
260
328
|
break;
|
261
329
|
case "Shift":
|
262
330
|
case "Tab":
|
331
|
+
if (event.key === "Shift") {
|
332
|
+
this.shiftPressed = true;
|
333
|
+
}
|
263
334
|
if (this.isSearchBar) {
|
264
335
|
this.keyboardNav = true;
|
265
336
|
}
|
@@ -325,14 +396,17 @@ export class Menu {
|
|
325
396
|
};
|
326
397
|
this.handleOptionClick = (event) => {
|
327
398
|
const { value, label } = event.target.dataset;
|
328
|
-
this.menuOptionSelect.emit({ value, label });
|
329
|
-
this.optionHighlighted = undefined;
|
330
399
|
if (this.isMultiSelect) {
|
400
|
+
const menuOptions = this.getMenuOptions();
|
401
|
+
const selectedOptionIndex = menuOptions.findIndex((option) => option.value === value);
|
402
|
+
this.handleOptionSelect(event, selectedOptionIndex, true);
|
331
403
|
this.multiOptionClicked = value;
|
332
404
|
}
|
333
405
|
else {
|
406
|
+
this.menuOptionSelect.emit({ value, label });
|
334
407
|
this.handleMenuChange(false);
|
335
408
|
}
|
409
|
+
this.optionHighlighted = undefined;
|
336
410
|
};
|
337
411
|
this.handleRetry = () => {
|
338
412
|
this.retryButtonClicked.emit({ value: this.value });
|
@@ -352,12 +426,16 @@ export class Menu {
|
|
352
426
|
event.relatedTarget === this.selectAllButton)) {
|
353
427
|
this.handleMenuChange(false, this.hasPreviouslyBlurred);
|
354
428
|
this.menu.removeAttribute(this.activeDescendantAttr);
|
429
|
+
this.lastOptionFocused = null;
|
430
|
+
this.lastOptionSelected = null;
|
355
431
|
}
|
356
432
|
}
|
357
433
|
else {
|
358
434
|
this.handleMenuChange(false);
|
359
435
|
this.preventClickOpen = true;
|
360
436
|
this.menu.removeAttribute(this.activeDescendantAttr);
|
437
|
+
this.lastOptionFocused = null;
|
438
|
+
this.lastOptionSelected = null;
|
361
439
|
}
|
362
440
|
if (!this.isSearchBar)
|
363
441
|
this.hasPreviouslyBlurred = !!event.relatedTarget;
|
@@ -381,11 +459,16 @@ export class Menu {
|
|
381
459
|
this.disabledOptionSelected = false;
|
382
460
|
event.stopImmediatePropagation();
|
383
461
|
}
|
462
|
+
if (event.key === "Shift") {
|
463
|
+
this.shiftPressed = false;
|
464
|
+
}
|
384
465
|
};
|
385
466
|
this.handleSelectAllClick = () => {
|
386
467
|
this.keyboardNav = false;
|
387
468
|
this.menu.focus();
|
388
469
|
this.emitSelectAll();
|
470
|
+
this.lastOptionFocused = null;
|
471
|
+
this.lastOptionSelected = null;
|
389
472
|
};
|
390
473
|
this.handleSelectAllBlur = (event) => {
|
391
474
|
this.el.classList.remove("select-all-focused");
|
@@ -395,11 +478,65 @@ export class Menu {
|
|
395
478
|
};
|
396
479
|
this.handleSelectAllFocus = () => {
|
397
480
|
this.el.classList.add("select-all-focused");
|
481
|
+
this.lastOptionFocused = null;
|
482
|
+
this.lastOptionSelected = null;
|
398
483
|
};
|
399
484
|
// Fix for Safari - select all button click was causing menu to close
|
400
485
|
this.handleSelectAllMouseDown = (event) => {
|
401
486
|
event.preventDefault();
|
402
487
|
};
|
488
|
+
// When shift key is being used to select contiguous options one by one on a multi-select
|
489
|
+
// I.e. holding shift and pressing up and down arrow keys
|
490
|
+
this.handleSingleShiftSelect = (event, optionToSelectIndex, options) => {
|
491
|
+
if (this.isMultiSelect &&
|
492
|
+
event.shiftKey &&
|
493
|
+
!this.isOptionSelected(optionToSelectIndex)) {
|
494
|
+
this.selectHighlightedOption(event.target, options, optionToSelectIndex);
|
495
|
+
this.lastOptionSelected = optionToSelectIndex;
|
496
|
+
}
|
497
|
+
};
|
498
|
+
// When shift key is being used to select multiple options at once on a multi-select
|
499
|
+
// I.e. holding shift when selecting another option
|
500
|
+
this.handleMultipleShiftSelect = (lastOptionInSelection, useFocusForSelection = false, firstOptionSelected = null) => {
|
501
|
+
this.shiftPressed = false;
|
502
|
+
const firstOptionInSelection = firstOptionSelected === null
|
503
|
+
? this.getFirstOptionInSelection(useFocusForSelection)
|
504
|
+
: firstOptionSelected;
|
505
|
+
if (firstOptionInSelection !== null) {
|
506
|
+
const optionsToSelect = [];
|
507
|
+
if (firstOptionInSelection < lastOptionInSelection) {
|
508
|
+
for (let i = firstOptionInSelection; i < lastOptionInSelection + 1; i++) {
|
509
|
+
optionsToSelect.push(i);
|
510
|
+
}
|
511
|
+
}
|
512
|
+
else {
|
513
|
+
for (let i = firstOptionInSelection; i > lastOptionInSelection - 1; i--) {
|
514
|
+
optionsToSelect.push(i);
|
515
|
+
}
|
516
|
+
}
|
517
|
+
optionsToSelect.forEach((optionIndex) => !this.isOptionSelected(optionIndex) && this.setInputValue(optionIndex));
|
518
|
+
this.deselectSelectedOptions(optionsToSelect);
|
519
|
+
}
|
520
|
+
};
|
521
|
+
this.handleOptionSelect = (event, optionIndex, useFocusForSelection = false) => {
|
522
|
+
const menuOptions = this.getMenuOptions();
|
523
|
+
const firstOptionInSelection = this.getFirstOptionInSelection(useFocusForSelection);
|
524
|
+
if (event.shiftKey && firstOptionInSelection !== null) {
|
525
|
+
this.handleMultipleShiftSelect(optionIndex, useFocusForSelection, firstOptionInSelection);
|
526
|
+
}
|
527
|
+
else {
|
528
|
+
this.selectHighlightedOption(event.target, menuOptions, optionIndex);
|
529
|
+
}
|
530
|
+
this.lastOptionFocused = optionIndex;
|
531
|
+
this.lastOptionSelected = optionIndex;
|
532
|
+
};
|
533
|
+
this.getFirstOptionInSelection = (useFocusForSelection) => {
|
534
|
+
return useFocusForSelection && this.lastOptionFocused !== null
|
535
|
+
? this.lastOptionFocused
|
536
|
+
: this.lastOptionSelected !== null
|
537
|
+
? this.lastOptionSelected
|
538
|
+
: null;
|
539
|
+
};
|
403
540
|
this.emitSelectAll = () => {
|
404
541
|
var _a;
|
405
542
|
// Select all if there is either no value or not all options are selected
|
@@ -498,6 +635,10 @@ export class Menu {
|
|
498
635
|
}
|
499
636
|
return sorted;
|
500
637
|
};
|
638
|
+
this.getOptionHighlightedIndex = () => {
|
639
|
+
const menuOptions = this.getMenuOptions();
|
640
|
+
return menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
|
641
|
+
};
|
501
642
|
this.isManualMode = this.activationType === "manual";
|
502
643
|
this.scrollToSelected = (menu) => {
|
503
644
|
const selectedOption = this.selectOnEnter
|
@@ -1117,7 +1258,7 @@ export class Menu {
|
|
1117
1258
|
},
|
1118
1259
|
"value": {
|
1119
1260
|
"type": "string",
|
1120
|
-
"mutable":
|
1261
|
+
"mutable": false,
|
1121
1262
|
"complexType": {
|
1122
1263
|
"original": "string | string[]",
|
1123
1264
|
"resolved": "string | string[]",
|