@ukic/web-components 2.25.1 → 2.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-4af10d35.js → helpers-94b33ab0.js} +3 -1
- package/dist/cjs/helpers-94b33ab0.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 +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 +16 -8
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +9 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +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 +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-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-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-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +3 -3
- 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 +48 -22
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +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 +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-text-field.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast.cjs.entry.js.map +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 +47 -12
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-button/ic-button.js +5 -2
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.css +1 -0
- package/dist/collection/components/ic-chip/ic-chip.js +8 -2
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +15 -0
- package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.css +5 -0
- package/dist/collection/components/ic-pagination/ic-pagination.js +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +49 -21
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +10 -1
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.css +10 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +56 -6
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +8 -0
- package/dist/collection/components/ic-typography/ic-typography.js +148 -13
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +55 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
- package/dist/collection/utils/helpers.js +1 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +2 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert2.js +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-breadcrumb2.js +1 -1
- package/dist/components/ic-button2.js +6 -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 +9 -3
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-data-row.js +1 -1
- package/dist/components/ic-dialog.js +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +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 +1 -1
- package/dist/components/ic-horizontal-scroll2.js +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-link2.js +1 -1
- package/dist/components/ic-loading-indicator2.js +1 -1
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-item2.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-navigation-menu2.js +1 -1
- package/dist/components/ic-page-header.js +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination.js +2 -2
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +1 -1
- package/dist/components/ic-radio-group.js +49 -22
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +1 -1
- package/dist/components/ic-search-bar.js +1 -1
- package/dist/components/ic-select.js +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-step.js +1 -1
- package/dist/components/ic-stepper.js +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-tab-panel.js +1 -1
- package/dist/components/ic-text-field2.js +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-toast.js +2 -2
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-tooltip2.js +12 -5
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-typography2.js +53 -15
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-967d5546.entry.js → p-02262e76.entry.js} +2 -2
- package/dist/core/{p-98708868.entry.js → p-03f23a55.entry.js} +2 -2
- package/dist/core/{p-5128fc04.entry.js → p-093600a2.entry.js} +2 -2
- package/dist/core/{p-59732bc5.entry.js → p-13a6e7ea.entry.js} +2 -2
- package/dist/core/{p-80b87940.entry.js → p-13ec2a00.entry.js} +2 -2
- package/dist/core/{p-13f2c9dc.entry.js → p-1ae6aadb.entry.js} +2 -2
- package/dist/core/p-1d648b98.entry.js +2 -0
- package/dist/core/p-1d648b98.entry.js.map +1 -0
- package/dist/core/{p-a646c117.entry.js → p-1d6e6ebe.entry.js} +2 -2
- package/dist/core/{p-1d9fceb1.entry.js → p-223889da.entry.js} +2 -2
- package/dist/core/{p-f13195ab.entry.js → p-227f6a41.entry.js} +2 -2
- package/dist/core/{p-d69f353b.entry.js → p-230187a8.entry.js} +2 -2
- package/dist/core/p-2d930c9c.entry.js +2 -0
- package/dist/core/p-2d930c9c.entry.js.map +1 -0
- package/dist/core/{p-6a4a0752.entry.js → p-3af60dee.entry.js} +2 -2
- package/dist/core/{p-191d2571.entry.js → p-3b4c9571.entry.js} +2 -2
- package/dist/core/{p-8ce2dfd4.entry.js → p-3f2d4108.entry.js} +2 -2
- package/dist/core/p-457a4c63.entry.js +2 -0
- package/dist/core/p-457a4c63.entry.js.map +1 -0
- package/dist/core/{p-4a64ec92.entry.js → p-49e997c7.entry.js} +2 -2
- package/dist/core/p-4b89890b.entry.js +2 -0
- package/dist/core/p-4b89890b.entry.js.map +1 -0
- package/dist/core/{p-1f4698e7.entry.js → p-55b11f6f.entry.js} +2 -2
- package/dist/core/{p-261debaf.entry.js → p-5ccd3703.entry.js} +2 -2
- package/dist/core/p-604e72ac.entry.js +2 -0
- package/dist/core/p-604e72ac.entry.js.map +1 -0
- package/dist/core/{p-6e36ff34.entry.js → p-60746e10.entry.js} +2 -2
- package/dist/core/{p-eb1d00a7.entry.js → p-60f7f555.entry.js} +2 -2
- package/dist/core/{p-4ecf210f.entry.js → p-69576aa0.entry.js} +2 -2
- package/dist/core/{p-24e6c926.entry.js → p-7c2b59fe.entry.js} +2 -2
- package/dist/core/{p-cf3a721c.entry.js → p-836e71de.entry.js} +2 -2
- package/dist/core/{p-08781606.entry.js → p-843ed766.entry.js} +2 -2
- package/dist/core/{p-1eb6fc19.entry.js → p-8c325d9b.entry.js} +2 -2
- package/dist/core/{p-37d152b9.entry.js → p-9146a7f9.entry.js} +2 -2
- package/dist/core/{p-a8aea311.entry.js → p-936ab032.entry.js} +2 -2
- package/dist/core/{p-70a7cfa5.entry.js → p-96505636.entry.js} +2 -2
- package/dist/core/{p-5bba7e31.entry.js → p-9c9ba3cd.entry.js} +2 -2
- package/dist/core/{p-038a2ea1.entry.js → p-a6ff78aa.entry.js} +2 -2
- package/dist/core/{p-85f6a2ef.entry.js → p-a75f3c4d.entry.js} +2 -2
- package/dist/core/{p-1ef00a47.entry.js → p-ad67c84f.entry.js} +2 -2
- package/dist/core/{p-2bc8a51d.entry.js → p-aeb001d7.entry.js} +2 -2
- package/dist/core/{p-014342a2.entry.js → p-bb963aa4.entry.js} +2 -2
- package/dist/core/{p-03434b02.entry.js → p-be5d5f93.entry.js} +2 -2
- package/dist/core/{p-4a9eecd7.entry.js → p-c1d5e7f2.entry.js} +2 -2
- package/dist/core/{p-a9a2987c.entry.js → p-cb14349b.entry.js} +2 -2
- package/dist/core/{p-d19d50b6.entry.js → p-d3750771.entry.js} +2 -2
- package/dist/core/{p-ea61b524.entry.js → p-db52d416.entry.js} +2 -2
- package/dist/core/{p-c1db024d.entry.js → p-dbc0f5da.entry.js} +2 -2
- package/dist/core/{p-4ad38ad7.entry.js → p-dcd475cc.entry.js} +2 -2
- package/dist/core/{p-3b41756e.entry.js → p-dd9d8e68.entry.js} +2 -2
- package/dist/core/{p-a332f7d8.entry.js → p-def5ba6b.entry.js} +2 -2
- package/dist/core/{p-0a2cdf34.entry.js → p-e6bad80b.entry.js} +2 -2
- package/dist/core/{p-bb2f2048.entry.js → p-e7fa6804.entry.js} +2 -2
- package/dist/core/{p-92b9b56a.entry.js → p-e8fa0095.entry.js} +2 -2
- package/dist/core/p-ed2b2bd7.entry.js +2 -0
- package/dist/core/p-ed2b2bd7.entry.js.map +1 -0
- package/dist/core/{p-15138df1.entry.js → p-ee1c9f20.entry.js} +2 -2
- package/dist/core/{p-41b93fc2.entry.js → p-f735a277.entry.js} +2 -2
- package/dist/core/{p-36cd5d32.js → p-fef9e8c9.js} +2 -2
- package/dist/core/p-fef9e8c9.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-354dbb8d.js → helpers-3905ccc4.js} +3 -2
- package/dist/esm/helpers-3905ccc4.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 +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 +16 -8
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js +1 -1
- package/dist/esm/ic-chip.entry.js +9 -3
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.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 +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-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-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-item.entry.js +1 -1
- package/dist/esm/ic-pagination.entry.js +3 -3
- 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 +48 -22
- package/dist/esm/ic-radio-group.entry.js.map +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 +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-text-field.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +2 -2
- package/dist/esm/ic-toast.entry.js.map +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 +48 -13
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-button/ic-button.d.ts +1 -0
- package/dist/types/components/ic-chip/ic-chip.d.ts +2 -0
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +4 -0
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +7 -0
- package/dist/types/components/ic-typography/ic-typography.d.ts +23 -1
- package/dist/types/components.d.ts +30 -0
- package/dist/types/utils/helpers.d.ts +1 -0
- package/hydrate/index.js +127 -46
- package/package.json +2 -2
- package/dist/cjs/helpers-4af10d35.js.map +0 -1
- package/dist/core/p-14c47aed.entry.js +0 -2
- package/dist/core/p-14c47aed.entry.js.map +0 -1
- package/dist/core/p-1e33ac04.entry.js +0 -2
- package/dist/core/p-1e33ac04.entry.js.map +0 -1
- package/dist/core/p-277c3199.entry.js +0 -2
- package/dist/core/p-277c3199.entry.js.map +0 -1
- package/dist/core/p-36cd5d32.js.map +0 -1
- package/dist/core/p-7e5936a3.entry.js +0 -2
- package/dist/core/p-7e5936a3.entry.js.map +0 -1
- package/dist/core/p-e928928a.entry.js +0 -2
- package/dist/core/p-e928928a.entry.js.map +0 -1
- package/dist/core/p-f861a72a.entry.js +0 -2
- package/dist/core/p-f861a72a.entry.js.map +0 -1
- package/dist/esm/helpers-354dbb8d.js.map +0 -1
- /package/dist/core/{p-967d5546.entry.js.map → p-02262e76.entry.js.map} +0 -0
- /package/dist/core/{p-98708868.entry.js.map → p-03f23a55.entry.js.map} +0 -0
- /package/dist/core/{p-5128fc04.entry.js.map → p-093600a2.entry.js.map} +0 -0
- /package/dist/core/{p-59732bc5.entry.js.map → p-13a6e7ea.entry.js.map} +0 -0
- /package/dist/core/{p-80b87940.entry.js.map → p-13ec2a00.entry.js.map} +0 -0
- /package/dist/core/{p-13f2c9dc.entry.js.map → p-1ae6aadb.entry.js.map} +0 -0
- /package/dist/core/{p-a646c117.entry.js.map → p-1d6e6ebe.entry.js.map} +0 -0
- /package/dist/core/{p-1d9fceb1.entry.js.map → p-223889da.entry.js.map} +0 -0
- /package/dist/core/{p-f13195ab.entry.js.map → p-227f6a41.entry.js.map} +0 -0
- /package/dist/core/{p-d69f353b.entry.js.map → p-230187a8.entry.js.map} +0 -0
- /package/dist/core/{p-6a4a0752.entry.js.map → p-3af60dee.entry.js.map} +0 -0
- /package/dist/core/{p-191d2571.entry.js.map → p-3b4c9571.entry.js.map} +0 -0
- /package/dist/core/{p-8ce2dfd4.entry.js.map → p-3f2d4108.entry.js.map} +0 -0
- /package/dist/core/{p-4a64ec92.entry.js.map → p-49e997c7.entry.js.map} +0 -0
- /package/dist/core/{p-1f4698e7.entry.js.map → p-55b11f6f.entry.js.map} +0 -0
- /package/dist/core/{p-261debaf.entry.js.map → p-5ccd3703.entry.js.map} +0 -0
- /package/dist/core/{p-6e36ff34.entry.js.map → p-60746e10.entry.js.map} +0 -0
- /package/dist/core/{p-eb1d00a7.entry.js.map → p-60f7f555.entry.js.map} +0 -0
- /package/dist/core/{p-4ecf210f.entry.js.map → p-69576aa0.entry.js.map} +0 -0
- /package/dist/core/{p-24e6c926.entry.js.map → p-7c2b59fe.entry.js.map} +0 -0
- /package/dist/core/{p-cf3a721c.entry.js.map → p-836e71de.entry.js.map} +0 -0
- /package/dist/core/{p-08781606.entry.js.map → p-843ed766.entry.js.map} +0 -0
- /package/dist/core/{p-1eb6fc19.entry.js.map → p-8c325d9b.entry.js.map} +0 -0
- /package/dist/core/{p-37d152b9.entry.js.map → p-9146a7f9.entry.js.map} +0 -0
- /package/dist/core/{p-a8aea311.entry.js.map → p-936ab032.entry.js.map} +0 -0
- /package/dist/core/{p-70a7cfa5.entry.js.map → p-96505636.entry.js.map} +0 -0
- /package/dist/core/{p-5bba7e31.entry.js.map → p-9c9ba3cd.entry.js.map} +0 -0
- /package/dist/core/{p-038a2ea1.entry.js.map → p-a6ff78aa.entry.js.map} +0 -0
- /package/dist/core/{p-85f6a2ef.entry.js.map → p-a75f3c4d.entry.js.map} +0 -0
- /package/dist/core/{p-1ef00a47.entry.js.map → p-ad67c84f.entry.js.map} +0 -0
- /package/dist/core/{p-2bc8a51d.entry.js.map → p-aeb001d7.entry.js.map} +0 -0
- /package/dist/core/{p-014342a2.entry.js.map → p-bb963aa4.entry.js.map} +0 -0
- /package/dist/core/{p-03434b02.entry.js.map → p-be5d5f93.entry.js.map} +0 -0
- /package/dist/core/{p-4a9eecd7.entry.js.map → p-c1d5e7f2.entry.js.map} +0 -0
- /package/dist/core/{p-a9a2987c.entry.js.map → p-cb14349b.entry.js.map} +0 -0
- /package/dist/core/{p-d19d50b6.entry.js.map → p-d3750771.entry.js.map} +0 -0
- /package/dist/core/{p-ea61b524.entry.js.map → p-db52d416.entry.js.map} +0 -0
- /package/dist/core/{p-c1db024d.entry.js.map → p-dbc0f5da.entry.js.map} +0 -0
- /package/dist/core/{p-4ad38ad7.entry.js.map → p-dcd475cc.entry.js.map} +0 -0
- /package/dist/core/{p-3b41756e.entry.js.map → p-dd9d8e68.entry.js.map} +0 -0
- /package/dist/core/{p-a332f7d8.entry.js.map → p-def5ba6b.entry.js.map} +0 -0
- /package/dist/core/{p-0a2cdf34.entry.js.map → p-e6bad80b.entry.js.map} +0 -0
- /package/dist/core/{p-bb2f2048.entry.js.map → p-e7fa6804.entry.js.map} +0 -0
- /package/dist/core/{p-92b9b56a.entry.js.map → p-e8fa0095.entry.js.map} +0 -0
- /package/dist/core/{p-15138df1.entry.js.map → p-ee1c9f20.entry.js.map} +0 -0
- /package/dist/core/{p-41b93fc2.entry.js.map → p-f735a277.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-radio-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-radio-group/test/basic/ic-radio-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { RadioGroup } from \"../../ic-radio-group\";\nimport { RadioOption } from \"../../../ic-radio-option/ic-radio-option\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-radio-group\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render as required\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-required\");\n });\n\n it(\"should render as helper text\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" helperText=\"helper test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-helpertext\");\n });\n\n it(\"should render with selected option\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-option\");\n });\n\n it(\"should test radio option as submit on form\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form id=\"new-form\"></form><ic-radio-option id=\"ic-radio-option\" label=\"IC Radio Test\" value=\"test-value\" form=\"new-form\" selected></ic-radio-option>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with validation status\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required validation-status=\"error\" validation-text=\"error\">\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-validation-status\");\n });\n\n it(\"should render radio option disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-disabled\");\n });\n\n it(\"should render with unselected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"renders-with-unselected-additional-field\"\n );\n });\n\n it(\"should render with selected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" selected label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-additional-field\");\n });\n\n it(\"should render with dynamic additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\" additional-field-display=\"dynamic\" selected>\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-dynamic-additional-field\");\n });\n\n it(\"should emit an updated checked value when selected\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icChange\", callbackFn);\n page.rootInstance.selectHandler({ detail: { value: \"true\" } });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should get the next item to select\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option value=\"test2\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const nextItemCalc = page.rootInstance.getNextItemToSelect(0, true);\n\n page.waitForChanges();\n expect(nextItemCalc).toBe(1);\n });\n\n it(\"should select the radio option when clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n <ic-radio-option label=\"test label\" value=\"Radio value\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n\n page.rootInstance.radioOptions[1].click();\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n expect(page.rootInstance.checkedValue).toBe(\"Test value\");\n\n page.rootInstance.radioOptions[2].click();\n await page.waitForChanges();\n expect(page.rootInstance.checkedValue).toBe(\"Radio value\");\n });\n\n it(\"should not select the radio option when textfield clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n </ic-radio-group>`,\n });\n\n const div =\n page.rootInstance.radioOptions[1].shadowRoot.querySelector(\n \".dynamic-container\"\n );\n div.click();\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[1].selected).toBe(false);\n });\n\n it(\"should emit new radio value when text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"value\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should emit default radio value when no text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should call 'setFocus' when radio option is focused\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-option value=\"test\" selected></ic-radio-option> `,\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 test form reset event\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <button id=\"resetButton\" type=\"reset\">Reset</button> \n </form>`,\n });\n\n expect(page.root.selected).toBe(true);\n\n page.root.checked = false;\n await page.waitForChanges();\n\n expect(page.root.checked).toBe(false);\n\n await page.rootInstance.handleFormReset();\n await page.waitForChanges();\n\n expect(page.root.selected).toBe(true);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user sets the orientation as horizontal and there are more than 2 radio options in the radio group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user has additional fields on any of the radio buttons in the group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should call runResizeObserver\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.runResizeObserver();\n page.waitForChanges();\n\n const resize = new ResizeObserver(() => {\n page.rootInstance.checkOrientation();\n });\n\n page.waitForChanges();\n\n expect(page.rootInstance.resizeObserver).toBe(resize);\n });\n\n it(\"should call checkOrientation\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\"></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.checkOrientation();\n page.waitForChanges();\n\n expect(page.rootInstance.currentOrientation).toBe(\"vertical\");\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n <ic-radio-option value=\"test2\" disabled></ic-radio-option> \n <ic-radio-option value=\"test3\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n //test wrap around from end to beginning\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowRight\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowLeft\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n //test wrap around from beginning to end\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n });\n\n it(\"should call this.setRadioOptions() when slot content changes\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const radioContainer = document\n .querySelector(\"ic-radio-group\")\n .shadowRoot.querySelector(\".radio-buttons-container\");\n\n jest.spyOn(page.rootInstance, \"setRadioOptions\").mockImplementation();\n\n await page.rootInstance.addSlotChangeListener();\n\n radioContainer.dispatchEvent(new Event(\"slotchange\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setRadioOptions).toBeCalledTimes(1);\n });\n\n it(\"should test disconnectedCallback function\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.waitForChanges();\n\n const radioContainer = page.root.shadowRoot.querySelector(\n \".radio-buttons-container\"\n );\n expect((radioContainer as any).__listeners.length).toBe(1);\n\n page.rootInstance.disconnectedCallback();\n\n await page.waitForChanges();\n\n expect((radioContainer as any).__listeners.length).toBe(0);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"ic-radio-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-radio-group/test/basic/ic-radio-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { RadioGroup } from \"../../ic-radio-group\";\nimport { RadioOption } from \"../../../ic-radio-option/ic-radio-option\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-radio-group\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render as required\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-required\");\n });\n\n it(\"should render as helper text\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" helperText=\"helper test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-helpertext\");\n });\n\n it(\"should render with selected option\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-option\");\n });\n\n it(\"should test radio option as submit on form\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form id=\"new-form\"></form><ic-radio-option id=\"ic-radio-option\" label=\"IC Radio Test\" value=\"test-value\" form=\"new-form\" selected></ic-radio-option>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with validation status\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required validation-status=\"error\" validation-text=\"error\">\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-validation-status\");\n });\n\n it(\"should render radio group disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" disabled>\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-disabled\");\n });\n\n it(\"should render radio option disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-option-disabled\");\n });\n\n it(\"should render with unselected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"renders-with-unselected-additional-field\"\n );\n });\n\n it(\"should render with selected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" selected label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-additional-field\");\n });\n\n it(\"should render with dynamic additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\" additional-field-display=\"dynamic\" selected>\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-dynamic-additional-field\");\n });\n\n it(\"should emit an updated checked value when selected\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icChange\", callbackFn);\n page.rootInstance.selectHandler({ detail: { value: \"true\" } });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should get the next item to select\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option value=\"test2\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const nextItemCalc = page.rootInstance.getNextItemToSelect(0, true);\n\n page.waitForChanges();\n expect(nextItemCalc).toBe(1);\n });\n\n it(\"should select the radio option when clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n <ic-radio-option label=\"test label\" value=\"Radio value\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n\n page.rootInstance.radioOptions[1].click();\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n expect(page.rootInstance.checkedValue).toBe(\"Test value\");\n\n page.rootInstance.radioOptions[2].click();\n await page.waitForChanges();\n expect(page.rootInstance.checkedValue).toBe(\"Radio value\");\n });\n\n it(\"should not select the radio option when textfield clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n </ic-radio-group>`,\n });\n\n const div =\n page.rootInstance.radioOptions[1].shadowRoot.querySelector(\n \".dynamic-container\"\n );\n div.click();\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[1].selected).toBe(false);\n });\n\n it(\"should emit new radio value when text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"value\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should emit default radio value when no text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should call 'setFocus' when radio option is focused\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-option value=\"test\" selected></ic-radio-option> `,\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 test form reset event\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <button id=\"resetButton\" type=\"reset\">Reset</button> \n </form>`,\n });\n\n expect(page.root.selected).toBe(true);\n\n page.root.checked = false;\n await page.waitForChanges();\n\n expect(page.root.checked).toBe(false);\n\n await page.rootInstance.handleFormReset();\n await page.waitForChanges();\n\n expect(page.root.selected).toBe(true);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user sets the orientation as horizontal and there are more than 2 radio options in the radio group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user has additional fields on any of the radio buttons in the group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should call runResizeObserver\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.runResizeObserver();\n page.waitForChanges();\n\n const resize = new ResizeObserver(() => {\n page.rootInstance.checkOrientation();\n });\n\n page.waitForChanges();\n\n expect(page.rootInstance.resizeObserver).toBe(resize);\n });\n\n it(\"should call checkOrientation\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\"></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.checkOrientation();\n page.waitForChanges();\n\n expect(page.rootInstance.currentOrientation).toBe(\"vertical\");\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n <ic-radio-option value=\"test2\" disabled></ic-radio-option> \n <ic-radio-option value=\"test3\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n //test wrap around from end to beginning\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowRight\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowLeft\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n //test wrap around from beginning to end\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n });\n\n it(\"should call this.setRadioOptions() when slot content changes\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const radioContainer = document\n .querySelector(\"ic-radio-group\")\n .shadowRoot.querySelector(\".radio-buttons-container\");\n\n jest.spyOn(page.rootInstance, \"setRadioOptions\").mockImplementation();\n\n await page.rootInstance.addSlotChangeListener();\n\n radioContainer.dispatchEvent(new Event(\"slotchange\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setRadioOptions).toBeCalledTimes(1);\n });\n\n it(\"should test disconnectedCallback function\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.waitForChanges();\n\n const radioContainer = page.root.shadowRoot.querySelector(\n \".radio-buttons-container\"\n );\n expect((radioContainer as any).__listeners.length).toBe(1);\n\n page.rootInstance.disconnectedCallback();\n\n await page.waitForChanges();\n\n expect((radioContainer as any).__listeners.length).toBe(0);\n });\n});\n"]}
|
|
@@ -445,6 +445,16 @@ video {
|
|
|
445
445
|
* @prop --ic-z-index-toast: z-index of toast
|
|
446
446
|
*/
|
|
447
447
|
|
|
448
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
449
|
+
:host {
|
|
450
|
+
animation: fadein var(--ic-transition-duration-slow) ease-in-out;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
:host(.hidden) {
|
|
454
|
+
animation: fadeout var(--ic-transition-duration-slow) ease-in-out;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
|
|
448
458
|
:host {
|
|
449
459
|
--bottom-position: var(--ic-space-xl);
|
|
450
460
|
|
|
@@ -452,13 +462,11 @@ video {
|
|
|
452
462
|
bottom: var(--bottom-position);
|
|
453
463
|
left: 50%;
|
|
454
464
|
transform: translate(-50%);
|
|
455
|
-
animation: fadein var(--ic-transition-duration-slow) ease-in-out;
|
|
456
465
|
z-index: var(--ic-z-index-toast);
|
|
457
466
|
}
|
|
458
467
|
|
|
459
468
|
:host(.hidden) {
|
|
460
469
|
display: none;
|
|
461
|
-
animation: fadeout var(--ic-transition-duration-slow) ease-in-out;
|
|
462
470
|
}
|
|
463
471
|
|
|
464
472
|
.container {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Host, h } from "@stencil/core";
|
|
1
|
+
import { Host, h, } from "@stencil/core";
|
|
2
2
|
import { createPopper } from "@popperjs/core";
|
|
3
3
|
import { onComponentRequiredPropUndefined } from "../../utils/helpers";
|
|
4
4
|
export class Tooltip {
|
|
@@ -85,9 +85,7 @@ export class Tooltip {
|
|
|
85
85
|
.getBoundingClientRect();
|
|
86
86
|
this.getTooltipTranslate(dialogEl);
|
|
87
87
|
}
|
|
88
|
-
this.popperInstance = createPopper(this.el, this.toolTip, {
|
|
89
|
-
placement: this.placement,
|
|
90
|
-
modifiers: [
|
|
88
|
+
this.popperInstance = createPopper(this.el, this.toolTip, Object.assign({ placement: this.placement, modifiers: [
|
|
91
89
|
{
|
|
92
90
|
name: "offset",
|
|
93
91
|
options: {
|
|
@@ -104,8 +102,7 @@ export class Tooltip {
|
|
|
104
102
|
name: "eventListeners",
|
|
105
103
|
options: { scroll: false, resize: false },
|
|
106
104
|
},
|
|
107
|
-
],
|
|
108
|
-
});
|
|
105
|
+
] }, this.popperProps));
|
|
109
106
|
}
|
|
110
107
|
else {
|
|
111
108
|
console.warn(`Tooltip can't display without prop 'label' set`);
|
|
@@ -165,6 +162,14 @@ export class Tooltip {
|
|
|
165
162
|
this.silent = false;
|
|
166
163
|
this.target = undefined;
|
|
167
164
|
this.label = undefined;
|
|
165
|
+
this.popperProps = {};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip
|
|
169
|
+
* @param props object - createPopper props set externally
|
|
170
|
+
*/
|
|
171
|
+
async setExternalPopperProps(props) {
|
|
172
|
+
this.popperProps = props;
|
|
168
173
|
}
|
|
169
174
|
disconnectedCallback() {
|
|
170
175
|
this.manageEventListeners("remove");
|
|
@@ -356,8 +361,53 @@ export class Tooltip {
|
|
|
356
361
|
}
|
|
357
362
|
};
|
|
358
363
|
}
|
|
364
|
+
static get states() {
|
|
365
|
+
return {
|
|
366
|
+
"popperProps": {}
|
|
367
|
+
};
|
|
368
|
+
}
|
|
359
369
|
static get methods() {
|
|
360
370
|
return {
|
|
371
|
+
"setExternalPopperProps": {
|
|
372
|
+
"complexType": {
|
|
373
|
+
"signature": "<T extends Partial<Options>>(props: T) => Promise<void>",
|
|
374
|
+
"parameters": [{
|
|
375
|
+
"name": "props",
|
|
376
|
+
"type": "T",
|
|
377
|
+
"docs": "object - createPopper props set externally"
|
|
378
|
+
}],
|
|
379
|
+
"references": {
|
|
380
|
+
"Promise": {
|
|
381
|
+
"location": "global",
|
|
382
|
+
"id": "global::Promise"
|
|
383
|
+
},
|
|
384
|
+
"Partial": {
|
|
385
|
+
"location": "global",
|
|
386
|
+
"id": "global::Partial"
|
|
387
|
+
},
|
|
388
|
+
"Options": {
|
|
389
|
+
"location": "import",
|
|
390
|
+
"path": "@popperjs/core",
|
|
391
|
+
"id": ""
|
|
392
|
+
},
|
|
393
|
+
"T": {
|
|
394
|
+
"location": "global",
|
|
395
|
+
"id": "global::T"
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
"return": "Promise<void>"
|
|
399
|
+
},
|
|
400
|
+
"docs": {
|
|
401
|
+
"text": "",
|
|
402
|
+
"tags": [{
|
|
403
|
+
"name": "internal",
|
|
404
|
+
"text": "This method allows props to be added to the PopperJS createPopper instance outside of tooltip"
|
|
405
|
+
}, {
|
|
406
|
+
"name": "param",
|
|
407
|
+
"text": "props object - createPopper props set externally"
|
|
408
|
+
}]
|
|
409
|
+
}
|
|
410
|
+
},
|
|
361
411
|
"displayTooltip": {
|
|
362
412
|
"complexType": {
|
|
363
413
|
"signature": "(show: boolean, persistTooltip?: boolean) => Promise<void>",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h, Method } from \"@stencil/core\";\nimport { Instance, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * @internal If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines > 0 &&\n typographyEl.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown);\n };\n\n render() {\n const { label, maxLines, silent } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,CAAC,EACD,MAAM,EACN,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAOvE,MAAM,OAAO,OAAO;;QAEV,sBAAiB,GAAG,CAAC,YAAY,CAAC,CAAC;QACnC,mBAAc,GAAG,KAAK,CAAC;QAEvB,sBAAiB,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,kBAAa,GAAY,KAAK,CAAC;QAC/B,mBAAc,GAAG,KAAK,CAAC;QAEvB,aAAQ,GAAY,KAAK,CAAC;QAC1B,eAAU,GAAG;YACnB,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY;YAClC,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS;YAC/B,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO;SAC9B,CAAC;QAsGM,wBAAmB,GAAG,CAAC,QAAiB,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAC1D,IAAI,QAAQ,CAAC;YACb,IAAI,QAAQ,CAAC;YACb,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACX,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC1D,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;oBACvC,MAAM;gBACR,KAAK,cAAc;oBACjB,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACtC,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;oBACvC,MAAM;gBACR,KAAK,YAAY;oBACf,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACxC,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;oBACvC,MAAM;gBACR,KAAK,KAAK;oBACR,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC1D,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACvC,MAAM;gBACR,KAAK,WAAW;oBACd,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACtC,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACvC,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACxC,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACvC,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACf,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACtD,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;oBACtD,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACtD,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBACtD,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBAChB,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;oBACpD,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;oBACtD,MAAM;gBACR,KAAK,WAAW;oBACd,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;oBACpD,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBACtD,MAAM;YACV,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAC5B,2BAA2B,EAC3B,GAAG,QAAQ,IAAI,CAChB,CAAC;oBACF,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;oBACzB,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEM,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU;yBACxC,aAAa,CAAC,QAAQ,CAAC;yBACvB,qBAAqB,EAAE,CAAC;oBAE3B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;gBAED,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,kBACtD,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE;gCACP,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;6BAChB;yBACF;wBACD;4BACE,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE;gCACP,OAAO,EAAE,IAAI,CAAC,KAAK;6BACpB;yBACF;wBACD;4BACE,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;yBAC1C;qBACF,IACE,IAAI,CAAC,WAAW,EACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;QAEM,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAChD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,MAAwB,EAAE,EAAE;YAC1D,MAAM,MAAM,GACV,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAEhE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC;4BAhQ+B,KAAK;4BAKL,KAAK;;yBAUqB,QAAQ;sBAKxC,KAAK;;;2BAYS,EAAE;;IAE3C;;;OAGG;IAEH,KAAK,CAAC,sBAAsB,CAA6B,KAAQ;QAC/D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,gBAAgB;;QACd,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc;YACjB,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,eAAe,CAAC,MAAK,MAAM,CAAC;QAE5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,SAAS,CACV,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CACnD,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC;YACf,YAAY,CAAC,YAAY,CACvB,OAAO,EACP,2BAA2B,IAAI,CAAC,QAAQ,EAAE,CAC3C,CAAC;IACN,CAAC;IACD;;;;OAIG;IAEH,KAAK,CAAC,cAAc,CAAC,IAAa,EAAE,cAAwB;QAC1D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,gBAAgB;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAsKD,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACjC,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAoB,CAAC,EAClD,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,sBAAsB,iBACf,GAAG,MAAM,EAAE;gBAExB,qBAAe,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAC,SAAS,IACjD,KAAK,CACQ;gBAChB,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAoB,CAAC,EAChD,KAAK,EAAC,kBAAkB,GACnB,CACH;YACN,eAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * @internal If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines > 0 &&\n typographyEl.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown);\n };\n\n render() {\n const { label, maxLines, silent } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -584,6 +584,7 @@ video {
|
|
|
584
584
|
line-clamp: var(--truncation-max-lines, initial);
|
|
585
585
|
-webkit-line-clamp: var(--truncation-max-lines, initial);
|
|
586
586
|
overflow: hidden;
|
|
587
|
+
padding-right: var(--ellipsis-padding-right, 0);
|
|
587
588
|
}
|
|
588
589
|
|
|
589
590
|
.trunc-btn {
|
|
@@ -625,6 +626,13 @@ video {
|
|
|
625
626
|
font-weight: var(--ic-font-weight-bold);
|
|
626
627
|
}
|
|
627
628
|
|
|
629
|
+
:host(.in-ag-grid),
|
|
630
|
+
:host(.in-ag-grid) ::slotted(*) {
|
|
631
|
+
overflow: hidden;
|
|
632
|
+
text-overflow: ellipsis;
|
|
633
|
+
white-space: nowrap;
|
|
634
|
+
}
|
|
635
|
+
|
|
628
636
|
@supports (text-underline-offset: 25%) {
|
|
629
637
|
.trunc-btn:hover,
|
|
630
638
|
.trunc-btn.focus {
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import { h, Host } from "@stencil/core";
|
|
2
|
-
import { checkResizeObserver } from "../../utils/helpers";
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
|
2
|
+
import { checkResizeObserver, isElInAGGrid } from "../../utils/helpers";
|
|
3
3
|
export class Typography {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.focusBtnFromKeyboard = true;
|
|
6
|
+
this.inAGGrid = false;
|
|
6
7
|
this.lastMarkerTop = 0;
|
|
7
8
|
this.lastWidth = 0;
|
|
8
9
|
this.resizeObserver = null;
|
|
9
10
|
this.truncatedHeight = 0;
|
|
10
|
-
this.toggleExpanded = () => {
|
|
11
|
+
this.toggleExpanded = (ev) => {
|
|
12
|
+
ev.stopPropagation();
|
|
11
13
|
this.expanded = !this.expanded;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
}
|
|
14
|
+
this.typographyTruncationExpandToggle.emit({
|
|
15
|
+
expanded: this.expanded,
|
|
16
|
+
typographyEl: this.el,
|
|
17
|
+
});
|
|
21
18
|
};
|
|
22
19
|
this.checkMarkerPosition = (elTop, markerTop) => {
|
|
23
20
|
if (markerTop - elTop < this.truncatedHeight) {
|
|
@@ -85,6 +82,18 @@ export class Typography {
|
|
|
85
82
|
this.resizeObserver.disconnect();
|
|
86
83
|
}
|
|
87
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* @internal This is used by data table to remove all truncation in certain events
|
|
87
|
+
*/
|
|
88
|
+
async resetTruncation() {
|
|
89
|
+
if (this.truncated) {
|
|
90
|
+
this.truncated = false;
|
|
91
|
+
this.maxLines = 0;
|
|
92
|
+
this.el.removeAttribute("max-lines");
|
|
93
|
+
this.expanded = false;
|
|
94
|
+
this.el.removeAttribute("style");
|
|
95
|
+
}
|
|
96
|
+
}
|
|
88
97
|
componentDidLoad() {
|
|
89
98
|
var _a, _b;
|
|
90
99
|
if ((this.variant === "body" ||
|
|
@@ -100,6 +109,30 @@ export class Typography {
|
|
|
100
109
|
checkResizeObserver(this.runResizeObserver);
|
|
101
110
|
}
|
|
102
111
|
}
|
|
112
|
+
componentWillRender() {
|
|
113
|
+
if (isElInAGGrid(this.el)) {
|
|
114
|
+
this.inAGGrid = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines
|
|
119
|
+
* @param height - text container height
|
|
120
|
+
*/
|
|
121
|
+
async checkMaxLines(height) {
|
|
122
|
+
//24 is the height of a single line
|
|
123
|
+
const numLines = Math.floor(height / 24);
|
|
124
|
+
if (numLines > this.maxLines) {
|
|
125
|
+
this.el.setAttribute("style", `--truncation-max-lines: ${this.maxLines}`);
|
|
126
|
+
this.truncatedHeight = this.el.clientHeight;
|
|
127
|
+
this.truncated = true;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component
|
|
132
|
+
*/
|
|
133
|
+
async setShowHideExpanded(expanded) {
|
|
134
|
+
this.expanded = expanded;
|
|
135
|
+
}
|
|
103
136
|
render() {
|
|
104
137
|
var _a, _b;
|
|
105
138
|
const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, } = this;
|
|
@@ -110,6 +143,7 @@ export class Typography {
|
|
|
110
143
|
["italic"]: italic,
|
|
111
144
|
["strikethrough"]: strikethrough,
|
|
112
145
|
["underline"]: underline,
|
|
146
|
+
["in-ag-grid"]: this.inAGGrid,
|
|
113
147
|
} }, (variant === "body" ||
|
|
114
148
|
((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===
|
|
115
149
|
"IC-TOOLTIP") &&
|
|
@@ -185,7 +219,7 @@ export class Typography {
|
|
|
185
219
|
},
|
|
186
220
|
"maxLines": {
|
|
187
221
|
"type": "number",
|
|
188
|
-
"mutable":
|
|
222
|
+
"mutable": true,
|
|
189
223
|
"complexType": {
|
|
190
224
|
"original": "number",
|
|
191
225
|
"resolved": "number",
|
|
@@ -269,6 +303,107 @@ export class Typography {
|
|
|
269
303
|
"expanded": {}
|
|
270
304
|
};
|
|
271
305
|
}
|
|
306
|
+
static get events() {
|
|
307
|
+
return [{
|
|
308
|
+
"method": "typographyTruncationExpandToggle",
|
|
309
|
+
"name": "typographyTruncationExpandToggle",
|
|
310
|
+
"bubbles": true,
|
|
311
|
+
"cancelable": true,
|
|
312
|
+
"composed": true,
|
|
313
|
+
"docs": {
|
|
314
|
+
"tags": [{
|
|
315
|
+
"name": "internal",
|
|
316
|
+
"text": "Emits and event when the typography truncation button has been clicked."
|
|
317
|
+
}],
|
|
318
|
+
"text": ""
|
|
319
|
+
},
|
|
320
|
+
"complexType": {
|
|
321
|
+
"original": "{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }",
|
|
322
|
+
"resolved": "{ expanded: boolean; typographyEl: HTMLIcTypographyElement; }",
|
|
323
|
+
"references": {
|
|
324
|
+
"HTMLIcTypographyElement": {
|
|
325
|
+
"location": "global",
|
|
326
|
+
"id": "global::HTMLIcTypographyElement"
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}];
|
|
331
|
+
}
|
|
332
|
+
static get methods() {
|
|
333
|
+
return {
|
|
334
|
+
"resetTruncation": {
|
|
335
|
+
"complexType": {
|
|
336
|
+
"signature": "() => Promise<void>",
|
|
337
|
+
"parameters": [],
|
|
338
|
+
"references": {
|
|
339
|
+
"Promise": {
|
|
340
|
+
"location": "global",
|
|
341
|
+
"id": "global::Promise"
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"return": "Promise<void>"
|
|
345
|
+
},
|
|
346
|
+
"docs": {
|
|
347
|
+
"text": "",
|
|
348
|
+
"tags": [{
|
|
349
|
+
"name": "internal",
|
|
350
|
+
"text": "This is used by data table to remove all truncation in certain events"
|
|
351
|
+
}]
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
"checkMaxLines": {
|
|
355
|
+
"complexType": {
|
|
356
|
+
"signature": "(height: number) => Promise<void>",
|
|
357
|
+
"parameters": [{
|
|
358
|
+
"name": "height",
|
|
359
|
+
"type": "number",
|
|
360
|
+
"docs": "- text container height"
|
|
361
|
+
}],
|
|
362
|
+
"references": {
|
|
363
|
+
"Promise": {
|
|
364
|
+
"location": "global",
|
|
365
|
+
"id": "global::Promise"
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"return": "Promise<void>"
|
|
369
|
+
},
|
|
370
|
+
"docs": {
|
|
371
|
+
"text": "",
|
|
372
|
+
"tags": [{
|
|
373
|
+
"name": "internal",
|
|
374
|
+
"text": "This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines"
|
|
375
|
+
}, {
|
|
376
|
+
"name": "param",
|
|
377
|
+
"text": "height - text container height"
|
|
378
|
+
}]
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
"setShowHideExpanded": {
|
|
382
|
+
"complexType": {
|
|
383
|
+
"signature": "(expanded: boolean) => Promise<void>",
|
|
384
|
+
"parameters": [{
|
|
385
|
+
"name": "expanded",
|
|
386
|
+
"type": "boolean",
|
|
387
|
+
"docs": ""
|
|
388
|
+
}],
|
|
389
|
+
"references": {
|
|
390
|
+
"Promise": {
|
|
391
|
+
"location": "global",
|
|
392
|
+
"id": "global::Promise"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
"return": "Promise<void>"
|
|
396
|
+
},
|
|
397
|
+
"docs": {
|
|
398
|
+
"text": "",
|
|
399
|
+
"tags": [{
|
|
400
|
+
"name": "internal",
|
|
401
|
+
"text": "This method makes it possible to set the expanded status of truncated text outside of ic-typography component"
|
|
402
|
+
}]
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
}
|
|
272
407
|
static get elementRef() { return "el"; }
|
|
273
408
|
static get watchers() {
|
|
274
409
|
return [{
|