@ukic/canary-web-components 2.0.0-canary.13 → 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-6acbb97e.js → helpers-191dca49.js} +56 -89
- 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 -84
- 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 +35 -86
- 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 +34 -21
- 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 +6 -6
- package/dist/cjs/ic-date-input.cjs.entry.js.map +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 +34 -16
- 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 +26 -5
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +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 +58 -17
- 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 +40 -26
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +9 -4
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +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 +5 -2
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +2 -1
- package/dist/cjs/ic-stepper.cjs.entry.js.map +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 -22
- 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-date-input/ic-date-input.css +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +4 -4
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- 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 +55 -87
- 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 -84
- 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-button2.js +33 -84
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +1 -1
- package/dist/components/ic-checkbox-group.js +27 -17
- 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 +39 -23
- 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 +6 -6
- package/dist/components/ic-date-input2.js.map +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 +35 -17
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +1 -1
- package/dist/components/ic-loading-indicator2.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 +27 -6
- package/dist/components/ic-navigation-button.js.map +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 +2 -2
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +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-group.js +40 -26
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +11 -5
- package/dist/components/ic-radio-option.js.map +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 +33 -11
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-step.js +4 -1
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +3 -1
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-tab.js +1 -1
- package/dist/components/ic-text-field2.js +27 -8
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +13 -22
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast.js +1 -1
- package/dist/components/ic-toggle-button.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-b3d21d06.entry.js → p-005e83b0.entry.js} +2 -2
- package/dist/core/{p-b8a3b16d.entry.js → p-05df3901.entry.js} +2 -2
- package/dist/core/{p-3d0185a4.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-114bea92.entry.js +2 -0
- package/dist/core/p-114bea92.entry.js.map +1 -0
- 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-e0e26834.entry.js → p-16c82b13.entry.js} +2 -2
- package/dist/core/{p-094a0455.entry.js → p-1b35b6af.entry.js} +2 -2
- 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-2e167ebb.entry.js +2 -0
- 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-8b1d128c.entry.js → p-4415c93f.entry.js} +2 -2
- package/dist/core/{p-6b68ee01.entry.js → p-457dd939.entry.js} +2 -2
- package/dist/core/p-457dd939.entry.js.map +1 -0
- package/dist/core/{p-04f46dac.entry.js → p-4737844f.entry.js} +2 -2
- package/dist/core/p-4737844f.entry.js.map +1 -0
- package/dist/core/{p-8ef85b15.entry.js → p-53374a27.entry.js} +2 -2
- package/dist/core/{p-7c8f85fd.entry.js → p-53e45d51.entry.js} +2 -2
- package/dist/core/{p-0707f2fc.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-c7b52046.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-6b277e09.entry.js +2 -0
- package/dist/core/p-6b277e09.entry.js.map +1 -0
- package/dist/core/{p-2ec33c00.entry.js → p-72cea8fd.entry.js} +2 -2
- package/dist/core/p-73dad5cf.entry.js +2 -0
- package/dist/core/p-73dad5cf.entry.js.map +1 -0
- package/dist/core/{p-05d0ac42.entry.js → p-85e2a9af.entry.js} +2 -2
- package/dist/core/p-85e2a9af.entry.js.map +1 -0
- package/dist/core/{p-bbcd6d06.entry.js → p-872c3555.entry.js} +2 -2
- package/dist/core/{p-dae1779d.entry.js → p-87743c4a.entry.js} +2 -2
- package/dist/core/{p-55d819a6.entry.js → p-8cfc74da.entry.js} +2 -2
- package/dist/core/{p-bf316546.entry.js → p-9729086f.entry.js} +2 -2
- package/dist/core/{p-f4965c26.entry.js → p-9cc19e91.entry.js} +2 -2
- package/dist/core/{p-da578abf.entry.js → p-9de20265.entry.js} +2 -2
- package/dist/core/p-a088373e.entry.js +2 -0
- package/dist/core/p-a088373e.entry.js.map +1 -0
- package/dist/core/{p-169dcfdd.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-f9fcdd21.entry.js → p-a9d07792.entry.js} +2 -2
- package/dist/core/p-a9d07792.entry.js.map +1 -0
- package/dist/core/{p-66b8f0a7.entry.js → p-b08f4371.entry.js} +2 -2
- package/dist/core/{p-a9ed6a71.entry.js → p-b79c0631.entry.js} +2 -2
- package/dist/core/p-b79c0631.entry.js.map +1 -0
- package/dist/core/p-b8247636.entry.js +2 -0
- package/dist/core/p-b8247636.entry.js.map +1 -0
- package/dist/core/{p-fdd8f3a5.entry.js → p-badfdf2a.entry.js} +2 -2
- package/dist/core/p-be56fa17.entry.js +2 -0
- package/dist/core/{p-31800427.entry.js.map → p-be56fa17.entry.js.map} +1 -1
- package/dist/core/{p-ed7379e3.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-c0d88af8.entry.js +2 -0
- package/dist/core/p-c0d88af8.entry.js.map +1 -0
- package/dist/core/p-c3af5dab.entry.js +2 -0
- package/dist/core/p-c3af5dab.entry.js.map +1 -0
- package/dist/core/{p-981b6f12.entry.js → p-c3dabce4.entry.js} +2 -2
- package/dist/core/{p-bcfbd465.entry.js → p-c7e932b5.entry.js} +2 -2
- package/dist/core/{p-1a4bce88.entry.js → p-d09aaa5b.entry.js} +2 -2
- package/dist/core/{p-3f4c408a.entry.js → p-d59a72a9.entry.js} +2 -2
- package/dist/core/p-d59a72a9.entry.js.map +1 -0
- package/dist/core/{p-1170c02d.entry.js → p-d71e9cb5.entry.js} +2 -2
- package/dist/core/{p-b612d68b.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-e676069e.entry.js → p-f659e5eb.entry.js} +2 -2
- package/dist/core/{p-ffa94639.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-451953f9.js → helpers-da05c476.js} +56 -88
- 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 -84
- 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 +35 -86
- 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 +34 -21
- 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 +6 -6
- package/dist/esm/ic-date-input.entry.js.map +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 +35 -17
- 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 +27 -6
- package/dist/esm/ic-navigation-button.entry.js.map +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 +59 -18
- 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 +40 -26
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +9 -4
- package/dist/esm/ic-radio-option.entry.js.map +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 +5 -2
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +2 -1
- package/dist/esm/ic-stepper.entry.js.map +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 -22
- 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 +1445 -1050
- package/package.json +3 -3
- package/dist/cjs/helpers-6acbb97e.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-04f46dac.entry.js.map +0 -1
- package/dist/core/p-05d0ac42.entry.js.map +0 -1
- package/dist/core/p-1c3bd46d.entry.js +0 -2
- package/dist/core/p-1c3bd46d.entry.js.map +0 -1
- package/dist/core/p-28bddd8d.entry.js +0 -2
- package/dist/core/p-28bddd8d.entry.js.map +0 -1
- package/dist/core/p-31800427.entry.js +0 -2
- package/dist/core/p-3b0caac0.js +0 -2
- package/dist/core/p-3b0caac0.js.map +0 -1
- package/dist/core/p-3f4c408a.entry.js.map +0 -1
- package/dist/core/p-4020d7f7.entry.js +0 -2
- package/dist/core/p-4020d7f7.entry.js.map +0 -1
- package/dist/core/p-402fd288.entry.js +0 -2
- package/dist/core/p-402fd288.entry.js.map +0 -1
- package/dist/core/p-49449a2d.entry.js +0 -2
- package/dist/core/p-49449a2d.entry.js.map +0 -1
- package/dist/core/p-4a30b0fc.entry.js +0 -2
- package/dist/core/p-4a30b0fc.entry.js.map +0 -1
- package/dist/core/p-4b361789.entry.js +0 -2
- package/dist/core/p-4b361789.entry.js.map +0 -1
- package/dist/core/p-50cfc2bb.entry.js +0 -2
- package/dist/core/p-50cfc2bb.entry.js.map +0 -1
- package/dist/core/p-58c87b3d.entry.js +0 -2
- package/dist/core/p-58c87b3d.entry.js.map +0 -1
- package/dist/core/p-623f911f.entry.js +0 -2
- package/dist/core/p-623f911f.entry.js.map +0 -1
- package/dist/core/p-6b68ee01.entry.js.map +0 -1
- package/dist/core/p-7d1381ef.entry.js +0 -2
- package/dist/core/p-7d1381ef.entry.js.map +0 -1
- package/dist/core/p-925da2d2.entry.js +0 -2
- package/dist/core/p-925da2d2.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-a9ed6a71.entry.js.map +0 -1
- package/dist/core/p-b612d68b.entry.js.map +0 -1
- package/dist/core/p-c51496ee.entry.js +0 -2
- package/dist/core/p-c51496ee.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-cd799087.js +0 -2
- package/dist/core/p-cd799087.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-e30f2623.entry.js +0 -2
- package/dist/core/p-e30f2623.entry.js.map +0 -1
- package/dist/core/p-f9ee48f7.entry.js +0 -2
- package/dist/core/p-f9ee48f7.entry.js.map +0 -1
- package/dist/core/p-f9fcdd21.entry.js.map +0 -1
- package/dist/esm/helpers-451953f9.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-b3d21d06.entry.js.map → p-005e83b0.entry.js.map} +0 -0
- /package/dist/core/{p-b8a3b16d.entry.js.map → p-05df3901.entry.js.map} +0 -0
- /package/dist/core/{p-3d0185a4.entry.js.map → p-0646ef0c.entry.js.map} +0 -0
- /package/dist/core/{p-e0e26834.entry.js.map → p-16c82b13.entry.js.map} +0 -0
- /package/dist/core/{p-094a0455.entry.js.map → p-1b35b6af.entry.js.map} +0 -0
- /package/dist/core/{p-849f43c3.entry.js.map → p-2170f59e.entry.js.map} +0 -0
- /package/dist/core/{p-8b1d128c.entry.js.map → p-4415c93f.entry.js.map} +0 -0
- /package/dist/core/{p-8ef85b15.entry.js.map → p-53374a27.entry.js.map} +0 -0
- /package/dist/core/{p-7c8f85fd.entry.js.map → p-53e45d51.entry.js.map} +0 -0
- /package/dist/core/{p-0707f2fc.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-c7b52046.entry.js.map → p-66af5958.entry.js.map} +0 -0
- /package/dist/core/{p-2ec33c00.entry.js.map → p-72cea8fd.entry.js.map} +0 -0
- /package/dist/core/{p-bbcd6d06.entry.js.map → p-872c3555.entry.js.map} +0 -0
- /package/dist/core/{p-dae1779d.entry.js.map → p-87743c4a.entry.js.map} +0 -0
- /package/dist/core/{p-55d819a6.entry.js.map → p-8cfc74da.entry.js.map} +0 -0
- /package/dist/core/{p-bf316546.entry.js.map → p-9729086f.entry.js.map} +0 -0
- /package/dist/core/{p-f4965c26.entry.js.map → p-9cc19e91.entry.js.map} +0 -0
- /package/dist/core/{p-da578abf.entry.js.map → p-9de20265.entry.js.map} +0 -0
- /package/dist/core/{p-169dcfdd.entry.js.map → p-a0e42564.entry.js.map} +0 -0
- /package/dist/core/{p-66b8f0a7.entry.js.map → p-b08f4371.entry.js.map} +0 -0
- /package/dist/core/{p-fdd8f3a5.entry.js.map → p-badfdf2a.entry.js.map} +0 -0
- /package/dist/core/{p-ed7379e3.entry.js.map → p-bebf535f.entry.js.map} +0 -0
- /package/dist/core/{p-981b6f12.entry.js.map → p-c3dabce4.entry.js.map} +0 -0
- /package/dist/core/{p-bcfbd465.entry.js.map → p-c7e932b5.entry.js.map} +0 -0
- /package/dist/core/{p-1a4bce88.entry.js.map → p-d09aaa5b.entry.js.map} +0 -0
- /package/dist/core/{p-1170c02d.entry.js.map → p-d71e9cb5.entry.js.map} +0 -0
- /package/dist/core/{p-e676069e.entry.js.map → p-f659e5eb.entry.js.map} +0 -0
- /package/dist/core/{p-ffa94639.entry.js.map → p-fc2551c0.entry.js.map} +0 -0
@@ -2,86 +2,59 @@ import { h, } from "@stencil/core";
|
|
2
2
|
import { checkResizeObserver } from "../../utils/helpers";
|
3
3
|
export class PaginationBar {
|
4
4
|
constructor() {
|
5
|
-
this.PAGINATION = "ic-pagination";
|
6
|
-
this.TEXT_FIELD = "ic-text-field";
|
7
|
-
this.TOOLTIP = "ic-tooltip";
|
8
5
|
this.PAGE_INPUT_FIELD_ID = "go-to-page-input";
|
9
6
|
this.INVALID_PAGE_ERROR = "Please enter a valid page";
|
10
7
|
this.NAN_ERROR = "Please enter a number";
|
11
8
|
this.resizeObserver = null;
|
12
9
|
this.changeItemsPerPage = () => {
|
13
|
-
|
14
|
-
const value = select.value;
|
15
|
-
this.itemsPerPage = value;
|
16
|
-
this.setNumberPages();
|
17
|
-
this.setUpperBound();
|
18
|
-
const pagination = this.el.shadowRoot.querySelector(this.PAGINATION);
|
19
|
-
if (this.currentPage > this.totalPages) {
|
20
|
-
pagination.setCurrentPage(this.totalPages);
|
21
|
-
this.currentPage = this.totalPages;
|
22
|
-
}
|
23
|
-
this.icItemsPerPageChange.emit({ value: Number(this.itemsPerPage) });
|
24
|
-
this.icPageChange.emit({ value: this.currentPage });
|
10
|
+
this.setItemsPerPage(Number(this.pageDropdownEl.value));
|
25
11
|
};
|
26
12
|
this.changePage = (page) => {
|
27
13
|
this.currentPage = page;
|
28
|
-
this.lowerBound =
|
29
|
-
page !== 1 ? (page - 1) * Number(this.itemsPerPage) + 1 : page;
|
14
|
+
this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;
|
30
15
|
this.setUpperBound();
|
31
16
|
};
|
32
17
|
this.goToPage = () => {
|
33
|
-
const input = this.
|
18
|
+
const input = this.pageInputEl;
|
34
19
|
const page = Number(input.value);
|
35
|
-
const tooltip = this.el.shadowRoot.querySelector("ic-tooltip");
|
36
20
|
if (page <= this.totalPages && page > 0) {
|
37
21
|
this.changePage(page);
|
38
|
-
|
39
|
-
pagination.setCurrentPage(page);
|
22
|
+
this.paginationEl.setCurrentPage(page);
|
40
23
|
this.currentPage = page;
|
41
24
|
input.value = "";
|
42
25
|
this.icPageChange.emit({ value: page });
|
43
|
-
|
26
|
+
this.pageInputTooltipEl.displayTooltip(false, false);
|
44
27
|
input.validationStatus = "";
|
45
28
|
}
|
46
29
|
else {
|
47
|
-
this.
|
48
|
-
input.validationStatus = "error";
|
49
|
-
input.setFocus();
|
30
|
+
this.setInputError(input, this.INVALID_PAGE_ERROR);
|
50
31
|
}
|
51
32
|
};
|
52
33
|
this.handleBlur = () => {
|
53
|
-
|
54
|
-
const textField = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(this.TEXT_FIELD);
|
55
|
-
const tooltip = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(this.TOOLTIP);
|
34
|
+
const textField = this.pageInputEl;
|
56
35
|
if ((Number(textField.value) <= this.totalPages &&
|
57
36
|
Number(textField.value) > 0) ||
|
58
37
|
textField.value === "") {
|
59
38
|
textField.validationStatus = "";
|
60
39
|
}
|
61
|
-
|
40
|
+
this.pageInputTooltipEl.displayTooltip(false, false);
|
62
41
|
};
|
63
42
|
this.handleFocus = () => {
|
64
|
-
|
65
|
-
|
66
|
-
const tooltip = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(this.TOOLTIP);
|
67
|
-
if (textField.validationStatus === "error") {
|
68
|
-
tooltip.displayTooltip(true, true);
|
43
|
+
if (this.pageInputEl.validationStatus === "error") {
|
44
|
+
this.pageInputTooltipEl.displayTooltip(true, true);
|
69
45
|
}
|
70
46
|
};
|
71
47
|
this.handleInputChange = () => {
|
72
|
-
const
|
73
|
-
const textField = this.el.shadowRoot.querySelector(this.TEXT_FIELD);
|
48
|
+
const textField = this.pageInputEl;
|
74
49
|
const inputValue = parseInt(textField.value);
|
75
50
|
if (inputValue > this.totalPages || inputValue <= 0) {
|
76
|
-
this.
|
77
|
-
|
78
|
-
textField.validationStatus = "error";
|
79
|
-
textField.focus();
|
51
|
+
this.setInputError(textField, this.INVALID_PAGE_ERROR);
|
52
|
+
this.pageInputTooltipEl.displayTooltip(true, true);
|
80
53
|
}
|
81
54
|
};
|
82
55
|
this.handleKeydown = (ev) => {
|
83
|
-
const tooltip = this.
|
84
|
-
const textField = this.
|
56
|
+
const tooltip = this.pageInputTooltipEl;
|
57
|
+
const textField = this.pageInputEl;
|
85
58
|
if (ev.key === "Enter") {
|
86
59
|
if (textField.validationStatus === "error") {
|
87
60
|
tooltip.displayTooltip(true, true);
|
@@ -96,23 +69,20 @@ export class PaginationBar {
|
|
96
69
|
}
|
97
70
|
};
|
98
71
|
this.handleKeyUp = (ev) => {
|
99
|
-
const
|
100
|
-
const textField = this.el.shadowRoot.querySelector(this.TEXT_FIELD);
|
72
|
+
const textField = this.pageInputEl;
|
101
73
|
const inputValue = parseInt(textField.value);
|
102
74
|
if (Number.isNaN(inputValue) &&
|
103
75
|
ev.key !== "Backspace" &&
|
104
76
|
ev.key !== "Enter" &&
|
105
77
|
ev.key !== "Tab" &&
|
106
78
|
ev.key !== "Shift") {
|
107
|
-
this.
|
108
|
-
|
109
|
-
textField.validationStatus = "error";
|
79
|
+
this.setInputError(textField, this.NAN_ERROR, false);
|
80
|
+
this.pageInputTooltipEl.displayTooltip(true, false);
|
110
81
|
}
|
111
82
|
};
|
112
83
|
this.paginationShouldWrap = () => {
|
113
|
-
|
114
|
-
|
115
|
-
if (pagination.clientHeight > 63) {
|
84
|
+
if (this.type === "simple") {
|
85
|
+
if (this.paginationEl.clientHeight > 63) {
|
116
86
|
this.paginationWrapped = true;
|
117
87
|
}
|
118
88
|
else {
|
@@ -134,24 +104,25 @@ export class PaginationBar {
|
|
134
104
|
});
|
135
105
|
this.resizeObserver.observe(this.paginationBarEl);
|
136
106
|
};
|
137
|
-
this.
|
138
|
-
this.
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
107
|
+
this.setDisplayedItemsPerPageOptions = () => {
|
108
|
+
if (this.itemsPerPageOptions === undefined ||
|
109
|
+
this.itemsPerPageOptions === null) {
|
110
|
+
this.displayedItemsPerPageOptions =
|
111
|
+
this.totalItems <= 100
|
112
|
+
? [
|
113
|
+
{ label: "10", value: "10" },
|
114
|
+
{ label: "25", value: "25" },
|
115
|
+
{ label: "50", value: "50" },
|
116
|
+
]
|
117
|
+
: [
|
118
|
+
{ label: "25", value: "25" },
|
119
|
+
{ label: "100", value: "100" },
|
120
|
+
{ label: "1000", value: "1000" },
|
121
|
+
];
|
122
|
+
}
|
123
|
+
else {
|
124
|
+
this.displayedItemsPerPageOptions = this.itemsPerPageOptions.slice(0, 3);
|
125
|
+
}
|
155
126
|
};
|
156
127
|
this.setGoToPageInputStyles = () => {
|
157
128
|
var _a, _b;
|
@@ -164,27 +135,74 @@ export class PaginationBar {
|
|
164
135
|
}
|
165
136
|
}
|
166
137
|
};
|
138
|
+
this.setInputError = (el, error, focus = true) => {
|
139
|
+
this.inputError = error;
|
140
|
+
el.validationStatus = "error";
|
141
|
+
if (focus)
|
142
|
+
el.setFocus();
|
143
|
+
};
|
144
|
+
this.setItemsPerPage = (newValue) => {
|
145
|
+
if (this.itemsPerPage !== newValue) {
|
146
|
+
this.itemsPerPage = newValue;
|
147
|
+
this.icItemsPerPageChange.emit({ value: this.itemsPerPage });
|
148
|
+
}
|
149
|
+
this.setNumberPages();
|
150
|
+
this.setUpperBound();
|
151
|
+
if (this.currentPage > this.totalPages) {
|
152
|
+
this.paginationEl.setCurrentPage(this.totalPages);
|
153
|
+
this.currentPage = this.totalPages;
|
154
|
+
}
|
155
|
+
this.icPageChange.emit({ value: this.currentPage });
|
156
|
+
};
|
167
157
|
this.setNumberPages = () => {
|
168
|
-
|
158
|
+
const numItemsPerPage = this.itemsPerPage;
|
159
|
+
if (this.totalItems <= numItemsPerPage) {
|
160
|
+
this.totalPages = 1;
|
161
|
+
}
|
162
|
+
else {
|
163
|
+
this.totalPages = Math.ceil(this.totalItems / numItemsPerPage);
|
164
|
+
}
|
165
|
+
};
|
166
|
+
this.setPaginationBarContent = () => {
|
167
|
+
this.setDisplayedItemsPerPageOptions();
|
168
|
+
this.trimItemsPerPageOptions();
|
169
|
+
this.updateItemsPerPage();
|
169
170
|
};
|
170
171
|
this.setUpperBound = () => {
|
171
|
-
this.upperBound = Math.min(this.lowerBound +
|
172
|
+
this.upperBound = Math.min(this.lowerBound + this.itemsPerPage - 1, this.totalItems);
|
172
173
|
};
|
173
174
|
this.trimItemsPerPageOptions = () => {
|
174
|
-
this.
|
175
|
-
this.itemsPerPageOptions.push({
|
175
|
+
this.displayedItemsPerPageOptions.push({
|
176
176
|
label: "All",
|
177
177
|
value: String(this.totalItems),
|
178
178
|
});
|
179
|
-
for (let i = 0; i < this.
|
180
|
-
if (this.totalItems <= Number(this.
|
181
|
-
this.
|
179
|
+
for (let i = 0; i < this.displayedItemsPerPageOptions.length - 1; i++) {
|
180
|
+
if (this.totalItems <= Number(this.displayedItemsPerPageOptions[i].value)) {
|
181
|
+
this.displayedItemsPerPageOptions.splice(i, this.displayedItemsPerPageOptions.length - (i + 1));
|
182
182
|
}
|
183
183
|
}
|
184
184
|
};
|
185
|
+
this.updateItemsPerPage = () => {
|
186
|
+
let newItemsPerPage = this.itemsPerPage;
|
187
|
+
let updated = false;
|
188
|
+
let lastOptionValue = 0;
|
189
|
+
for (let i = 0; i < this.displayedItemsPerPageOptions.length; i++) {
|
190
|
+
lastOptionValue = Number(this.displayedItemsPerPageOptions[i].value);
|
191
|
+
if (this.itemsPerPage <= lastOptionValue) {
|
192
|
+
newItemsPerPage = lastOptionValue;
|
193
|
+
updated = true;
|
194
|
+
i = this.displayedItemsPerPageOptions.length;
|
195
|
+
}
|
196
|
+
}
|
197
|
+
if (!updated && this.itemsPerPage > lastOptionValue) {
|
198
|
+
newItemsPerPage = lastOptionValue;
|
199
|
+
}
|
200
|
+
this.setItemsPerPage(newItemsPerPage);
|
201
|
+
};
|
185
202
|
this.currentPage = 1;
|
203
|
+
this.displayedItemsPerPageOptions = undefined;
|
186
204
|
this.inputError = "Please enter a valid page";
|
187
|
-
this.itemsPerPage =
|
205
|
+
this.itemsPerPage = 0;
|
188
206
|
this.lowerBound = 1;
|
189
207
|
this.paginationWidth = undefined;
|
190
208
|
this.paginationWrapped = false;
|
@@ -192,30 +210,29 @@ export class PaginationBar {
|
|
192
210
|
this.upperBound = undefined;
|
193
211
|
this.alignment = "right";
|
194
212
|
this.appearance = "default";
|
195
|
-
this.
|
213
|
+
this.rangeItemLabel = "Item";
|
196
214
|
this.itemsPerPageOptions = undefined;
|
197
|
-
this.
|
198
|
-
this.
|
215
|
+
this.type = "simple";
|
216
|
+
this.rangeLabelType = "page";
|
199
217
|
this.pageLabel = "Page";
|
200
218
|
this.showGoToPageControl = false;
|
201
|
-
this.
|
219
|
+
this.hideRangeLabel = false;
|
202
220
|
this.showItemsPerPageControl = false;
|
203
221
|
this.totalItems = undefined;
|
204
222
|
}
|
223
|
+
watchItemsPerPageOptionsHandler() {
|
224
|
+
this.setPaginationBarContent();
|
225
|
+
}
|
226
|
+
watchTotalItemsHandler() {
|
227
|
+
this.setPaginationBarContent();
|
228
|
+
}
|
205
229
|
disconnectedCallback() {
|
206
230
|
if (this.resizeObserver !== null) {
|
207
231
|
this.resizeObserver.disconnect();
|
208
232
|
}
|
209
233
|
}
|
210
234
|
componentWillLoad() {
|
211
|
-
|
212
|
-
this.itemsPerPageOptions === null) {
|
213
|
-
this.setDefaultItemsPerPageOptions();
|
214
|
-
}
|
215
|
-
this.trimItemsPerPageOptions();
|
216
|
-
this.setDefaultItemsPerPage();
|
217
|
-
this.setNumberPages();
|
218
|
-
this.setUpperBound();
|
235
|
+
this.setPaginationBarContent();
|
219
236
|
}
|
220
237
|
componentDidLoad() {
|
221
238
|
this.paginationWidth = this.paginationBarEl.clientWidth;
|
@@ -228,7 +245,7 @@ export class PaginationBar {
|
|
228
245
|
this.changePage(page);
|
229
246
|
}
|
230
247
|
render() {
|
231
|
-
const { appearance, alignment,
|
248
|
+
const { appearance, alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, } = this;
|
232
249
|
const focusElFromLabel = (el) => {
|
233
250
|
var _a;
|
234
251
|
(_a = this.paginationBarEl.querySelector(el)) === null || _a === void 0 ? void 0 : _a.setFocus();
|
@@ -236,19 +253,21 @@ export class PaginationBar {
|
|
236
253
|
return (h("div", { class: {
|
237
254
|
["pagination-bar"]: true,
|
238
255
|
[`pagination-bar-${alignment}`]: true,
|
239
|
-
}, ref: (el) => (this.paginationBarEl = el) }, (
|
256
|
+
}, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { class: "item-controls" }, showItemsPerPageControl && (h("div", { class: "items-per-page-holder" }, h("ic-typography", { class: {
|
240
257
|
[`pagination-text-${appearance}`]: true,
|
241
258
|
["items-per-page-control-label"]: true,
|
242
|
-
}, variant: "label", onClick: () => focusElFromLabel("ic-select") }, this.
|
259
|
+
}, variant: "label", onClick: () => focusElFromLabel("ic-select") }, this.rangeItemLabel, "s per ", this.pageLabel.toLowerCase()), h("ic-select", { small: true, label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, value: this.itemsPerPage.toString(), onIcChange: () => this.changeItemsPerPage(), ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel && rangeLabelType === "data" ? (h("ic-typography", { class: {
|
243
260
|
[`pagination-text-${appearance}`]: true,
|
244
261
|
["item-pagination-label"]: true,
|
245
|
-
}, variant: "label", "aria-live": "polite" }, this.
|
262
|
+
}, variant: "label", "aria-live": "polite" }, this.upperBound === 0 &&
|
263
|
+
`0 ${this.rangeItemLabel.toLowerCase()}s`, this.upperBound > 0 &&
|
264
|
+
`${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${this.rangeItemLabel.toLowerCase()}${this.totalItems > 1 ? "s" : ""}`)) : (!hideRangeLabel && (h("ic-typography", { class: {
|
246
265
|
[`pagination-text-${appearance}`]: true,
|
247
266
|
["page-pagination-label"]: true,
|
248
267
|
}, variant: "label", "aria-live": "polite" }, this.pageLabel, " ", this.currentPage, " of ", this.totalPages))))), h("div", { class: {
|
249
268
|
["pagination-controls"]: true,
|
250
269
|
["pagination-controls-wrap"]: this.paginationWrapped,
|
251
|
-
} }, h("div", { class: "pagination-holder" }, h("ic-pagination", { appearance: appearance, type:
|
270
|
+
} }, h("div", { class: "pagination-holder" }, h("ic-pagination", { appearance: appearance, type: type, pages: this.totalPages, ref: (el) => (this.paginationEl = el) })), showGoToPageControl && (h("div", { class: "go-to-page-holder" }, h("ic-typography", { class: { [`pagination-text-${appearance}`]: true }, variant: "label", onClick: () => focusElFromLabel("ic-text-field") }, "Go to ", this.pageLabel.toLowerCase()), h("ic-tooltip", { label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { type: "number", size: "small", label: PAGE_INPUT_FIELD_ID, class: PAGE_INPUT_FIELD_ID, id: PAGE_INPUT_FIELD_ID, hideLabel: true, onKeyDown: (ev) => this.handleKeydown(ev), onKeyUp: (ev) => this.handleKeyUp(ev), onInput: () => this.handleInputChange(), max: this.totalPages, min: "1", validationInlineInternal: true, onBlur: () => this.handleBlur(), onFocus: () => this.handleFocus(), ref: (el) => (this.pageInputEl = el) })), h("ic-button", { appearance: appearance, variant: "secondary", onClick: () => this.goToPage(), size: "small", class: "go-to-page-button" }, "Go"))))));
|
252
271
|
}
|
253
272
|
static get is() { return "ic-pagination-bar"; }
|
254
273
|
static get encapsulation() { return "shadow"; }
|
@@ -273,8 +292,8 @@ export class PaginationBar {
|
|
273
292
|
"references": {
|
274
293
|
"IcPaginationAlignmentOptions": {
|
275
294
|
"location": "import",
|
276
|
-
"path": "
|
277
|
-
"id": "
|
295
|
+
"path": "@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types",
|
296
|
+
"id": "../web-components/dist/types/components/ic-pagination/ic-pagination.types.d.ts::IcPaginationAlignmentOptions"
|
278
297
|
}
|
279
298
|
}
|
280
299
|
},
|
@@ -312,7 +331,7 @@ export class PaginationBar {
|
|
312
331
|
"reflect": false,
|
313
332
|
"defaultValue": "\"default\""
|
314
333
|
},
|
315
|
-
"
|
334
|
+
"rangeItemLabel": {
|
316
335
|
"type": "string",
|
317
336
|
"mutable": false,
|
318
337
|
"complexType": {
|
@@ -324,15 +343,15 @@ export class PaginationBar {
|
|
324
343
|
"optional": true,
|
325
344
|
"docs": {
|
326
345
|
"tags": [],
|
327
|
-
"text": "The label which will be used in place of 'items' if
|
346
|
+
"text": "The label which will be used in place of 'items' if type is data. Should be capitalised."
|
328
347
|
},
|
329
|
-
"attribute": "item-label",
|
348
|
+
"attribute": "range-item-label",
|
330
349
|
"reflect": false,
|
331
350
|
"defaultValue": "\"Item\""
|
332
351
|
},
|
333
352
|
"itemsPerPageOptions": {
|
334
353
|
"type": "unknown",
|
335
|
-
"mutable":
|
354
|
+
"mutable": false,
|
336
355
|
"complexType": {
|
337
356
|
"original": "{\n label: string;\n value: string;\n }[]",
|
338
357
|
"resolved": "{ label: string; value: string; }[]",
|
@@ -345,17 +364,17 @@ export class PaginationBar {
|
|
345
364
|
"text": "The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items."
|
346
365
|
}
|
347
366
|
},
|
348
|
-
"
|
367
|
+
"type": {
|
349
368
|
"type": "string",
|
350
369
|
"mutable": false,
|
351
370
|
"complexType": {
|
352
|
-
"original": "
|
371
|
+
"original": "IcPaginationTypes",
|
353
372
|
"resolved": "\"complex\" | \"simple\"",
|
354
373
|
"references": {
|
355
|
-
"
|
374
|
+
"IcPaginationTypes": {
|
356
375
|
"location": "import",
|
357
|
-
"path": "
|
358
|
-
"id": "
|
376
|
+
"path": "@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types",
|
377
|
+
"id": "../web-components/dist/types/components/ic-pagination/ic-pagination.types.d.ts::IcPaginationTypes"
|
359
378
|
}
|
360
379
|
}
|
361
380
|
},
|
@@ -365,21 +384,21 @@ export class PaginationBar {
|
|
365
384
|
"tags": [],
|
366
385
|
"text": "Whether the displayed pagination is simple or complex."
|
367
386
|
},
|
368
|
-
"attribute": "
|
387
|
+
"attribute": "type",
|
369
388
|
"reflect": false,
|
370
389
|
"defaultValue": "\"simple\""
|
371
390
|
},
|
372
|
-
"
|
391
|
+
"rangeLabelType": {
|
373
392
|
"type": "string",
|
374
393
|
"mutable": false,
|
375
394
|
"complexType": {
|
376
|
-
"original": "
|
395
|
+
"original": "IcPaginationLabelTypes",
|
377
396
|
"resolved": "\"data\" | \"page\"",
|
378
397
|
"references": {
|
379
|
-
"
|
398
|
+
"IcPaginationLabelTypes": {
|
380
399
|
"location": "import",
|
381
|
-
"path": "
|
382
|
-
"id": "
|
400
|
+
"path": "@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types",
|
401
|
+
"id": "../web-components/dist/types/components/ic-pagination/ic-pagination.types.d.ts::IcPaginationLabelTypes"
|
383
402
|
}
|
384
403
|
}
|
385
404
|
},
|
@@ -389,7 +408,7 @@ export class PaginationBar {
|
|
389
408
|
"tags": [],
|
390
409
|
"text": "Whether total number of items and current item range or total number of pages and current page is displayed."
|
391
410
|
},
|
392
|
-
"attribute": "
|
411
|
+
"attribute": "range-label-type",
|
393
412
|
"reflect": false,
|
394
413
|
"defaultValue": "\"page\""
|
395
414
|
},
|
@@ -405,7 +424,7 @@ export class PaginationBar {
|
|
405
424
|
"optional": true,
|
406
425
|
"docs": {
|
407
426
|
"tags": [],
|
408
|
-
"text": "The label which will be used in place of 'Page' if
|
427
|
+
"text": "The label which will be used in place of 'Page' if rangeLabelType is page. Should be capitalised."
|
409
428
|
},
|
410
429
|
"attribute": "page-label",
|
411
430
|
"reflect": false,
|
@@ -429,7 +448,7 @@ export class PaginationBar {
|
|
429
448
|
"reflect": false,
|
430
449
|
"defaultValue": "false"
|
431
450
|
},
|
432
|
-
"
|
451
|
+
"hideRangeLabel": {
|
433
452
|
"type": "boolean",
|
434
453
|
"mutable": false,
|
435
454
|
"complexType": {
|
@@ -441,11 +460,11 @@ export class PaginationBar {
|
|
441
460
|
"optional": true,
|
442
461
|
"docs": {
|
443
462
|
"tags": [],
|
444
|
-
"text": "If `true`, the number of total items and current item range or number of total pages and current page
|
463
|
+
"text": "If `true`, the number of total items and current item range or number of total pages and current page will be hidden."
|
445
464
|
},
|
446
|
-
"attribute": "
|
465
|
+
"attribute": "hide-range-label",
|
447
466
|
"reflect": false,
|
448
|
-
"defaultValue": "
|
467
|
+
"defaultValue": "false"
|
449
468
|
},
|
450
469
|
"showItemsPerPageControl": {
|
451
470
|
"type": "boolean",
|
@@ -487,6 +506,7 @@ export class PaginationBar {
|
|
487
506
|
static get states() {
|
488
507
|
return {
|
489
508
|
"currentPage": {},
|
509
|
+
"displayedItemsPerPageOptions": {},
|
490
510
|
"inputError": {},
|
491
511
|
"itemsPerPage": {},
|
492
512
|
"lowerBound": {},
|
@@ -530,6 +550,15 @@ export class PaginationBar {
|
|
530
550
|
}];
|
531
551
|
}
|
532
552
|
static get elementRef() { return "el"; }
|
553
|
+
static get watchers() {
|
554
|
+
return [{
|
555
|
+
"propName": "itemsPerPageOptions",
|
556
|
+
"methodName": "watchItemsPerPageOptionsHandler"
|
557
|
+
}, {
|
558
|
+
"propName": "totalItems",
|
559
|
+
"methodName": "watchTotalItemsHandler"
|
560
|
+
}];
|
561
|
+
}
|
533
562
|
static get listeners() {
|
534
563
|
return [{
|
535
564
|
"name": "icPageChange",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-pagination-bar.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationControlTypes,\n IcPaginationTypes,\n} from \"../ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGINATION = \"ic-pagination\";\n private TEXT_FIELD = \"ic-text-field\";\n private TOOLTIP = \"ic-tooltip\";\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n private NAN_ERROR = \"Please enter a number\";\n\n private resizeObserver: ResizeObserver = null;\n private paginationBarEl: HTMLElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() currentPage: number = 1;\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: string;\n\n @State() lowerBound: number = 1;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * The label which will be used in place of 'items' if paginationType is data. Should be capitalised.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n /**\n * The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items.\n */\n @Prop({ mutable: true }) itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() paginationControl?: IcPaginationControlTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() paginationType?: IcPaginationTypes = \"page\";\n\n /**\n * The label which will be used in place of 'Page' if paginationType is page. Should be capitalised.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page should be displayed.\n */\n @Prop() showItemsPerPage?: boolean = true;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n */\n @Event() icPageChange: EventEmitter<{ value: number }>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n if (\n this.itemsPerPageOptions === undefined ||\n this.itemsPerPageOptions === null\n ) {\n this.setDefaultItemsPerPageOptions();\n }\n this.trimItemsPerPageOptions();\n this.setDefaultItemsPerPage();\n this.setNumberPages();\n this.setUpperBound();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n this.setGoToPageInputStyles();\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n const select = this.el.shadowRoot.querySelector(\"ic-select\");\n const value = select.value;\n this.itemsPerPage = value;\n this.setNumberPages();\n this.setUpperBound();\n const pagination = this.el.shadowRoot.querySelector(\n this.PAGINATION\n ) as HTMLIcPaginationElement;\n if (this.currentPage > this.totalPages) {\n pagination.setCurrentPage(this.totalPages);\n this.currentPage = this.totalPages;\n }\n this.icItemsPerPageChange.emit({ value: Number(this.itemsPerPage) });\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private changePage = (page: number) => {\n this.currentPage = page;\n this.lowerBound =\n page !== 1 ? (page - 1) * Number(this.itemsPerPage) + 1 : page;\n this.setUpperBound();\n };\n\n private goToPage = () => {\n const input = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const page = Number(input.value);\n const tooltip = this.el.shadowRoot.querySelector(\"ic-tooltip\");\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n const pagination = this.el.shadowRoot.querySelector(\n this.PAGINATION\n ) as HTMLIcPaginationElement;\n pagination.setCurrentPage(page);\n this.currentPage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n tooltip.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.inputError = this.INVALID_PAGE_ERROR;\n input.validationStatus = \"error\";\n input.setFocus();\n }\n };\n\n private handleBlur = () => {\n const textField = this.el.shadowRoot?.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const tooltip = this.el.shadowRoot?.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n tooltip.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n const textField = this.el.shadowRoot?.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const tooltip = this.el.shadowRoot?.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n if (textField.validationStatus === \"error\") {\n tooltip.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const tooltip = this.el.shadowRoot.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n const textField = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const inputValue = parseInt(textField.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.inputError = this.INVALID_PAGE_ERROR;\n tooltip.displayTooltip(true, true);\n textField.validationStatus = \"error\";\n textField.focus();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const tooltip = this.el.shadowRoot.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n const textField = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n\n if (ev.key === \"Enter\") {\n if (textField.validationStatus === \"error\") {\n tooltip.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n tooltip.displayTooltip(false, false);\n textField.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n const tooltip = this.el.shadowRoot.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n const textField = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const inputValue = parseInt(textField.value);\n\n if (\n Number.isNaN(inputValue) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.inputError = this.NAN_ERROR;\n tooltip.displayTooltip(true, false);\n textField.validationStatus = \"error\";\n }\n };\n\n private paginationShouldWrap = () => {\n const pagination = this.el.shadowRoot.querySelector(\n this.PAGINATION\n ) as HTMLIcPaginationElement;\n if (this.paginationControl === \"simple\") {\n if (pagination.clientHeight > 63) {\n this.paginationWrapped = true;\n } else {\n this.paginationWrapped = false;\n }\n }\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (\n currSize - this.paginationWidth > 50 ||\n currSize - this.paginationWidth < -50\n ) {\n this.paginationWidth = currSize;\n this.paginationShouldWrap();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = this.paginationBarEl.clientWidth;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setDefaultItemsPerPage = () => {\n this.itemsPerPage = this.itemsPerPageOptions[0].value;\n };\n\n private setDefaultItemsPerPageOptions = () => {\n this.itemsPerPageOptions =\n this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n { label: \"All\", value: String(this.totalItems) },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n { label: \"All\", value: String(this.totalItems) },\n ];\n };\n\n private setGoToPageInputStyles = () => {\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField !== undefined) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input !== undefined) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n };\n\n private setNumberPages = () => {\n this.totalPages = Math.ceil(this.totalItems / Number(this.itemsPerPage));\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + Number(this.itemsPerPage) - 1,\n this.totalItems\n );\n };\n\n private trimItemsPerPageOptions = () => {\n this.itemsPerPageOptions = this.itemsPerPageOptions.slice(0, 3);\n this.itemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n for (let i = 0; i < this.itemsPerPageOptions.length - 1; i++) {\n if (this.totalItems <= Number(this.itemsPerPageOptions[i].value)) {\n this.itemsPerPageOptions.splice(\n i,\n this.itemsPerPageOptions.length - (i + 1)\n );\n }\n }\n };\n\n render() {\n const {\n appearance,\n alignment,\n itemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n paginationControl,\n paginationType,\n showItemsPerPage,\n showItemsPerPageControl,\n showGoToPageControl,\n } = this;\n\n const focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n return (\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(showItemsPerPage || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={() => focusElFromLabel(\"ic-select\")}\n >\n {this.itemLabel}s per {this.pageLabel.toLowerCase()}\n </ic-typography>\n <ic-select\n small\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={itemsPerPageOptions}\n value={this.itemsPerPage}\n onIcChange={() => this.changeItemsPerPage()}\n ></ic-select>\n </div>\n )}\n {showItemsPerPage && paginationType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.lowerBound} - {this.upperBound} of {this.totalItems}{\" \"}\n {this.itemLabel.toLowerCase()}\n {this.totalItems > 1 ? \"s\" : \"\"}\n </ic-typography>\n ) : (\n showItemsPerPage && (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.pageLabel} {this.currentPage} of {this.totalPages}\n </ic-typography>\n )\n )}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n appearance={appearance}\n type={paginationControl}\n pages={this.totalPages}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\n variant=\"label\"\n onClick={() => focusElFromLabel(\"ic-text-field\")}\n >\n Go to {this.pageLabel.toLowerCase()}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n >\n <ic-text-field\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={(ev: KeyboardEvent) => this.handleKeydown(ev)}\n onKeyUp={(ev: KeyboardEvent) => this.handleKeyUp(ev)}\n onInput={() => this.handleInputChange()}\n max={this.totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\n variant=\"secondary\"\n onClick={() => this.goToPage()}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-pagination-bar.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n private NAN_ERROR = \"Please enter a number\";\n\n private resizeObserver: ResizeObserver = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() currentPage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 0;\n\n @State() lowerBound: number = 1;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * The label which will be used in place of 'items' if type is data. Should be capitalised.\n */\n @Prop() rangeItemLabel?: string = \"Item\";\n\n /**\n * The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The label which will be used in place of 'Page' if rangeLabelType is page. Should be capitalised.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n */\n @Event() icPageChange: EventEmitter<{ value: number }>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n this.setGoToPageInputStyles();\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n };\n\n private changePage = (page: number) => {\n this.currentPage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl.setCurrentPage(page);\n this.currentPage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const textField = this.pageInputEl;\n const inputValue = parseInt(textField.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(textField, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const tooltip = this.pageInputTooltipEl;\n const textField = this.pageInputEl;\n\n if (ev.key === \"Enter\") {\n if (textField.validationStatus === \"error\") {\n tooltip.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n tooltip.displayTooltip(false, false);\n textField.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n const textField = this.pageInputEl;\n const inputValue = parseInt(textField.value);\n\n if (\n Number.isNaN(inputValue) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(textField, this.NAN_ERROR, false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n if (this.paginationEl.clientHeight > 63) {\n this.paginationWrapped = true;\n } else {\n this.paginationWrapped = false;\n }\n }\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (\n currSize - this.paginationWidth > 50 ||\n currSize - this.paginationWidth < -50\n ) {\n this.paginationWidth = currSize;\n this.paginationShouldWrap();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = this.paginationBarEl.clientWidth;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setDisplayedItemsPerPageOptions = () => {\n if (\n this.itemsPerPageOptions === undefined ||\n this.itemsPerPageOptions === null\n ) {\n this.displayedItemsPerPageOptions =\n this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ];\n } else {\n this.displayedItemsPerPageOptions = this.itemsPerPageOptions.slice(0, 3);\n }\n };\n\n private setGoToPageInputStyles = () => {\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField !== undefined) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input !== undefined) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\n }\n this.setNumberPages();\n this.setUpperBound();\n if (this.currentPage > this.totalPages) {\n this.paginationEl.setCurrentPage(this.totalPages);\n this.currentPage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private setNumberPages = () => {\n const numItemsPerPage = this.itemsPerPage;\n if (this.totalItems <= numItemsPerPage) {\n this.totalPages = 1;\n } else {\n this.totalPages = Math.ceil(this.totalItems / numItemsPerPage);\n }\n };\n\n private setPaginationBarContent = (): void => {\n this.setDisplayedItemsPerPageOptions();\n this.trimItemsPerPageOptions();\n this.updateItemsPerPage();\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n private trimItemsPerPageOptions = () => {\n this.displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n for (let i = 0; i < this.displayedItemsPerPageOptions.length - 1; i++) {\n if (\n this.totalItems <= Number(this.displayedItemsPerPageOptions[i].value)\n ) {\n this.displayedItemsPerPageOptions.splice(\n i,\n this.displayedItemsPerPageOptions.length - (i + 1)\n );\n }\n }\n };\n\n private updateItemsPerPage = () => {\n let newItemsPerPage = this.itemsPerPage;\n let updated = false;\n let lastOptionValue = 0;\n for (let i = 0; i < this.displayedItemsPerPageOptions.length; i++) {\n lastOptionValue = Number(this.displayedItemsPerPageOptions[i].value);\n if (this.itemsPerPage <= lastOptionValue) {\n newItemsPerPage = lastOptionValue;\n updated = true;\n i = this.displayedItemsPerPageOptions.length;\n }\n }\n if (!updated && this.itemsPerPage > lastOptionValue) {\n newItemsPerPage = lastOptionValue;\n }\n this.setItemsPerPage(newItemsPerPage);\n };\n\n render() {\n const {\n appearance,\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n } = this;\n\n const focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n return (\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={() => focusElFromLabel(\"ic-select\")}\n >\n {this.rangeItemLabel}s per {this.pageLabel.toLowerCase()}\n </ic-typography>\n <ic-select\n small\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={this.itemsPerPage.toString()}\n onIcChange={() => this.changeItemsPerPage()}\n ref={(el: HTMLIcSelectElement) => (this.pageDropdownEl = el)}\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel && rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 &&\n `0 ${this.rangeItemLabel.toLowerCase()}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${this.rangeItemLabel.toLowerCase()}${\n this.totalItems > 1 ? \"s\" : \"\"\n }`}\n </ic-typography>\n ) : (\n !hideRangeLabel && (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.pageLabel} {this.currentPage} of {this.totalPages}\n </ic-typography>\n )\n )}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n appearance={appearance}\n type={type}\n pages={this.totalPages}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\n variant=\"label\"\n onClick={() => focusElFromLabel(\"ic-text-field\")}\n >\n Go to {this.pageLabel.toLowerCase()}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={(ev: KeyboardEvent) => this.handleKeydown(ev)}\n onKeyUp={(ev: KeyboardEvent) => this.handleKeyUp(ev)}\n onInput={() => this.handleInputChange()}\n max={this.totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n ref={(el: HTMLIcTextFieldElement) => (this.pageInputEl = el)}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\n variant=\"secondary\"\n onClick={() => this.goToPage()}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"]}
|