@ukic/canary-web-components 2.0.0-canary.10 → 2.0.0-canary.12
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-7a069459.js → helpers-b525d45a.js} +2 -7
- package/dist/cjs/helpers-b525d45a.js.map +1 -0
- package/dist/cjs/{helpers-f75cf7cf.js → helpers-c4444a7e.js} +48 -94
- package/dist/cjs/helpers-c4444a7e.js.map +1 -0
- 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 +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +2 -8
- 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 +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +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 +308 -43
- package/dist/cjs/ic-data-table.cjs.entry.js.map +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-pagination-bar.cjs.entry.js → ic-empty-state_2.cjs.entry.js} +34 -4
- 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-menu.cjs.entry.js → ic-input-component-container_3.cjs.entry.js} +69 -5
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-input-label_2.cjs.entry.js +86 -0
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-with-multi.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 +13 -16
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +32 -28
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +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 +5 -5
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +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 +19 -6
- package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +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 +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 +60 -46
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +35 -11
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-4cf27b16.js +10 -18
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -2
- package/dist/collection/components/ic-data-table/ic-data-table.css +82 -7
- package/dist/collection/components/ic-data-table/ic-data-table.js +535 -44
- 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 +386 -11
- 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.e2e.js +217 -0
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js.map +1 -0
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +319 -0
- 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 +87 -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-date-picker/test/a11y/ic-date-picker.test.a11y.js → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js} +3 -5
- 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 +2 -2
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-select-with-multi/ic-select.js +2 -2
- package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
- package/dist/collection/utils/constants.js +0 -55
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/collection/utils/helpers.js +43 -259
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js +0 -45
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +2 -7
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +45 -91
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-button2.js +3 -11
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +1 -1
- package/dist/components/ic-checkbox-group.js +1 -1
- package/dist/components/ic-checkbox.js +1 -1
- package/dist/components/ic-chip.js +1 -1
- package/dist/components/{ic-date-input.d.ts → ic-data-table-title-bar.d.ts} +4 -4
- 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 +334 -49
- package/dist/components/ic-data-table.js.map +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-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-menu-item2.js +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 +1 -1
- 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 +12 -15
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +32 -28
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +1 -1
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination2.js +5 -5
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-radio-group.js +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 +14 -1
- package/dist/components/ic-select-with-multi.js.map +1 -1
- package/dist/components/ic-select2.js +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 +1 -1
- package/dist/components/ic-toggle-button.js +1 -1
- package/dist/components/ic-top-navigation.js +61 -47
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +38 -12
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-8ea47d42.entry.js → p-045359e1.entry.js} +2 -2
- package/dist/core/{p-3745da83.entry.js → p-10fb4c46.entry.js} +2 -2
- package/dist/core/p-169bfa51.entry.js +2 -0
- package/dist/core/p-169bfa51.entry.js.map +1 -0
- package/dist/core/{p-2e2e0099.entry.js → p-1ca332ca.entry.js} +2 -2
- package/dist/core/p-1e91f540.entry.js +2 -0
- package/dist/core/p-1e91f540.entry.js.map +1 -0
- package/dist/core/{p-d4fdd8c1.entry.js → p-204ace96.entry.js} +2 -2
- package/dist/core/{p-5fe96107.entry.js → p-2eac7dcc.entry.js} +2 -2
- package/dist/core/p-347e8dab.entry.js +2 -0
- package/dist/core/p-347e8dab.entry.js.map +1 -0
- package/dist/core/p-3803a5b5.entry.js +2 -0
- package/dist/core/p-3803a5b5.entry.js.map +1 -0
- package/dist/core/{p-36508aad.entry.js → p-4753bac8.entry.js} +2 -2
- package/dist/core/{p-4f1ffa39.entry.js → p-4baa0916.entry.js} +2 -2
- package/dist/core/{p-776671cf.entry.js → p-4f413fc0.entry.js} +2 -2
- package/dist/core/p-5171169f.entry.js +2 -0
- package/dist/core/p-5171169f.entry.js.map +1 -0
- package/dist/core/{p-9d540656.entry.js → p-595be57d.entry.js} +2 -2
- package/dist/core/{p-7cecf5d5.entry.js → p-5ae93c16.entry.js} +2 -2
- package/dist/core/{p-1ce75941.entry.js → p-5e0c830b.entry.js} +2 -2
- package/dist/core/p-5ee4319c.entry.js +2 -0
- package/dist/core/p-5ee4319c.entry.js.map +1 -0
- package/dist/core/p-5f4e96ec.entry.js +2 -0
- package/dist/core/p-5f4e96ec.entry.js.map +1 -0
- package/dist/core/{p-e74f1d09.entry.js → p-624d4f5f.entry.js} +2 -2
- package/dist/core/{p-9d01a7ad.entry.js → p-6933f8e9.entry.js} +2 -2
- package/dist/core/{p-5e2e6c3b.entry.js → p-6c3044b6.entry.js} +2 -2
- package/dist/core/p-7267fe19.entry.js +2 -0
- package/dist/core/p-7267fe19.entry.js.map +1 -0
- package/dist/core/{p-6690bc04.entry.js → p-75dac3d1.entry.js} +2 -2
- package/dist/core/{p-85609bdd.entry.js → p-7ef8d616.entry.js} +2 -2
- package/dist/core/{p-a0f9b259.entry.js → p-81ddc39d.entry.js} +2 -2
- package/dist/core/{p-a6447b13.entry.js → p-869954a2.entry.js} +2 -2
- package/dist/core/{p-47ac6838.entry.js → p-88d54b72.entry.js} +2 -2
- package/dist/core/{p-06ae5bec.entry.js → p-8b08d8fe.entry.js} +2 -2
- package/dist/core/{p-ca8cbd6a.entry.js → p-917c5721.entry.js} +2 -2
- package/dist/core/p-942282cd.entry.js +2 -0
- package/dist/core/p-942282cd.entry.js.map +1 -0
- package/dist/core/p-96b3e7e2.js +2 -0
- package/dist/core/p-96b3e7e2.js.map +1 -0
- package/dist/core/p-9caf19eb.js +2 -0
- package/dist/core/p-9caf19eb.js.map +1 -0
- package/dist/core/{p-76d26018.entry.js → p-a0f8efb2.entry.js} +2 -2
- package/dist/core/{p-a42c2f37.entry.js → p-a31031a5.entry.js} +2 -2
- package/dist/core/{p-b306cbc8.entry.js → p-a434c3d4.entry.js} +2 -2
- package/dist/core/{p-86012178.entry.js → p-a43c12cd.entry.js} +2 -2
- package/dist/core/{p-8c90110a.entry.js → p-a50c3b9e.entry.js} +2 -2
- package/dist/core/p-aac4185b.entry.js +2 -0
- package/dist/core/p-aac4185b.entry.js.map +1 -0
- package/dist/core/{p-1b7d426b.entry.js → p-ab09986c.entry.js} +2 -2
- package/dist/core/{p-9e3178e8.entry.js → p-b6639e4a.entry.js} +2 -2
- package/dist/core/{p-9e3178e8.entry.js.map → p-b6639e4a.entry.js.map} +1 -1
- package/dist/core/{p-62e22508.entry.js → p-b82dcc29.entry.js} +2 -2
- package/dist/core/{p-d5c99ec3.entry.js → p-ba86928c.entry.js} +2 -2
- package/dist/core/{p-d3856ed3.entry.js → p-c34848da.entry.js} +2 -2
- package/dist/core/{p-98448bdb.entry.js → p-d8469ac0.entry.js} +2 -2
- package/dist/core/{p-1832f4b5.entry.js → p-db9c03c0.entry.js} +2 -2
- package/dist/core/{p-ae422058.entry.js → p-e3997d60.entry.js} +2 -2
- package/dist/core/{p-982a6e88.entry.js → p-e834344e.entry.js} +2 -2
- package/dist/core/p-f14454b1.entry.js +2 -0
- package/dist/core/{p-f55ad6ae.entry.js.map → p-f14454b1.entry.js.map} +1 -1
- package/dist/core/{p-c7820c23.entry.js → p-f3c840cd.entry.js} +2 -2
- package/dist/core/p-f6888309.entry.js +2 -0
- package/dist/core/p-f6888309.entry.js.map +1 -0
- package/dist/core/p-f74a8752.entry.js +2 -0
- package/dist/core/p-f74a8752.entry.js.map +1 -0
- package/dist/core/{p-5759d771.entry.js → p-f7a14c01.entry.js} +2 -2
- package/dist/core/{p-0939ce92.entry.js → p-f843da01.entry.js} +2 -2
- package/dist/core/{p-e84b0310.entry.js → p-fc5611e2.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-7aa21b0a.js → helpers-12b4266a.js} +2 -7
- package/dist/esm/helpers-12b4266a.js.map +1 -0
- package/dist/esm/{helpers-f328a7b6.js → helpers-1f07eb61.js} +46 -92
- package/dist/esm/helpers-1f07eb61.js.map +1 -0
- 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 +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +2 -8
- 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 +1 -1
- package/dist/esm/ic-checkbox.entry.js +1 -1
- package/dist/esm/ic-chip.entry.js +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 +309 -44
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/{ic-pagination-bar.entry.js → ic-empty-state_2.entry.js} +34 -5
- 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-menu.entry.js → ic-input-component-container_3.entry.js} +69 -7
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
- package/dist/esm/ic-input-label_2.entry.js +81 -0
- package/dist/esm/ic-input-label_2.entry.js.map +1 -0
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +13 -16
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +32 -28
- package/dist/esm/ic-navigation-item.entry.js.map +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 +5 -5
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +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 +14 -1
- package/dist/esm/ic-select-with-multi.entry.js.map +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 +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 +60 -46
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +36 -12
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-93509377.js +10 -18
- package/dist/esm/loader.js +1 -1
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +96 -1
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +11 -0
- package/dist/types/components/ic-data-table/story-data.d.ts +99 -0
- package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
- package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +2 -2
- package/dist/types/components/ic-select-with-multi/ic-select.d.ts +2 -2
- package/dist/types/components.d.ts +141 -389
- package/dist/types/utils/constants.d.ts +0 -37
- package/dist/types/utils/helpers.d.ts +16 -83
- package/dist/types/utils/types.d.ts +1 -92
- package/hydrate/index.js +945 -2932
- package/package.json +3 -4
- package/dist/cjs/date-helpers-c9551119.js +0 -150
- package/dist/cjs/date-helpers-c9551119.js.map +0 -1
- package/dist/cjs/helpers-7a069459.js.map +0 -1
- package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +0 -1073
- package/dist/cjs/ic-date-input.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +0 -1050
- package/dist/cjs/ic-date-picker.cjs.entry.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-input-component-container_4.cjs.entry.js +0 -150
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-menu.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
- package/dist/collection/assets/calendar.svg +0 -3
- package/dist/collection/components/ic-date-input/ic-date-input.css +0 -560
- package/dist/collection/components/ic-date-input/ic-date-input.js +0 -1668
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +0 -1
- package/dist/collection/components/ic-date-input/story-data.js +0 -28
- package/dist/collection/components/ic-date-input/story-data.js.map +0 -1
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +0 -1156
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +0 -1
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +0 -42
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.css +0 -878
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +0 -1506
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-day-button.js +0 -36
- package/dist/collection/components/ic-date-picker/ic-day-button.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-month-picker.js +0 -29
- package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-year-picker.js +0 -39
- package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +0 -1
- package/dist/collection/components/ic-date-picker/story-data.js +0 -147
- package/dist/collection/components/ic-date-picker/story-data.js.map +0 -1
- package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +0 -207
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +0 -1
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +0 -962
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +0 -1
- package/dist/collection/utils/date-helpers.js +0 -133
- package/dist/collection/utils/date-helpers.js.map +0 -1
- package/dist/components/ic-date-input.js +0 -8
- package/dist/components/ic-date-input.js.map +0 -1
- package/dist/components/ic-date-input2.js +0 -1301
- package/dist/components/ic-date-input2.js.map +0 -1
- package/dist/components/ic-date-picker.d.ts +0 -11
- package/dist/components/ic-date-picker.js +0 -1171
- package/dist/components/ic-date-picker.js.map +0 -1
- package/dist/core/p-16f67397.entry.js +0 -2
- package/dist/core/p-16f67397.entry.js.map +0 -1
- package/dist/core/p-2c1fecb9.entry.js +0 -2
- package/dist/core/p-2c1fecb9.entry.js.map +0 -1
- package/dist/core/p-33679c06.entry.js +0 -2
- package/dist/core/p-33679c06.entry.js.map +0 -1
- package/dist/core/p-33dd24eb.js +0 -2
- package/dist/core/p-33dd24eb.js.map +0 -1
- package/dist/core/p-5392bca0.entry.js +0 -2
- package/dist/core/p-5392bca0.entry.js.map +0 -1
- package/dist/core/p-550a5674.entry.js +0 -2
- package/dist/core/p-550a5674.entry.js.map +0 -1
- package/dist/core/p-6c0e2ceb.entry.js +0 -2
- package/dist/core/p-6c0e2ceb.entry.js.map +0 -1
- package/dist/core/p-8ab12a15.entry.js +0 -2
- package/dist/core/p-8ab12a15.entry.js.map +0 -1
- package/dist/core/p-aabab75f.entry.js +0 -2
- package/dist/core/p-aabab75f.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-caf857de.entry.js +0 -2
- package/dist/core/p-caf857de.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-d32692e2.entry.js +0 -2
- package/dist/core/p-d32692e2.entry.js.map +0 -1
- package/dist/core/p-d35c7c18.js +0 -2
- package/dist/core/p-d35c7c18.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-e5d76564.entry.js +0 -2
- package/dist/core/p-e5d76564.entry.js.map +0 -1
- package/dist/core/p-f55ad6ae.entry.js +0 -2
- package/dist/core/p-f91527a0.entry.js +0 -2
- package/dist/core/p-f91527a0.entry.js.map +0 -1
- package/dist/esm/date-helpers-0e5e32a7.js +0 -136
- package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
- package/dist/esm/helpers-7aa21b0a.js.map +0 -1
- package/dist/esm/helpers-f328a7b6.js.map +0 -1
- package/dist/esm/ic-date-input.entry.js +0 -1069
- package/dist/esm/ic-date-input.entry.js.map +0 -1
- package/dist/esm/ic-date-picker.entry.js +0 -1046
- package/dist/esm/ic-date-picker.entry.js.map +0 -1
- package/dist/esm/ic-empty-state.entry.js.map +0 -1
- package/dist/esm/ic-input-component-container_4.entry.js +0 -143
- package/dist/esm/ic-input-component-container_4.entry.js.map +0 -1
- package/dist/esm/ic-menu.entry.js.map +0 -1
- package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +0 -242
- package/dist/types/components/ic-date-input/story-data.d.ts +0 -1
- package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +0 -23
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +0 -251
- package/dist/types/components/ic-date-picker/ic-day-button.d.ts +0 -16
- package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +0 -14
- package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +0 -16
- package/dist/types/components/ic-date-picker/story-data.d.ts +0 -22
- package/dist/types/utils/date-helpers.d.ts +0 -22
- /package/dist/core/{p-8ea47d42.entry.js.map → p-045359e1.entry.js.map} +0 -0
- /package/dist/core/{p-3745da83.entry.js.map → p-10fb4c46.entry.js.map} +0 -0
- /package/dist/core/{p-2e2e0099.entry.js.map → p-1ca332ca.entry.js.map} +0 -0
- /package/dist/core/{p-d4fdd8c1.entry.js.map → p-204ace96.entry.js.map} +0 -0
- /package/dist/core/{p-5fe96107.entry.js.map → p-2eac7dcc.entry.js.map} +0 -0
- /package/dist/core/{p-36508aad.entry.js.map → p-4753bac8.entry.js.map} +0 -0
- /package/dist/core/{p-4f1ffa39.entry.js.map → p-4baa0916.entry.js.map} +0 -0
- /package/dist/core/{p-776671cf.entry.js.map → p-4f413fc0.entry.js.map} +0 -0
- /package/dist/core/{p-9d540656.entry.js.map → p-595be57d.entry.js.map} +0 -0
- /package/dist/core/{p-7cecf5d5.entry.js.map → p-5ae93c16.entry.js.map} +0 -0
- /package/dist/core/{p-1ce75941.entry.js.map → p-5e0c830b.entry.js.map} +0 -0
- /package/dist/core/{p-e74f1d09.entry.js.map → p-624d4f5f.entry.js.map} +0 -0
- /package/dist/core/{p-9d01a7ad.entry.js.map → p-6933f8e9.entry.js.map} +0 -0
- /package/dist/core/{p-5e2e6c3b.entry.js.map → p-6c3044b6.entry.js.map} +0 -0
- /package/dist/core/{p-6690bc04.entry.js.map → p-75dac3d1.entry.js.map} +0 -0
- /package/dist/core/{p-85609bdd.entry.js.map → p-7ef8d616.entry.js.map} +0 -0
- /package/dist/core/{p-a0f9b259.entry.js.map → p-81ddc39d.entry.js.map} +0 -0
- /package/dist/core/{p-a6447b13.entry.js.map → p-869954a2.entry.js.map} +0 -0
- /package/dist/core/{p-47ac6838.entry.js.map → p-88d54b72.entry.js.map} +0 -0
- /package/dist/core/{p-06ae5bec.entry.js.map → p-8b08d8fe.entry.js.map} +0 -0
- /package/dist/core/{p-ca8cbd6a.entry.js.map → p-917c5721.entry.js.map} +0 -0
- /package/dist/core/{p-76d26018.entry.js.map → p-a0f8efb2.entry.js.map} +0 -0
- /package/dist/core/{p-a42c2f37.entry.js.map → p-a31031a5.entry.js.map} +0 -0
- /package/dist/core/{p-b306cbc8.entry.js.map → p-a434c3d4.entry.js.map} +0 -0
- /package/dist/core/{p-86012178.entry.js.map → p-a43c12cd.entry.js.map} +0 -0
- /package/dist/core/{p-8c90110a.entry.js.map → p-a50c3b9e.entry.js.map} +0 -0
- /package/dist/core/{p-1b7d426b.entry.js.map → p-ab09986c.entry.js.map} +0 -0
- /package/dist/core/{p-62e22508.entry.js.map → p-b82dcc29.entry.js.map} +0 -0
- /package/dist/core/{p-d5c99ec3.entry.js.map → p-ba86928c.entry.js.map} +0 -0
- /package/dist/core/{p-d3856ed3.entry.js.map → p-c34848da.entry.js.map} +0 -0
- /package/dist/core/{p-98448bdb.entry.js.map → p-d8469ac0.entry.js.map} +0 -0
- /package/dist/core/{p-1832f4b5.entry.js.map → p-db9c03c0.entry.js.map} +0 -0
- /package/dist/core/{p-ae422058.entry.js.map → p-e3997d60.entry.js.map} +0 -0
- /package/dist/core/{p-982a6e88.entry.js.map → p-e834344e.entry.js.map} +0 -0
- /package/dist/core/{p-c7820c23.entry.js.map → p-f3c840cd.entry.js.map} +0 -0
- /package/dist/core/{p-5759d771.entry.js.map → p-f7a14c01.entry.js.map} +0 -0
- /package/dist/core/{p-0939ce92.entry.js.map → p-f843da01.entry.js.map} +0 -0
- /package/dist/core/{p-e84b0310.entry.js.map → p-fc5611e2.entry.js.map} +0 -0
- /package/dist/types/components/{ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts} +0 -0
@@ -5,10 +5,14 @@ import { IcPagination } from "@ukic/web-components/dist/components/ic-pagination
|
|
5
5
|
import { PaginationBar } from "../../../ic-pagination-bar/ic-pagination-bar";
|
6
6
|
import { IcPaginationItem } from "@ukic/web-components/dist/components/ic-pagination-item";
|
7
7
|
import { h } from "@stencil/core";
|
8
|
+
import { waitForTimeout } from "../../../../testspec.setup";
|
9
|
+
import { IcEmptyState } from "@ukic/web-components/dist/components/ic-empty-state";
|
10
|
+
import { DataTableTitleBar } from "../../../ic-data-table-title-bar/ic-data-table-title-bar";
|
8
11
|
beforeAll(() => {
|
9
12
|
jest.spyOn(console, "warn").mockImplementation(jest.fn());
|
10
13
|
});
|
11
14
|
const icDataTable = "ic-data-table";
|
15
|
+
const icLoadingIndicator = "ic-loading-indicator";
|
12
16
|
const employeeNumber = "Employee number";
|
13
17
|
const name1 = "John Smith";
|
14
18
|
const name2 = "Sally Jones";
|
@@ -16,12 +20,21 @@ const name3 = "Luke Fisher";
|
|
16
20
|
const name4 = "Jane Lock";
|
17
21
|
const name5 = "Margaret Hale";
|
18
22
|
const highlightedRowClass = "table-row-selected";
|
23
|
+
const showBackgroundClass = "show-background";
|
24
|
+
const customIcon = '<svg aria-labelledby="error-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000"><title id="error-title">Error</title><g id="close-octagon"><path id="Vector" d="M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" /></g></svg>';
|
19
25
|
const columns = [
|
20
26
|
{ key: "name", title: "Name", dataType: "string" },
|
21
27
|
{ key: "age", title: "Age", dataType: "number" },
|
22
28
|
{ key: "department", title: "Department", dataType: "string" },
|
23
29
|
{ key: "employeeNumber", title: employeeNumber, dataType: "number" },
|
24
30
|
];
|
31
|
+
const columnsWithElements = [
|
32
|
+
{ key: "name", title: "Name", dataType: "string" },
|
33
|
+
{ key: "age", title: "Age", dataType: "number" },
|
34
|
+
{ key: "department", title: "Department", dataType: "string" },
|
35
|
+
{ key: "employeeNumber", title: employeeNumber, dataType: "number" },
|
36
|
+
{ key: "actions", title: "Actions", dataType: "element" },
|
37
|
+
];
|
25
38
|
const columnsWithRowHeader = [
|
26
39
|
{ key: "header", title: employeeNumber, dataType: "number" },
|
27
40
|
{ key: "name", title: "Name", dataType: "string" },
|
@@ -49,6 +62,47 @@ const columnsWithOverrides = [
|
|
49
62
|
emphasis: "low",
|
50
63
|
},
|
51
64
|
];
|
65
|
+
const columnsWithIcons = [
|
66
|
+
{
|
67
|
+
key: "name",
|
68
|
+
title: "Name",
|
69
|
+
dataType: "string",
|
70
|
+
icon: {
|
71
|
+
icon: customIcon,
|
72
|
+
},
|
73
|
+
},
|
74
|
+
{ key: "age", title: "Age", dataType: "number" },
|
75
|
+
{ key: "department", title: "Department", dataType: "string" },
|
76
|
+
{ key: "employeeNumber", title: employeeNumber, dataType: "number" },
|
77
|
+
];
|
78
|
+
const columnsWithIconsOnAllCells = [
|
79
|
+
{
|
80
|
+
key: "name",
|
81
|
+
title: "Name",
|
82
|
+
dataType: "string",
|
83
|
+
icon: {
|
84
|
+
icon: customIcon,
|
85
|
+
onAllCells: true,
|
86
|
+
},
|
87
|
+
},
|
88
|
+
{ key: "age", title: "Age", dataType: "number" },
|
89
|
+
{ key: "department", title: "Department", dataType: "string" },
|
90
|
+
{ key: "employeeNumber", title: employeeNumber, dataType: "number" },
|
91
|
+
];
|
92
|
+
const columnsWithIconsHideOnHeader = [
|
93
|
+
{
|
94
|
+
key: "name",
|
95
|
+
title: "Name",
|
96
|
+
dataType: "string",
|
97
|
+
icon: {
|
98
|
+
icon: customIcon,
|
99
|
+
hideOnHeader: true,
|
100
|
+
},
|
101
|
+
},
|
102
|
+
{ key: "age", title: "Age", dataType: "number" },
|
103
|
+
{ key: "department", title: "Department", dataType: "string" },
|
104
|
+
{ key: "employeeNumber", title: employeeNumber, dataType: "number" },
|
105
|
+
];
|
52
106
|
const data = [
|
53
107
|
{ name: name1, age: 36, department: "Accounts", employeeNumber: 1 },
|
54
108
|
{
|
@@ -270,6 +324,32 @@ const longData = [
|
|
270
324
|
employeeNumber: 20,
|
271
325
|
},
|
272
326
|
];
|
327
|
+
const dataWithIcons = [
|
328
|
+
{
|
329
|
+
name: {
|
330
|
+
data: name1,
|
331
|
+
icon: '<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.70687 6L8.29688 7.41L12.8769 12L8.29688 16.59L9.70687 18L15.7069 12L9.70687 6Z" fill="currentColor"/></svg>',
|
332
|
+
},
|
333
|
+
age: 36,
|
334
|
+
department: "Accounts",
|
335
|
+
employeeNumber: 1,
|
336
|
+
},
|
337
|
+
{
|
338
|
+
name: name2,
|
339
|
+
age: 32,
|
340
|
+
department: "Engineering",
|
341
|
+
employeeNumber: 2,
|
342
|
+
},
|
343
|
+
{ name: "Tim Rayes", age: 41, department: "Sales", employeeNumber: 3 },
|
344
|
+
{
|
345
|
+
name: name3,
|
346
|
+
age: "23",
|
347
|
+
department: "Engineering",
|
348
|
+
employeeNumber: 4,
|
349
|
+
},
|
350
|
+
{ name: name4, age: 34, department: "Engineering", employeeNumber: 5 },
|
351
|
+
{ name: name5, age: 45, department: "HR", employeeNumber: 6 },
|
352
|
+
];
|
273
353
|
describe(icDataTable, () => {
|
274
354
|
it("should render", async () => {
|
275
355
|
const page = await newSpecPage({
|
@@ -306,6 +386,13 @@ describe(icDataTable, () => {
|
|
306
386
|
});
|
307
387
|
expect(page.root).toMatchSnapshot();
|
308
388
|
});
|
389
|
+
it("should render with a slotted ic-data-table-title-bar", async () => {
|
390
|
+
const page = await newSpecPage({
|
391
|
+
components: [DataTable],
|
392
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data }, h("ic-data-table-title-bar", { slot: "title-bar" }))),
|
393
|
+
});
|
394
|
+
expect(page.root).toMatchSnapshot();
|
395
|
+
});
|
309
396
|
it("should render with column overrides", async () => {
|
310
397
|
const page = await newSpecPage({
|
311
398
|
components: [DataTable],
|
@@ -327,6 +414,134 @@ describe(icDataTable, () => {
|
|
327
414
|
});
|
328
415
|
expect(page.root).toMatchSnapshot();
|
329
416
|
});
|
417
|
+
it("should correctly render a custom icon in the header when passed through the column prop", async () => {
|
418
|
+
const page = await newSpecPage({
|
419
|
+
components: [DataTable],
|
420
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columnsWithIcons, data: data })),
|
421
|
+
});
|
422
|
+
expect(page.root).toMatchSnapshot();
|
423
|
+
});
|
424
|
+
it("should not render custom icon in header when hideOnHeader is set", async () => {
|
425
|
+
const page = await newSpecPage({
|
426
|
+
components: [DataTable],
|
427
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columnsWithIconsHideOnHeader, data: data })),
|
428
|
+
});
|
429
|
+
expect(page.root).toMatchSnapshot();
|
430
|
+
});
|
431
|
+
it("should render column icon on all column cells if onAllCells is true, except ones that already have a custom icon", async () => {
|
432
|
+
const page = await newSpecPage({
|
433
|
+
components: [DataTable],
|
434
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columnsWithIconsOnAllCells, data: dataWithIcons })),
|
435
|
+
});
|
436
|
+
expect(page.root).toMatchSnapshot();
|
437
|
+
});
|
438
|
+
it("should render a slotted icon instead of an icon defined in data", async () => {
|
439
|
+
const page = await newSpecPage({
|
440
|
+
components: [DataTable],
|
441
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columns, data: dataWithIcons }, h("svg", { slot: "name-0-icon", focusable: "false", "aria-hidden": "true", viewBox: "0 0 24 24" }, h("path", { d: "M9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z" })))),
|
442
|
+
});
|
443
|
+
expect(page.root).toMatchSnapshot();
|
444
|
+
});
|
445
|
+
it("should render the empty state when data is null", async () => {
|
446
|
+
const page = await newSpecPage({
|
447
|
+
components: [DataTable],
|
448
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns })),
|
449
|
+
});
|
450
|
+
expect(page.root).toMatchSnapshot();
|
451
|
+
});
|
452
|
+
it("should render the empty state when no data is passed through", async () => {
|
453
|
+
const page = await newSpecPage({
|
454
|
+
components: [DataTable],
|
455
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: [] })),
|
456
|
+
});
|
457
|
+
expect(page.root).toMatchSnapshot();
|
458
|
+
});
|
459
|
+
it("should be able to slot a custom empty state into the data table", async () => {
|
460
|
+
const page = await newSpecPage({
|
461
|
+
components: [IcButton, DataTable, IcEmptyState],
|
462
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: [] }, h("ic-empty-state", { slot: "empty-state", aligned: "left", heading: "Test heading", body: "test body" }, h("ic-button", { slot: "actions" }, "Button")))),
|
463
|
+
});
|
464
|
+
expect(page.root).toMatchSnapshot();
|
465
|
+
});
|
466
|
+
it("should render the loading state when the `loading` prop is passed through", async () => {
|
467
|
+
const page = await newSpecPage({
|
468
|
+
components: [DataTable],
|
469
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, loading: true })),
|
470
|
+
});
|
471
|
+
expect(page.root).toMatchSnapshot();
|
472
|
+
});
|
473
|
+
it("should render the updating state when the `updating` prop is passed through", async () => {
|
474
|
+
const page = await newSpecPage({
|
475
|
+
components: [DataTable],
|
476
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, updating: true })),
|
477
|
+
});
|
478
|
+
expect(page.root).toMatchSnapshot();
|
479
|
+
});
|
480
|
+
it("should pass through the loadingOptions to the loading indicator", async () => {
|
481
|
+
const page = await newSpecPage({
|
482
|
+
components: [DataTable],
|
483
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, loadingOptions: {
|
484
|
+
appearance: "light",
|
485
|
+
}, loading: true })),
|
486
|
+
});
|
487
|
+
expect(page.root).toMatchSnapshot();
|
488
|
+
});
|
489
|
+
it("should pass through the updatingOptions to the linear loading indicator", async () => {
|
490
|
+
const page = await newSpecPage({
|
491
|
+
components: [DataTable],
|
492
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, updatingOptions: {
|
493
|
+
progress: 30,
|
494
|
+
}, updating: true })),
|
495
|
+
});
|
496
|
+
expect(page.root).toMatchSnapshot();
|
497
|
+
});
|
498
|
+
it("should apply a background to the loading indicator if data is supplied to the table", async () => {
|
499
|
+
const page = await newSpecPage({
|
500
|
+
components: [DataTable],
|
501
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columns, data: data })),
|
502
|
+
});
|
503
|
+
expect(page.rootInstance.loadingOptions.showBackground).toBeTruthy();
|
504
|
+
const loadingIndicator = page.root.shadowRoot.querySelector(icLoadingIndicator);
|
505
|
+
expect(loadingIndicator).toHaveClass(showBackgroundClass);
|
506
|
+
});
|
507
|
+
it("should not apply a background to the loading indicator if no data is supplied to the table, and apply one when data is provided later", async () => {
|
508
|
+
const page = await newSpecPage({
|
509
|
+
components: [DataTable],
|
510
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columns })),
|
511
|
+
});
|
512
|
+
expect(page.rootInstance.loadingOptions.showBackground).toBeFalsy();
|
513
|
+
let loadingIndicator = page.root.shadowRoot.querySelector(icLoadingIndicator);
|
514
|
+
expect(loadingIndicator).not.toHaveClass(showBackgroundClass);
|
515
|
+
page.root.data = data;
|
516
|
+
await page.waitForChanges();
|
517
|
+
expect(page.rootInstance.loadingOptions.showBackground).toBeTruthy();
|
518
|
+
loadingIndicator = page.root.shadowRoot.querySelector(icLoadingIndicator);
|
519
|
+
expect(loadingIndicator).toHaveClass(showBackgroundClass);
|
520
|
+
});
|
521
|
+
it("when loading is `true`, setting data should cancel the loading after 1 second from initial loading", async () => {
|
522
|
+
const page = await newSpecPage({
|
523
|
+
components: [DataTable],
|
524
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, loading: true })),
|
525
|
+
});
|
526
|
+
expect(page.root).toMatchSnapshot();
|
527
|
+
await waitForTimeout(1100);
|
528
|
+
page.root.data = data;
|
529
|
+
await page.waitForChanges();
|
530
|
+
expect(page.root).toMatchSnapshot();
|
531
|
+
});
|
532
|
+
it("when loading is `true`, if data is set before 1 second of loading it will wait 1 second before rendering the data", async () => {
|
533
|
+
const page = await newSpecPage({
|
534
|
+
components: [DataTable],
|
535
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, loading: true })),
|
536
|
+
});
|
537
|
+
expect(page.root).toMatchSnapshot();
|
538
|
+
page.root.data = data;
|
539
|
+
await page.waitForChanges();
|
540
|
+
expect(page.root).toMatchSnapshot();
|
541
|
+
await waitForTimeout(1500);
|
542
|
+
await page.waitForChanges();
|
543
|
+
expect(page.root).toMatchSnapshot();
|
544
|
+
});
|
330
545
|
it("should return correct alignment from getCellAlignment", async () => {
|
331
546
|
const page = await newSpecPage({
|
332
547
|
components: [DataTable],
|
@@ -440,6 +655,32 @@ describe(icDataTable, () => {
|
|
440
655
|
await page.waitForChanges();
|
441
656
|
expect(page.root).toMatchSnapshot();
|
442
657
|
});
|
658
|
+
it("should change the density of the element when it receives the icTableDensityUpdate event", async () => {
|
659
|
+
const page = await newSpecPage({
|
660
|
+
components: [DataTable],
|
661
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columns, data: data }, h("ic-data-table-title-bar", { slot: "title-bar" }))),
|
662
|
+
});
|
663
|
+
expect(page.rootInstance.density).toBe("default");
|
664
|
+
let icDensityUpdateEvent = new CustomEvent("icTableDensityUpdate", {
|
665
|
+
detail: { value: "dense" },
|
666
|
+
});
|
667
|
+
page.root.dispatchEvent(icDensityUpdateEvent);
|
668
|
+
await page.waitForChanges();
|
669
|
+
expect(page.rootInstance.density).toBe("dense");
|
670
|
+
icDensityUpdateEvent = new CustomEvent("icTableDensityUpdate", {
|
671
|
+
detail: { value: "spacious" },
|
672
|
+
});
|
673
|
+
page.root.dispatchEvent(icDensityUpdateEvent);
|
674
|
+
await page.waitForChanges();
|
675
|
+
expect(page.rootInstance.density).toBe("spacious");
|
676
|
+
});
|
677
|
+
it("should pass the caption down to any slotted ic-data-table-title-bar", async () => {
|
678
|
+
const page = await newSpecPage({
|
679
|
+
components: [DataTable, DataTableTitleBar],
|
680
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columns, data: data }, h("ic-data-table-title-bar", { slot: "title-bar" }))),
|
681
|
+
});
|
682
|
+
expect(page.root).toMatchSnapshot();
|
683
|
+
});
|
443
684
|
it("should highlight the correct row when clicked", async () => {
|
444
685
|
const page = await newSpecPage({
|
445
686
|
components: [IcButton, DataTable],
|
@@ -462,5 +703,83 @@ describe(icDataTable, () => {
|
|
462
703
|
expect(rows[1]).not.toHaveClass(highlightedRowClass);
|
463
704
|
expect(rows[2]).not.toHaveClass(highlightedRowClass);
|
464
705
|
});
|
706
|
+
it("should apply a specified row height to all rows when globalRowHeight is set", async () => {
|
707
|
+
const page = await newSpecPage({
|
708
|
+
components: [DataTable],
|
709
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data, globalRowHeight: 80 })),
|
710
|
+
});
|
711
|
+
expect(page.root).toMatchSnapshot();
|
712
|
+
});
|
713
|
+
it("should apply a specified row height to specific rows when variableRowHeight is set, and any not included should use the default globalRowHeight", async () => {
|
714
|
+
const page = await newSpecPage({
|
715
|
+
components: [DataTable],
|
716
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data,
|
717
|
+
// eslint-disable-next-line react/jsx-no-bind
|
718
|
+
variableRowHeight: ({ index }) => (index % 2 === 0 ? 200 : null) })),
|
719
|
+
});
|
720
|
+
expect(page.root).toMatchSnapshot();
|
721
|
+
});
|
722
|
+
it("should reset all rows to the default height when resetRowHeights is called", async () => {
|
723
|
+
const page = await newSpecPage({
|
724
|
+
components: [DataTable],
|
725
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data, globalRowHeight: 80,
|
726
|
+
// eslint-disable-next-line react/jsx-no-bind
|
727
|
+
variableRowHeight: ({ index }) => (index % 2 === 0 ? 200 : null) })),
|
728
|
+
});
|
729
|
+
expect(page.root).toMatchSnapshot();
|
730
|
+
await page.root.resetRowHeights();
|
731
|
+
await page.waitForChanges();
|
732
|
+
expect(page.root).toMatchSnapshot();
|
733
|
+
});
|
734
|
+
it("should emit icRowHeightChange when globalRowHeight or variableRowHeight is changed", async () => {
|
735
|
+
const page = await newSpecPage({
|
736
|
+
components: [DataTable],
|
737
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data, globalRowHeight: 80,
|
738
|
+
// eslint-disable-next-line react/jsx-no-bind
|
739
|
+
variableRowHeight: ({ index }) => (index % 2 === 0 ? 200 : null) })),
|
740
|
+
});
|
741
|
+
const eventSpy = jest.fn();
|
742
|
+
page.root.addEventListener("icRowHeightChange", eventSpy);
|
743
|
+
const dataTable = page.root;
|
744
|
+
dataTable.globalRowHeight = 50;
|
745
|
+
await page.waitForChanges();
|
746
|
+
expect(eventSpy).toHaveBeenCalledTimes(1);
|
747
|
+
dataTable.variableRowHeight = ({ index }) => (index % 2 === 0 ? 100 : null);
|
748
|
+
await page.waitForChanges();
|
749
|
+
expect(eventSpy).toHaveBeenCalledTimes(2);
|
750
|
+
});
|
751
|
+
it("should apply the correct density scaler to rowHeights when not using the default density", async () => {
|
752
|
+
const page = await newSpecPage({
|
753
|
+
components: [DataTable],
|
754
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data, globalRowHeight: 80, density: "dense" })),
|
755
|
+
});
|
756
|
+
expect(page.root).toMatchSnapshot();
|
757
|
+
page.root.density = "spacious";
|
758
|
+
await page.waitForChanges();
|
759
|
+
expect(page.root).toMatchSnapshot();
|
760
|
+
});
|
761
|
+
it("should not override the height of rows if `globalRowHeight` is set to auto", async () => {
|
762
|
+
const page = await newSpecPage({
|
763
|
+
components: [DataTable],
|
764
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data, globalRowHeight: "auto" })),
|
765
|
+
});
|
766
|
+
expect(page.root).toMatchSnapshot();
|
767
|
+
});
|
768
|
+
it("should not override the height of certain rows if `variableRowHeight` returns auto", async () => {
|
769
|
+
const page = await newSpecPage({
|
770
|
+
components: [DataTable],
|
771
|
+
template: () => (h("ic-data-table", { caption: "test table", columns: columns, data: data,
|
772
|
+
// eslint-disable-next-line react/jsx-no-bind
|
773
|
+
variableRowHeight: ({ index }) => (index % 2 === 0 ? "auto" : null) })),
|
774
|
+
});
|
775
|
+
expect(page.root).toMatchSnapshot();
|
776
|
+
});
|
777
|
+
it("should slot a custom element into a cell", async () => {
|
778
|
+
const page = await newSpecPage({
|
779
|
+
components: [DataTable],
|
780
|
+
template: () => (h("ic-data-table", { caption: "Table", columns: columnsWithElements, data: data }, data.map((_, index) => (h("ic-button", { key: index, slot: `actions-${index}` }, "Delete"))))),
|
781
|
+
});
|
782
|
+
expect(page.root).toMatchSnapshot();
|
783
|
+
});
|
465
784
|
});
|
466
785
|
//# sourceMappingURL=ic-data-table.spec.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-data-table.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-data-table/test/basic/ic-data-table.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { IcButton } from \"@ukic/web-components/dist/components/ic-button\";\nimport { DataTable } from \"../../ic-data-table\";\nimport { IcPagination } from \"@ukic/web-components/dist/components/ic-pagination\";\nimport { PaginationBar } from \"../../../ic-pagination-bar/ic-pagination-bar\";\nimport { IcPaginationItem } from \"@ukic/web-components/dist/components/ic-pagination-item\";\nimport { h } from \"@stencil/core\";\nimport { IcDataTableColumnObject } from \"../../ic-data-table.types\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst icDataTable = \"ic-data-table\";\nconst employeeNumber = \"Employee number\";\nconst name1 = \"John Smith\";\nconst name2 = \"Sally Jones\";\nconst name3 = \"Luke Fisher\";\nconst name4 = \"Jane Lock\";\nconst name5 = \"Margaret Hale\";\nconst highlightedRowClass = \"table-row-selected\";\n\nconst columns: IcDataTableColumnObject[] = [\n { key: \"name\", title: \"Name\", dataType: \"string\" },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n { key: \"employeeNumber\", title: employeeNumber, dataType: \"number\" },\n];\n\nconst columnsWithRowHeader: IcDataTableColumnObject[] = [\n { key: \"header\", title: employeeNumber, dataType: \"number\" },\n { key: \"name\", title: \"Name\", dataType: \"string\" },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n];\n\nconst columnsWithOverrides: IcDataTableColumnObject[] = [\n { key: \"name\", title: \"Name\", dataType: \"string\", cellAlignment: \"middle\" },\n {\n key: \"age\",\n title: \"Age\",\n dataType: \"number\",\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n },\n {\n key: \"department\",\n title: \"Department\",\n dataType: \"string\",\n emphasis: \"high\",\n },\n {\n key: \"employeeNumber\",\n title: employeeNumber,\n dataType: \"number\",\n emphasis: \"low\",\n },\n];\n\nconst data = [\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 1 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 3 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n];\n\nconst dataWithRowHeaders = [\n { header: { title: 1 }, name: name1, age: 36, department: \"Accounts\" },\n {\n header: { title: 2 },\n name: name2,\n age: 32,\n department: \"Engineering\",\n },\n { header: { title: 3 }, name: \"Tim Rayes\", age: 41, department: \"Sales\" },\n {\n header: { title: 4 },\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n },\n {\n header: { title: 5 },\n name: name4,\n age: 34,\n department: \"Engineering\",\n },\n { header: { title: 6 }, name: name5, age: 45, department: \"HR\" },\n];\n\nconst dataWithRowOverrides = [\n {\n header: { title: 1, rowAlignment: \"middle\", emphasis: \"high\" },\n name: name1,\n age: 36,\n department: \"Accounts\",\n },\n {\n header: { title: 2, rowAlignment: \"top\", emphasis: \"low\" },\n name: name2,\n age: 32,\n department: \"Engineering\",\n },\n {\n header: { title: 3, rowAlignment: \"bottom\", emphasis: \"high\" },\n name: \"Tim Rayes\",\n age: 41,\n department: \"Sales\",\n },\n {\n header: { title: 4, rowAlignment: \"middle\", emphasis: \"low\" },\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n },\n {\n header: { title: 5, rowAlignment: \"top\", emphasis: \"high\" },\n name: name4,\n age: 34,\n department: \"Engineering\",\n },\n {\n header: { title: 6, rowAlignment: \"bottom\", emphasis: \"low\" },\n name: name5,\n age: 45,\n department: \"HR\",\n },\n];\n\nconst dataWithObjects = [\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 1 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n {\n name: { data: \"Tim Rayes\" },\n age: 41,\n department: \"Sales\",\n employeeNumber: 3,\n },\n {\n name: { data: name3 },\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n];\n\nconst dataWithCellOverrides = [\n {\n name: {\n data: name1,\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n age: 36,\n department: \"Accounts\",\n employeeNumber: 1,\n },\n {\n name: {\n data: name2,\n columnAlignment: { horizontal: \"top\", vertical: \"right\" },\n emphasis: \"low\",\n },\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n {\n name: {\n data: \"Tim Rayes\",\n columnAlignment: { horizontal: \"bottom\", vertical: \"left\" },\n emphasis: \"high\",\n },\n age: 41,\n department: \"Sales\",\n employeeNumber: 3,\n },\n {\n name: {\n data: name3,\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"low\",\n },\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n {\n name: {\n data: name4,\n columnAlignment: { horizontal: \"top\", vertical: \"right\" },\n emphasis: \"high\",\n },\n age: 34,\n department: \"Engineering\",\n employeeNumber: 5,\n },\n {\n name: {\n data: name5,\n columnAlignment: { horizontal: \"bottom\", vertical: \"left\" },\n emphasis: \"high\",\n },\n age: 45,\n department: \"HR\",\n employeeNumber: 6,\n },\n];\n\nconst longData = [\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 1 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 3 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 7 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 8,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 9 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 10,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 11 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 12 },\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 13 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 14,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 15 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 16,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 17 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 18 },\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 19 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 20,\n },\n];\n\ndescribe(icDataTable, () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with row headers\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columnsWithRowHeader}\n data={dataWithRowHeaders}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render embedded\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n embedded\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render sortable\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n sortable\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with pagination\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={longData}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with column overrides\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columnsWithOverrides}\n data={data}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with row overrides\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columnsWithRowHeader}\n data={dataWithRowOverrides}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with cell overrides\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={dataWithCellOverrides}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should return correct alignment from getCellAlignment\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={dataWithCellOverrides}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n let cellAlignment = await page.rootInstance.getCellAlignment(\n {\n data: name1,\n cellAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n \"vertical\"\n );\n expect(cellAlignment).toBe(\"center\");\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n {\n data: name1,\n cellAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n \"horizontal\"\n );\n expect(cellAlignment).toBe(\"middle\");\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n {\n data: name1,\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n \"horizontal\"\n );\n expect(cellAlignment).toBeUndefined;\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n name1,\n \"horizontal\"\n );\n expect(cellAlignment).toBeUndefined;\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n undefined,\n \"horizontal\"\n );\n expect(cellAlignment).toBeUndefined;\n });\n\n it(\"should change page when the pagination items are clicked\", async () => {\n const page = await newSpecPage({\n components: [\n IcButton,\n DataTable,\n IcPagination,\n PaginationBar,\n IcPaginationItem,\n ],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={longData}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n await page.waitForChanges();\n\n const dataTable = document.querySelector(icDataTable);\n\n const paginationBar =\n dataTable.shadowRoot.querySelector(\"ic-pagination-bar\");\n\n const pagination = paginationBar.shadowRoot.querySelector(\"ic-pagination\");\n\n const paginationItem =\n pagination.shadowRoot.querySelector(\"ic-pagination-item\");\n\n let currentPage =\n paginationItem.shadowRoot.querySelector(\"ic-typography\").textContent;\n\n const nextPageButton = pagination.shadowRoot.querySelector(\n \"#next-page-button\"\n ) as HTMLButtonElement;\n\n expect(currentPage).toEqual(\"Page 1\");\n\n nextPageButton.focus();\n\n nextPageButton.click();\n\n const icPageChangeEvent = new CustomEvent(\"icPageChange\", {\n detail: { value: \"2\" },\n });\n\n dataTable.dispatchEvent(icPageChangeEvent);\n\n currentPage = \"Page 2\";\n\n page.rootInstance.updateScrollOffset();\n\n await page.waitForChanges();\n\n expect(currentPage).toEqual(\"Page 2\");\n });\n\n it(\"should change number of items per page when select dropdown is changed\", async () => {\n const page = await newSpecPage({\n components: [DataTable, PaginationBar],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={longData}\n show-pagination\n paginationOptions={{\n itemsPerPage: [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ],\n type: \"data\",\n }}\n ></ic-data-table>\n ),\n });\n\n await page.waitForChanges();\n\n const dataTable = document.querySelector(icDataTable);\n\n const paginationBar =\n dataTable.shadowRoot.querySelector(\"ic-pagination-bar\");\n\n const itemsPerPageLabel = paginationBar.shadowRoot.querySelector(\n \".item-pagination-label\"\n );\n\n page.rootInstance.rowsPerPage = 10;\n\n expect(itemsPerPageLabel.textContent).toEqual(\"1 - 10 of 20 items\");\n\n const icPageChangeEvent = new CustomEvent(\"icPageChange\", {\n detail: { value: \"1\" },\n });\n\n const icItemsPerPageChangeEventUp = new CustomEvent(\n \"icItemsPerPageChange\",\n {\n detail: { value: \"20\" },\n }\n );\n\n const icItemsPerPageChangeEventDown = new CustomEvent(\n \"icItemsPerPageChange\",\n { detail: { value: \"10\" } }\n );\n\n dataTable.dispatchEvent(icItemsPerPageChangeEventUp);\n\n page.rootInstance.rowsPerPage = 20;\n\n dataTable.dispatchEvent(icPageChangeEvent);\n\n page.rootInstance.toRow = 20;\n\n await page.waitForChanges();\n\n dataTable.dispatchEvent(icItemsPerPageChangeEventDown);\n\n page.rootInstance.previousRowsPerPage = 20;\n\n page.rootInstance.rowsPerPage = 10;\n\n dataTable.dispatchEvent(icPageChangeEvent);\n\n await page.waitForChanges();\n\n expect(itemsPerPageLabel.textContent).toEqual(\"1 - 10 of 20 items\");\n });\n\n it(\"should sort data when the sort button is clicked\", async () => {\n const page = await newSpecPage({\n components: [IcButton, DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={dataWithObjects}\n sortable\n ></ic-data-table>\n ),\n });\n\n const dataTable = document.querySelector(icDataTable);\n\n const sortButton = Array.from(\n dataTable.shadowRoot.querySelectorAll(\".sort-button\")\n ) as HTMLIcButtonElement[];\n\n expect(page.root).toMatchSnapshot();\n\n sortButton[0].click();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n sortButton[0].click();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n sortButton[1].click();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should highlight the correct row when clicked\", async () => {\n const page = await newSpecPage({\n components: [IcButton, DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n ></ic-data-table>\n ),\n });\n\n const dataTable = document.querySelector(icDataTable);\n\n const rows = dataTable.shadowRoot.querySelectorAll(\"tr\");\n\n rows[1].click();\n\n await page.waitForChanges();\n\n expect(rows[1]).toHaveClass(highlightedRowClass);\n\n rows[2].click();\n\n await page.waitForChanges();\n\n expect(rows[1]).not.toHaveClass(highlightedRowClass);\n expect(rows[2]).toHaveClass(highlightedRowClass);\n\n page.win.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(rows[1]).not.toHaveClass(highlightedRowClass);\n expect(rows[2]).not.toHaveClass(highlightedRowClass);\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-data-table.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-data-table/test/basic/ic-data-table.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { IcButton } from \"@ukic/web-components/dist/components/ic-button\";\nimport { DataTable } from \"../../ic-data-table\";\nimport { IcPagination } from \"@ukic/web-components/dist/components/ic-pagination\";\nimport { PaginationBar } from \"../../../ic-pagination-bar/ic-pagination-bar\";\nimport { IcPaginationItem } from \"@ukic/web-components/dist/components/ic-pagination-item\";\nimport { h } from \"@stencil/core\";\nimport { IcDataTableColumnObject } from \"../../ic-data-table.types\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\nimport { IcEmptyState } from \"@ukic/web-components/dist/components/ic-empty-state\";\nimport { DataTableTitleBar } from \"../../../ic-data-table-title-bar/ic-data-table-title-bar\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst icDataTable = \"ic-data-table\";\nconst icLoadingIndicator = \"ic-loading-indicator\";\nconst employeeNumber = \"Employee number\";\nconst name1 = \"John Smith\";\nconst name2 = \"Sally Jones\";\nconst name3 = \"Luke Fisher\";\nconst name4 = \"Jane Lock\";\nconst name5 = \"Margaret Hale\";\nconst highlightedRowClass = \"table-row-selected\";\nconst showBackgroundClass = \"show-background\";\nconst customIcon =\n '<svg aria-labelledby=\"error-title\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"#000000\"><title id=\"error-title\">Error</title><g id=\"close-octagon\"><path id=\"Vector\" d=\"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41\" /></g></svg>';\n\nconst columns: IcDataTableColumnObject[] = [\n { key: \"name\", title: \"Name\", dataType: \"string\" },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n { key: \"employeeNumber\", title: employeeNumber, dataType: \"number\" },\n];\n\nconst columnsWithElements: IcDataTableColumnObject[] = [\n { key: \"name\", title: \"Name\", dataType: \"string\" },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n { key: \"employeeNumber\", title: employeeNumber, dataType: \"number\" },\n { key: \"actions\", title: \"Actions\", dataType: \"element\" },\n];\n\nconst columnsWithRowHeader: IcDataTableColumnObject[] = [\n { key: \"header\", title: employeeNumber, dataType: \"number\" },\n { key: \"name\", title: \"Name\", dataType: \"string\" },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n];\n\nconst columnsWithOverrides: IcDataTableColumnObject[] = [\n { key: \"name\", title: \"Name\", dataType: \"string\", cellAlignment: \"middle\" },\n {\n key: \"age\",\n title: \"Age\",\n dataType: \"number\",\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n },\n {\n key: \"department\",\n title: \"Department\",\n dataType: \"string\",\n emphasis: \"high\",\n },\n {\n key: \"employeeNumber\",\n title: employeeNumber,\n dataType: \"number\",\n emphasis: \"low\",\n },\n];\n\nconst columnsWithIcons: IcDataTableColumnObject[] = [\n {\n key: \"name\",\n title: \"Name\",\n dataType: \"string\",\n icon: {\n icon: customIcon,\n },\n },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n { key: \"employeeNumber\", title: employeeNumber, dataType: \"number\" },\n];\n\nconst columnsWithIconsOnAllCells: IcDataTableColumnObject[] = [\n {\n key: \"name\",\n title: \"Name\",\n dataType: \"string\",\n icon: {\n icon: customIcon,\n onAllCells: true,\n },\n },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n { key: \"employeeNumber\", title: employeeNumber, dataType: \"number\" },\n];\n\nconst columnsWithIconsHideOnHeader: IcDataTableColumnObject[] = [\n {\n key: \"name\",\n title: \"Name\",\n dataType: \"string\",\n icon: {\n icon: customIcon,\n hideOnHeader: true,\n },\n },\n { key: \"age\", title: \"Age\", dataType: \"number\" },\n { key: \"department\", title: \"Department\", dataType: \"string\" },\n { key: \"employeeNumber\", title: employeeNumber, dataType: \"number\" },\n];\n\nconst data = [\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 1 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 3 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n];\n\nconst dataWithRowHeaders = [\n { header: { title: 1 }, name: name1, age: 36, department: \"Accounts\" },\n {\n header: { title: 2 },\n name: name2,\n age: 32,\n department: \"Engineering\",\n },\n { header: { title: 3 }, name: \"Tim Rayes\", age: 41, department: \"Sales\" },\n {\n header: { title: 4 },\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n },\n {\n header: { title: 5 },\n name: name4,\n age: 34,\n department: \"Engineering\",\n },\n { header: { title: 6 }, name: name5, age: 45, department: \"HR\" },\n];\n\nconst dataWithRowOverrides = [\n {\n header: { title: 1, rowAlignment: \"middle\", emphasis: \"high\" },\n name: name1,\n age: 36,\n department: \"Accounts\",\n },\n {\n header: { title: 2, rowAlignment: \"top\", emphasis: \"low\" },\n name: name2,\n age: 32,\n department: \"Engineering\",\n },\n {\n header: { title: 3, rowAlignment: \"bottom\", emphasis: \"high\" },\n name: \"Tim Rayes\",\n age: 41,\n department: \"Sales\",\n },\n {\n header: { title: 4, rowAlignment: \"middle\", emphasis: \"low\" },\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n },\n {\n header: { title: 5, rowAlignment: \"top\", emphasis: \"high\" },\n name: name4,\n age: 34,\n department: \"Engineering\",\n },\n {\n header: { title: 6, rowAlignment: \"bottom\", emphasis: \"low\" },\n name: name5,\n age: 45,\n department: \"HR\",\n },\n];\n\nconst dataWithObjects = [\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 1 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n {\n name: { data: \"Tim Rayes\" },\n age: 41,\n department: \"Sales\",\n employeeNumber: 3,\n },\n {\n name: { data: name3 },\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n];\n\nconst dataWithCellOverrides = [\n {\n name: {\n data: name1,\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n age: 36,\n department: \"Accounts\",\n employeeNumber: 1,\n },\n {\n name: {\n data: name2,\n columnAlignment: { horizontal: \"top\", vertical: \"right\" },\n emphasis: \"low\",\n },\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n {\n name: {\n data: \"Tim Rayes\",\n columnAlignment: { horizontal: \"bottom\", vertical: \"left\" },\n emphasis: \"high\",\n },\n age: 41,\n department: \"Sales\",\n employeeNumber: 3,\n },\n {\n name: {\n data: name3,\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"low\",\n },\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n {\n name: {\n data: name4,\n columnAlignment: { horizontal: \"top\", vertical: \"right\" },\n emphasis: \"high\",\n },\n age: 34,\n department: \"Engineering\",\n employeeNumber: 5,\n },\n {\n name: {\n data: name5,\n columnAlignment: { horizontal: \"bottom\", vertical: \"left\" },\n emphasis: \"high\",\n },\n age: 45,\n department: \"HR\",\n employeeNumber: 6,\n },\n];\n\nconst longData = [\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 1 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 3 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 7 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 8,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 9 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 10,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 11 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 12 },\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 13 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 14,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 15 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 16,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 17 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 18 },\n { name: name1, age: 36, department: \"Accounts\", employeeNumber: 19 },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 20,\n },\n];\n\nconst dataWithIcons = [\n {\n name: {\n data: name1,\n icon: '<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.70687 6L8.29688 7.41L12.8769 12L8.29688 16.59L9.70687 18L15.7069 12L9.70687 6Z\" fill=\"currentColor\"/></svg>',\n },\n age: 36,\n department: \"Accounts\",\n employeeNumber: 1,\n },\n {\n name: name2,\n age: 32,\n department: \"Engineering\",\n employeeNumber: 2,\n },\n { name: \"Tim Rayes\", age: 41, department: \"Sales\", employeeNumber: 3 },\n {\n name: name3,\n age: \"23\",\n department: \"Engineering\",\n employeeNumber: 4,\n },\n { name: name4, age: 34, department: \"Engineering\", employeeNumber: 5 },\n { name: name5, age: 45, department: \"HR\", employeeNumber: 6 },\n];\n\ndescribe(icDataTable, () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with row headers\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columnsWithRowHeader}\n data={dataWithRowHeaders}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render embedded\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n embedded\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render sortable\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n sortable\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with pagination\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={longData}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a slotted ic-data-table-title-bar\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table caption=\"test table\" columns={columns} data={data}>\n <ic-data-table-title-bar slot=\"title-bar\"></ic-data-table-title-bar>\n </ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with column overrides\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columnsWithOverrides}\n data={data}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with row overrides\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columnsWithRowHeader}\n data={dataWithRowOverrides}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with cell overrides\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={dataWithCellOverrides}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should correctly render a custom icon in the header when passed through the column prop\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"Table\"\n columns={columnsWithIcons}\n data={data}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should not render custom icon in header when hideOnHeader is set\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"Table\"\n columns={columnsWithIconsHideOnHeader}\n data={data}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render column icon on all column cells if onAllCells is true, except ones that already have a custom icon\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"Table\"\n columns={columnsWithIconsOnAllCells}\n data={dataWithIcons}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a slotted icon instead of an icon defined in data\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table caption=\"Table\" columns={columns} data={dataWithIcons}>\n <svg\n slot=\"name-0-icon\"\n focusable=\"false\"\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z\"></path>\n </svg>\n </ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the empty state when data is null\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table caption=\"test table\" columns={columns}></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the empty state when no data is passed through\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={[]}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should be able to slot a custom empty state into the data table\", async () => {\n const page = await newSpecPage({\n components: [IcButton, DataTable, IcEmptyState],\n template: () => (\n <ic-data-table caption=\"test table\" columns={columns} data={[]}>\n <ic-empty-state\n slot=\"empty-state\"\n aligned=\"left\"\n heading=\"Test heading\"\n body=\"test body\"\n >\n <ic-button slot=\"actions\">Button</ic-button>\n </ic-empty-state>\n </ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the loading state when the `loading` prop is passed through\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n loading={true}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the updating state when the `updating` prop is passed through\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n updating={true}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should pass through the loadingOptions to the loading indicator\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n loadingOptions={{\n appearance: \"light\",\n }}\n loading={true}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should pass through the updatingOptions to the linear loading indicator\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n updatingOptions={{\n progress: 30,\n }}\n updating={true}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply a background to the loading indicator if data is supplied to the table\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"Table\"\n columns={columns}\n data={data}\n ></ic-data-table>\n ),\n });\n\n expect(page.rootInstance.loadingOptions.showBackground).toBeTruthy();\n const loadingIndicator =\n page.root.shadowRoot.querySelector(icLoadingIndicator);\n expect(loadingIndicator).toHaveClass(showBackgroundClass);\n });\n\n it(\"should not apply a background to the loading indicator if no data is supplied to the table, and apply one when data is provided later\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table caption=\"Table\" columns={columns}></ic-data-table>\n ),\n });\n\n expect(page.rootInstance.loadingOptions.showBackground).toBeFalsy();\n let loadingIndicator =\n page.root.shadowRoot.querySelector(icLoadingIndicator);\n expect(loadingIndicator).not.toHaveClass(showBackgroundClass);\n\n page.root.data = data;\n await page.waitForChanges();\n\n expect(page.rootInstance.loadingOptions.showBackground).toBeTruthy();\n loadingIndicator = page.root.shadowRoot.querySelector(icLoadingIndicator);\n expect(loadingIndicator).toHaveClass(showBackgroundClass);\n });\n\n it(\"when loading is `true`, setting data should cancel the loading after 1 second from initial loading\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n loading={true}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n\n await waitForTimeout(1100);\n page.root.data = data;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"when loading is `true`, if data is set before 1 second of loading it will wait 1 second before rendering the data\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n loading={true}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.root.data = data;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n await waitForTimeout(1500);\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should return correct alignment from getCellAlignment\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={dataWithCellOverrides}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n let cellAlignment = await page.rootInstance.getCellAlignment(\n {\n data: name1,\n cellAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n \"vertical\"\n );\n expect(cellAlignment).toBe(\"center\");\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n {\n data: name1,\n cellAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n \"horizontal\"\n );\n expect(cellAlignment).toBe(\"middle\");\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n {\n data: name1,\n columnAlignment: { horizontal: \"middle\", vertical: \"center\" },\n emphasis: \"high\",\n },\n \"horizontal\"\n );\n expect(cellAlignment).toBeUndefined;\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n name1,\n \"horizontal\"\n );\n expect(cellAlignment).toBeUndefined;\n\n cellAlignment = await page.rootInstance.getCellAlignment(\n undefined,\n \"horizontal\"\n );\n expect(cellAlignment).toBeUndefined;\n });\n\n it(\"should change page when the pagination items are clicked\", async () => {\n const page = await newSpecPage({\n components: [\n IcButton,\n DataTable,\n IcPagination,\n PaginationBar,\n IcPaginationItem,\n ],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={longData}\n show-pagination\n ></ic-data-table>\n ),\n });\n\n await page.waitForChanges();\n\n const dataTable = document.querySelector(icDataTable);\n\n const paginationBar =\n dataTable.shadowRoot.querySelector(\"ic-pagination-bar\");\n\n const pagination = paginationBar.shadowRoot.querySelector(\"ic-pagination\");\n\n const paginationItem =\n pagination.shadowRoot.querySelector(\"ic-pagination-item\");\n\n let currentPage =\n paginationItem.shadowRoot.querySelector(\"ic-typography\").textContent;\n\n const nextPageButton = pagination.shadowRoot.querySelector(\n \"#next-page-button\"\n ) as HTMLButtonElement;\n\n expect(currentPage).toEqual(\"Page 1\");\n\n nextPageButton.focus();\n\n nextPageButton.click();\n\n const icPageChangeEvent = new CustomEvent(\"icPageChange\", {\n detail: { value: \"2\" },\n });\n\n dataTable.dispatchEvent(icPageChangeEvent);\n\n currentPage = \"Page 2\";\n\n page.rootInstance.updateScrollOffset();\n\n await page.waitForChanges();\n\n expect(currentPage).toEqual(\"Page 2\");\n });\n\n it(\"should change number of items per page when select dropdown is changed\", async () => {\n const page = await newSpecPage({\n components: [DataTable, PaginationBar],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={longData}\n show-pagination\n paginationOptions={{\n itemsPerPage: [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ],\n type: \"data\",\n }}\n ></ic-data-table>\n ),\n });\n\n await page.waitForChanges();\n\n const dataTable = document.querySelector(icDataTable);\n\n const paginationBar =\n dataTable.shadowRoot.querySelector(\"ic-pagination-bar\");\n\n const itemsPerPageLabel = paginationBar.shadowRoot.querySelector(\n \".item-pagination-label\"\n );\n\n page.rootInstance.rowsPerPage = 10;\n\n expect(itemsPerPageLabel.textContent).toEqual(\"1 - 10 of 20 items\");\n\n const icPageChangeEvent = new CustomEvent(\"icPageChange\", {\n detail: { value: \"1\" },\n });\n\n const icItemsPerPageChangeEventUp = new CustomEvent(\n \"icItemsPerPageChange\",\n {\n detail: { value: \"20\" },\n }\n );\n\n const icItemsPerPageChangeEventDown = new CustomEvent(\n \"icItemsPerPageChange\",\n { detail: { value: \"10\" } }\n );\n\n dataTable.dispatchEvent(icItemsPerPageChangeEventUp);\n\n page.rootInstance.rowsPerPage = 20;\n\n dataTable.dispatchEvent(icPageChangeEvent);\n\n page.rootInstance.toRow = 20;\n\n await page.waitForChanges();\n\n dataTable.dispatchEvent(icItemsPerPageChangeEventDown);\n\n page.rootInstance.previousRowsPerPage = 20;\n\n page.rootInstance.rowsPerPage = 10;\n\n dataTable.dispatchEvent(icPageChangeEvent);\n\n await page.waitForChanges();\n\n expect(itemsPerPageLabel.textContent).toEqual(\"1 - 10 of 20 items\");\n });\n\n it(\"should sort data when the sort button is clicked\", async () => {\n const page = await newSpecPage({\n components: [IcButton, DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={dataWithObjects}\n sortable\n ></ic-data-table>\n ),\n });\n\n const dataTable = document.querySelector(icDataTable);\n\n const sortButton = Array.from(\n dataTable.shadowRoot.querySelectorAll(\".sort-button\")\n ) as HTMLIcButtonElement[];\n\n expect(page.root).toMatchSnapshot();\n\n sortButton[0].click();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n sortButton[0].click();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n sortButton[1].click();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should change the density of the element when it receives the icTableDensityUpdate event\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table caption=\"Table\" columns={columns} data={data}>\n <ic-data-table-title-bar slot=\"title-bar\"></ic-data-table-title-bar>\n </ic-data-table>\n ),\n });\n\n expect(page.rootInstance.density).toBe(\"default\");\n\n let icDensityUpdateEvent = new CustomEvent(\"icTableDensityUpdate\", {\n detail: { value: \"dense\" },\n });\n page.root.dispatchEvent(icDensityUpdateEvent);\n\n await page.waitForChanges();\n expect(page.rootInstance.density).toBe(\"dense\");\n\n icDensityUpdateEvent = new CustomEvent(\"icTableDensityUpdate\", {\n detail: { value: \"spacious\" },\n });\n page.root.dispatchEvent(icDensityUpdateEvent);\n\n await page.waitForChanges();\n expect(page.rootInstance.density).toBe(\"spacious\");\n });\n\n it(\"should pass the caption down to any slotted ic-data-table-title-bar\", async () => {\n const page = await newSpecPage({\n components: [DataTable, DataTableTitleBar],\n template: () => (\n <ic-data-table caption=\"Table\" columns={columns} data={data}>\n <ic-data-table-title-bar slot=\"title-bar\"></ic-data-table-title-bar>\n </ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should highlight the correct row when clicked\", async () => {\n const page = await newSpecPage({\n components: [IcButton, DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n ></ic-data-table>\n ),\n });\n\n const dataTable = document.querySelector(icDataTable);\n\n const rows = dataTable.shadowRoot.querySelectorAll(\"tr\");\n\n rows[1].click();\n\n await page.waitForChanges();\n\n expect(rows[1]).toHaveClass(highlightedRowClass);\n\n rows[2].click();\n\n await page.waitForChanges();\n\n expect(rows[1]).not.toHaveClass(highlightedRowClass);\n expect(rows[2]).toHaveClass(highlightedRowClass);\n\n page.win.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(rows[1]).not.toHaveClass(highlightedRowClass);\n expect(rows[2]).not.toHaveClass(highlightedRowClass);\n });\n\n it(\"should apply a specified row height to all rows when globalRowHeight is set\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n globalRowHeight={80}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply a specified row height to specific rows when variableRowHeight is set, and any not included should use the default globalRowHeight\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n // eslint-disable-next-line react/jsx-no-bind\n variableRowHeight={({ index }) => (index % 2 === 0 ? 200 : null)}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should reset all rows to the default height when resetRowHeights is called\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n globalRowHeight={80}\n // eslint-disable-next-line react/jsx-no-bind\n variableRowHeight={({ index }) => (index % 2 === 0 ? 200 : null)}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n\n await (page.root as HTMLIcDataTableElement).resetRowHeights();\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should emit icRowHeightChange when globalRowHeight or variableRowHeight is changed\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n globalRowHeight={80}\n // eslint-disable-next-line react/jsx-no-bind\n variableRowHeight={({ index }) => (index % 2 === 0 ? 200 : null)}\n ></ic-data-table>\n ),\n });\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"icRowHeightChange\", eventSpy);\n\n const dataTable = page.root as HTMLIcDataTableElement;\n dataTable.globalRowHeight = 50;\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledTimes(1);\n\n dataTable.variableRowHeight = ({ index }) => (index % 2 === 0 ? 100 : null);\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledTimes(2);\n });\n\n it(\"should apply the correct density scaler to rowHeights when not using the default density\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n globalRowHeight={80}\n density=\"dense\"\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n\n (page.root as HTMLIcDataTableElement).density = \"spacious\";\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should not override the height of rows if `globalRowHeight` is set to auto\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n globalRowHeight=\"auto\"\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should not override the height of certain rows if `variableRowHeight` returns auto\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"test table\"\n columns={columns}\n data={data}\n // eslint-disable-next-line react/jsx-no-bind\n variableRowHeight={({ index }) => (index % 2 === 0 ? \"auto\" : null)}\n ></ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should slot a custom element into a cell\", async () => {\n const page = await newSpecPage({\n components: [DataTable],\n template: () => (\n <ic-data-table\n caption=\"Table\"\n columns={columnsWithElements}\n data={data}\n >\n {data.map((_, index) => (\n <ic-button key={index} slot={`actions-${index}`}>\n Delete\n </ic-button>\n ))}\n </ic-data-table>\n ),\n });\n\n expect(page.root).toMatchSnapshot();\n });\n});\n"]}
|