@ukic/canary-web-components 2.0.0-canary.20 → 2.0.0-canary.21
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-73d277d1.js → helpers-081d6031.js} +4 -2
- package/dist/cjs/helpers-081d6031.js.map +1 -0
- package/dist/cjs/{helpers-fc9441f8.js → helpers-261701cd.js} +81 -1
- package/dist/cjs/helpers-261701cd.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +17 -1
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +131 -0
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-card.cjs.entry.js +25 -1
- package/dist/cjs/ic-card.cjs.entry.js.map +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-classification-banner.cjs.entry.js +12 -3
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +11 -4
- package/dist/cjs/ic-date-picker.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-empty-state_2.cjs.entry.js +21 -2
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +17 -1
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +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.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +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 +2 -30
- 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 +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/index-4cf27b16.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +655 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +373 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +2 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +130 -0
- package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +12 -3
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +29 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -1
- package/dist/collection/utils/helpers.js +4 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +4 -2
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +78 -1
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-alert2.js +18 -2
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-back-to-top.js +1 -1
- package/dist/components/ic-badge.js +1 -1
- package/dist/components/ic-breadcrumb-group.js +1 -1
- package/dist/components/ic-card-horizontal.d.ts +11 -0
- package/dist/components/ic-card-horizontal.js +167 -0
- package/dist/components/ic-card-horizontal.js.map +1 -0
- package/dist/components/ic-card.js +26 -2
- package/dist/components/ic-card.js.map +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-classification-banner.js +12 -3
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-row.js +1 -1
- package/dist/components/ic-data-table.js +1 -1
- package/dist/components/ic-date-input2.js +1 -1
- package/dist/components/ic-date-picker.js +12 -4
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state2.js +21 -2
- package/dist/components/ic-empty-state2.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link.js +1 -1
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-hero.js +18 -2
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-label2.js +1 -1
- package/dist/components/ic-input-validation2.js +1 -1
- package/dist/components/ic-menu3.js +1 -1
- package/dist/components/ic-navigation-button.js +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-page-header.js +1 -1
- package/dist/components/ic-pagination-bar2.js +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 +1 -29
- package/dist/components/ic-select-with-multi.js.map +1 -1
- package/dist/components/ic-select2.js +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-text-field2.js +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-edf3411a.entry.js → p-007da09d.entry.js} +2 -2
- package/dist/core/{p-0a99994a.entry.js → p-01008e8d.entry.js} +2 -2
- package/dist/core/{p-4c57eef0.entry.js → p-01297278.entry.js} +2 -2
- package/dist/core/{p-3eb33ef4.entry.js → p-0551f0cf.entry.js} +2 -2
- package/dist/core/{p-24f9f6d4.entry.js → p-0944d33b.entry.js} +2 -2
- package/dist/core/{p-d3e186a3.entry.js → p-0ea28e7a.entry.js} +2 -2
- package/dist/core/p-145c8074.entry.js +2 -0
- package/dist/core/p-145c8074.entry.js.map +1 -0
- package/dist/core/{p-b8d3f121.entry.js → p-169bcf0f.entry.js} +2 -2
- package/dist/core/{p-47c91e08.entry.js → p-1733278a.entry.js} +2 -2
- package/dist/core/{p-4883e147.entry.js → p-1ac733c1.entry.js} +2 -2
- package/dist/core/{p-94ce6f29.entry.js → p-1d0cff8a.entry.js} +2 -2
- package/dist/core/{p-e2387530.entry.js → p-2647931d.entry.js} +2 -2
- package/dist/core/{p-0b14be10.entry.js → p-32a3b6c8.entry.js} +2 -2
- package/dist/core/{p-a1369740.entry.js → p-354e5dbe.entry.js} +2 -2
- package/dist/core/{p-af21360a.entry.js → p-3be4aae0.entry.js} +2 -2
- package/dist/core/{p-781e8391.entry.js → p-3d9eca50.entry.js} +2 -2
- package/dist/core/{p-92a858f7.entry.js → p-40fc7162.entry.js} +2 -2
- package/dist/core/{p-1440cdd1.js → p-45ebcb74.js} +2 -2
- package/dist/core/p-45ebcb74.js.map +1 -0
- package/dist/core/p-4e6f7cfe.entry.js +2 -0
- package/dist/core/p-4e6f7cfe.entry.js.map +1 -0
- package/dist/core/{p-db5c4969.entry.js → p-569a68c0.entry.js} +2 -2
- package/dist/core/{p-a5bb7bb0.entry.js → p-59d9ea22.entry.js} +2 -2
- package/dist/core/{p-c2b5e7b1.entry.js → p-5fea8f1c.entry.js} +2 -2
- package/dist/core/{p-c2b5e7b1.entry.js.map → p-5fea8f1c.entry.js.map} +1 -1
- package/dist/core/{p-2b9b9f6e.entry.js → p-66595f5f.entry.js} +2 -2
- package/dist/core/p-693a77bb.entry.js +2 -0
- package/dist/core/p-693a77bb.entry.js.map +1 -0
- package/dist/core/p-6b74397a.entry.js +2 -0
- package/dist/core/p-6b74397a.entry.js.map +1 -0
- package/dist/core/{p-6a7a5ed5.entry.js → p-6e697a16.entry.js} +2 -2
- package/dist/core/{p-7168b71a.entry.js → p-6f8fd43e.entry.js} +2 -2
- package/dist/core/{p-0970c8a1.entry.js → p-7f690fa3.entry.js} +2 -2
- package/dist/core/{p-992b6161.entry.js → p-96670e29.entry.js} +2 -2
- package/dist/core/{p-8100f45c.entry.js → p-9e69f517.entry.js} +2 -2
- package/dist/core/{p-0629691b.entry.js → p-9e7a5c72.entry.js} +2 -2
- package/dist/core/{p-cb7793b0.entry.js → p-9f8ef2bc.entry.js} +2 -2
- package/dist/core/{p-60ca1000.entry.js → p-a4585c7e.entry.js} +2 -2
- package/dist/core/{p-646b886c.entry.js → p-a589ead8.entry.js} +2 -2
- package/dist/core/{p-34cc7b3d.entry.js → p-a6d3743c.entry.js} +2 -2
- package/dist/core/{p-14b363d0.entry.js → p-a8c97918.entry.js} +2 -2
- package/dist/core/{p-a484c41c.entry.js → p-a970d653.entry.js} +2 -2
- package/dist/core/{p-6eafa62e.entry.js → p-ae7c2c39.entry.js} +2 -2
- package/dist/core/{p-87868dd2.entry.js → p-b3ed5423.entry.js} +2 -2
- package/dist/core/{p-eeae7272.entry.js → p-be4c0cc8.entry.js} +2 -2
- package/dist/core/{p-4ec1ce96.entry.js → p-c04f1bfb.entry.js} +2 -2
- package/dist/core/p-c04f1bfb.entry.js.map +1 -0
- package/dist/core/{p-6cf5343b.entry.js → p-d06c0049.entry.js} +2 -2
- package/dist/core/{p-66c26240.entry.js → p-d39239be.entry.js} +2 -2
- package/dist/core/{p-7e850bad.entry.js → p-d3ea79e1.entry.js} +2 -2
- package/dist/core/{p-ef996e40.entry.js → p-d448bdbd.entry.js} +2 -2
- package/dist/core/p-d44b7f21.entry.js +2 -0
- package/dist/core/p-d44b7f21.entry.js.map +1 -0
- package/dist/core/{p-2536b95b.entry.js → p-d5d36143.entry.js} +2 -2
- package/dist/core/p-d68e0c94.entry.js +2 -0
- package/dist/core/p-d68e0c94.entry.js.map +1 -0
- package/dist/core/{p-12120521.entry.js → p-d91428b4.entry.js} +2 -2
- package/dist/core/{p-34e72f79.entry.js → p-e191290c.entry.js} +2 -2
- package/dist/core/{p-e1e04f34.entry.js → p-e2421111.entry.js} +2 -2
- package/dist/core/{p-6c5c6aaf.entry.js → p-e393e53c.entry.js} +2 -2
- package/dist/core/{p-0cdd4c93.entry.js → p-e5b1dd58.entry.js} +2 -2
- package/dist/core/p-f6735e4a.js +2 -0
- package/dist/core/p-f6735e4a.js.map +1 -0
- package/dist/core/{p-3245554e.entry.js → p-fab8da25.entry.js} +2 -2
- package/dist/core/{p-0ecde7a8.entry.js → p-fb4219d6.entry.js} +2 -2
- package/dist/core/{p-06e0b5b6.entry.js → p-fc0eac8b.entry.js} +2 -2
- package/dist/core/{p-d67a5c90.entry.js → p-fdacc7f7.entry.js} +2 -2
- package/dist/core/{p-b7161816.entry.js → p-ffeca3c7.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-4e2e4787.js → helpers-d41662f3.js} +5 -3
- package/dist/esm/helpers-d41662f3.js.map +1 -0
- package/dist/esm/{helpers-1cd71f8a.js → helpers-e75fd113.js} +79 -2
- package/dist/esm/helpers-e75fd113.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +18 -2
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +127 -0
- package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
- package/dist/esm/ic-card.entry.js +26 -2
- package/dist/esm/ic-card.entry.js.map +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-classification-banner.entry.js +12 -3
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +1 -1
- package/dist/esm/ic-date-input.entry.js +1 -1
- package/dist/esm/ic-date-picker.entry.js +11 -4
- package/dist/esm/ic-date-picker.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-empty-state_2.entry.js +22 -3
- package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +18 -2
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +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.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination_4.entry.js +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 +1 -29
- 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 +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/index-93509377.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +1 -0
- package/dist/types/components.d.ts +99 -0
- package/dist/types/utils/helpers.d.ts +1 -0
- package/hydrate/index.js +1038 -753
- package/package.json +3 -3
- package/dist/cjs/helpers-73d277d1.js.map +0 -1
- package/dist/cjs/helpers-fc9441f8.js.map +0 -1
- package/dist/core/p-1440cdd1.js.map +0 -1
- package/dist/core/p-20d4ded5.js +0 -2
- package/dist/core/p-20d4ded5.js.map +0 -1
- package/dist/core/p-352b9c17.entry.js +0 -2
- package/dist/core/p-352b9c17.entry.js.map +0 -1
- package/dist/core/p-3fa986f8.entry.js +0 -2
- package/dist/core/p-3fa986f8.entry.js.map +0 -1
- package/dist/core/p-4ec1ce96.entry.js.map +0 -1
- package/dist/core/p-9769c195.entry.js +0 -2
- package/dist/core/p-9769c195.entry.js.map +0 -1
- package/dist/core/p-cb15d0b6.entry.js +0 -2
- package/dist/core/p-cb15d0b6.entry.js.map +0 -1
- package/dist/core/p-e32cce28.entry.js +0 -2
- package/dist/core/p-e32cce28.entry.js.map +0 -1
- package/dist/esm/helpers-1cd71f8a.js.map +0 -1
- package/dist/esm/helpers-4e2e4787.js.map +0 -1
- /package/dist/core/{p-edf3411a.entry.js.map → p-007da09d.entry.js.map} +0 -0
- /package/dist/core/{p-0a99994a.entry.js.map → p-01008e8d.entry.js.map} +0 -0
- /package/dist/core/{p-4c57eef0.entry.js.map → p-01297278.entry.js.map} +0 -0
- /package/dist/core/{p-3eb33ef4.entry.js.map → p-0551f0cf.entry.js.map} +0 -0
- /package/dist/core/{p-24f9f6d4.entry.js.map → p-0944d33b.entry.js.map} +0 -0
- /package/dist/core/{p-d3e186a3.entry.js.map → p-0ea28e7a.entry.js.map} +0 -0
- /package/dist/core/{p-b8d3f121.entry.js.map → p-169bcf0f.entry.js.map} +0 -0
- /package/dist/core/{p-47c91e08.entry.js.map → p-1733278a.entry.js.map} +0 -0
- /package/dist/core/{p-4883e147.entry.js.map → p-1ac733c1.entry.js.map} +0 -0
- /package/dist/core/{p-94ce6f29.entry.js.map → p-1d0cff8a.entry.js.map} +0 -0
- /package/dist/core/{p-e2387530.entry.js.map → p-2647931d.entry.js.map} +0 -0
- /package/dist/core/{p-0b14be10.entry.js.map → p-32a3b6c8.entry.js.map} +0 -0
- /package/dist/core/{p-a1369740.entry.js.map → p-354e5dbe.entry.js.map} +0 -0
- /package/dist/core/{p-af21360a.entry.js.map → p-3be4aae0.entry.js.map} +0 -0
- /package/dist/core/{p-781e8391.entry.js.map → p-3d9eca50.entry.js.map} +0 -0
- /package/dist/core/{p-92a858f7.entry.js.map → p-40fc7162.entry.js.map} +0 -0
- /package/dist/core/{p-db5c4969.entry.js.map → p-569a68c0.entry.js.map} +0 -0
- /package/dist/core/{p-a5bb7bb0.entry.js.map → p-59d9ea22.entry.js.map} +0 -0
- /package/dist/core/{p-2b9b9f6e.entry.js.map → p-66595f5f.entry.js.map} +0 -0
- /package/dist/core/{p-6a7a5ed5.entry.js.map → p-6e697a16.entry.js.map} +0 -0
- /package/dist/core/{p-7168b71a.entry.js.map → p-6f8fd43e.entry.js.map} +0 -0
- /package/dist/core/{p-0970c8a1.entry.js.map → p-7f690fa3.entry.js.map} +0 -0
- /package/dist/core/{p-992b6161.entry.js.map → p-96670e29.entry.js.map} +0 -0
- /package/dist/core/{p-8100f45c.entry.js.map → p-9e69f517.entry.js.map} +0 -0
- /package/dist/core/{p-0629691b.entry.js.map → p-9e7a5c72.entry.js.map} +0 -0
- /package/dist/core/{p-cb7793b0.entry.js.map → p-9f8ef2bc.entry.js.map} +0 -0
- /package/dist/core/{p-60ca1000.entry.js.map → p-a4585c7e.entry.js.map} +0 -0
- /package/dist/core/{p-646b886c.entry.js.map → p-a589ead8.entry.js.map} +0 -0
- /package/dist/core/{p-34cc7b3d.entry.js.map → p-a6d3743c.entry.js.map} +0 -0
- /package/dist/core/{p-14b363d0.entry.js.map → p-a8c97918.entry.js.map} +0 -0
- /package/dist/core/{p-a484c41c.entry.js.map → p-a970d653.entry.js.map} +0 -0
- /package/dist/core/{p-6eafa62e.entry.js.map → p-ae7c2c39.entry.js.map} +0 -0
- /package/dist/core/{p-87868dd2.entry.js.map → p-b3ed5423.entry.js.map} +0 -0
- /package/dist/core/{p-eeae7272.entry.js.map → p-be4c0cc8.entry.js.map} +0 -0
- /package/dist/core/{p-6cf5343b.entry.js.map → p-d06c0049.entry.js.map} +0 -0
- /package/dist/core/{p-66c26240.entry.js.map → p-d39239be.entry.js.map} +0 -0
- /package/dist/core/{p-7e850bad.entry.js.map → p-d3ea79e1.entry.js.map} +0 -0
- /package/dist/core/{p-ef996e40.entry.js.map → p-d448bdbd.entry.js.map} +0 -0
- /package/dist/core/{p-2536b95b.entry.js.map → p-d5d36143.entry.js.map} +0 -0
- /package/dist/core/{p-12120521.entry.js.map → p-d91428b4.entry.js.map} +0 -0
- /package/dist/core/{p-34e72f79.entry.js.map → p-e191290c.entry.js.map} +0 -0
- /package/dist/core/{p-e1e04f34.entry.js.map → p-e2421111.entry.js.map} +0 -0
- /package/dist/core/{p-6c5c6aaf.entry.js.map → p-e393e53c.entry.js.map} +0 -0
- /package/dist/core/{p-0cdd4c93.entry.js.map → p-e5b1dd58.entry.js.map} +0 -0
- /package/dist/core/{p-3245554e.entry.js.map → p-fab8da25.entry.js.map} +0 -0
- /package/dist/core/{p-0ecde7a8.entry.js.map → p-fb4219d6.entry.js.map} +0 -0
- /package/dist/core/{p-06e0b5b6.entry.js.map → p-fc0eac8b.entry.js.map} +0 -0
- /package/dist/core/{p-d67a5c90.entry.js.map → p-fdacc7f7.entry.js.map} +0 -0
- /package/dist/core/{p-b7161816.entry.js.map → p-ffeca3c7.entry.js.map} +0 -0
@@ -0,0 +1,373 @@
|
|
1
|
+
import { h, forceUpdate, } from "@stencil/core";
|
2
|
+
import { onComponentRequiredPropUndefined, isSlotUsed, getThemeFromContext, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
|
3
|
+
import { IcThemeForegroundEnum, } from "../../utils/types";
|
4
|
+
/**
|
5
|
+
* @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.
|
6
|
+
* @slot message - Content will be placed in the main body of the horizontal card.
|
7
|
+
* @slot image - Content will be placed to the left of all other content.
|
8
|
+
* @slot icon - Content will be placed to the left of the horizontal card heading.
|
9
|
+
* @slot badge - Badge component overlaying the top right of the horizontal card.
|
10
|
+
*/
|
11
|
+
export class Card {
|
12
|
+
constructor() {
|
13
|
+
this.hostMutationObserver = null;
|
14
|
+
this.hostMutationCallback = (mutationList) => {
|
15
|
+
if (mutationList.some(({ type, addedNodes, removedNodes }) => type === "childList"
|
16
|
+
? checkSlotInChildMutations(addedNodes, removedNodes, "image")
|
17
|
+
: false)) {
|
18
|
+
forceUpdate(this);
|
19
|
+
}
|
20
|
+
};
|
21
|
+
this.parentFocussed = () => {
|
22
|
+
this.isFocussed = true;
|
23
|
+
};
|
24
|
+
this.parentBlurred = () => {
|
25
|
+
this.isFocussed = false;
|
26
|
+
};
|
27
|
+
this.appearance = "default";
|
28
|
+
this.isFocussed = false;
|
29
|
+
this.parentEl = null;
|
30
|
+
this.parentIsAnchorTag = false;
|
31
|
+
this.clickable = false;
|
32
|
+
this.disabled = false;
|
33
|
+
this.heading = undefined;
|
34
|
+
this.href = undefined;
|
35
|
+
this.hreflang = "";
|
36
|
+
this.message = "";
|
37
|
+
this.referrerpolicy = undefined;
|
38
|
+
this.rel = undefined;
|
39
|
+
this.size = "medium";
|
40
|
+
this.target = undefined;
|
41
|
+
}
|
42
|
+
disconnectedCallback() {
|
43
|
+
var _a;
|
44
|
+
if (this.parentIsAnchorTag) {
|
45
|
+
this.parentEl.removeEventListener("focus", this.parentFocussed);
|
46
|
+
this.parentEl.removeEventListener("blur", this.parentBlurred);
|
47
|
+
}
|
48
|
+
(_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
49
|
+
}
|
50
|
+
componentWillLoad() {
|
51
|
+
this.parentEl = this.el.parentElement;
|
52
|
+
if (this.parentEl.tagName === "A") {
|
53
|
+
this.clickable = true;
|
54
|
+
this.parentIsAnchorTag = true;
|
55
|
+
this.parentEl.classList.add("ic-card-wrapper-link");
|
56
|
+
this.parentEl.addEventListener("focus", this.parentFocussed);
|
57
|
+
this.parentEl.addEventListener("blur", this.parentBlurred);
|
58
|
+
}
|
59
|
+
removeDisabledFalse(this.disabled, this.el);
|
60
|
+
}
|
61
|
+
componentDidLoad() {
|
62
|
+
!isSlotUsed(this.el, "heading") &&
|
63
|
+
onComponentRequiredPropUndefined([{ prop: this.heading, propName: "heading" }], "Card");
|
64
|
+
this.updateTheme();
|
65
|
+
this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
|
66
|
+
this.hostMutationObserver.observe(this.el, {
|
67
|
+
childList: true,
|
68
|
+
});
|
69
|
+
}
|
70
|
+
handleHostClick(event) {
|
71
|
+
if (this.disabled) {
|
72
|
+
event.stopImmediatePropagation();
|
73
|
+
}
|
74
|
+
}
|
75
|
+
themeChangeHandler(ev) {
|
76
|
+
const theme = ev.detail;
|
77
|
+
this.updateTheme(theme.mode);
|
78
|
+
}
|
79
|
+
/**
|
80
|
+
* Sets focus on the card.
|
81
|
+
*/
|
82
|
+
async setFocus() {
|
83
|
+
if (this.el.shadowRoot.querySelector("a")) {
|
84
|
+
this.el.shadowRoot.querySelector("a").focus();
|
85
|
+
}
|
86
|
+
else if (this.el.shadowRoot.querySelector("button")) {
|
87
|
+
this.el.shadowRoot.querySelector("button").focus();
|
88
|
+
}
|
89
|
+
}
|
90
|
+
updateTheme(newTheme = null) {
|
91
|
+
const foregroundColor = getThemeFromContext(this.el, newTheme || null);
|
92
|
+
if (foregroundColor !== IcThemeForegroundEnum.Default) {
|
93
|
+
this.appearance = foregroundColor;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
render() {
|
97
|
+
const { clickable, disabled, heading, message, href, hreflang, referrerpolicy, rel, target, parentIsAnchorTag, isFocussed, size, } = this;
|
98
|
+
const Component = parentIsAnchorTag
|
99
|
+
? "div"
|
100
|
+
: clickable
|
101
|
+
? this.href === undefined
|
102
|
+
? "button"
|
103
|
+
: "a"
|
104
|
+
: "div";
|
105
|
+
const attrs = Component == "a" && {
|
106
|
+
href: href,
|
107
|
+
hrefLang: hreflang,
|
108
|
+
referrerPolicy: referrerpolicy,
|
109
|
+
rel: rel,
|
110
|
+
target: target,
|
111
|
+
};
|
112
|
+
return (h(Component, Object.assign({ class: {
|
113
|
+
["card"]: true,
|
114
|
+
["clickable"]: clickable && !disabled,
|
115
|
+
["disabled"]: disabled,
|
116
|
+
["focussed"]: isFocussed,
|
117
|
+
["dark"]: this.appearance === IcThemeForegroundEnum.Dark,
|
118
|
+
[`${size}`]: true,
|
119
|
+
["with-icon"]: isSlotUsed(this.el, "icon"),
|
120
|
+
["with-image"]: isSlotUsed(this.el, "image"),
|
121
|
+
}, tabindex: clickable && !parentIsAnchorTag ? 0 : null, "aria-disabled": disabled ? "true" : null, disabled: disabled ? true : null }, attrs), isSlotUsed(this.el, "image") && (h("div", { class: { ["image"]: true } }, h("slot", { name: "image" }))), h("div", { class: "card-content" }, h("div", { class: "card-header" }, isSlotUsed(this.el, "icon") && (h("div", { class: "icon" }, h("slot", { name: "icon" }))), h("div", { class: "card-title" }, h("slot", { name: "heading" }, h("ic-typography", { variant: "h4" }, h("p", null, heading))))), (message || isSlotUsed(this.el, "message")) && (h("div", { class: {
|
122
|
+
["card-message"]: true,
|
123
|
+
} }, message && (h("ic-typography", { variant: "body" }, message)), isSlotUsed(this.el, "message") && h("slot", { name: "message" })))), isSlotUsed(this.el, "badge") && h("slot", { name: "badge" })));
|
124
|
+
}
|
125
|
+
static get is() { return "ic-card-horizontal"; }
|
126
|
+
static get encapsulation() { return "shadow"; }
|
127
|
+
static get originalStyleUrls() {
|
128
|
+
return {
|
129
|
+
"$": ["ic-card-horizontal.css"]
|
130
|
+
};
|
131
|
+
}
|
132
|
+
static get styleUrls() {
|
133
|
+
return {
|
134
|
+
"$": ["ic-card-horizontal.css"]
|
135
|
+
};
|
136
|
+
}
|
137
|
+
static get properties() {
|
138
|
+
return {
|
139
|
+
"clickable": {
|
140
|
+
"type": "boolean",
|
141
|
+
"mutable": true,
|
142
|
+
"complexType": {
|
143
|
+
"original": "boolean",
|
144
|
+
"resolved": "boolean",
|
145
|
+
"references": {}
|
146
|
+
},
|
147
|
+
"required": false,
|
148
|
+
"optional": true,
|
149
|
+
"docs": {
|
150
|
+
"tags": [],
|
151
|
+
"text": "If `true`, the horizontal card will be a clickable variant, instead of static."
|
152
|
+
},
|
153
|
+
"attribute": "clickable",
|
154
|
+
"reflect": false,
|
155
|
+
"defaultValue": "false"
|
156
|
+
},
|
157
|
+
"disabled": {
|
158
|
+
"type": "boolean",
|
159
|
+
"mutable": false,
|
160
|
+
"complexType": {
|
161
|
+
"original": "boolean",
|
162
|
+
"resolved": "boolean",
|
163
|
+
"references": {}
|
164
|
+
},
|
165
|
+
"required": false,
|
166
|
+
"optional": true,
|
167
|
+
"docs": {
|
168
|
+
"tags": [],
|
169
|
+
"text": "If `true`, the horizontal card will be disabled if it is clickable."
|
170
|
+
},
|
171
|
+
"attribute": "disabled",
|
172
|
+
"reflect": false,
|
173
|
+
"defaultValue": "false"
|
174
|
+
},
|
175
|
+
"heading": {
|
176
|
+
"type": "string",
|
177
|
+
"mutable": false,
|
178
|
+
"complexType": {
|
179
|
+
"original": "string",
|
180
|
+
"resolved": "string",
|
181
|
+
"references": {}
|
182
|
+
},
|
183
|
+
"required": false,
|
184
|
+
"optional": true,
|
185
|
+
"docs": {
|
186
|
+
"tags": [],
|
187
|
+
"text": "The heading for the horizontal card. This is required, unless a slotted heading is used."
|
188
|
+
},
|
189
|
+
"attribute": "heading",
|
190
|
+
"reflect": false
|
191
|
+
},
|
192
|
+
"href": {
|
193
|
+
"type": "string",
|
194
|
+
"mutable": false,
|
195
|
+
"complexType": {
|
196
|
+
"original": "string | undefined",
|
197
|
+
"resolved": "string",
|
198
|
+
"references": {}
|
199
|
+
},
|
200
|
+
"required": false,
|
201
|
+
"optional": true,
|
202
|
+
"docs": {
|
203
|
+
"tags": [],
|
204
|
+
"text": "The URL that the clickable horizontal card link points to. If set, the clickable horizontal card will render as an \"a\" tag, otherwise it will render as a button."
|
205
|
+
},
|
206
|
+
"attribute": "href",
|
207
|
+
"reflect": false
|
208
|
+
},
|
209
|
+
"hreflang": {
|
210
|
+
"type": "string",
|
211
|
+
"mutable": false,
|
212
|
+
"complexType": {
|
213
|
+
"original": "string",
|
214
|
+
"resolved": "string",
|
215
|
+
"references": {}
|
216
|
+
},
|
217
|
+
"required": false,
|
218
|
+
"optional": true,
|
219
|
+
"docs": {
|
220
|
+
"tags": [],
|
221
|
+
"text": "The human language of the linked URL."
|
222
|
+
},
|
223
|
+
"attribute": "hreflang",
|
224
|
+
"reflect": false,
|
225
|
+
"defaultValue": "\"\""
|
226
|
+
},
|
227
|
+
"message": {
|
228
|
+
"type": "string",
|
229
|
+
"mutable": false,
|
230
|
+
"complexType": {
|
231
|
+
"original": "string",
|
232
|
+
"resolved": "string",
|
233
|
+
"references": {}
|
234
|
+
},
|
235
|
+
"required": false,
|
236
|
+
"optional": true,
|
237
|
+
"docs": {
|
238
|
+
"tags": [],
|
239
|
+
"text": "The main body message of the horizontal card."
|
240
|
+
},
|
241
|
+
"attribute": "message",
|
242
|
+
"reflect": false,
|
243
|
+
"defaultValue": "\"\""
|
244
|
+
},
|
245
|
+
"referrerpolicy": {
|
246
|
+
"type": "string",
|
247
|
+
"mutable": false,
|
248
|
+
"complexType": {
|
249
|
+
"original": "ReferrerPolicy",
|
250
|
+
"resolved": "\"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\"",
|
251
|
+
"references": {
|
252
|
+
"ReferrerPolicy": {
|
253
|
+
"location": "global",
|
254
|
+
"id": "global::ReferrerPolicy"
|
255
|
+
}
|
256
|
+
}
|
257
|
+
},
|
258
|
+
"required": false,
|
259
|
+
"optional": true,
|
260
|
+
"docs": {
|
261
|
+
"tags": [],
|
262
|
+
"text": "How much of the referrer to send when following the link."
|
263
|
+
},
|
264
|
+
"attribute": "referrerpolicy",
|
265
|
+
"reflect": false
|
266
|
+
},
|
267
|
+
"rel": {
|
268
|
+
"type": "string",
|
269
|
+
"mutable": false,
|
270
|
+
"complexType": {
|
271
|
+
"original": "string",
|
272
|
+
"resolved": "string",
|
273
|
+
"references": {}
|
274
|
+
},
|
275
|
+
"required": false,
|
276
|
+
"optional": true,
|
277
|
+
"docs": {
|
278
|
+
"tags": [],
|
279
|
+
"text": "The relationship of the linked URL as space-separated link types."
|
280
|
+
},
|
281
|
+
"attribute": "rel",
|
282
|
+
"reflect": false
|
283
|
+
},
|
284
|
+
"size": {
|
285
|
+
"type": "string",
|
286
|
+
"mutable": false,
|
287
|
+
"complexType": {
|
288
|
+
"original": "IcCardSizes",
|
289
|
+
"resolved": "\"extra-large\" | \"large\" | \"medium\" | \"small\"",
|
290
|
+
"references": {
|
291
|
+
"IcCardSizes": {
|
292
|
+
"location": "import",
|
293
|
+
"path": "./ic-card-horizontal.types",
|
294
|
+
"id": "src/components/ic-card-horizontal/ic-card-horizontal.types.ts::IcCardSizes"
|
295
|
+
}
|
296
|
+
}
|
297
|
+
},
|
298
|
+
"required": false,
|
299
|
+
"optional": false,
|
300
|
+
"docs": {
|
301
|
+
"tags": [],
|
302
|
+
"text": "The size of the horizontal card."
|
303
|
+
},
|
304
|
+
"attribute": "size",
|
305
|
+
"reflect": false,
|
306
|
+
"defaultValue": "\"medium\""
|
307
|
+
},
|
308
|
+
"target": {
|
309
|
+
"type": "string",
|
310
|
+
"mutable": false,
|
311
|
+
"complexType": {
|
312
|
+
"original": "string",
|
313
|
+
"resolved": "string",
|
314
|
+
"references": {}
|
315
|
+
},
|
316
|
+
"required": false,
|
317
|
+
"optional": true,
|
318
|
+
"docs": {
|
319
|
+
"tags": [],
|
320
|
+
"text": "The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
|
321
|
+
},
|
322
|
+
"attribute": "target",
|
323
|
+
"reflect": false
|
324
|
+
}
|
325
|
+
};
|
326
|
+
}
|
327
|
+
static get states() {
|
328
|
+
return {
|
329
|
+
"appearance": {},
|
330
|
+
"isFocussed": {},
|
331
|
+
"parentEl": {},
|
332
|
+
"parentIsAnchorTag": {}
|
333
|
+
};
|
334
|
+
}
|
335
|
+
static get methods() {
|
336
|
+
return {
|
337
|
+
"setFocus": {
|
338
|
+
"complexType": {
|
339
|
+
"signature": "() => Promise<void>",
|
340
|
+
"parameters": [],
|
341
|
+
"references": {
|
342
|
+
"Promise": {
|
343
|
+
"location": "global",
|
344
|
+
"id": "global::Promise"
|
345
|
+
}
|
346
|
+
},
|
347
|
+
"return": "Promise<void>"
|
348
|
+
},
|
349
|
+
"docs": {
|
350
|
+
"text": "Sets focus on the card.",
|
351
|
+
"tags": []
|
352
|
+
}
|
353
|
+
}
|
354
|
+
};
|
355
|
+
}
|
356
|
+
static get elementRef() { return "el"; }
|
357
|
+
static get listeners() {
|
358
|
+
return [{
|
359
|
+
"name": "click",
|
360
|
+
"method": "handleHostClick",
|
361
|
+
"target": undefined,
|
362
|
+
"capture": true,
|
363
|
+
"passive": false
|
364
|
+
}, {
|
365
|
+
"name": "themeChange",
|
366
|
+
"method": "themeChangeHandler",
|
367
|
+
"target": "document",
|
368
|
+
"capture": false,
|
369
|
+
"passive": false
|
370
|
+
}];
|
371
|
+
}
|
372
|
+
}
|
373
|
+
//# sourceMappingURL=ic-card-horizontal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ic-card-horizontal.js","sourceRoot":"","sources":["../../../src/components/ic-card-horizontal/ic-card-horizontal.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,CAAC,EACD,MAAM,EACN,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAG3B;;;;;;GAMG;AAMH,MAAM,OAAO,IAAI;;QACP,yBAAoB,GAAqB,IAAI,CAAC;QAuH9C,yBAAoB,GAAG,CAAC,YAA8B,EAAQ,EAAE;YACtE,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,CACvD,IAAI,KAAK,WAAW;gBAClB,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC;gBAC9D,CAAC,CAAC,KAAK,CACV,EACD;gBACA,WAAW,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;0BArIwC,SAAS;0BACpB,KAAK;wBACI,IAAI;iCACN,KAAK;yBAKI,KAAK;wBAKvB,KAAK;;;wBAeN,EAAE;uBAKH,EAAE;;;oBAeD,QAAQ;;;IAOpC,oBAAoB;;QAClB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC/D;QACD,MAAA,IAAI,CAAC,oBAAoB,0CAAE,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,GAAG,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC5D;QACD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB;QACd,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;YAC7B,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAC7C,MAAM,CACP,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACzC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,eAAe,CAAC,KAAY;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,wBAAwB,EAAE,CAAC;SAClC;IACH,CAAC;IAGD,kBAAkB,CAAC,EAAe;QAChC,MAAM,KAAK,GAAY,EAAE,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SAC/C;aAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;SACpD;IACH,CAAC;IAsBO,WAAW,CAAC,WAA8B,IAAI;QACpD,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;QAEvE,IAAI,eAAe,KAAK,qBAAqB,CAAC,OAAO,EAAE;YACrD,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;SACnC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,GAAG,EACH,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,IAAI,GACL,GAAG,IAAI,CAAC;QAET,MAAM,SAAS,GAAG,iBAAiB;YACjC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;oBACvB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,KAAK,GAAG,SAAS,IAAI,GAAG,IAAI;YAChC,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,cAAc;YAC9B,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,OAAO,CACL,EAAC,SAAS,kBACR,KAAK,EAAE;gBACL,CAAC,MAAM,CAAC,EAAE,IAAI;gBACd,CAAC,WAAW,CAAC,EAAE,SAAS,IAAI,CAAC,QAAQ;gBACrC,CAAC,UAAU,CAAC,EAAE,QAAQ;gBACtB,CAAC,UAAU,CAAC,EAAE,UAAU;gBACxB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,KAAK,qBAAqB,CAAC,IAAI;gBACxD,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI;gBACjB,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC;gBAC1C,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;aAC7C,EACD,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,mBACrC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACvC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAC5B,KAAK;YAER,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAC/B,WAAK,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE;gBAC7B,YAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACP;YACD,WAAK,KAAK,EAAC,cAAc;gBACvB,WAAK,KAAK,EAAC,aAAa;oBACrB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAC9B,WAAK,KAAK,EAAC,MAAM;wBACf,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACP;oBACD,WAAK,KAAK,EAAC,YAAY;wBACrB,YAAM,IAAI,EAAC,SAAS;4BAClB,qBAAe,OAAO,EAAC,IAAI;gCACzB,aAAI,OAAO,CAAK,CACF,CACX,CACH,CACF;gBACL,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAC9C,WACE,KAAK,EAAE;wBACL,CAAC,cAAc,CAAC,EAAE,IAAI;qBACvB;oBAEA,OAAO,IAAI,CACV,qBAAe,OAAO,EAAC,MAAM,IAAE,OAAO,CAAiB,CACxD;oBACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,YAAM,IAAI,EAAC,SAAS,GAAQ,CAC3D,CACP,CACG;YACL,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,YAAM,IAAI,EAAC,OAAO,GAAQ,CACjD,CACb,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcCardSizes } from \"./ic-card-horizontal.types\";\n\n/**\n * @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.\n * @slot message - Content will be placed in the main body of the horizontal card.\n * @slot image - Content will be placed to the left of all other content.\n * @slot icon - Content will be placed to the left of the horizontal card heading.\n * @slot badge - Badge component overlaying the top right of the horizontal card.\n */\n@Component({\n tag: \"ic-card-horizontal\",\n styleUrl: \"ic-card-horizontal.css\",\n shadow: true,\n})\nexport class Card {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardHorizontalElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the horizontal card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the horizontal card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The heading for the horizontal card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable horizontal card link points to. If set, the clickable horizontal card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the horizontal card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The size of the horizontal card.\n */\n @Prop() size: IcCardSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n } else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"image\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n render() {\n const {\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n parentIsAnchorTag,\n isFocussed,\n size,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"focussed\"]: isFocussed,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [`${size}`]: true,\n [\"with-icon\"]: isSlotUsed(this.el, \"icon\"),\n [\"with-image\"]: isSlotUsed(this.el, \"image\"),\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image\") && (\n <div class={{ [\"image\"]: true }}>\n <slot name=\"image\"></slot>\n </div>\n )}\n <div class=\"card-content\">\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n </div>\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div\n class={{\n [\"card-message\"]: true,\n }}\n >\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n </div>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n );\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ic-card-horizontal.types.js","sourceRoot":"","sources":["../../../src/components/ic-card-horizontal/ic-card-horizontal.types.ts"],"names":[],"mappings":"","sourcesContent":["export type IcCardSizes = \"small\" | \"medium\" | \"large\" | \"extra-large\";\n"]}
|
@@ -0,0 +1,130 @@
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
2
|
+
import { Card } from "../../ic-card-horizontal";
|
3
|
+
import { IcTypography as Typography } from "@ukic/web-components/dist/components/ic-typography";
|
4
|
+
describe("ic-card-horizontal", () => {
|
5
|
+
it("should render", async () => {
|
6
|
+
const page = await newSpecPage({
|
7
|
+
components: [Card],
|
8
|
+
html: `<ic-card-horizontal heading="Card" message="This is a static card"></ic-card-horizontal>`,
|
9
|
+
});
|
10
|
+
expect(page.root).toMatchSnapshot();
|
11
|
+
});
|
12
|
+
it("should render small", async () => {
|
13
|
+
const page = await newSpecPage({
|
14
|
+
components: [Card],
|
15
|
+
html: `<ic-card-horizontal heading="Card" message="This is a static card" size="small"></ic-card-horizontal>`,
|
16
|
+
});
|
17
|
+
expect(page.root).toMatchSnapshot();
|
18
|
+
});
|
19
|
+
it("should render large", async () => {
|
20
|
+
const page = await newSpecPage({
|
21
|
+
components: [Card],
|
22
|
+
html: `<ic-card-horizontal heading="Card" message="This is a static card" size="large"></ic-card-horizontal>`,
|
23
|
+
});
|
24
|
+
expect(page.root).toMatchSnapshot();
|
25
|
+
});
|
26
|
+
it("should render extra large", async () => {
|
27
|
+
const page = await newSpecPage({
|
28
|
+
components: [Card],
|
29
|
+
html: `<ic-card-horizontal heading="Card" message="This is a static card" size="extra large"></ic-card-horizontal>`,
|
30
|
+
});
|
31
|
+
expect(page.root).toMatchSnapshot();
|
32
|
+
});
|
33
|
+
it("should render as a button", async () => {
|
34
|
+
const page = await newSpecPage({
|
35
|
+
components: [Card],
|
36
|
+
html: `<ic-card-horizontal heading="Card" message="This is a clickable card rendered as a button" clickable=true></ic-card-horizontal>`,
|
37
|
+
});
|
38
|
+
expect(page.root).toMatchSnapshot();
|
39
|
+
});
|
40
|
+
it("should render as a link", async () => {
|
41
|
+
const page = await newSpecPage({
|
42
|
+
components: [Card],
|
43
|
+
html: `<ic-card-horizontal heading="Card" message="This is a clickable card rendered as a button" clickable=true href="/"></ic-card-horizontal>`,
|
44
|
+
});
|
45
|
+
expect(page.root).toMatchSnapshot();
|
46
|
+
});
|
47
|
+
it("should render with a link parent", async () => {
|
48
|
+
const page = await newSpecPage({
|
49
|
+
components: [Card],
|
50
|
+
html: `<a href="/"><ic-card-horizontal heading="Card" message="This is a clickable card" clickable=true></ic-card-horizontal></a>`,
|
51
|
+
});
|
52
|
+
expect(page.root).toMatchSnapshot();
|
53
|
+
});
|
54
|
+
it("should apply 'focussed' style when parent is focussed", async () => {
|
55
|
+
const page = await newSpecPage({
|
56
|
+
components: [Card],
|
57
|
+
html: `<a href="/"><ic-card-horizontal id="test-id" heading="Card" message="This is a clickable card" clickable=true></ic-card-horizontal></a>`,
|
58
|
+
});
|
59
|
+
expect(page.root).not.toBeNull;
|
60
|
+
const element = await document.getElementById("test-id");
|
61
|
+
await expect(element.classList.contains("focussed")).toBeFalsy;
|
62
|
+
await element.focus();
|
63
|
+
await expect(element.classList.contains("focussed")).toBeTruthy;
|
64
|
+
});
|
65
|
+
it("should lose 'focussed' style when parent loses focus", async () => {
|
66
|
+
const page = await newSpecPage({
|
67
|
+
components: [Card],
|
68
|
+
html: `<a href="/"><ic-card-horizontal id="test-card" heading="Card" message="This is a clickable card" clickable=true></ic-card-horizontal></a>`,
|
69
|
+
});
|
70
|
+
expect(page.root).not.toBeNull;
|
71
|
+
const element = await document.getElementById("test-card");
|
72
|
+
await element.focus();
|
73
|
+
await expect(element.classList.contains("focussed")).toBeTruthy;
|
74
|
+
await element.blur();
|
75
|
+
await expect(element.classList.contains("focussed")).toBeFalsy;
|
76
|
+
await page.rootInstance.disconnectedCallback();
|
77
|
+
});
|
78
|
+
it("should stop immediate propagation of a click event when disabled", async () => {
|
79
|
+
const page = await newSpecPage({
|
80
|
+
components: [Card],
|
81
|
+
html: `<ic-card-horizontal id="test-card" heading="Card" message="This is a clickable card" clickable=true disabled=true onclick="alert('test')"></ic-card-horizontal>`,
|
82
|
+
});
|
83
|
+
jest.spyOn(window, "alert").mockImplementation();
|
84
|
+
const element = await document.getElementById("test-card");
|
85
|
+
element.click();
|
86
|
+
await page.waitForChanges();
|
87
|
+
await expect(window.alert).not.toHaveBeenCalled;
|
88
|
+
});
|
89
|
+
it("should render with an image", async () => {
|
90
|
+
const page = await newSpecPage({
|
91
|
+
components: [Card],
|
92
|
+
html: `<ic-card-horizontal id="test-card" heading="Card" message="This is a card"><div slot="image">Image placeholder</div></ic-card-horizontal>`,
|
93
|
+
});
|
94
|
+
expect(page.root).toMatchSnapshot();
|
95
|
+
});
|
96
|
+
it("should render with an icon", async () => {
|
97
|
+
const page = await newSpecPage({
|
98
|
+
components: [Card],
|
99
|
+
html: `<ic-card-horizontal id="test-card" heading="Card" message="This is a card"><div slot="icon">Image placeholder</div></ic-card-horizontal>`,
|
100
|
+
});
|
101
|
+
expect(page.root).toMatchSnapshot();
|
102
|
+
});
|
103
|
+
it("should render with a slotted heading and message", async () => {
|
104
|
+
const page = await newSpecPage({
|
105
|
+
components: [Card, Typography],
|
106
|
+
html: `<ic-card-horizontal id="test-card">
|
107
|
+
<ic-typography slot="heading">Heading</ic-typography>
|
108
|
+
<ic-typography slot="message">Message</ic-typography>
|
109
|
+
</ic-card-horizontal>`,
|
110
|
+
});
|
111
|
+
expect(page.root).toMatchSnapshot();
|
112
|
+
});
|
113
|
+
it("should call 'setFocus' when card as a button is focused", async () => {
|
114
|
+
const page = await newSpecPage({
|
115
|
+
components: [Card],
|
116
|
+
html: `<ic-card-horizontal heading="Card" message="This is a clickable card rendered as a button" clickable=true></ic-card-horizontal>`,
|
117
|
+
});
|
118
|
+
//Can't expect anything in this test - this is to increase code coverage only
|
119
|
+
await page.rootInstance.setFocus().toHaveBeenCalled;
|
120
|
+
});
|
121
|
+
it("should call 'setFocus' when card as a link is focused", async () => {
|
122
|
+
const page = await newSpecPage({
|
123
|
+
components: [Card],
|
124
|
+
html: `<ic-card-horizontal heading="Card" message="This is a clickable card rendered as a button" clickable=true href="/"></ic-card-horizontal>`,
|
125
|
+
});
|
126
|
+
//Can't expect anything in this test - this is to increase code coverage only
|
127
|
+
await page.rootInstance.setFocus().toHaveBeenCalled;
|
128
|
+
});
|
129
|
+
});
|
130
|
+
//# sourceMappingURL=ic-card-horizontal.spec.js.map
|
package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ic-card-horizontal.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Card } from \"../../ic-card-horizontal\";\nimport { IcTypography as Typography } from \"@ukic/web-components/dist/components/ic-typography\";\n\ndescribe(\"ic-card-horizontal\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render small\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"small\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render large\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"large\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render extra large\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"extra large\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as a button\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as a link\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true href=\"/\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a link parent\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply 'focussed' style when parent is focussed\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal id=\"test-id\" heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).not.toBeNull;\n\n const element = await document.getElementById(\"test-id\");\n\n await expect(element.classList.contains(\"focussed\")).toBeFalsy;\n\n await element.focus();\n\n await expect(element.classList.contains(\"focussed\")).toBeTruthy;\n });\n\n it(\"should lose 'focussed' style when parent loses focus\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).not.toBeNull;\n\n const element = await document.getElementById(\"test-card\");\n\n await element.focus();\n\n await expect(element.classList.contains(\"focussed\")).toBeTruthy;\n\n await element.blur();\n\n await expect(element.classList.contains(\"focussed\")).toBeFalsy;\n\n await page.rootInstance.disconnectedCallback();\n });\n\n it(\"should stop immediate propagation of a click event when disabled\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a clickable card\" clickable=true disabled=true onclick=\"alert('test')\"></ic-card-horizontal>`,\n });\n\n jest.spyOn(window, \"alert\").mockImplementation();\n\n const element = await document.getElementById(\"test-card\");\n\n element.click();\n\n await page.waitForChanges();\n\n await expect(window.alert).not.toHaveBeenCalled;\n });\n\n it(\"should render with an image\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a card\"><div slot=\"image\">Image placeholder</div></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with an icon\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a card\"><div slot=\"icon\">Image placeholder</div></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a slotted heading and message\", async () => {\n const page = await newSpecPage({\n components: [Card, Typography],\n html: `<ic-card-horizontal id=\"test-card\">\n <ic-typography slot=\"heading\">Heading</ic-typography>\n <ic-typography slot=\"message\">Message</ic-typography>\n </ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should call 'setFocus' when card as a button is focused\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true></ic-card-horizontal>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n\n it(\"should call 'setFocus' when card as a link is focused\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true href=\"/\"></ic-card-horizontal>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n});\n"]}
|
@@ -765,6 +765,14 @@ export class DatePicker {
|
|
765
765
|
this.minDate = createDate(this.min, this.dateFormat);
|
766
766
|
}
|
767
767
|
}
|
768
|
+
watchStartOfWeekHandler() {
|
769
|
+
this.orderedDaysOfWeek = this.daysOfWeek
|
770
|
+
.slice(this.startOfWeek)
|
771
|
+
.concat(this.daysOfWeek.slice(0, this.startOfWeek));
|
772
|
+
if (this.calendarOpen) {
|
773
|
+
this.updateMonthInView();
|
774
|
+
}
|
775
|
+
}
|
768
776
|
watchOpenHandler() {
|
769
777
|
if (this.calendarOpen) {
|
770
778
|
if (this.inputEl) {
|
@@ -844,9 +852,7 @@ export class DatePicker {
|
|
844
852
|
onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Date Picker");
|
845
853
|
this.monthNames = stringEnumToArray(IcDateInputMonths);
|
846
854
|
this.daysOfWeek = stringEnumToArray(IcShortDayNames);
|
847
|
-
this.
|
848
|
-
.splice(this.startOfWeek, this.daysOfWeek.length)
|
849
|
-
.concat(this.daysOfWeek.splice(0, this.startOfWeek));
|
855
|
+
this.watchStartOfWeekHandler();
|
850
856
|
this.watchMaxHandler();
|
851
857
|
this.watchMinHandler();
|
852
858
|
}
|
@@ -1473,6 +1479,9 @@ export class DatePicker {
|
|
1473
1479
|
}, {
|
1474
1480
|
"propName": "min",
|
1475
1481
|
"methodName": "watchMinHandler"
|
1482
|
+
}, {
|
1483
|
+
"propName": "startOfWeek",
|
1484
|
+
"methodName": "watchStartOfWeekHandler"
|
1476
1485
|
}, {
|
1477
1486
|
"propName": "calendarOpen",
|
1478
1487
|
"methodName": "watchOpenHandler"
|