@ukic/web-components 2.18.0 → 2.18.1
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-d52cddc1.js → helpers-3e526fb8.js} +15 -3
- package/dist/cjs/helpers-3e526fb8.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +11 -2
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +16 -8
- package/dist/cjs/ic-badge.cjs.entry.js.map +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 +8 -2
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +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-dialog.cjs.entry.js +14 -4
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +4 -4
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +16 -13
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +29 -33
- 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-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
- package/dist/cjs/ic-pagination.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.cjs.entry.js +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +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-context.cjs.entry.js +18 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +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-text-field.cjs.entry.js +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js.map +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 +46 -60
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +11 -35
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/types-dc22e301.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +32 -2
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
- package/dist/collection/components/ic-badge/ic-badge.js +15 -7
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +2 -2
- package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +2 -1
- package/dist/collection/components/ic-button/ic-button.js +9 -0
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.js +13 -3
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +50 -0
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +16 -3
- package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.js +2 -2
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -0
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +14 -11
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +1 -0
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +28 -32
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +26 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +2 -2
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.types.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +18 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +2 -0
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +21 -24
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +68 -59
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +1 -4
- package/dist/collection/components/ic-typography/ic-typography.js +10 -113
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -25
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
- package/dist/collection/utils/helpers.js +44 -2
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +15 -3
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion-group.js +14 -4
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-badge.js +16 -8
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-button2.js +11 -3
- 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-dialog.js +13 -3
- package/dist/components/ic-dialog.js.map +1 -1
- 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-link2.js.map +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-navigation-button.js +1 -1
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +15 -12
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +29 -33
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination.js +5 -5
- package/dist/components/ic-pagination.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.js +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-tab-context.js +18 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab.js +1 -1
- package/dist/components/ic-text-field2.js +1 -1
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-toggle-button.js +1 -1
- package/dist/components/ic-top-navigation.js +47 -61
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +12 -38
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/components/types.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-fbcb77a3.entry.js → p-06dcdfff.entry.js} +2 -2
- package/dist/core/{p-b98ce745.entry.js → p-06df74da.entry.js} +2 -2
- package/dist/core/p-1e2a0991.entry.js +2 -0
- package/dist/core/p-1e2a0991.entry.js.map +1 -0
- package/dist/core/p-217cbca5.entry.js +2 -0
- package/dist/core/p-217cbca5.entry.js.map +1 -0
- package/dist/core/p-26b7b18f.js.map +1 -1
- package/dist/core/{p-d319ddce.entry.js → p-280077b1.entry.js} +2 -2
- package/dist/core/{p-5e729e99.entry.js → p-28dfe4a3.entry.js} +2 -2
- package/dist/core/{p-123b9306.entry.js → p-2b58ca8d.entry.js} +2 -2
- package/dist/core/{p-a9e1966f.entry.js → p-2bf36b00.entry.js} +2 -2
- package/dist/core/{p-4ce5abd7.entry.js → p-2c1d7440.entry.js} +2 -2
- package/dist/core/p-2c1d7440.entry.js.map +1 -0
- package/dist/core/{p-2680b736.entry.js → p-2d753f6e.entry.js} +2 -2
- package/dist/core/p-2ff18bd8.entry.js +2 -0
- package/dist/core/p-2ff18bd8.entry.js.map +1 -0
- package/dist/core/{p-210412e4.entry.js → p-4851e1a7.entry.js} +2 -2
- package/dist/core/{p-b781b691.entry.js → p-4de169ff.entry.js} +2 -2
- package/dist/core/{p-aa878a3c.entry.js → p-4ebf2e93.entry.js} +2 -2
- package/dist/core/{p-aa878a3c.entry.js.map → p-4ebf2e93.entry.js.map} +1 -1
- package/dist/core/{p-bc7f99b8.entry.js → p-56352316.entry.js} +2 -2
- package/dist/core/{p-22a682e8.entry.js → p-5e5a29a4.entry.js} +2 -2
- package/dist/core/p-5eb3d65a.entry.js +2 -0
- package/dist/core/p-5eb3d65a.entry.js.map +1 -0
- package/dist/core/p-6088297e.js +2 -0
- package/dist/core/p-6088297e.js.map +1 -0
- package/dist/core/{p-fea1d095.entry.js → p-653f38a3.entry.js} +2 -2
- package/dist/core/p-653f38a3.entry.js.map +1 -0
- package/dist/core/{p-c053230d.entry.js → p-6b88deb8.entry.js} +2 -2
- package/dist/core/{p-5603eec3.entry.js → p-6e3aa59a.entry.js} +2 -2
- package/dist/core/{p-1ce0d16e.entry.js → p-71756d3b.entry.js} +2 -2
- package/dist/core/{p-9c18f048.entry.js → p-739c0dc6.entry.js} +2 -2
- package/dist/core/{p-fce3e1aa.entry.js → p-7559d77c.entry.js} +2 -2
- package/dist/core/p-7599e6a9.entry.js +2 -0
- package/dist/core/p-7599e6a9.entry.js.map +1 -0
- package/dist/core/{p-a98f57cf.entry.js → p-8053ad3f.entry.js} +2 -2
- package/dist/core/{p-2f462ec5.entry.js → p-84355a36.entry.js} +2 -2
- package/dist/core/p-855ee8f9.entry.js +2 -0
- package/dist/core/{p-6a9ddb8a.entry.js.map → p-855ee8f9.entry.js.map} +1 -1
- package/dist/core/{p-916f4265.entry.js → p-8560228f.entry.js} +2 -2
- package/dist/core/{p-4641518f.entry.js → p-8846ae12.entry.js} +2 -2
- package/dist/core/{p-166861e8.entry.js → p-8bc2a670.entry.js} +2 -2
- package/dist/core/p-8bc2a670.entry.js.map +1 -0
- package/dist/core/{p-dbbea7fa.entry.js → p-8e0be26c.entry.js} +2 -2
- package/dist/core/{p-1d352487.entry.js → p-8f3f9566.entry.js} +2 -2
- package/dist/core/{p-a4e7d123.entry.js → p-924495ee.entry.js} +2 -2
- package/dist/core/{p-95d6f3ed.entry.js → p-9637066f.entry.js} +2 -2
- package/dist/core/p-97b805cb.entry.js +2 -0
- package/dist/core/p-97b805cb.entry.js.map +1 -0
- package/dist/core/{p-8aa9aa25.entry.js → p-9939eaf8.entry.js} +2 -2
- package/dist/core/{p-80c3424f.entry.js → p-9aa9af2c.entry.js} +2 -2
- package/dist/core/p-aa1d2c11.entry.js +2 -0
- package/dist/core/p-aa1d2c11.entry.js.map +1 -0
- package/dist/core/{p-35b8923f.entry.js → p-b12d380e.entry.js} +2 -2
- package/dist/core/{p-1183031f.entry.js → p-b602729a.entry.js} +2 -2
- package/dist/core/{p-296b7d74.entry.js → p-b6a6c89f.entry.js} +2 -2
- package/dist/core/p-b9c53ac1.entry.js +2 -0
- package/dist/core/p-b9c53ac1.entry.js.map +1 -0
- package/dist/core/{p-47a9dca9.entry.js → p-bb9d3d13.entry.js} +2 -2
- package/dist/core/p-bb9d3d13.entry.js.map +1 -0
- package/dist/core/p-c6ac1a01.entry.js +2 -0
- package/dist/core/p-c6ac1a01.entry.js.map +1 -0
- package/dist/core/p-ca7ca3b8.entry.js +2 -0
- package/dist/core/p-ca7ca3b8.entry.js.map +1 -0
- package/dist/core/{p-d5f721ca.entry.js → p-d34959e1.entry.js} +2 -2
- package/dist/core/{p-e4863c93.entry.js → p-d932577f.entry.js} +2 -2
- package/dist/core/{p-d9329191.entry.js → p-db78e715.entry.js} +2 -2
- package/dist/core/{p-c7c2aa3c.entry.js → p-e1239a95.entry.js} +2 -2
- package/dist/core/{p-04506779.entry.js → p-e16edd06.entry.js} +2 -2
- package/dist/core/p-e3a47979.entry.js +2 -0
- package/dist/core/{p-e68e31ec.entry.js.map → p-e3a47979.entry.js.map} +1 -1
- package/dist/core/{p-46ecc4c5.entry.js → p-e7c303c1.entry.js} +2 -2
- package/dist/core/{p-0038a8fd.entry.js → p-ec7bf9d3.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-f1ca9908.js → helpers-b6bbde90.js} +16 -4
- package/dist/esm/helpers-b6bbde90.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +11 -2
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +16 -8
- package/dist/esm/ic-badge.entry.js.map +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 +8 -2
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +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-dialog.entry.js +14 -4
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +4 -4
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +16 -13
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +29 -33
- 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-item.entry.js +1 -1
- package/dist/esm/ic-pagination.entry.js +5 -5
- package/dist/esm/ic-pagination.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.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js.map +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-context.entry.js +18 -2
- package/dist/esm/ic-tab-context.entry.js.map +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-text-field.entry.js +1 -1
- package/dist/esm/ic-text-field.entry.js.map +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 +46 -60
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +12 -36
- package/dist/esm/ic-typography.entry.js.map +1 -1
- 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/esm/types-6f6b41a5.js.map +1 -1
- package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +6 -0
- package/dist/types/components/ic-badge/ic-badge.d.ts +1 -0
- package/dist/types/components/ic-button/ic-button.d.ts +1 -0
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -0
- package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +2 -2
- package/dist/types/components/ic-tab/ic-tab.types.d.ts +1 -0
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -1
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +10 -5
- package/dist/types/components/ic-typography/ic-typography.d.ts +1 -18
- package/dist/types/components.d.ts +14 -29
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/helpers.d.ts +17 -7
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +189 -168
- package/package.json +3 -2
- package/vscode-data.json +4 -0
- package/dist/cjs/helpers-d52cddc1.js.map +0 -1
- package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js +0 -13
- package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js +0 -177
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +0 -1
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +0 -18
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js +0 -128
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +0 -1
- package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js +0 -13
- package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +0 -33
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +0 -1
- package/dist/collection/components/ic-typography/ic-typography.types.js +0 -2
- package/dist/collection/components/ic-typography/ic-typography.types.js.map +0 -1
- package/dist/core/p-0e2628eb.entry.js +0 -2
- package/dist/core/p-0e2628eb.entry.js.map +0 -1
- package/dist/core/p-166861e8.entry.js.map +0 -1
- package/dist/core/p-477cf469.entry.js +0 -2
- package/dist/core/p-477cf469.entry.js.map +0 -1
- package/dist/core/p-47a9dca9.entry.js.map +0 -1
- package/dist/core/p-47d39ce7.entry.js +0 -2
- package/dist/core/p-47d39ce7.entry.js.map +0 -1
- package/dist/core/p-4ce5abd7.entry.js.map +0 -1
- package/dist/core/p-53f2fc84.js +0 -2
- package/dist/core/p-53f2fc84.js.map +0 -1
- package/dist/core/p-64705a03.entry.js +0 -2
- package/dist/core/p-64705a03.entry.js.map +0 -1
- package/dist/core/p-6a9ddb8a.entry.js +0 -2
- package/dist/core/p-76ee6107.entry.js +0 -2
- package/dist/core/p-76ee6107.entry.js.map +0 -1
- package/dist/core/p-7b0397ea.entry.js +0 -2
- package/dist/core/p-7b0397ea.entry.js.map +0 -1
- package/dist/core/p-91768ddf.entry.js +0 -2
- package/dist/core/p-91768ddf.entry.js.map +0 -1
- package/dist/core/p-aa777792.entry.js +0 -2
- package/dist/core/p-aa777792.entry.js.map +0 -1
- package/dist/core/p-cf798ea7.entry.js +0 -2
- package/dist/core/p-cf798ea7.entry.js.map +0 -1
- package/dist/core/p-df090fc1.entry.js +0 -2
- package/dist/core/p-df090fc1.entry.js.map +0 -1
- package/dist/core/p-e68e31ec.entry.js +0 -2
- package/dist/core/p-fea1d095.entry.js.map +0 -1
- package/dist/esm/helpers-f1ca9908.js.map +0 -1
- package/dist/types/components/ic-page-header/test/a11y/ic-page-header.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-pagination/test/a11y/ic-pagination.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.d.ts +0 -1
- package/dist/types/components/ic-typography/ic-typography.types.d.ts +0 -4
- /package/dist/core/{p-fbcb77a3.entry.js.map → p-06dcdfff.entry.js.map} +0 -0
- /package/dist/core/{p-b98ce745.entry.js.map → p-06df74da.entry.js.map} +0 -0
- /package/dist/core/{p-d319ddce.entry.js.map → p-280077b1.entry.js.map} +0 -0
- /package/dist/core/{p-5e729e99.entry.js.map → p-28dfe4a3.entry.js.map} +0 -0
- /package/dist/core/{p-123b9306.entry.js.map → p-2b58ca8d.entry.js.map} +0 -0
- /package/dist/core/{p-a9e1966f.entry.js.map → p-2bf36b00.entry.js.map} +0 -0
- /package/dist/core/{p-2680b736.entry.js.map → p-2d753f6e.entry.js.map} +0 -0
- /package/dist/core/{p-210412e4.entry.js.map → p-4851e1a7.entry.js.map} +0 -0
- /package/dist/core/{p-b781b691.entry.js.map → p-4de169ff.entry.js.map} +0 -0
- /package/dist/core/{p-bc7f99b8.entry.js.map → p-56352316.entry.js.map} +0 -0
- /package/dist/core/{p-22a682e8.entry.js.map → p-5e5a29a4.entry.js.map} +0 -0
- /package/dist/core/{p-c053230d.entry.js.map → p-6b88deb8.entry.js.map} +0 -0
- /package/dist/core/{p-5603eec3.entry.js.map → p-6e3aa59a.entry.js.map} +0 -0
- /package/dist/core/{p-1ce0d16e.entry.js.map → p-71756d3b.entry.js.map} +0 -0
- /package/dist/core/{p-9c18f048.entry.js.map → p-739c0dc6.entry.js.map} +0 -0
- /package/dist/core/{p-fce3e1aa.entry.js.map → p-7559d77c.entry.js.map} +0 -0
- /package/dist/core/{p-a98f57cf.entry.js.map → p-8053ad3f.entry.js.map} +0 -0
- /package/dist/core/{p-2f462ec5.entry.js.map → p-84355a36.entry.js.map} +0 -0
- /package/dist/core/{p-916f4265.entry.js.map → p-8560228f.entry.js.map} +0 -0
- /package/dist/core/{p-4641518f.entry.js.map → p-8846ae12.entry.js.map} +0 -0
- /package/dist/core/{p-dbbea7fa.entry.js.map → p-8e0be26c.entry.js.map} +0 -0
- /package/dist/core/{p-1d352487.entry.js.map → p-8f3f9566.entry.js.map} +0 -0
- /package/dist/core/{p-a4e7d123.entry.js.map → p-924495ee.entry.js.map} +0 -0
- /package/dist/core/{p-95d6f3ed.entry.js.map → p-9637066f.entry.js.map} +0 -0
- /package/dist/core/{p-8aa9aa25.entry.js.map → p-9939eaf8.entry.js.map} +0 -0
- /package/dist/core/{p-80c3424f.entry.js.map → p-9aa9af2c.entry.js.map} +0 -0
- /package/dist/core/{p-35b8923f.entry.js.map → p-b12d380e.entry.js.map} +0 -0
- /package/dist/core/{p-1183031f.entry.js.map → p-b602729a.entry.js.map} +0 -0
- /package/dist/core/{p-296b7d74.entry.js.map → p-b6a6c89f.entry.js.map} +0 -0
- /package/dist/core/{p-d5f721ca.entry.js.map → p-d34959e1.entry.js.map} +0 -0
- /package/dist/core/{p-e4863c93.entry.js.map → p-d932577f.entry.js.map} +0 -0
- /package/dist/core/{p-d9329191.entry.js.map → p-db78e715.entry.js.map} +0 -0
- /package/dist/core/{p-c7c2aa3c.entry.js.map → p-e1239a95.entry.js.map} +0 -0
- /package/dist/core/{p-04506779.entry.js.map → p-e16edd06.entry.js.map} +0 -0
- /package/dist/core/{p-46ecc4c5.entry.js.map → p-e7c303c1.entry.js.map} +0 -0
- /package/dist/core/{p-0038a8fd.entry.js.map → p-ec7bf9d3.entry.js.map} +0 -0
@@ -583,9 +583,7 @@ video {
|
|
583
583
|
-webkit-box-orient: vertical;
|
584
584
|
line-clamp: var(--truncation-max-lines, initial);
|
585
585
|
-webkit-line-clamp: var(--truncation-max-lines, initial);
|
586
|
-
|
587
|
-
-webkit-clip-path: border-box;
|
588
|
-
clip-path: border-box;
|
586
|
+
overflow: hidden;
|
589
587
|
}
|
590
588
|
|
591
589
|
.trunc-btn {
|
@@ -596,7 +594,6 @@ video {
|
|
596
594
|
text-decoration: underline;
|
597
595
|
font-weight: var(--ic-font-weight-bold);
|
598
596
|
transition: var(--ic-easing-transition-fast);
|
599
|
-
text-align: start;
|
600
597
|
}
|
601
598
|
|
602
599
|
.trunc-btn:hover,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { h, Host
|
1
|
+
import { h, Host } from "@stencil/core";
|
2
2
|
import { checkResizeObserver } from "../../utils/helpers";
|
3
3
|
export class Typography {
|
4
4
|
constructor() {
|
@@ -9,7 +9,15 @@ export class Typography {
|
|
9
9
|
this.truncatedHeight = 0;
|
10
10
|
this.toggleExpanded = () => {
|
11
11
|
this.expanded = !this.expanded;
|
12
|
-
|
12
|
+
};
|
13
|
+
this.checkMaxLines = (height) => {
|
14
|
+
//24 is the height of a single line
|
15
|
+
const numLines = Math.floor(height / 24);
|
16
|
+
if (numLines > this.maxLines) {
|
17
|
+
this.el.setAttribute("style", `--truncation-max-lines: ${this.maxLines}`);
|
18
|
+
this.truncatedHeight = this.el.clientHeight;
|
19
|
+
this.truncated = true;
|
20
|
+
}
|
13
21
|
};
|
14
22
|
this.checkMarkerPosition = (elTop, markerTop) => {
|
15
23
|
if (markerTop - elTop < this.truncatedHeight) {
|
@@ -92,37 +100,6 @@ export class Typography {
|
|
92
100
|
checkResizeObserver(this.runResizeObserver);
|
93
101
|
}
|
94
102
|
}
|
95
|
-
/**
|
96
|
-
* Truncate the text in ic-typography by adding a line-clamp css property.
|
97
|
-
* @param height Used to calculate whether the element has exceeded the maximum number of lines.
|
98
|
-
*
|
99
|
-
*/
|
100
|
-
async checkMaxLines(height) {
|
101
|
-
// 24 is the height of a single line
|
102
|
-
const numLines = Math.floor(height / 24);
|
103
|
-
if (numLines > this.maxLines) {
|
104
|
-
this.el.setAttribute("style", `--truncation-max-lines: ${this.maxLines}`);
|
105
|
-
this.truncatedHeight = this.el.clientHeight;
|
106
|
-
this.truncated = true;
|
107
|
-
}
|
108
|
-
}
|
109
|
-
/**
|
110
|
-
* @internal Truncate the text in ic-typography by adding a line-clamp css property. This method is specific to ic-data-table.
|
111
|
-
* height - used to calculate whether the element has exceeded the maximum number of lines.
|
112
|
-
* typographyHeight - the scroll height of the typography element. Used as another way to calculate whether the element has exceeded the maximum number of lines.
|
113
|
-
*/
|
114
|
-
async checkCellTextMaxLines(height, typographyHeight) {
|
115
|
-
// 24 is the height of a single line
|
116
|
-
const typographyNumLines = Math.floor(typographyHeight / 24);
|
117
|
-
const numLines = Math.floor(height / 24);
|
118
|
-
if ((!!typographyHeight && typographyNumLines > numLines) ||
|
119
|
-
numLines > this.maxLines) {
|
120
|
-
this.el.setAttribute("style", `--truncation-max-lines: ${this.maxLines}`);
|
121
|
-
this.truncatedHeight = this.el.clientHeight;
|
122
|
-
this.truncated = true;
|
123
|
-
this.expanded = false;
|
124
|
-
}
|
125
|
-
}
|
126
103
|
render() {
|
127
104
|
var _a, _b;
|
128
105
|
const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, } = this;
|
@@ -292,86 +269,6 @@ export class Typography {
|
|
292
269
|
"expanded": {}
|
293
270
|
};
|
294
271
|
}
|
295
|
-
static get events() {
|
296
|
-
return [{
|
297
|
-
"method": "icExpand",
|
298
|
-
"name": "icExpand",
|
299
|
-
"bubbles": true,
|
300
|
-
"cancelable": true,
|
301
|
-
"composed": true,
|
302
|
-
"docs": {
|
303
|
-
"tags": [],
|
304
|
-
"text": "Emitted when the See More/See Less button is clicked."
|
305
|
-
},
|
306
|
-
"complexType": {
|
307
|
-
"original": "IcExpandEventDetail",
|
308
|
-
"resolved": "{ el: HTMLIcTypographyElement; expanded: boolean; }",
|
309
|
-
"references": {
|
310
|
-
"IcExpandEventDetail": {
|
311
|
-
"location": "import",
|
312
|
-
"path": "./ic-typography.types",
|
313
|
-
"id": "src/components/ic-typography/ic-typography.types.tsx::IcExpandEventDetail"
|
314
|
-
}
|
315
|
-
}
|
316
|
-
}
|
317
|
-
}];
|
318
|
-
}
|
319
|
-
static get methods() {
|
320
|
-
return {
|
321
|
-
"checkMaxLines": {
|
322
|
-
"complexType": {
|
323
|
-
"signature": "(height: number) => Promise<void>",
|
324
|
-
"parameters": [{
|
325
|
-
"name": "height",
|
326
|
-
"type": "number",
|
327
|
-
"docs": "Used to calculate whether the element has exceeded the maximum number of lines."
|
328
|
-
}],
|
329
|
-
"references": {
|
330
|
-
"Promise": {
|
331
|
-
"location": "global",
|
332
|
-
"id": "global::Promise"
|
333
|
-
}
|
334
|
-
},
|
335
|
-
"return": "Promise<void>"
|
336
|
-
},
|
337
|
-
"docs": {
|
338
|
-
"text": "Truncate the text in ic-typography by adding a line-clamp css property.",
|
339
|
-
"tags": [{
|
340
|
-
"name": "param",
|
341
|
-
"text": "height Used to calculate whether the element has exceeded the maximum number of lines."
|
342
|
-
}]
|
343
|
-
}
|
344
|
-
},
|
345
|
-
"checkCellTextMaxLines": {
|
346
|
-
"complexType": {
|
347
|
-
"signature": "(height: number, typographyHeight?: number) => Promise<void>",
|
348
|
-
"parameters": [{
|
349
|
-
"name": "height",
|
350
|
-
"type": "number",
|
351
|
-
"docs": ""
|
352
|
-
}, {
|
353
|
-
"name": "typographyHeight",
|
354
|
-
"type": "number",
|
355
|
-
"docs": ""
|
356
|
-
}],
|
357
|
-
"references": {
|
358
|
-
"Promise": {
|
359
|
-
"location": "global",
|
360
|
-
"id": "global::Promise"
|
361
|
-
}
|
362
|
-
},
|
363
|
-
"return": "Promise<void>"
|
364
|
-
},
|
365
|
-
"docs": {
|
366
|
-
"text": "",
|
367
|
-
"tags": [{
|
368
|
-
"name": "internal",
|
369
|
-
"text": "Truncate the text in ic-typography by adding a line-clamp css property. This method is specific to ic-data-table.\nheight - used to calculate whether the element has exceeded the maximum number of lines.\ntypographyHeight - the scroll height of the typography element. Used as another way to calculate whether the element has exceeded the maximum number of lines."
|
370
|
-
}]
|
371
|
-
}
|
372
|
-
}
|
373
|
-
};
|
374
|
-
}
|
375
272
|
static get elementRef() { return "el"; }
|
376
273
|
static get watchers() {
|
377
274
|
return [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-typography.js","sourceRoot":"","sources":["../../../src/components/ic-typography/ic-typography.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\nimport { IcExpandEventDetail } from \"./ic-typography.types\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop() maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n @State() expanded: boolean = false;\n\n /**\n * Emitted when the See More/See Less button is clicked.\n */\n @Event() icExpand?: EventEmitter<IcExpandEventDetail>;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n /**\n * Truncate the text in ic-typography by adding a line-clamp css property.\n * @param height Used to calculate whether the element has exceeded the maximum number of lines.\n *\n */\n @Method()\n async checkMaxLines(height: number): Promise<void> {\n // 24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n\n /**\n * @internal Truncate the text in ic-typography by adding a line-clamp css property. This method is specific to ic-data-table.\n * height - used to calculate whether the element has exceeded the maximum number of lines.\n * typographyHeight - the scroll height of the typography element. Used as another way to calculate whether the element has exceeded the maximum number of lines.\n */\n @Method()\n async checkCellTextMaxLines(\n height: number,\n typographyHeight?: number\n ): Promise<void> {\n // 24 is the height of a single line\n const typographyNumLines = Math.floor(typographyHeight / 24);\n const numLines = Math.floor(height / 24);\n if (\n (!!typographyHeight && typographyNumLines > numLines) ||\n numLines > this.maxLines\n ) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n this.expanded = false;\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n this.icExpand.emit({ el: this.el, expanded: this.expanded });\n };\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"bold\"]: bold,\n [\"italic\"]: italic,\n [\"strikethrough\"]: strikethrough,\n [\"underline\"]: underline,\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n aria-hidden=\"true\"\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-typography.js","sourceRoot":"","sources":["../../../src/components/ic-typography/ic-typography.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, Host, State, Watch } from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop() maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n @State() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n };\n\n private checkMaxLines = (height: number) => {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n };\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"bold\"]: bold,\n [\"italic\"]: italic,\n [\"strikethrough\"]: strikethrough,\n [\"underline\"]: underline,\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n aria-hidden=\"true\"\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"]}
|
@@ -212,31 +212,6 @@ describe("ic-typography component", () => {
|
|
212
212
|
await page.waitForChanges();
|
213
213
|
expect(page.rootInstance.expanded).toBe(false);
|
214
214
|
});
|
215
|
-
it("should test toggle of see more/less for truncated text in data tables", async () => {
|
216
|
-
const page = await newSpecPage({
|
217
|
-
components: [Typography],
|
218
|
-
html: `<ic-typography max-lines="3">
|
219
|
-
Body of text that is truncated to three lines. Click the 'See more' link to
|
220
|
-
expand the text, then click 'See less' to truncate the text once more!
|
221
|
-
Dripper caramelization java saucer grounds galão, mocha, and robusta
|
222
|
-
kopi-luwak, percolator, instant, qui saucer latte in brewed café au
|
223
|
-
lait. Con panna, cup, cream, body americano affogato cup espresso, rich
|
224
|
-
milk seasonal saucer grinder spoon that cultivar strong redeye
|
225
|
-
frappuccino barista extraction redeye mazagran.
|
226
|
-
</ic-typography>`,
|
227
|
-
});
|
228
|
-
page.rootInstance.checkCellTextMaxLines(96, 120);
|
229
|
-
await page.waitForChanges();
|
230
|
-
expect(page.rootInstance.truncated).toBe(true);
|
231
|
-
expect(page.rootInstance.expanded).toBe(false);
|
232
|
-
const button = page.root.shadowRoot.querySelector("button");
|
233
|
-
button.click();
|
234
|
-
await page.waitForChanges();
|
235
|
-
expect(page.rootInstance.expanded).toBe(true);
|
236
|
-
button.click();
|
237
|
-
await page.waitForChanges();
|
238
|
-
expect(page.rootInstance.expanded).toBe(false);
|
239
|
-
});
|
240
215
|
it("should test truncation applied when number of lines exceeds max", async () => {
|
241
216
|
const page = await newSpecPage({
|
242
217
|
components: [Typography],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-typography.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-typography/test/basic/ic-typography.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Typography } from \"../../ic-typography\";\n\ndescribe(\"ic-typography component\", () => {\n it(\"should render with default body styles\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h1 with h1 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h2 with h2 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h2\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h3 with h3 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h3\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h4 with h4 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h4\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h5 with subtitle-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h6 with subtitle-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with body variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label with label variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label uppercase with label-uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code large with code-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code small with code-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code extra small with code-extra-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-extra-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge with badge variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge small with badge-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with italic style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" italic=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with bold style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" bold=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with strikethrough\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" strikethrough=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with underline\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" underline=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should allow semantic component to be passed in and variant styling applied\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\"><h3>IC Typography Test</h3></ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply vertical margins class if vertical margins prop true\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography apply-vertical-margins>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply className provided to root element to typography element\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography class=\"test-class\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the typography with truncation\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.truncated = true;\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test toggle of see more/less\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.expanded).toBe(false);\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n });\n\n it(\"should test toggle of see more/less for truncated text in data tables\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkCellTextMaxLines(96, 120);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.expanded).toBe(false);\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n });\n\n it(\"should test truncation applied when number of lines exceeds max\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test checkMarkerPosition\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncatedHeight = 300;\n page.rootInstance.checkMarkerPosition(100, 200);\n\n expect(page.rootInstance.truncated).toBe(false);\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.checkMarkerPosition(100, 500);\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test truncation button focus\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n button.focus();\n await page.waitForChanges();\n expect(button).toHaveClass(\"focus\");\n\n button.blur();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test truncation button mousedown handler\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n button.dispatchEvent(event);\n await page.waitForChanges();\n expect(page.rootInstance.focusBtnFromKeyboard).toBe(false);\n\n button.focus();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test resizeObserver\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.el.clientHeight = 96;\n page.rootInstance.el.clientWidth = 200;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(undefined);\n expect(page.rootInstance.truncated).toBe(true);\n\n //lastMarkerTop will get overwritten with 0\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n expect(page.rootInstance.lastMarkerTop).toBe(0);\n\n //test lastMarkerTop not overwritten with 0 as widths should match\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastMarkerTop).toBe(120);\n\n //test lastWidth not overwritten as merkerTop should match lastMarkerTop\n page.rootInstance.el.clientWidth = 300;\n page.rootInstance.lastMarkerTop = 0;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-typography.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-typography/test/basic/ic-typography.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Typography } from \"../../ic-typography\";\n\ndescribe(\"ic-typography component\", () => {\n it(\"should render with default body styles\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h1 with h1 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h2 with h2 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h2\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h3 with h3 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h3\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h4 with h4 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h4\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h5 with subtitle-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h6 with subtitle-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with body variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label with label variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label uppercase with label-uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code large with code-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code small with code-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code extra small with code-extra-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-extra-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge with badge variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge small with badge-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with italic style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" italic=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with bold style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" bold=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with strikethrough\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" strikethrough=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with underline\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" underline=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should allow semantic component to be passed in and variant styling applied\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\"><h3>IC Typography Test</h3></ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply vertical margins class if vertical margins prop true\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography apply-vertical-margins>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply className provided to root element to typography element\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography class=\"test-class\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the typography with truncation\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.truncated = true;\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test toggle of see more/less\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.expanded).toBe(false);\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n });\n\n it(\"should test truncation applied when number of lines exceeds max\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test checkMarkerPosition\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncatedHeight = 300;\n page.rootInstance.checkMarkerPosition(100, 200);\n\n expect(page.rootInstance.truncated).toBe(false);\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.checkMarkerPosition(100, 500);\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test truncation button focus\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n button.focus();\n await page.waitForChanges();\n expect(button).toHaveClass(\"focus\");\n\n button.blur();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test truncation button mousedown handler\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n button.dispatchEvent(event);\n await page.waitForChanges();\n expect(page.rootInstance.focusBtnFromKeyboard).toBe(false);\n\n button.focus();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test resizeObserver\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.el.clientHeight = 96;\n page.rootInstance.el.clientWidth = 200;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(undefined);\n expect(page.rootInstance.truncated).toBe(true);\n\n //lastMarkerTop will get overwritten with 0\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n expect(page.rootInstance.lastMarkerTop).toBe(0);\n\n //test lastMarkerTop not overwritten with 0 as widths should match\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastMarkerTop).toBe(120);\n\n //test lastWidth not overwritten as merkerTop should match lastMarkerTop\n page.rootInstance.el.clientWidth = 300;\n page.rootInstance.lastMarkerTop = 0;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
|
@@ -3,6 +3,19 @@ import { IC_BLOCK_COLOR_COMPONENTS, IC_BLOCK_COLOR_EXCEPTIONS, IC_FIXED_COLOR_CO
|
|
3
3
|
const DARK_MODE_THRESHOLD = 133.3505;
|
4
4
|
const icInput = "ic-input";
|
5
5
|
const linkIcInput = "input.ic-input";
|
6
|
+
/**
|
7
|
+
* converts an enum of strings into an array of strings
|
8
|
+
*/
|
9
|
+
export const stringEnumToArray = (theEnum) => {
|
10
|
+
const arr = [];
|
11
|
+
Object.values(theEnum).forEach((val) => {
|
12
|
+
if (isNaN(Number(val))) {
|
13
|
+
const str = val;
|
14
|
+
arr.push(str);
|
15
|
+
}
|
16
|
+
});
|
17
|
+
return arr;
|
18
|
+
};
|
6
19
|
/**
|
7
20
|
* Used to inherit global attributes set on the host. Called in componentWillLoad and assigned
|
8
21
|
* to a variable that is later used in the render function.
|
@@ -64,7 +77,12 @@ export const renderHiddenInput = (always, container, name, value, disabled) => {
|
|
64
77
|
}
|
65
78
|
input.disabled = disabled;
|
66
79
|
input.name = name;
|
67
|
-
|
80
|
+
if (value instanceof Date) {
|
81
|
+
input.value = value ? value.toISOString() : null;
|
82
|
+
}
|
83
|
+
else {
|
84
|
+
input.value = value || "";
|
85
|
+
}
|
68
86
|
}
|
69
87
|
};
|
70
88
|
/**
|
@@ -150,7 +168,14 @@ export const getThemeFromContext = (el, themeFromEvent = null) => {
|
|
150
168
|
}
|
151
169
|
return IcThemeForegroundEnum.Default;
|
152
170
|
};
|
153
|
-
|
171
|
+
/**
|
172
|
+
* Checks if the current device is a mobile or tablet device.
|
173
|
+
* @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.
|
174
|
+
*/
|
175
|
+
export const isMobileOrTablet = () => "maxTouchPoints" in navigator && "userAgent" in navigator
|
176
|
+
? navigator.maxTouchPoints > 0 &&
|
177
|
+
/iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
|
178
|
+
: false;
|
154
179
|
/**
|
155
180
|
* Will create a button within the lightDOM which interacts with the parent form.
|
156
181
|
* This is required as buttons within the shadowDOM will not invoke a submit or reset
|
@@ -425,4 +450,21 @@ export const removeDisabledFalse = (disabled, element) => {
|
|
425
450
|
export const isMacDevice = () => {
|
426
451
|
return window.navigator.userAgent.toUpperCase().indexOf("MAC") >= 0;
|
427
452
|
};
|
453
|
+
export const isNumeric = (value) => {
|
454
|
+
return /^-?\d+$/.test(value);
|
455
|
+
};
|
456
|
+
export async function waitForHydration() {
|
457
|
+
const elements = document.getElementsByTagName("*");
|
458
|
+
for (let i = 0; i < elements.length; i++) {
|
459
|
+
if (elements[i].tagName.startsWith("IC-")) {
|
460
|
+
if (elements[i].classList.contains("hydrated")) {
|
461
|
+
return true;
|
462
|
+
}
|
463
|
+
}
|
464
|
+
else {
|
465
|
+
return false;
|
466
|
+
}
|
467
|
+
}
|
468
|
+
return false;
|
469
|
+
}
|
428
470
|
//# sourceMappingURL=helpers.js.map
|