@ukic/web-components 2.32.1 → 2.34.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +8 -4
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-94b33ab0.js → helpers-6f6991cb.js} +17 -1
- package/dist/cjs/helpers-6f6991cb.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +8 -1
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +2 -9
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +18 -19
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +9 -4
- 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 +2 -12
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +18 -7
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +2 -9
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +13 -11
- 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-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +7 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +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 +5 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +5 -1
- 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 +2 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +5 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +5 -1
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +6 -2
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +5 -2
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +12 -7
- 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-group.cjs.entry.js +17 -0
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +9 -2
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +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/ic-accordion.js +10 -1
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -0
- package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
- package/dist/collection/components/ic-alert/ic-alert.js +3 -10
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +21 -3
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.js +2 -2
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
- package/dist/collection/components/ic-card/ic-card.js +22 -20
- package/dist/collection/components/ic-card/ic-card.js.map +1 -1
- package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +44 -3
- package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -1
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -0
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +3 -0
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
- package/dist/collection/components/ic-chip/ic-chip.js +27 -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 +3 -0
- package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +3 -13
- package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.js +18 -7
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +41 -0
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.js +3 -10
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +21 -3
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +16 -11
- 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 +30 -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-menu/ic-menu.css +4 -0
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +9 -0
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +13 -0
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js +6 -0
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +10 -0
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +6 -0
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
- package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +3 -0
- package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +1 -0
- 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 +6 -0
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +6 -0
- package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +6 -0
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +3 -0
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.js +6 -0
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +10 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.js +6 -0
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +3 -0
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +6 -0
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +16 -0
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +14 -7
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +3 -0
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +35 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
- package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +10 -0
- package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +45 -0
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
- package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +104 -0
- package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +4 -0
- package/dist/collection/testspec.setup.js +14 -0
- package/dist/collection/testspec.setup.js.map +1 -1
- package/dist/collection/utils/helpers.js +15 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +16 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion.js +9 -1
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert2.js +3 -10
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +22 -21
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +5 -0
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +5 -0
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +11 -4
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-empty-state.js +3 -13
- package/dist/components/ic-empty-state.js.map +1 -1
- package/dist/components/ic-footer.js +18 -7
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +3 -10
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +15 -11
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-menu-item2.js +9 -1
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +1 -1
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +6 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.js +5 -0
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-radio-group.js +1 -0
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +6 -1
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +6 -1
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +6 -1
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-stepper.js +1 -1
- package/dist/components/ic-switch.js +8 -3
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab.js +5 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +13 -7
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-toggle-button-group.js +21 -1
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +12 -2
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-top-navigation.js +2 -2
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/types.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-13ec2a00.entry.js → p-08478a4c.entry.js} +2 -2
- package/dist/core/p-12bac804.entry.js +2 -0
- package/dist/core/p-12bac804.entry.js.map +1 -0
- package/dist/core/{p-5ccd3703.entry.js → p-13b2c3a2.entry.js} +2 -2
- package/dist/core/{p-def5ba6b.entry.js → p-168a7440.entry.js} +2 -2
- package/dist/core/{p-9c9ba3cd.entry.js → p-193fc7d0.entry.js} +2 -2
- package/dist/core/{p-de0afa78.entry.js → p-1e4690f8.entry.js} +2 -2
- package/dist/core/p-1e4690f8.entry.js.map +1 -0
- package/dist/core/{p-2d930c9c.entry.js → p-1f6d36d5.entry.js} +2 -2
- package/dist/core/p-1f6d36d5.entry.js.map +1 -0
- package/dist/core/p-26b7b18f.js.map +1 -1
- package/dist/core/p-2a11be1e.entry.js +2 -0
- package/dist/core/p-2a11be1e.entry.js.map +1 -0
- package/dist/core/p-2cd1a601.entry.js +2 -0
- package/dist/core/p-2cd1a601.entry.js.map +1 -0
- package/dist/core/p-3ba915a5.entry.js +2 -0
- package/dist/core/p-3ba915a5.entry.js.map +1 -0
- package/dist/core/{p-78605899.entry.js → p-405d89bb.entry.js} +2 -2
- package/dist/core/{p-c1d5e7f2.entry.js → p-4c6dc1b2.entry.js} +2 -2
- package/dist/core/{p-85f30b1c.entry.js → p-51407872.entry.js} +2 -2
- package/dist/core/{p-9feec47e.entry.js → p-597c221c.entry.js} +2 -2
- package/dist/core/{p-223889da.entry.js → p-5d3c6ea1.entry.js} +2 -2
- package/dist/core/{p-0677ee1e.entry.js → p-65dc77ba.entry.js} +2 -2
- package/dist/core/p-65dc77ba.entry.js.map +1 -0
- package/dist/core/p-6beed7db.entry.js +2 -0
- package/dist/core/p-6beed7db.entry.js.map +1 -0
- package/dist/core/{p-60f7f555.entry.js → p-6d8dc552.entry.js} +2 -2
- package/dist/core/{p-230187a8.entry.js → p-72f292f2.entry.js} +2 -2
- package/dist/core/p-78f16b1a.entry.js +2 -0
- package/dist/core/p-78f16b1a.entry.js.map +1 -0
- package/dist/core/{p-96505636.entry.js → p-7b3a4b3f.entry.js} +2 -2
- package/dist/core/p-7b3a4b3f.entry.js.map +1 -0
- package/dist/core/{p-604e72ac.entry.js → p-7e8a4abd.entry.js} +2 -2
- package/dist/core/p-7f1594d9.entry.js +2 -0
- package/dist/core/p-7f1594d9.entry.js.map +1 -0
- package/dist/core/{p-2c587c73.entry.js → p-8dd2d3df.entry.js} +2 -2
- package/dist/core/p-90433147.entry.js +2 -0
- package/dist/core/p-90433147.entry.js.map +1 -0
- package/dist/core/{p-457a4c63.entry.js → p-915e5888.entry.js} +2 -2
- package/dist/core/p-915e5888.entry.js.map +1 -0
- package/dist/core/{p-02262e76.entry.js → p-91fab13d.entry.js} +2 -2
- package/dist/core/p-91fab13d.entry.js.map +1 -0
- package/dist/core/{p-3b4c9571.entry.js → p-922036e8.entry.js} +2 -2
- package/dist/core/p-922036e8.entry.js.map +1 -0
- package/dist/core/p-96e79d69.entry.js +2 -0
- package/dist/core/p-96e79d69.entry.js.map +1 -0
- package/dist/core/p-9a6790d8.entry.js +2 -0
- package/dist/core/p-9a6790d8.entry.js.map +1 -0
- package/dist/core/{p-dd9d8e68.entry.js → p-9ef08234.entry.js} +2 -2
- package/dist/core/{p-0a20131b.entry.js → p-a020afbd.entry.js} +2 -2
- package/dist/core/p-a020afbd.entry.js.map +1 -0
- package/dist/core/p-a141ea39.entry.js +2 -0
- package/dist/core/p-a141ea39.entry.js.map +1 -0
- package/dist/core/p-a438656d.entry.js +2 -0
- package/dist/core/p-a438656d.entry.js.map +1 -0
- package/dist/core/{p-dd4ef67f.entry.js → p-a9cea205.entry.js} +2 -2
- package/dist/core/{p-55b11f6f.entry.js → p-afa78488.entry.js} +2 -2
- package/dist/core/{p-69576aa0.entry.js → p-b21d5f94.entry.js} +2 -2
- package/dist/core/{p-570f1930.entry.js → p-b262eaff.entry.js} +2 -2
- package/dist/core/{p-d638d75d.entry.js → p-b60912a7.entry.js} +2 -2
- package/dist/core/p-b60912a7.entry.js.map +1 -0
- package/dist/core/{p-ea58ae1d.entry.js → p-b62735aa.entry.js} +2 -2
- package/dist/core/{p-c1a74ee4.entry.js → p-ba06cc95.entry.js} +2 -2
- package/dist/core/p-ba06cc95.entry.js.map +1 -0
- package/dist/core/{p-13a6e7ea.entry.js → p-ba884064.entry.js} +2 -2
- package/dist/core/{p-03f23a55.entry.js → p-bdaff5c9.entry.js} +2 -2
- package/dist/core/{p-e1def80b.entry.js → p-c939d07d.entry.js} +2 -2
- package/dist/core/p-d3344518.entry.js +2 -0
- package/dist/core/p-d3344518.entry.js.map +1 -0
- package/dist/core/{p-77d49138.entry.js → p-d375858e.entry.js} +2 -2
- package/dist/core/p-d41c847e.js +2 -0
- package/dist/core/p-d41c847e.js.map +1 -0
- package/dist/core/{p-5fad22f1.entry.js → p-dfb3e76e.entry.js} +2 -2
- package/dist/core/{p-4ef14601.entry.js → p-eae017ce.entry.js} +2 -2
- package/dist/core/{p-843ed766.entry.js → p-f3599009.entry.js} +2 -2
- package/dist/core/{p-0aed0cee.entry.js → p-f39741be.entry.js} +2 -2
- package/dist/core/{p-3af60dee.entry.js → p-f404b35e.entry.js} +2 -2
- package/dist/core/{p-22ef3303.entry.js → p-f4a29c16.entry.js} +2 -2
- package/dist/core/p-f4a29c16.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-3905ccc4.js → helpers-003f27c9.js} +17 -2
- package/dist/esm/helpers-003f27c9.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +8 -1
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +3 -10
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +19 -20
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +5 -1
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +5 -1
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +9 -4
- 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 +3 -13
- package/dist/esm/ic-empty-state.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +18 -7
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +3 -10
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +14 -12
- 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-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +7 -1
- package/dist/esm/ic-menu-item.entry.js.map +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 +5 -1
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +5 -1
- 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 +2 -1
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +5 -1
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +5 -1
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +5 -1
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +6 -2
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +5 -2
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +12 -7
- 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-group.entry.js +17 -0
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +9 -2
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +2 -2
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/types-6f6b41a5.js.map +1 -1
- package/dist/types/components/ic-accordion/ic-accordion.d.ts +2 -0
- package/dist/types/components/ic-alert/ic-alert.d.ts +0 -1
- package/dist/types/components/ic-button/ic-button.d.ts +2 -2
- package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
- package/dist/types/components/ic-card/ic-card.d.ts +1 -1
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -0
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
- package/dist/types/components/ic-chip/ic-chip.d.ts +5 -0
- package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +0 -1
- package/dist/types/components/ic-footer/ic-footer.d.ts +1 -0
- package/dist/types/components/ic-hero/ic-hero.d.ts +0 -1
- package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -1
- package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +1 -0
- package/dist/types/components/ic-pagination/ic-pagination.d.ts +1 -0
- package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +1 -0
- package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -0
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -0
- package/dist/types/components/ic-select/ic-select.d.ts +1 -0
- package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
- package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -0
- package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +6 -1
- package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +7 -1
- package/dist/types/components.d.ts +28 -4
- package/dist/types/testspec.setup.d.ts +9 -0
- package/dist/types/utils/helpers.d.ts +6 -0
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +158 -64
- package/package.json +4 -9
- package/vscode-data.json +40 -0
- package/dist/cjs/helpers-94b33ab0.js.map +0 -1
- package/dist/core/p-02262e76.entry.js.map +0 -1
- package/dist/core/p-0677ee1e.entry.js.map +0 -1
- package/dist/core/p-07514ea0.entry.js +0 -2
- package/dist/core/p-07514ea0.entry.js.map +0 -1
- package/dist/core/p-0a20131b.entry.js.map +0 -1
- package/dist/core/p-1d6e6ebe.entry.js +0 -2
- package/dist/core/p-1d6e6ebe.entry.js.map +0 -1
- package/dist/core/p-22ef3303.entry.js.map +0 -1
- package/dist/core/p-2889cc17.entry.js +0 -2
- package/dist/core/p-2889cc17.entry.js.map +0 -1
- package/dist/core/p-2d930c9c.entry.js.map +0 -1
- package/dist/core/p-3b4c9571.entry.js.map +0 -1
- package/dist/core/p-457a4c63.entry.js.map +0 -1
- package/dist/core/p-7591805d.entry.js +0 -2
- package/dist/core/p-7591805d.entry.js.map +0 -1
- package/dist/core/p-81deed36.entry.js +0 -2
- package/dist/core/p-81deed36.entry.js.map +0 -1
- package/dist/core/p-8c325d9b.entry.js +0 -2
- package/dist/core/p-8c325d9b.entry.js.map +0 -1
- package/dist/core/p-96505636.entry.js.map +0 -1
- package/dist/core/p-b1879a44.entry.js +0 -2
- package/dist/core/p-b1879a44.entry.js.map +0 -1
- package/dist/core/p-be5d5f93.entry.js +0 -2
- package/dist/core/p-be5d5f93.entry.js.map +0 -1
- package/dist/core/p-c1a74ee4.entry.js.map +0 -1
- package/dist/core/p-cd61c238.entry.js +0 -2
- package/dist/core/p-cd61c238.entry.js.map +0 -1
- package/dist/core/p-cdf6e902.entry.js +0 -2
- package/dist/core/p-cdf6e902.entry.js.map +0 -1
- package/dist/core/p-d638d75d.entry.js.map +0 -1
- package/dist/core/p-da5098db.entry.js +0 -2
- package/dist/core/p-da5098db.entry.js.map +0 -1
- package/dist/core/p-dbc0f5da.entry.js +0 -2
- package/dist/core/p-dbc0f5da.entry.js.map +0 -1
- package/dist/core/p-de0afa78.entry.js.map +0 -1
- package/dist/core/p-ee1c9f20.entry.js +0 -2
- package/dist/core/p-ee1c9f20.entry.js.map +0 -1
- package/dist/core/p-fef9e8c9.js +0 -2
- package/dist/core/p-fef9e8c9.js.map +0 -1
- package/dist/esm/helpers-3905ccc4.js.map +0 -1
- /package/dist/core/{p-13ec2a00.entry.js.map → p-08478a4c.entry.js.map} +0 -0
- /package/dist/core/{p-5ccd3703.entry.js.map → p-13b2c3a2.entry.js.map} +0 -0
- /package/dist/core/{p-def5ba6b.entry.js.map → p-168a7440.entry.js.map} +0 -0
- /package/dist/core/{p-9c9ba3cd.entry.js.map → p-193fc7d0.entry.js.map} +0 -0
- /package/dist/core/{p-78605899.entry.js.map → p-405d89bb.entry.js.map} +0 -0
- /package/dist/core/{p-c1d5e7f2.entry.js.map → p-4c6dc1b2.entry.js.map} +0 -0
- /package/dist/core/{p-85f30b1c.entry.js.map → p-51407872.entry.js.map} +0 -0
- /package/dist/core/{p-9feec47e.entry.js.map → p-597c221c.entry.js.map} +0 -0
- /package/dist/core/{p-223889da.entry.js.map → p-5d3c6ea1.entry.js.map} +0 -0
- /package/dist/core/{p-60f7f555.entry.js.map → p-6d8dc552.entry.js.map} +0 -0
- /package/dist/core/{p-230187a8.entry.js.map → p-72f292f2.entry.js.map} +0 -0
- /package/dist/core/{p-604e72ac.entry.js.map → p-7e8a4abd.entry.js.map} +0 -0
- /package/dist/core/{p-2c587c73.entry.js.map → p-8dd2d3df.entry.js.map} +0 -0
- /package/dist/core/{p-dd9d8e68.entry.js.map → p-9ef08234.entry.js.map} +0 -0
- /package/dist/core/{p-dd4ef67f.entry.js.map → p-a9cea205.entry.js.map} +0 -0
- /package/dist/core/{p-55b11f6f.entry.js.map → p-afa78488.entry.js.map} +0 -0
- /package/dist/core/{p-69576aa0.entry.js.map → p-b21d5f94.entry.js.map} +0 -0
- /package/dist/core/{p-570f1930.entry.js.map → p-b262eaff.entry.js.map} +0 -0
- /package/dist/core/{p-ea58ae1d.entry.js.map → p-b62735aa.entry.js.map} +0 -0
- /package/dist/core/{p-13a6e7ea.entry.js.map → p-ba884064.entry.js.map} +0 -0
- /package/dist/core/{p-03f23a55.entry.js.map → p-bdaff5c9.entry.js.map} +0 -0
- /package/dist/core/{p-e1def80b.entry.js.map → p-c939d07d.entry.js.map} +0 -0
- /package/dist/core/{p-77d49138.entry.js.map → p-d375858e.entry.js.map} +0 -0
- /package/dist/core/{p-5fad22f1.entry.js.map → p-dfb3e76e.entry.js.map} +0 -0
- /package/dist/core/{p-4ef14601.entry.js.map → p-eae017ce.entry.js.map} +0 -0
- /package/dist/core/{p-843ed766.entry.js.map → p-f3599009.entry.js.map} +0 -0
- /package/dist/core/{p-0aed0cee.entry.js.map → p-f39741be.entry.js.map} +0 -0
- /package/dist/core/{p-3af60dee.entry.js.map → p-f404b35e.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,c as t,h as i,g as o}from"./p-6b5e91e2.js";import{
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as t,h as i,g as o}from"./p-6b5e91e2.js";import{r as a,O as r}from"./p-d41c847e.js";import"./p-26b7b18f.js";const n='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}a{text-align:center}.item-container{display:flex;justify-content:center;align-items:center;width:calc(var(--ic-space-xl) + var(--ic-space-sm));height:var(--ic-space-xl);margin:var(--ic-space-xxs) var(--ic-space-xxxs);cursor:pointer;text-decoration:none}button{background:none;border:none;outline:inherit;position:relative}.ellipsis{pointer-events:none;color:var(--ic-color-secondary-text)}.item-container:focus{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.page{color:var(--ic-action-default)}.simple-current{min-width:calc(var(--ic-space-xxl) + var(--ic-space-md));height:var(--ic-space-lg);cursor:default}.item-container.page:hover:not(.selected):not(:focus){border-radius:var(--ic-border-radius);background-color:var(--ic-action-default-bg-hover)}.item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-action-default-bg-active)}.selected{pointer-events:none;outline:none}.selected::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-default)}.page-selected{color:var(--ic-color-primary-text)}.item-container.page.light:hover:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-hover)}.item-container.page.light:active:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-active)}ic-typography.light{color:var(--ic-color-white-text)}.selected.light::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-light)}.item-container.page.dark:hover:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-hover)}.item-container.page.dark:active:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-active)}ic-typography.dark{color:var(--ic-color-primary-text)}.selected.dark::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-dark)}.disabled{color:var(--ic-architectural-200);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (forced-colors: active){.selected::after{background-color:Highlight}.selected.light::after{background-color:Highlight}.selected.dark::after{background-color:Highlight}.disabled{color:GrayText}}';const c=class{constructor(i){e(this,i);this.paginationItemClick=t(this,"paginationItemClick",7);this.handleClick=()=>{this.paginationItemClick.emit({page:this.page})};this.capitalizedLabel=undefined;this.appearance="default";this.disabled=false;this.label="Page";this.page=undefined;this.selected=false;this.type=undefined}watchDisabledHandler(){a(this.disabled,this.el)}watchLabelHandler(){this.capitalizedLabel=r(this.label)}componentWillLoad(){this.watchLabelHandler();a(this.disabled,this.el)}render(){const{page:e,selected:t,type:o,disabled:a,appearance:r,label:n,capitalizedLabel:c}=this;return i("a",null,o==="ellipsis"?i("div",{class:{["item-container"]:true,["ellipsis"]:true,["disabled"]:a}},i("ic-typography",{class:{[`${r}`]:true},variant:"label"},"...")):o==="page"?i("button",{disabled:a,onClick:this.handleClick,tabindex:t?"-1":"0",role:"button","aria-current":t&&"page","aria-label":t?`${n}: ${e}`:`Go to ${n} ${e}`,class:{["selected"]:!a&&t,["disabled"]:a,["item-container"]:true,[`${r}`]:true,["page"]:o==="page"}},i("ic-typography",{variant:"label",class:{["page-selected"]:t,["disabled"]:a,[`${r}`]:true}},e)):i("ic-typography",{"aria-live":"polite",class:{[`simple-current ${r}`]:true,["disabled"]:a},variant:"label"},c," ",e))}get el(){return o(this)}static get watchers(){return{disabled:["watchDisabledHandler"],label:["watchLabelHandler"]}}};c.style=n;export{c as ic_pagination_item};
|
2
|
+
//# sourceMappingURL=p-91fab13d.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icPaginationItemCss","PaginationItem","this","handleClick","paginationItemClick","emit","page","watchDisabledHandler","removeDisabledFalse","disabled","el","watchLabelHandler","capitalizedLabel","capitalize","label","componentWillLoad","render","selected","type","appearance","h","class","variant","onClick","tabindex","role"],"sources":["src/components/ic-pagination-item/ic-pagination-item.css?tag=ic-pagination-item&encapsulation=shadow","src/components/ic-pagination-item/ic-pagination-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\na {\n text-align: center;\n}\n\n.item-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: calc(var(--ic-space-xl) + var(--ic-space-sm));\n height: var(--ic-space-xl);\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n cursor: pointer;\n text-decoration: none;\n}\n\nbutton {\n background: none;\n border: none;\n outline: inherit;\n position: relative;\n}\n\n.ellipsis {\n pointer-events: none;\n color: var(--ic-color-secondary-text);\n}\n\n.item-container:focus {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.page {\n color: var(--ic-action-default);\n}\n\n.simple-current {\n min-width: calc(var(--ic-space-xxl) + var(--ic-space-md));\n height: var(--ic-space-lg);\n cursor: default;\n}\n\n/** DEFAULT STATES **/\n.item-container.page:hover:not(.selected):not(:focus) {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-action-default-bg-hover);\n}\n\n.item-container.page:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-default-bg-active);\n}\n\n.selected {\n pointer-events: none;\n outline: none;\n}\n\n.selected::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-default);\n}\n\n.page-selected {\n color: var(--ic-color-primary-text);\n}\n\n/** LIGHT STATES **/\n.item-container.page.light:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-hover);\n}\n\n.item-container.page.light:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-active);\n}\n\nic-typography.light {\n color: var(--ic-color-white-text);\n}\n\n.selected.light::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-light);\n}\n\n/** DARK STATES **/\n.item-container.page.dark:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.item-container.page.dark:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\nic-typography.dark {\n color: var(--ic-color-primary-text);\n}\n\n.selected.dark::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-dark);\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n@media (forced-colors: active) {\n .selected::after {\n background-color: Highlight;\n }\n\n .selected.light::after {\n background-color: Highlight;\n }\n\n .selected.dark::after {\n background-color: Highlight;\n }\n\n .disabled {\n color: GrayText;\n }\n}\n","import {\n Component,\n Prop,\n State,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeForeground } from \"../../utils/types\";\nimport { removeDisabledFalse, capitalize } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n @State() capitalizedLabel: string;\n\n /**\n * The appearance of the pagination, e.g. dark, light or the default.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label: string = \"Page\";\n\n @Watch(\"label\")\n watchLabelHandler(): void {\n this.capitalizedLabel = capitalize(this.label);\n }\n\n /**\n * The current page number.\n */\n @Prop() page: number | null;\n\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\n\n /**\n * The type of pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number }>;\n\n componentWillLoad(): void {\n this.watchLabelHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n appearance,\n label,\n capitalizedLabel,\n } = this;\n\n return (\n <a>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: disabled,\n }}\n >\n <ic-typography\n class={{\n [`${appearance}`]: true,\n }}\n variant=\"label\"\n >\n ...\n </ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"page\"}\n aria-label={\n selected ? `${label}: ${page}` : `Go to ${label} ${page}`\n }\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: disabled,\n [\"item-container\"]: true,\n [`${appearance}`]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: disabled,\n [`${appearance}`]: true,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n class={{\n [`simple-current ${appearance}`]: true,\n [\"disabled\"]: disabled,\n }}\n variant=\"label\"\n >\n {capitalizedLabel} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAsB,kpJ,MCmBfC,EAAc,M,kFAsDjBC,KAAAC,YAAc,KACpBD,KAAKE,oBAAoBC,KAAK,CAAEC,KAAMJ,KAAKI,MAAO,E,gDA/CZ,U,cAKZ,M,WASJ,O,kCAeI,M,oBAtB5B,oBAAAC,GACEC,EAAoBN,KAAKO,SAAUP,KAAKQ,G,CAS1C,iBAAAC,GACET,KAAKU,iBAAmBC,EAAWX,KAAKY,M,CAuB1C,iBAAAC,GACEb,KAAKS,oBACLH,EAAoBN,KAAKO,SAAUP,KAAKQ,G,CAO1C,MAAAM,GACE,MAAMV,KACJA,EAAIW,SACJA,EAAQC,KACRA,EAAIT,SACJA,EAAQU,WACRA,EAAUL,MACVA,EAAKF,iBACLA,GACEV,KAEJ,OACEkB,EAAA,SACGF,IAAS,WACRE,EAAA,OACEC,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,YAAa,KACd,CAAC,YAAaZ,IAGhBW,EAAA,iBACEC,MAAO,CACL,CAAC,GAAGF,KAAe,MAErBG,QAAQ,SAAO,QAKjBJ,IAAS,OACXE,EAAA,UACEX,SAAUA,EACVc,QAASrB,KAAKC,YACdqB,SAAUP,EAAW,KAAO,IAC5BQ,KAAK,SAAQ,eACCR,GAAY,OAAM,aAE9BA,EAAW,GAAGH,MAAUR,IAAS,SAASQ,KAASR,IAErDe,MAAO,CACL,CAAC,aAAcZ,GAAYQ,EAC3B,CAAC,YAAaR,EACd,CAAC,kBAAmB,KACpB,CAAC,GAAGU,KAAe,KACnB,CAAC,QAASD,IAAS,SAGrBE,EAAA,iBACEE,QAAQ,QACRD,MAAO,CACL,CAAC,iBAAkBJ,EACnB,CAAC,YAAaR,EACd,CAAC,GAAGU,KAAe,OAGpBb,IAILc,EAAA,6BACY,SACVC,MAAO,CACL,CAAC,kBAAkBF,KAAe,KAClC,CAAC,YAAaV,GAEhBa,QAAQ,SAEPV,EAAgB,IAAGN,G"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,c as i,h as t,H as a,g as o}from"./p-6b5e91e2.js";import{n as r,i as c,m as n,k as s,a as d,d as l}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex;flex-direction:column;width:-moz-fit-content;width:fit-content}:host([additional-field-display="static"]) ::slotted(ic-text-field){margin-top:calc(var(--ic-space-sm) / 2);margin-left:var(--ic-space-xl)}:host(.disabled){color:var(--ic-architectural-200)}.container input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus)}.container{display:grid;grid-template-columns:min-content auto;position:relative;cursor:pointer;align-items:center;margin:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs)}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-architectural-white);border:var(--ic-border-default);border-radius:50%;transition:var(--ic-easing-transition-fast);box-sizing:border-box}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{background-color:var(--ic-action-default-bg-hover-no-alpha);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-hover);border:var(--ic-border-width) solid var(--ic-action-default)}.container:active input~.checkmark{background-color:var(--ic-action-default-bg-active-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark{background-color:var(--ic-action-default-bg-active);border:0.125rem solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark::after{background-color:var(--ic-action-default-active)}.container input:checked~.checkmark{border:0.125rem solid var(--ic-action-default)}.container input:checked:disabled~.checkmark{background-color:var(--ic-architectural-white);border:0.125rem solid var(--ic-architectural-200)}.container input:disabled~.checkmark{border:var(--ic-border-width) dashed var(--ic-architectural-200)}.container input:disabled~.checkmark::after{background:var(--ic-architectural-200)}.container:hover input:disabled~.checkmark{background-color:var(--ic-architectural-white);box-shadow:none;border:0.125rem solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-architectural-200)}.container .checkmark::after{content:"";position:absolute;display:none;top:calc(50% - var(--ic-space-xs));left:calc(50% - var(--ic-space-xs));width:var(--ic-space-md);height:var(--ic-space-md);border-radius:50%;background:var(--ic-action-default)}.radio-label{margin-left:var(--ic-space-md)}.additional-field-wrapper{margin-left:var(--ic-space-xs)}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-action-default);border-left:0.125rem solid var(--ic-action-default);margin-left:calc(-1 * var(--ic-space-1px))}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-action-default);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.container input:checked~.checkmark,.container:active input:checked~.checkmark{border-color:Highlight}.container input:checked~.checkmark::after,.container:active input:checked~.checkmark::after{background-color:Highlight}.container input:disabled~.checkmark,.container input:checked:disabled~.checkmark{border-color:GrayText}.container input:disabled~.checkmark::after,.container:active input:disabled~.checkmark::after{background-color:GrayText}}';const p="additional-field";const u="ic-text-field";const b=class{constructor(t){e(this,t);this.icCheck=i(this,"icCheck",7);this.radioOptionSelect=i(this,"radioOptionSelect",7);this.icSelectedChange=i(this,"icSelectedChange",7);this.defaultRadioValue="";this.hasAdditionalField=false;this.skipFocus=false;this.handleClick=()=>{if(!this.disabled){if(this.skipFocus===false){this.radioElement.focus()}this.skipFocus=false;if(this.hasAdditionalField){this.value=this.el.querySelector(u).value||this.defaultRadioValue}this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}};this.swallowClick=e=>{e.stopPropagation()};this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected};this.additionalFieldDisplay="static";this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.groupLabel=undefined;this.label=undefined;this.name=undefined;this.value=undefined;this.selected=false;this.initiallySelected=this.selected}watchSelectedHandler(){this.icSelectedChange.emit()}disconnectedCallback(){r(this.el,this.handleFormReset)}componentWillLoad(){if(c(this.el,p)){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}this.defaultRadioValue=this.value;n(this.el,this.handleFormReset);s(this.disabled,this.el)}componentDidLoad(){d([{prop:this.value,propName:"value"}],"Radio Option")}componentWillRender(){const e=c(this.el,p);if(e&&!this.hasAdditionalField){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}else if(!e&&this.hasAdditionalField){this.hasAdditionalField=false}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector(u);if(!this.selected||this.disabled){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}}textfieldValueHandler(e){if(this.selected){this.value=e.detail.value||this.defaultRadioValue;this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}e.stopImmediatePropagation()}async setFocus(){var e;(e=this.radioElement)===null||e===void 0?void 0:e.focus()}async setTabIndex(e){this.radioElement.tabIndex=e}render(){const{additionalFieldDisplay:e,disabled:i,dynamicText:o,form:r,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h,groupLabel:u,handleClick:b,hasAdditionalField:m,label:f,name:v,selected:k,swallowClick:g,value:y}=this;const x=`ic-radio-option-${l(f)||y}-${u}`;return t(a,{onClick:b,class:{disabled:i}},t("div",{class:{["container"]:true,disabled:i}},t("div",null,t("input",{role:"radio",tabindex:k?"0":"-1",type:"radio",name:v,id:x,value:y,disabled:i?true:null,checked:k,ref:e=>this.radioElement=e,form:r,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h}),t("span",{class:"checkmark"})),t("ic-typography",{class:"radio-label",variant:"body"},t("label",{htmlFor:x},f))),m&&t("div",{onClick:g,class:{"dynamic-container":true,hidden:e==="dynamic"&&!k}},e==="dynamic"&&t("div",{class:"branch-corner"}),t("div",null,e==="dynamic"&&t("ic-typography",{variant:"caption"},t("p",{class:"dynamic-text"},o)),t("div",{class:{"additional-field-wrapper":e==="static"}},t("slot",{name:p})))))}static get delegatesFocus(){return true}get el(){return o(this)}static get watchers(){return{selected:["watchSelectedHandler"]}}};b.style=h;export{b as ic_radio_option};
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as i,h as t,H as a,g as r}from"./p-6b5e91e2.js";import{r as o,n as c,i as n,m as s,a as d,e as l}from"./p-d41c847e.js";import"./p-26b7b18f.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex;flex-direction:column;width:-moz-fit-content;width:fit-content}:host([additional-field-display="static"]) ::slotted(ic-text-field){margin-top:calc(var(--ic-space-sm) / 2);margin-left:var(--ic-space-xl)}:host(.disabled){color:var(--ic-architectural-200)}.container input:focus+span.checkmark,:host(:focus) .container input:checked+span.checkmark{box-shadow:var(--ic-border-focus)}.container{display:grid;grid-template-columns:min-content auto;position:relative;cursor:pointer;align-items:center;margin:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs)}.container.disabled,.container.disabled input:disabled{cursor:default}.container input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;position:absolute;cursor:pointer;height:var(--ic-space-lg);width:var(--ic-space-lg);border-radius:50%;border:none}.checkmark{display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-architectural-white);border:var(--ic-border-default);border-radius:50%;transition:var(--ic-easing-transition-fast);box-sizing:border-box}.container input:checked~.checkmark::after{display:inline-block}.container:hover input~.checkmark{background-color:var(--ic-action-default-bg-hover-no-alpha);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-hover);border:var(--ic-border-width) solid var(--ic-action-default)}.container:active input~.checkmark{background-color:var(--ic-action-default-bg-active-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark{background-color:var(--ic-action-default-bg-active);border:0.125rem solid var(--ic-action-default-active);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active)}.container:active input:checked~.checkmark::after{background-color:var(--ic-action-default-active)}.container input:checked~.checkmark{border:0.125rem solid var(--ic-action-default)}.container input:checked:disabled~.checkmark{background-color:var(--ic-architectural-white);border:0.125rem solid var(--ic-architectural-200)}.container input:disabled~.checkmark{border:var(--ic-border-width) dashed var(--ic-architectural-200)}.container input:disabled~.checkmark::after{background:var(--ic-architectural-200)}.container:hover input:disabled~.checkmark{background-color:var(--ic-architectural-white);box-shadow:none;border:0.125rem solid none}.container:active input:disabled~.checkmark::after{background-color:var(--ic-architectural-200)}.container .checkmark::after{content:"";position:absolute;display:none;top:calc(50% - var(--ic-space-xs));left:calc(50% - var(--ic-space-xs));width:var(--ic-space-md);height:var(--ic-space-md);border-radius:50%;background:var(--ic-action-default)}.radio-label{margin-left:var(--ic-space-md)}.additional-field-wrapper{margin-left:var(--ic-space-xs)}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-action-default);border-left:0.125rem solid var(--ic-action-default);margin-left:calc(-1 * var(--ic-space-1px))}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-container.hidden{display:none}.dynamic-text{color:var(--ic-action-default);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.container input:checked~.checkmark,.container:active input:checked~.checkmark{border-color:Highlight}.container input:checked~.checkmark::after,.container:active input:checked~.checkmark::after{background-color:Highlight}.container input:disabled~.checkmark,.container input:checked:disabled~.checkmark{border-color:GrayText}.container input:disabled~.checkmark::after,.container:active input:disabled~.checkmark::after{background-color:GrayText}}';const p="additional-field";const u="ic-text-field";const b=class{constructor(t){e(this,t);this.icCheck=i(this,"icCheck",7);this.radioOptionSelect=i(this,"radioOptionSelect",7);this.icSelectedChange=i(this,"icSelectedChange",7);this.defaultRadioValue="";this.hasAdditionalField=false;this.skipFocus=false;this.handleClick=()=>{if(!this.disabled){if(this.skipFocus===false){this.radioElement.focus()}this.skipFocus=false;if(this.hasAdditionalField){this.value=this.el.querySelector(u).value||this.defaultRadioValue}this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}};this.swallowClick=e=>{e.stopPropagation()};this.handleFormReset=()=>{this.skipFocus=true;this.selected=this.initiallySelected};this.additionalFieldDisplay="static";this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.groupLabel=undefined;this.label=undefined;this.name=undefined;this.value=undefined;this.selected=false;this.initiallySelected=this.selected}watchDisabledHandler(){o(this.disabled,this.el)}watchSelectedHandler(){this.icSelectedChange.emit()}disconnectedCallback(){c(this.el,this.handleFormReset)}componentWillLoad(){if(n(this.el,p)){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}this.defaultRadioValue=this.value;s(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){d([{prop:this.value,propName:"value"}],"Radio Option")}componentWillRender(){const e=n(this.el,p);if(e&&!this.hasAdditionalField){this.hasAdditionalField=true;const e=this.el.querySelector(u);if(e)e.hiddenInput=false}else if(!e&&this.hasAdditionalField){this.hasAdditionalField=false}}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector(u);if(!this.selected||this.disabled){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}}textfieldValueHandler(e){if(this.selected){this.value=e.detail.value||this.defaultRadioValue;this.icCheck.emit({value:this.value});this.radioOptionSelect.emit({value:this.value})}e.stopImmediatePropagation()}async setFocus(){var e;(e=this.radioElement)===null||e===void 0?void 0:e.focus()}async setTabIndex(e){this.radioElement.tabIndex=e}render(){const{additionalFieldDisplay:e,disabled:i,dynamicText:r,form:o,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h,groupLabel:u,handleClick:b,hasAdditionalField:m,label:f,name:v,selected:k,swallowClick:g,value:y}=this;const x=`ic-radio-option-${l(f)||y}-${u}`;return t(a,{onClick:b,class:{disabled:i}},t("div",{class:{["container"]:true,disabled:i}},t("div",null,t("input",{role:"radio",tabindex:k?"0":"-1",type:"radio",name:v,id:x,value:y,disabled:i?true:null,checked:k,ref:e=>this.radioElement=e,form:o,formaction:c,formenctype:n,formmethod:s,formnovalidate:d,formtarget:h}),t("span",{class:"checkmark"})),t("ic-typography",{class:"radio-label",variant:"body"},t("label",{htmlFor:x},f))),m&&t("div",{onClick:g,class:{"dynamic-container":true,hidden:e==="dynamic"&&!k}},e==="dynamic"&&t("div",{class:"branch-corner"}),t("div",null,e==="dynamic"&&t("ic-typography",{variant:"caption"},t("p",{class:"dynamic-text"},r)),t("div",{class:{"additional-field-wrapper":e==="static"}},t("slot",{name:p})))))}static get delegatesFocus(){return true}get el(){return r(this)}static get watchers(){return{disabled:["watchDisabledHandler"],selected:["watchSelectedHandler"]}}};b.style=h;export{b as ic_radio_option};
|
2
|
+
//# sourceMappingURL=p-922036e8.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icRadioOptionCss","ADDITIONAL_FIELD","TEXT_FIELD_SELECTOR","RadioOption","this","defaultRadioValue","hasAdditionalField","skipFocus","handleClick","disabled","radioElement","focus","value","el","querySelector","icCheck","emit","radioOptionSelect","swallowClick","event","stopPropagation","handleFormReset","selected","initiallySelected","watchDisabledHandler","removeDisabledFalse","watchSelectedHandler","icSelectedChange","disconnectedCallback","removeFormResetListener","componentWillLoad","isSlotUsed","textField","hiddenInput","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentWillRender","hasSlot","componentDidRender","additionalFieldDisplay","textfield","setAttribute","removeAttribute","textfieldValueHandler","detail","stopImmediatePropagation","setFocus","_a","setTabIndex","tabIndex","render","dynamicText","form","formaction","formenctype","formmethod","formnovalidate","formtarget","groupLabel","label","name","id","isPropDefined","h","Host","onClick","class","role","tabindex","type","checked","ref","variant","htmlFor","hidden"],"sources":["src/components/ic-radio-option/ic-radio-option.css?tag=ic-radio-option&encapsulation=shadow","src/components/ic-radio-option/ic-radio-option.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n flex-direction: column;\n width: fit-content;\n}\n\n:host([additional-field-display=\"static\"]) ::slotted(ic-text-field) {\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-left: var(--ic-space-xl);\n}\n\n/* The label turns grey when disabled */\n:host(.disabled) {\n color: var(--ic-architectural-200);\n}\n\n/* Focus states */\n\n.container input:focus + span.checkmark,\n:host(:focus) .container input:checked + span.checkmark {\n box-shadow: var(--ic-border-focus);\n}\n\n/* The container */\n.container {\n display: grid;\n grid-template-columns: min-content auto;\n position: relative;\n cursor: pointer;\n align-items: center;\n margin: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n}\n\n.container.disabled,\n.container.disabled input:disabled {\n cursor: default;\n}\n\n/* Hide the browser's default radio button */\n.container input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: inline-block;\n position: absolute;\n cursor: pointer;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n border-radius: 50%;\n border: none;\n}\n\n/* Create a custom radio button */\n.checkmark {\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-default);\n border-radius: 50%;\n transition: var(--ic-easing-transition-fast);\n box-sizing: border-box;\n}\n\n/* Show the indicator (dot/circle) when checked */\n.container input:checked ~ .checkmark::after {\n display: inline-block;\n}\n\n/* On mouse-over, add a light blue background color */\n.container:hover input ~ .checkmark {\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-hover);\n border: var(--ic-border-width) solid var(--ic-action-default);\n}\n\n/* When pressed, adds the active colours */\n.container:active input ~ .checkmark {\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: var(--ic-border-width) solid var(--ic-action-default-active);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n}\n\n/* When pressed, adds the active colours */\n.container:active input:checked ~ .checkmark {\n background-color: var(--ic-action-default-bg-active);\n border: 0.125rem solid var(--ic-action-default-active);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n}\n\n/* When pressed and selected, adds the active colours */\n.container:active input:checked ~ .checkmark::after {\n background-color: var(--ic-action-default-active);\n}\n\n/* When the radio button is checked */\n.container input:checked ~ .checkmark {\n border: 0.125rem solid var(--ic-action-default);\n}\n\n/* When the radio button is checked and disabled */\n.container input:checked:disabled ~ .checkmark {\n background-color: var(--ic-architectural-white);\n border: 0.125rem solid var(--ic-architectural-200);\n}\n\n/* When the radio button is disabled */\n.container input:disabled ~ .checkmark {\n border: var(--ic-border-width) dashed var(--ic-architectural-200);\n}\n\n/* When the radio button is disabled */\n.container input:disabled ~ .checkmark::after {\n background: var(--ic-architectural-200);\n}\n\n/* On mouse-over inactive */\n.container:hover input:disabled ~ .checkmark {\n background-color: var(--ic-architectural-white);\n box-shadow: none;\n border: 0.125rem solid none;\n}\n\n.container:active input:disabled ~ .checkmark::after {\n background-color: var(--ic-architectural-200);\n}\n\n/* Style the indicator (dot/circle) */\n.container .checkmark::after {\n content: \"\";\n position: absolute;\n display: none;\n top: calc(50% - var(--ic-space-xs));\n left: calc(50% - var(--ic-space-xs));\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n border-radius: 50%;\n background: var(--ic-action-default);\n}\n\n.radio-label {\n margin-left: var(--ic-space-md);\n}\n\n.additional-field-wrapper {\n margin-left: var(--ic-space-xs);\n}\n\n/* The line */\n.branch-corner {\n color: var(--ic-action-default);\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-action-default);\n border-left: 0.125rem solid var(--ic-action-default);\n margin-left: calc(-1 * var(--ic-space-1px));\n}\n\n/* The dynamic container */\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-container.hidden {\n display: none;\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n\n .container input:checked ~ .checkmark,\n .container:active input:checked ~ .checkmark {\n border-color: Highlight;\n }\n\n .container input:checked ~ .checkmark::after,\n .container:active input:checked ~ .checkmark::after {\n background-color: Highlight;\n }\n\n .container input:disabled ~ .checkmark,\n .container input:checked:disabled ~ .checkmark {\n border-color: GrayText;\n }\n\n .container input:disabled ~ .checkmark::after,\n .container:active input:disabled ~ .checkmark::after {\n background-color: GrayText;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Listen,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes, IcValueEventDetail } from \"../../utils/types\";\nimport {\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\n\nconst ADDITIONAL_FIELD = \"additional-field\";\nconst TEXT_FIELD_SELECTOR = \"ic-text-field\";\n\n/**\n * @slot additional-field - Content to displayed alongside a radio option.\n */\n@Component({\n tag: \"ic-radio-option\",\n styleUrl: \"ic-radio-option.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class RadioOption {\n private defaultRadioValue: string = \"\";\n private hasAdditionalField: boolean = false;\n private radioElement: HTMLInputElement;\n private skipFocus = false;\n\n @Element() el: HTMLIcRadioOptionElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the radio with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the radio. It overrides the action attribute of the radio's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the radio's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * The group label for the radio option.\n */\n @Prop() groupLabel: string;\n\n /**\n * The label for the radio option.\n */\n @Prop() label?: string;\n\n /**\n * The name for the radio option.\n */\n @Prop() name: string;\n\n /**\n * The value for the radio option.\n */\n @Prop({ mutable: true }) value!: string;\n\n /**\n * If `true`, the radio option will be displayed in a selected state.\n */\n @Prop({ reflect: true, mutable: true }) selected?: boolean = false;\n @State() initiallySelected = this.selected;\n\n @Watch(\"selected\")\n watchSelectedHandler(): void {\n this.icSelectedChange.emit();\n }\n\n /**\n * Emitted when the radio option is selected.\n */\n @Event() icCheck: EventEmitter<IcValueEventDetail>;\n\n /**\n * @deprecated This event should not be used anymore. Use icCheck instead.\n */\n @Event() radioOptionSelect: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the radio option is selected or deselected.\n */\n @Event() icSelectedChange: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n if (isSlotUsed(this.el, ADDITIONAL_FIELD)) {\n this.hasAdditionalField = true;\n const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (textField) textField.hiddenInput = false;\n }\n\n this.defaultRadioValue = this.value;\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.value, propName: \"value\" }],\n \"Radio Option\"\n );\n }\n\n componentWillRender(): void {\n const hasSlot = isSlotUsed(this.el, ADDITIONAL_FIELD);\n if (hasSlot && !this.hasAdditionalField) {\n this.hasAdditionalField = true;\n const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (textField) textField.hiddenInput = false;\n } else if (!hasSlot && this.hasAdditionalField) {\n this.hasAdditionalField = false;\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (!this.selected || this.disabled) {\n textfield?.setAttribute(\"disabled\", \"\");\n } else {\n textfield?.removeAttribute(\"disabled\");\n }\n }\n }\n\n @Listen(\"icChange\")\n textfieldValueHandler(event: CustomEvent<{ value: string }>): void {\n if (this.selected) {\n this.value = event.detail.value || this.defaultRadioValue;\n this.icCheck.emit({\n value: this.value,\n });\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n\n event.stopImmediatePropagation();\n }\n\n /**\n * Sets focus on the radio option.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.radioElement?.focus();\n }\n\n /**\n * @internal Sets the tabIndex of the radio option.\n */\n @Method()\n async setTabIndex(value: number): Promise<void> {\n this.radioElement.tabIndex = value;\n }\n\n private handleClick = () => {\n if (!this.disabled) {\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n this.value =\n this.el.querySelector(TEXT_FIELD_SELECTOR).value ||\n this.defaultRadioValue;\n }\n\n this.icCheck.emit({\n value: this.value,\n });\n\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n };\n\n private swallowClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n disabled,\n dynamicText,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n groupLabel,\n handleClick,\n hasAdditionalField,\n label,\n name,\n selected,\n swallowClick,\n value,\n } = this;\n\n const id = `ic-radio-option-${isPropDefined(label) || value}-${groupLabel}`;\n\n return (\n <Host onClick={handleClick} class={{ disabled }}>\n <div class={{ [\"container\"]: true, disabled }}>\n <div>\n <input\n role=\"radio\"\n tabindex={selected ? \"0\" : \"-1\"}\n type=\"radio\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={selected}\n ref={(el) => (this.radioElement = el)}\n form={form}\n formaction={formaction}\n formenctype={formenctype}\n formmethod={formmethod}\n formnovalidate={formnovalidate}\n formtarget={formtarget}\n ></input>\n <span class=\"checkmark\"></span>\n </div>\n <ic-typography class=\"radio-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n </div>\n\n {hasAdditionalField && (\n <div\n onClick={swallowClick}\n class={{\n \"dynamic-container\": true,\n hidden: additionalFieldDisplay === \"dynamic\" && !selected,\n }}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">{dynamicText}</p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n additionalFieldDisplay === \"static\",\n }}\n >\n <slot name={ADDITIONAL_FIELD}></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as e,h as i,H as o,g as a}from"./p-6b5e91e2.js";import{I as s}from"./p-26b7b18f.js";import{r,i as n}from"./p-d41c847e.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--indicator-initial-color:rgba(23 89 188 / 0%);--indicator-color:var(--ic-action-default);--focus-indicator:var(--ic-border-focus);--label-color:var(--ic-color-primary-text);--background-color-hover:var(--ic-action-default-bg-hover);--background-color-active:var(--ic-action-default-bg-active);display:flex;align-items:center;border-radius:0;color:var(--label-color);height:2.5rem;padding:0 var(--ic-space-md);cursor:pointer;position:relative;border-bottom:var(--ic-space-xxs) solid var(--indicator-initial-color);gap:var(--ic-space-xs);transition:all var(--ic-easing-transition-fast)}:host(:focus){box-shadow:var(--focus-indicator);border-radius:var(--ic-border-radius)}:host(:focus-visible){outline:var(--ic-hc-focus-outline)}:host(:hover){background-color:var(--background-color-hover)}:host(:active){background-color:var(--background-color-active)}:host(.ic-tab-light){--indicator-initial-color:rgb(255 255 255 / 0%);--indicator-color:rgb(255 255 255 / 100%);--focus-indicator:var(--ic-border-focus);--label-color:white;--background-color-hover:var(--ic-action-dark-bg-hover);--background-color-active:var(--ic-action-dark-bg-active)}:host(.selected){border-bottom:var(--ic-space-xxs) solid var(--indicator-color)}:host(.disabled){pointer-events:none;color:var(--ic-architectural-300)}@media (prefers-reduced-motion: no-preference){:host(.selected.with-transition){transition:all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow)}}.ic-tab-label{pointer-events:none;text-wrap:nowrap}::slotted(svg){fill:currentcolor}@media (forced-colors: active){:host{border-bottom:var(--ic-space-xxs) solid canvas}:host(.disabled){color:GrayText}}';const l=class{constructor(i){t(this,i);this.tabClick=e(this,"tabClick",7);this.tabCreated=e(this,"tabCreated",7);this.tabEnabled=e(this,"tabEnabled",7);this.tabFocus=e(this,"tabFocus",7);this.tabRemoved=e(this,"tabRemoved",7);this.focusFromClick=false;this.isInitialRender=true;this.handleClick=()=>{this.tabClick.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition});if(this.focusFromClick){this.tabFocus.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition});this.focusFromClick=false}};this.handleFocus=()=>{if(!this.focusFromClick){this.focusTabId=this.tabId;this.tabFocus.emit({tabId:this.tabId,contextId:this.contextId,position:this.tabPosition})}};this.handleMouseDown=()=>{this.focusFromClick=true};this.appearance="dark";this.contextId="default";this.disabled=false;this.selected=false;this.tabId=undefined;this.tabPosition=undefined}watchDisabledHandler(){r(this.disabled,this.el)}disabledWatchHandler(){this.tabEnabled.emit()}connectedCallback(){this.tabCreated.emit(this.el)}disconnectedCallback(){var t;(t=document.querySelector(`ic-tab-context[context-id=${this.contextId}]`))===null||t===void 0?void 0:t.tabRemovedHandler(!!this.focusTabId)}componentWillLoad(){r(this.disabled,this.el)}componentDidUpdate(){this.isInitialRender=false}async setFocus(){if(this.el){this.el.focus()}}render(){const{disabled:t,selected:e,appearance:a,isInitialRender:r,handleClick:c,handleFocus:l,handleMouseDown:d}=this;return i(o,{class:{"with-transition":!r,"ic-tab-light":a===s.Light,selected:e,disabled:t},role:"tab","aria-selected":`${e}`,onClick:c,onFocus:l,onMouseDown:d,"aria-disabled":`${t}`,tabindex:e?0:-1},n(this.el,"icon")&&i("slot",{name:"icon"}),i("ic-typography",{class:"ic-tab-label",variant:"label"},i("span",null,i("slot",null))),n(this.el,"badge")&&i("slot",{name:"badge"}))}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler","disabledWatchHandler"]}}};l.style=c;export{l as ic_tab};
|
2
|
+
//# sourceMappingURL=p-96e79d69.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icTabCss","Tab","this","focusFromClick","isInitialRender","handleClick","tabClick","emit","tabId","contextId","position","tabPosition","tabFocus","handleFocus","focusTabId","handleMouseDown","watchDisabledHandler","removeDisabledFalse","disabled","el","disabledWatchHandler","tabEnabled","connectedCallback","tabCreated","disconnectedCallback","_a","document","querySelector","tabRemovedHandler","componentWillLoad","componentDidUpdate","setFocus","focus","render","selected","appearance","h","Host","class","IcThemeForegroundEnum","Light","role","onClick","onFocus","onMouseDown","tabindex","isSlotUsed","name","variant"],"sources":["src/components/ic-tab/ic-tab.css?tag=ic-tab&encapsulation=shadow","src/components/ic-tab/ic-tab.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --indicator-initial-color: rgba(23 89 188 / 0%);\n --indicator-color: var(--ic-action-default);\n --focus-indicator: var(--ic-border-focus);\n --label-color: var(--ic-color-primary-text);\n --background-color-hover: var(--ic-action-default-bg-hover);\n --background-color-active: var(--ic-action-default-bg-active);\n\n display: flex;\n align-items: center;\n border-radius: 0;\n color: var(--label-color);\n height: 2.5rem;\n padding: 0 var(--ic-space-md);\n cursor: pointer;\n position: relative;\n border-bottom: var(--ic-space-xxs) solid var(--indicator-initial-color);\n gap: var(--ic-space-xs);\n transition: all var(--ic-easing-transition-fast);\n}\n\n:host(:focus) {\n box-shadow: var(--focus-indicator);\n border-radius: var(--ic-border-radius);\n}\n\n:host(:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:hover) {\n background-color: var(--background-color-hover);\n}\n\n:host(:active) {\n background-color: var(--background-color-active);\n}\n\n:host(.ic-tab-light) {\n --indicator-initial-color: rgb(255 255 255 / 0%);\n --indicator-color: rgb(255 255 255 / 100%);\n --focus-indicator: var(--ic-border-focus);\n --label-color: white;\n --background-color-hover: var(--ic-action-dark-bg-hover);\n --background-color-active: var(--ic-action-dark-bg-active);\n}\n\n:host(.selected) {\n border-bottom: var(--ic-space-xxs) solid var(--indicator-color);\n}\n\n:host(.disabled) {\n pointer-events: none;\n color: var(--ic-architectural-300);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.selected.with-transition) {\n transition: all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow);\n }\n}\n\n.ic-tab-label {\n pointer-events: none;\n text-wrap: nowrap;\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n :host {\n border-bottom: var(--ic-space-xxs) solid canvas;\n }\n\n :host(.disabled) {\n color: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host(ic-tab) .ic-tab-label {\n color: var(--ic-architectural-white);\n }\n :host(ic-tab.disabled) .ic-tab-label {\n color: inherit;\n }\n} */\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { isSlotUsed, removeDisabledFalse } from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n * @slot badge - Badge component displayed inline with the tab.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n private focusFromClick: boolean = false;\n private focusTabId: string;\n private isInitialRender: boolean = true;\n\n @Element() el: HTMLIcTabElement;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /** @internal The unique context needed if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel. */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /** @internal If `true`, the tab will display with a selected indicator and tabIndex will be set. */\n @Prop({ reflect: true }) selected?: boolean = false;\n\n /** @internal The shared ID between panel and tab. */\n @Prop({ reflect: true }) tabId?: string;\n\n /** @internal The position of the tab inside the tabs array in context. */\n @Prop() tabPosition?: number;\n\n @Watch(\"disabled\")\n disabledWatchHandler(): void {\n this.tabEnabled.emit();\n }\n\n /**\n * @internal Emitted when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is dynamically created.\n */\n @Event() tabCreated: EventEmitter<HTMLIcTabElement>;\n\n /**\n * @internal Emitted when a tab's disabled prop changes\n */\n @Event() tabEnabled: EventEmitter<void>;\n\n /**\n * @internal Emitted when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is unmounted.\n */\n @Event() tabRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n document\n .querySelector<HTMLIcTabContextElement>(\n `ic-tab-context[context-id=${this.contextId}]`\n )\n ?.tabRemovedHandler(!!this.focusTabId);\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n /**\n * Sets focus on the tab.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el) {\n this.el.focus();\n }\n }\n\n private handleClick = () => {\n this.tabClick.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n if (this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n this.focusFromClick = false;\n }\n };\n\n private handleFocus = () => {\n if (!this.focusFromClick) {\n this.focusTabId = this.tabId;\n\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n }\n };\n\n private handleMouseDown = () => {\n //set flag so that focus gets handled after click\n //there is a timing issue where a long click only causes focus to happen & not the click\n //the focus does need to be a separate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n render() {\n const {\n disabled,\n selected,\n appearance,\n isInitialRender,\n handleClick,\n handleFocus,\n handleMouseDown,\n } = this;\n return (\n <Host\n class={{\n \"with-transition\": !isInitialRender,\n \"ic-tab-light\": appearance === IcThemeForegroundEnum.Light,\n selected,\n disabled,\n }}\n role=\"tab\"\n aria-selected={`${selected}`}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n aria-disabled={`${disabled}`}\n tabindex={selected ? 0 : -1}\n >\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n <ic-typography class=\"ic-tab-label\" variant=\"label\">\n <span>\n <slot></slot>\n </span>\n </ic-typography>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Host>\n );\n }\n}\n"],"mappings":"0IAAA,MAAMA,EAAW,q/H,MC4BJC,EAAG,M,oNACNC,KAAAC,eAA0B,MAE1BD,KAAAE,gBAA2B,KAwF3BF,KAAAG,YAAc,KACpBH,KAAKI,SAASC,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjB,GAAIT,KAAKC,eAAgB,CACvBD,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjBT,KAAKC,eAAiB,K,GAIlBD,KAAAW,YAAc,KACpB,IAAKX,KAAKC,eAAgB,CACxBD,KAAKY,WAAaZ,KAAKM,MAEvBN,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,a,GAKbT,KAAAa,gBAAkB,KAIxBb,KAAKC,eAAiB,IAAI,E,gBAnHsB,O,eAGJ,U,cAKjB,M,cAOiB,M,gDAL9C,oBAAAa,GACEC,EAAoBf,KAAKgB,SAAUhB,KAAKiB,G,CAa1C,oBAAAC,GACElB,KAAKmB,WAAWd,M,CA4BlB,iBAAAe,GACEpB,KAAKqB,WAAWhB,KAAKL,KAAKiB,G,CAG5B,oBAAAK,G,OACEC,EAAAC,SACGC,cACC,6BAA6BzB,KAAKO,iBACnC,MAAAgB,SAAA,SAAAA,EACCG,oBAAoB1B,KAAKY,W,CAG/B,iBAAAe,GACEZ,EAAoBf,KAAKgB,SAAUhB,KAAKiB,G,CAG1C,kBAAAW,GACE5B,KAAKE,gBAAkB,K,CAOzB,cAAM2B,GACJ,GAAI7B,KAAKiB,GAAI,CACXjB,KAAKiB,GAAGa,O,EAuCZ,MAAAC,GACE,MAAMf,SACJA,EAAQgB,SACRA,EAAQC,WACRA,EAAU/B,gBACVA,EAAeC,YACfA,EAAWQ,YACXA,EAAWE,gBACXA,GACEb,KACJ,OACEkC,EAACC,EAAI,CACHC,MAAO,CACL,mBAAoBlC,EACpB,eAAgB+B,IAAeI,EAAsBC,MACrDN,WACAhB,YAEFuB,KAAK,MAAK,gBACK,GAAGP,IAClBQ,QAASrC,EACTsC,QAAS9B,EACT+B,YAAa7B,EAAe,gBACb,GAAGG,IAClB2B,SAAUX,EAAW,GAAK,GAEzBY,EAAW5C,KAAKiB,GAAI,SAAWiB,EAAA,QAAMW,KAAK,SAC3CX,EAAA,iBAAeE,MAAM,eAAeU,QAAQ,SAC1CZ,EAAA,YACEA,EAAA,eAGHU,EAAW5C,KAAKiB,GAAI,UAAYiB,EAAA,QAAMW,KAAK,U"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as i,c as t,f as s,h as e,H as a,g as h}from"./p-6b5e91e2.js";import{F as n,E as o,B as l,r,n as c,x as d,m as u,a as p,p as f,s as b,t as v,G as m,y as g}from"./p-d41c847e.js";import{I as w,a as x}from"./p-26b7b18f.js";const y=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const k=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const L='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--ic-input-label-helpertext-padding:var(--ic-space-xxs)}:host(.full-width){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:url("data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url("data:image/svg+xml;utf8,<svg fill=\'grey\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not(.disabled)) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}.select-input[disabled]{pointer-events:none}:host(.searchable) .select-input{cursor:auto}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.disabled) .expand-icon,:host(.disabled) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host(.searchable) .expand-icon{padding-left:var(--ic-space-xxs);height:2.25rem}:host(.searchable) .expand-icon>svg{height:2.25rem;padding:0 0.375rem}:host(.searchable:not(.disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-filled{color:var(--ic-action-dark)}.expand-icon-open,:host(.searchable) .expand-icon-open{transform:rotateX(180deg)}:host(.disabled) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:2.375rem;align-items:center}:host(.small) .clear-button-container{padding-left:1.875rem}.divider{width:var(--ic-border-width);background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.small) .divider{height:var(--ic-space-md)}.clear-button{position:absolute;right:2.75rem;border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.searchable-select-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}::slotted([slot="icon"]){fill:var(--ic-color-tertiary-text)}.has-value ::slotted([slot="icon"]){fill:var(--ic-color-primary-text)}.readonly ::slotted([slot="icon"]){padding:0.375rem;margin-bottom:0.75rem}@media (forced-colors: active){.has-value ::slotted([slot="icon"]){fill:currentcolor}}';let z=0;const C=[...g,"tabindex","title"];const H=class{constructor(e){i(this,e);this.icBlur=t(this,"icBlur",7);this.icChange=t(this,"icChange",7);this.icClear=t(this,"icClear",7);this.icClose=t(this,"icClose",7);this.icFocus=t(this,"icFocus",7);this.icInput=t(this,"icInput",7);this.icOpen=t(this,"icOpen",7);this.icOptionSelect=t(this,"icOptionSelect",7);this.icRetryLoad=t(this,"icRetryLoad",7);this.hasSetDefaultValue=false;this.inheritedAttributes={};this.initialOptionsEmpty=false;this.inputId=`ic-select-input-${z++}`;this.menuId=`${this.inputId}-menu`;this.searchableMenuItemSelected=false;this.ungroupedOptions=[];this.hostMutationObserver=null;this.hostMutationCallback=i=>{let t=false;i.forEach((({attributeName:i,type:s,addedNodes:e,removedNodes:a})=>{if(C.includes(i)){this.inheritedAttributes[i]=this.el.getAttribute(i);t=true}else if(s==="childList"){t=n(e,a,"icon")}}));if(t){s(this)}};this.handleRetry=i=>{var t;if(i.detail.keyPressed)(t=this.searchableSelectElement)===null||t===void 0?void 0:t.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.hiddenInputValue})};this.emitIcChange=i=>{if(!this.searchable){this.value=i}clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=i=>{this.value=i;clearTimeout(this.debounceIcChange);this.icChange.emit({value:i})};this.deduplicateOptions=i=>{const t=[];const s=[];let e;i.forEach((i=>{if(i.children){e=[];i.children.forEach((i=>{if(t.includes(i.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${i.value}) which has been removed.`)}else{t.push(i.value);e.push(i)}}));const a=Object.assign(Object.assign({},i),{children:e});s.push(a)}else{if(t.includes(i.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${i.value}) which has been removed.`)}else{t.push(i.value);s.push(i)}}}));return s};this.setOptionsValuesFromLabels=()=>{var i;if(((i=this.options)===null||i===void 0?void 0:i.length)>0&&this.options.map){this.options.map((i=>{if(!i.value){i.value=i.label}}))}};this.setUngroupedOptions=i=>{this.ungroupedOptions=i.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=i=>{if(this.open!==i){this.open=i}};this.getLabelFromValue=i=>o(i,this.uniqueOptions);this.getFilteredChildMenuOptions=i=>{let t=i.children;if(this.searchable){t=l(i.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition)}else{t=l(i.children,false,this.pressedCharacters,"start")}const s=Object.assign({},i);s.children=t;return s};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=i=>{if(this.searchable&&i.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.value=i.detail.value;this.searchableMenuItemSelected=true;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)}this.ariaActiveDescendant=i.detail.optionId;this.icOptionSelect.emit({value:i.detail.value});this.emitIcChange(i.detail.value)};this.handleMenuChange=i=>{this.open=i.detail.open;this.pressedCharacters="";this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=i=>{i.cancelBubble=true;this.handleCharacterKeyDown(i.detail.key)};this.handleMenuValueChange=i=>{this.value=i.detail.value};this.handleFocusIndicatorDisplay=()=>{const i=this.el.shadowRoot.querySelector(".focus-indicator");if(this.open){i.classList.add("focus-indicator-enabled")}else{i.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=i=>{if(!this.open){i.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableFilter;this.handleClick=i=>{var t;if(!this.open){if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut&&!this.loading&&!((t=this.noOptions)===null||t===void 0?void 0:t.length)&&(!this.searchable||this.searchableMenuItemSelected)){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(i.detail!==0){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=i=>{if(!this.disabled){i.preventDefault();this.searchableSelectElement.focus();this.handleClick(i)}};this.handleClear=i=>{i.stopPropagation();this.hasTimedOut=false;clearTimeout(this.timeoutTimer);this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.filteredOptions=this.uniqueOptions;this.hiddenInputValue=null;this.searchableSelectElement.focus()}else{this.customSelectElement.focus()}};this.handleCharacterKeyDown=i=>{if(this.open&&i===" "&&this.pressedCharacters.length===0&&!this.hasTimedOut&&!this.loading){this.setMenuChange(false)}if(i.length===1&&!this.searchable){window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);this.pressedCharacters+=i;this.handleFilter();if(!this.noOptions){this.emitImmediateIcChange(this.filteredOptions[0].value)}}else{this.pressedCharacters=""}};this.handleNativeSelectKeyDown=i=>{if(i.key!=="Escape"&&i.key!=="Tab"||this.open){i.cancelBubble=true}this.handleCharacterKeyDown(i.key)};this.handleKeyDown=i=>{if(i.key!=="Escape"&&i.key!=="Tab"||this.open){i.cancelBubble=true}const t=i.key==="ArrowDown"||i.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(i.key==="Enter"||t)){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.uniqueOptions}}}if(this.open&&i.key==="Enter"){this.setMenuChange(false)}else{if(!(t&&this.noOptions!==null)){if(!(i.key===" "&&this.pressedCharacters.length>0)){this.menu.handleKeyboardOpen(i)}this.handleCharacterKeyDown(i.key)}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=i=>{var t;const s=(t=this.menu)===null||t===void 0?void 0:t.querySelector("#retry-button");if(!(this.searchableSelectElement&&i.relatedTarget===this.searchableSelectElement)&&!(s&&i.relatedTarget===s)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{var i;const t=this.deduplicateOptions(this.searchable?[...this.uniqueOptions]:this.ungroupedOptions);let s=false;let e=[];t.map((i=>{if(i.children)s=true}));let a;if(this.searchable){a=l(t,this.includeDescriptionsInSearch,this.inputValueToFilter,this.searchMatchPosition);this.searchableMenuItemSelected=false}else{a=l(t,false,this.pressedCharacters,"start")}if(!s&&((i=a[0])===null||i===void 0?void 0:i.label)!==this.emptyOptionListText){e=a}else if(s){t.map((i=>{if(this.includeGroupTitlesInSearch){if(a.indexOf(i)!==-1){e.push(i)}else{e.push(this.getFilteredChildMenuOptions(i))}}else{e.push(this.getFilteredChildMenuOptions(i))}}))}let h=false;if(s){h=true;e.map((i=>{if(i.children.length>0){h=false}}))}if(e.length>0&&!h){this.noOptions=null;this.filteredOptions=e}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable){this.filteredOptions=this.noOptions}else if(this.uniqueOptions!==this.noOptions&&!this.searchable){this.uniqueOptions=this.noOptions}if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.uniqueOptions=this.noOptions}),this.timeout)}};this.getValueFromLabel=i=>{var t;return(t=this.uniqueOptions.find((t=>t.label===i)))===null||t===void 0?void 0:t.value};this.handleSearchableSelectInput=i=>{this.searchableSelectInputValue=i.target.value;this.icInput.emit({value:this.searchableSelectInputValue});this.emitIcChange(this.searchableSelectInputValue);this.hiddenInputValue=this.searchableSelectInputValue;this.inputValueToFilter=this.searchableSelectInputValue;this.setMenuChange(true);if(!this.disableFilter){this.handleFilter();this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const i=this.el.shadowRoot.querySelector(".searchable-select-results-status");if(i){if(this.noOptions!==null){i.innerText=this.emptyOptionListText}else{i.innerText=""}}};this.getDefaultValue=i=>this.getLabelFromValue(i)||i||null;this.onFocus=()=>{this.icFocus.emit()};this.onBlur=({relatedTarget:i})=>{var t;const s=i;if(s!==null&&(s.tagName==="UL"&&s.className.includes("menu")||s.tagName==="LI"&&s.className.includes("option"))){return}const e=(t=this.menu)===null||t===void 0?void 0:t.querySelector("#retry-button");const a=this.searchable&&!!this.menu&&s!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(s)&&!(this.clearButton&&s===this.clearButton)&&!(e&&s===e);if(a){if(!this.retryButtonClick){this.setMenuChange(false)}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=i=>{if(i.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.ariaActiveDescendant=undefined;this.clearButtonFocused=false;this.debounceIcChange=undefined;this.hiddenInputValue=undefined;this.noOptions=null;this.open=false;this.pressedCharacters="";this.searchableSelectInputValue=null;this.charactersUntilSuggestions=0;this.disabled=false;this.disableFilter=false;this.emptyOptionListText="No results found";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.label=undefined;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.name=this.inputId;this.placeholder="Select an option";this.readonly=false;this.required=false;this.searchable=false;this.searchMatchPosition="anywhere";this.selectOnEnter=false;this.showClearButton=false;this.size="default";this.small=false;this.timeout=undefined;this.validationStatus="";this.validationText="";this.loading=false;this.options=[];this.filteredOptions=this.options;this.uniqueOptions=this.options;this.debounce=0;this.currDebounce=this.debounce;this.value=undefined;this.initialValue=this.value;this.inputValueToFilter=this.value;this.currValue=this.value}watchDisabledHandler(){r(this.disabled,this.el)}loadingHandler(i){i&&this.triggerLoading()}watchOptionsHandler(){var i;if(!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(this.isExternalFiltering()){if(((i=this.options)===null||i===void 0?void 0:i.length)>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else{this.setOptionsValuesFromLabels();this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions;if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}}else{if(!this.searchable){this.options=this.noOptions}}}debounceChangedHandler(i){this.updateOnChangeDebounce(i)}valueChangedHandler(){if(this.value!==this.currValue){this.currValue=this.value}if(this.searchable){this.searchableSelectInputValue=this.getLabelFromValue(this.currValue)||this.currValue}}openChangedHandler(){this.open?this.icOpen.emit():this.icClose.emit()}disconnectedCallback(){var i;c(this.el,this.handleFormReset);(i=this.hostMutationObserver)===null||i===void 0?void 0:i.disconnect()}componentWillLoad(){var i;this.inheritedAttributes=d(this.el,C);r(this.disabled,this.el);this.setOptionsValuesFromLabels();u(this.el,this.handleFormReset);if(!((i=this.options)===null||i===void 0?void 0:i.length)){this.initialOptionsEmpty=true;this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}else{this.setDefaultValue();this.uniqueOptions=this.deduplicateOptions(this.options)}}componentDidLoad(){p([{prop:this.label,propName:"label"}],"Select");if(this.loading){this.triggerLoading()}this.hiddenInputValue=this.searchable&&this.currValue;this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true})}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(i){if(this.currDebounce!==i){this.currDebounce=i}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}setDefaultValue(){if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.getDefaultValue(this.currValue);this.initialValue=this.currValue;this.hasSetDefaultValue=true}}render(){const{small:i,size:t,disabled:s,fullWidth:h,helperText:n,hideLabel:o,label:l,menuId:r,name:c,options:d,placeholder:u,readonly:p,required:g,searchable:L,showClearButton:z,validationStatus:C,validationText:H,currValue:M}=this;f(true,this.el,c,this.searchable?this.hiddenInputValue:M,s);const T=`${C===x.Error}`;const B=b(this.inputId,n!=="",v(this.validationStatus,this.disabled)).trim();let O=!!this.el.querySelector(`[slot="icon"]`);if(O&&(s||p&&!this.value)){O=false}return e(a,{class:{disabled:s,searchable:L,small:i,[t]:t!=="default","full-width":h},onBlur:this.onBlur},e("ic-input-container",{readonly:p},!o&&e("ic-input-label",{for:this.inputId,label:l,helperText:n,required:g,disabled:s,readonly:p}),e("ic-input-component-container",{ref:i=>this.anchorEl=i,class:{"menu-open":this.open},small:i,size:t,fullWidth:h,disabled:s,readonly:p,validationStatus:C},O&&e("span",{slot:"left-icon",class:{["readonly"]:p,["has-value"]:!!this.value}},e("slot",{name:"icon"})),p?e("ic-typography",null,e("p",null,this.getLabelFromValue(M))):m()?e("select",Object.assign({ref:i=>this.nativeSelectElement=i,disabled:s,onChange:this.handleNativeSelectChange,required:g,id:this.inputId,"aria-label":l,"aria-describedby":B,"aria-invalid":T,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown,form:this.form},this.inheritedAttributes),e("option",{value:"",selected:true,disabled:!z},u),d.map((i=>{if(i.children){return e("optgroup",{label:i.label},i.children.map((i=>e("option",{value:i.value,disabled:i.disabled,selected:i.value===M},i.label))))}else{return e("option",{value:i.value,disabled:i.disabled,selected:i.value===M},i.label)}}))):L?e("div",{class:"searchable-select-container"},e("input",{class:"select-input",role:"combobox",autocomplete:"off","aria-label":l,"aria-describedby":B,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":`${this.open}`,"aria-invalid":T,"aria-required":`${g}`,"aria-controls":r,ref:i=>this.searchableSelectElement=i,id:this.inputId,value:this.searchableSelectInputValue,placeholder:u,disabled:s,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,form:this.form,formaction:this.formaction,formenctype:this.formenctype,formmethod:this.formmethod,formnovalidate:this.formnovalidate,formtarget:this.formtarget}),this.searchableSelectInputValue&&(z||L)&&e("div",{class:"clear-button-container"},e("ic-button",{id:"clear-button",ref:i=>this.clearButton=i,"aria-label":this.searchableSelectInputValue&&M===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:k,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?w.Light:w.Dark}),e("div",{class:"divider"})),e("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(M==null||M==="")},innerHTML:y,"aria-hidden":"true"}),e("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):e("div",{class:"select-container"},e("button",{class:"select-input",ref:i=>this.customSelectElement=i,id:this.inputId,"aria-label":`${l}, ${this.getLabelFromValue(M)||u}${g?", required":""}`,"aria-describedby":B,"aria-invalid":T,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":r,"aria-controls":r,disabled:s,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},e("ic-typography",{variant:"body",class:{"value-text":true,placeholder:this.getLabelFromValue(M)===undefined}},this.getLabelFromValue(M)||u),e("div",{class:"select-input-end"},M&&z&&e("div",{class:"divider"}),e("span",{class:{"expand-icon":true,"expand-icon-open":this.open,"expand-icon-filled":!(M==null||M==="")},innerHTML:y,"aria-hidden":"true"}))),M&&z&&e("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:k,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?w.Light:w.Dark}))),!m()&&e("ic-menu",{class:{"no-results":this.loading||this.hasTimedOut||this.noOptions!==null&&this.noOptions[0]&&this.noOptions[0].label===this.emptyOptionListText},ref:i=>this.menu=i,inputEl:L?this.searchableSelectElement:this.customSelectElement,inputLabel:l,anchorEl:this.anchorEl,small:i,size:t,menuId:r,open:this.open,options:L?this.filteredOptions:this.uniqueOptions,value:M,fullWidth:h,selectOnEnter:this.selectOnEnter,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuKeyPress:this.handleMenuKeyPress,onMenuValueChange:this.handleMenuValueChange,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.el,onTimeoutBlur:this.onTimeoutBlur,activationType:this.searchable||this.selectOnEnter?"manual":"automatic"}),v(this.validationStatus,this.disabled)&&e("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:C,message:H,for:this.inputId})))}static get delegatesFocus(){return true}get el(){return h(this)}static get watchers(){return{disabled:["watchDisabledHandler"],loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"],open:["openChangedHandler"]}}};H.style=L;export{H as ic_select};
|
2
|
+
//# sourceMappingURL=p-9a6790d8.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icSelectCss","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","Select","this","hasSetDefaultValue","inheritedAttributes","initialOptionsEmpty","inputId","menuId","searchableMenuItemSelected","ungroupedOptions","hostMutationObserver","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","type","addedNodes","removedNodes","includes","el","getAttribute","checkSlotInChildMutations","forceUpdate","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","blurredBecauseButtonPressed","retryButtonClick","icRetryLoad","emit","value","hiddenInputValue","emitIcChange","searchable","clearTimeout","debounceIcChange","window","setTimeout","icChange","currDebounce","emitImmediateIcChange","deduplicateOptions","options","uniqueValues","dedupedOptions","dedupedChildren","option","children","child","console","warn","label","push","modifiedParent","Object","assign","setOptionsValuesFromLabels","length","map","setUngroupedOptions","event","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","open","getLabelFromValue","uniqueOptions","getFilteredChildMenuOptions","getFilteredMenuOptions","includeDescriptionsInSearch","searchableSelectInputValue","searchMatchPosition","pressedCharacters","newOption","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","emptyOptionListText","currValue","inputValueToFilter","getValueFromLabel","ariaActiveDescendant","optionId","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","handleMenuValueChange","focusIndicator","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","disableFilter","handleClick","menu","filteredOptions","hasTimedOut","loading","noOptions","handleClickOpen","handleExpandIconMouseDown","disabled","handleClear","stopPropagation","timeoutTimer","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","clearButtonFocused","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","newFilteredOptions","menuOptionsFiltered","includeGroupTitlesInSearch","indexOf","noChildOptionsWhenFiltered","triggerLoading","loadingLabel","timeout","loadingErrorLabel","timedOut","find","handleSearchableSelectInput","target","icInput","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","getDefaultValue","onFocus","icFocus","onBlur","tagName","isSearchableAndNoFocusedInternalElements","Array","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","initialValue","debounce","watchDisabledHandler","removeDisabledFalse","loadingHandler","newValue","watchOptionsHandler","setDefaultValue","debounceChangedHandler","updateOnChangeDebounce","valueChangedHandler","openChangedHandler","icOpen","icClose","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","attributes","childList","componentDidRender","setFocus","debounceAria","render","small","size","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","showClearButton","validationStatus","validationText","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","showLeftIcon","h","Host","class","for","ref","anchorEl","slot","isMobileOrTablet","onChange","id","onKeyDown","form","selected","role","autocomplete","onInput","onClick","formaction","formenctype","formmethod","formnovalidate","formtarget","innerHTML","Clear","variant","appearance","IcThemeForegroundEnum","Light","Dark","onMouseDown","Expand","undefined","inputEl","inputLabel","selectOnEnter","onMenuStateChange","onMenuOptionSelect","onMenuKeyPress","onMenuValueChange","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","ariaLiveMode","status","message"],"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:not(.disabled)) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.searchable) .select-input {\n cursor: auto;\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xs);\n color: var(--ic-action-dark);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.disabled) .expand-icon,\n:host(.disabled) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host(.searchable) .expand-icon {\n padding-left: var(--ic-space-xxs);\n height: 2.25rem;\n}\n\n:host(.searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 0.375rem;\n}\n\n:host(.searchable:not(.disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-filled {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host(.searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host(.disabled) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n gap: var(--ic-space-xxs);\n padding-left: 2.375rem;\n align-items: center;\n}\n\n:host(.small) .clear-button-container {\n padding-left: 1.875rem;\n}\n\n.divider {\n width: var(--ic-border-width);\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.small) .divider {\n height: var(--ic-space-md);\n}\n\n.clear-button {\n position: absolute;\n right: 2.75rem;\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.searchable-select-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-primary-text);\n}\n\n.readonly ::slotted([slot=\"icon\"]) {\n padding: 0.375rem;\n margin-bottom: 0.75rem;\n}\n\n@media (forced-colors: active) {\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcThemeForegroundEnum,\n IcMenuOption,\n IcSearchMatchPositions,\n IcValueEventDetail,\n IcSizes,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcOptionSelectEventDetail } from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the select text input.\n */\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Select {\n private anchorEl: HTMLElement;\n private blurredBecauseButtonPressed: boolean;\n private characterKeyPressTimer: number;\n private clearButton: HTMLIcButtonElement;\n private customSelectElement: HTMLButtonElement;\n private debounceAria: number;\n private hasSetDefaultValue = false;\n private hasTimedOut: boolean;\n private inheritedAttributes: { [k: string]: string } = {};\n private initialOptionsEmpty = false;\n private inputId = `ic-select-input-${inputIds++}`;\n private menu: HTMLIcMenuElement;\n private menuId = `${this.inputId}-menu`;\n private nativeSelectElement: HTMLSelectElement;\n private retryButtonClick: boolean;\n private searchableMenuItemSelected: boolean = false;\n private searchableSelectElement: HTMLInputElement;\n private timeoutTimer: number;\n private ungroupedOptions: IcMenuOption[] = [];\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el!: HTMLIcSelectElement;\n\n @State() ariaActiveDescendant: string;\n @State() clearButtonFocused: boolean = false;\n @State() debounceIcChange: number;\n @State() hiddenInputValue: string;\n @State() noOptions: IcMenuOption[] = null;\n @State() open: boolean = false;\n @State() pressedCharacters: string = \"\";\n @State() searchableSelectInputValue: string = null;\n\n /**\n * @deprecated This prop should not be used anymore.\n */\n @Prop() charactersUntilSuggestions?: number = 0;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the select. It overrides the action attribute of the select's form owner. Does nothing if there is no form owner.\n * This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the select's form owner.\n * This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the select element will fill the width of the container. This prop should only be used with searchable select and will only be applied if searchable is true.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\n */\n @Prop() selectOnEnter?: boolean = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * The size of the select component.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue && this.triggerLoading();\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n @State() filteredOptions: IcMenuOption[] = this.options;\n @State() uniqueOptions: IcMenuOption[] = this.options;\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (!this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.isExternalFiltering()) {\n if (this.options?.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.uniqueOptions = this.deduplicateOptions(this.options);\n this.filteredOptions = this.uniqueOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n }\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n this.filteredOptions = this.uniqueOptions;\n if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n } else {\n if (!this.searchable) {\n this.options = this.noOptions;\n }\n }\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n @State() currDebounce = this.debounce;\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n this.updateOnChangeDebounce(newValue);\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option. For the searchable variant, the value is also reflected by the user input.\n */\n @Prop({ mutable: true }) value?: string;\n @State() initialValue = this.value;\n @State() inputValueToFilter = this.value;\n @State() currValue = this.value;\n\n @Watch(\"value\")\n valueChangedHandler(): void {\n if (this.value !== this.currValue) {\n this.currValue = this.value;\n }\n\n if (this.searchable) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.currValue) || this.currValue;\n }\n }\n\n @Watch(\"open\")\n openChangedHandler(): void {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the clear button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * Emitted when the select options menu is closed.\n */\n @Event() icClose: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the select options menu is opened.\n */\n @Event() icOpen: EventEmitter<void>;\n\n /**\n * Emitted when an option is highlighted within the menu.\n * Highlighting a menu item will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.el, this.handleFormReset);\n\n if (!this.options?.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n } else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) {\n this.triggerLoading();\n }\n this.hiddenInputValue = this.searchable && this.currValue;\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({ value: this.hiddenInputValue });\n };\n\n private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string) => {\n if (!this.searchable) {\n this.value = value;\n }\n\n clearTimeout(this.debounceIcChange);\n this.debounceIcChange = window.setTimeout(() => {\n this.icChange.emit({ value: value });\n }, this.currDebounce);\n };\n\n private emitImmediateIcChange = (value: string) => {\n this.value = value;\n clearTimeout(this.debounceIcChange);\n this.icChange.emit({ value: value });\n };\n\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n private deduplicateOptions = (options: IcMenuOption[]): IcMenuOption[] => {\n const uniqueValues: string[] = [];\n const dedupedOptions: IcMenuOption[] = [];\n let dedupedChildren: IcMenuOption[];\n\n options.forEach((option: IcMenuOption) => {\n if (option.children) {\n //If an option has children, we will loop through them\n dedupedChildren = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n const modifiedParent: IcMenuOption = {\n ...option,\n children: dedupedChildren,\n };\n dedupedOptions.push(modifiedParent);\n } else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n private setOptionsValuesFromLabels = (): void => {\n if (this.options?.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent): void => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.uniqueOptions);\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n if (this.searchable) {\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n } else {\n children = getFilteredMenuOptions(\n option.children,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitImmediateIcChange(this.nativeSelectElement.value);\n this.setTextColor();\n };\n\n private handleCustomSelectChange = (event: CustomEvent): void => {\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = event.detail.value;\n this.searchableMenuItemSelected = true;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue = this.getLabelFromValue(this.value);\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue = this.getValueFromLabel(\n this.searchableSelectInputValue\n );\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.icOptionSelect.emit({ value: event.detail.value });\n this.emitIcChange(event.detail.value);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n this.handleCharacterKeyDown(ev.detail.key);\n };\n\n private handleMenuValueChange = (ev: CustomEvent): void => {\n this.value = ev.detail.value;\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator = this.el.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = (): boolean =>\n this.searchable && this.disableFilter;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.open) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else if (\n !this.hasTimedOut &&\n !this.loading &&\n !this.noOptions?.length &&\n (!this.searchable || this.searchableMenuItemSelected)\n ) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (event.detail !== 0) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.noOptions = null;\n this.emitImmediateIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n this.hiddenInputValue = null;\n this.searchableSelectElement.focus();\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (\n this.open &&\n key === \" \" &&\n this.pressedCharacters.length === 0 &&\n !this.hasTimedOut &&\n !this.loading\n ) {\n this.setMenuChange(false);\n }\n\n if (key.length === 1 && !this.searchable) {\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitImmediateIcChange(this.filteredOptions[0].value);\n }\n } else {\n this.pressedCharacters = \"\";\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (!this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null)) {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n // Keyboard events get passed onto ic-menu\n this.menu.handleKeyboardOpen(event);\n }\n this.handleCharacterKeyDown(event.key);\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent): void => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n !(\n this.searchableSelectElement &&\n ev.relatedTarget === this.searchableSelectElement\n ) &&\n !(retryButton && ev.relatedTarget === retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = (): void => {\n const options = this.deduplicateOptions(\n this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions\n );\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.inputValueToFilter,\n this.searchMatchPosition\n );\n this.searchableMenuItemSelected = false;\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (\n !isGrouped &&\n menuOptionsFiltered[0]?.label !== this.emptyOptionListText\n ) {\n newFilteredOptions = menuOptionsFiltered;\n } else if (isGrouped) {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n } else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n return this.uniqueOptions.find((option) => option.label === label)?.value;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.searchableSelectInputValue });\n this.emitIcChange(this.searchableSelectInputValue);\n\n this.hiddenInputValue = this.searchableSelectInputValue;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n\n if (!this.disableFilter) {\n this.handleFilter();\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.el.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (searchableSelectResultsStatusEl) {\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private getDefaultValue = (value: string): string | null =>\n this.getLabelFromValue(value) || value || null;\n\n private setDefaultValue() {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.getDefaultValue(this.currValue);\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n }\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = ({ relatedTarget }: FocusEvent): void => {\n const target = relatedTarget as HTMLElement;\n if (\n target !== null &&\n ((target.tagName === \"UL\" && target.className.includes(\"menu\")) ||\n (target.tagName === \"LI\" && target.className.includes(\"option\")))\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n const isSearchableAndNoFocusedInternalElements =\n this.searchable &&\n !!this.menu &&\n target !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n target\n ) &&\n !(this.clearButton && target === this.clearButton) &&\n !(retryButton && target === retryButton);\n\n if (isSearchableAndNoFocusedInternalElements) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(this.value);\n this.hiddenInputValue = this.value;\n }\n };\n\n render() {\n const {\n small,\n size,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n } = this;\n\n renderHiddenInput(\n true,\n this.el,\n name,\n this.searchable ? this.hiddenInputValue : currValue,\n disabled\n );\n\n const invalid = `${validationStatus === IcInformationStatus.Error}`;\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n let showLeftIcon = !!this.el.querySelector(`[slot=\"icon\"]`);\n if (showLeftIcon && (disabled || (readonly && !this.value))) {\n showLeftIcon = false;\n }\n\n return (\n <Host\n class={{\n disabled,\n searchable,\n small,\n [size]: size !== \"default\",\n \"full-width\": fullWidth,\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n small={small}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {showLeftIcon && (\n <span\n slot=\"left-icon\"\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: !!this.value,\n }}\n >\n <slot name=\"icon\" />\n </span>\n )}\n {readonly ? (\n <ic-typography>\n <p>{this.getLabelFromValue(currValue)}</p>\n </ic-typography>\n ) : isMobileOrTablet() ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n form={this.form}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class=\"select-input\"\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={`${this.open}`}\n aria-invalid={invalid}\n aria-required={`${required}`}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n form={this.form}\n formaction={this.formaction}\n formenctype={this.formenctype}\n formmethod={this.formmethod}\n formnovalidate={this.formnovalidate}\n formtarget={this.formtarget}\n ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n this.searchableSelectInputValue && currValue === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n currValue == null || currValue === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n this.getLabelFromValue(currValue) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n placeholder:\n this.getLabelFromValue(currValue) === undefined,\n }}\n >\n {this.getLabelFromValue(currValue) || placeholder}\n </ic-typography>\n <div class=\"select-input-end\">\n {currValue && showClearButton && (\n <div class=\"divider\"></div>\n )}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n currValue == null || currValue === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {currValue && showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={size}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {!isMobileOrTablet() && (\n <ic-menu\n class={{\n \"no-results\":\n this.loading ||\n this.hasTimedOut ||\n (this.noOptions !== null &&\n this.noOptions[0] &&\n this.noOptions[0].label === this.emptyOptionListText),\n }}\n ref={(el) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n small={small}\n size={size}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : this.uniqueOptions}\n value={currValue}\n fullWidth={fullWidth}\n selectOnEnter={this.selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onMenuValueChange={this.handleMenuValueChange}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={\n this.searchable || this.selectOnEnter ? \"manual\" : \"automatic\"\n }\n ></ic-menu>\n )}\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n for={this.inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r,h as i,H as e}from"./p-6b5e91e2.js";import{
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r,h as i,H as e}from"./p-6b5e91e2.js";import{d as s}from"./p-d41c847e.js";import{I as c}from"./p-26b7b18f.js";const a="hr.sc-ic-divider{padding:0;margin:0;border:none;height:var(--ic-space-1px);background-color:var(--ic-keyline-darken-rgb)}hr.light.sc-ic-divider{background-color:var(--ic-keyline-lighten-rgb)}";const o=class{constructor(i){r(this,i);this.foregroundColor=s()}themeChangeHandler(r){const i=r.detail;this.foregroundColor=i.mode}render(){return i(e,{"aria-hidden":"true"},i("hr",{class:{["light"]:this.foregroundColor===c.Light}}))}};o.style=a;export{o as ic_divider};
|
2
|
+
//# sourceMappingURL=p-9ef08234.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as e,f as o,h as i,H as a,g as r}from"./p-6b5e91e2.js";import{
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as e,f as o,h as i,H as a,g as r}from"./p-6b5e91e2.js";import{r as c,a as n,i as s}from"./p-d41c847e.js";import"./p-26b7b18f.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n )}:host(.dark){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n )}:host(.light){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n )}:host(.disabled){--button-border:var(--toggle-button-border, var(--ic-border-disabled))}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host ic-button{--icon-width:var(--ic-space-lg);--icon-height:var(--ic-space-lg)}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.light) ::part(button):focus,:host(.expand-toggle-group-child.dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--button-border)}:host(.checked) ::part(button){background-color:var(--ic-action-default);color:var(--ic-architectural-white);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white)}:host(.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus)}:host(.checked) ::part(button):hover{background-color:var(--button-default-hover)}:host(.checked) ::part(button):active,:host(.icon.checked) ::part(button):active{background-color:var(--ic-action-default-active)}:host(.dark.checked) ::part(button){background-color:var(--ic-action-dark)}:host(.dark.checked) ::part(button):hover{background-color:var(--ic-action-dark-hover)}:host(.dark.checked) ::part(button):active,:host(.icon.dark.checked) ::part(button):active{background-color:var(--ic-action-dark-active)}:host(.light.checked) ::part(button){background-color:var(--ic-action-light);color:var(--ic-color-primary-text);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black)}:host(.light.checked) ::part(button):hover{background-color:var(--ic-action-light-hover)}:host(.light.checked) ::part(button):active,:host(.icon.light.checked) ::part(button):active{background-color:var(--ic-action-light-active)}:host(.light.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus)}:host(.disabled) ::part(button),:host(.icon.disabled) ::part(button){border:var(--button-border)}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button){background-color:transparent}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button)::before{background-image:radial-gradient(var(--ic-architectural-400) 95%, white 20%);background-repeat:no-repeat}:host(.icon) ::part(button){border:var(--button-border);height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.icon) ::part(button):active{background-color:var(--ic-action-default-bg-active)}:host(.icon.dark) ::part(button):active{background-color:var(--ic-action-dark-bg-active)}:host(.icon.light) ::part(button):active{background-color:var(--ic-action-light-bg-active)}:host(.icon.small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.icon.large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.checked.loading) ::part(button){background-color:var(--button-default-active)}:host(.loading) ::part(ic-loading-container){--inner-color:var(--ic-architectural-white)}:host(.checked.loading.light) ::part(button){background-color:var(--ic-action-light-active)}:host(.checked.loading.dark) ::part(button){background-color:var(--ic-action-dark-active)}@media (forced-colors: active){:host(.checked) ::part(button),:host(.checked) ::part(button):hover{background-color:Highlight}:host(.checked.light) ::part(button),:host(.checked.light) ::part(button):hover{background-color:Highlight}:host(.checked.dark) ::part(button),:host(.checked.dark) ::part(button):hover{background-color:Highlight}:host(.checked.disabled) ::part(button){background-color:GrayText}}';const d=class{constructor(i){t(this,i);this.icToggleChecked=e(this,"icToggleChecked",7);this.hostMutationObserver=null;this.hostMutationCallback=()=>{o(this)};this.handleFocus=t=>{t.stopImmediatePropagation()};this.handleClick=()=>{!this.loading&&!this.disabled&&this.icToggleChecked.emit({checked:this.toggleChecked})};this.accessibleLabel=undefined;this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.label=undefined;this.loading=false;this.size="default";this.toggleChecked=false;this.tooltipPlacement="bottom";this.variant="default"}watchDisabledHandler(){c(this.disabled,this.el)}componentWillLoad(){c(this.disabled,this.el);const t=this.el.parentElement.iconPlacement;this.iconPosition=this.iconPlacement||t}componentDidLoad(){n([{prop:this.variant==="icon"?this.accessibleLabel:this.label,propName:this.variant==="icon"?"accessible-label":"label"}],"Toggle button");if(typeof MutationObserver!=="undefined"){this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}}disconnectedCallback(){if(this.hostMutationObserver!==null&&this.hostMutationObserver!==undefined){this.hostMutationObserver.disconnect()}}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}else if(!this.loading){this.toggleChecked=!this.toggleChecked}}render(){return i(a,{class:{["disabled"]:this.disabled,["checked"]:this.toggleChecked,[`${this.appearance}`]:true,["icon"]:this.variant==="icon",[`${this.size}`]:true,["loading"]:this.loading},onFocus:this.handleFocus},i("ic-button",{"aria-pressed":this.toggleChecked.toString(),variant:this.variant==="icon"?"icon":"secondary",onClick:this.handleClick,title:this.accessibleLabel,"aria-label":`${this.accessibleLabel?this.accessibleLabel:this.label}, ${this.toggleChecked?"ticked":"unticked"}`,disabled:this.disabled,appearance:this.appearance,size:this.size,fullWidth:this.fullWidth,loading:this.loading,"aria-disabled":`${this.disabled}`,tooltipPlacement:this.tooltipPlacement},this.variant!=="icon"&&this.label,i("slot",null),s(this.el,"icon")&&i("slot",{name:"icon",slot:`${this.iconPosition?`${this.iconPosition}-icon`:"icon"}`}),s(this.el,"badge")&&i("slot",{name:"badge",slot:"badge"})))}static get delegatesFocus(){return true}get el(){return r(this)}static get watchers(){return{disabled:["watchDisabledHandler"]}}};d.style=h;export{d as ic_toggle_button};
|
2
|
+
//# sourceMappingURL=p-a020afbd.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icToggleButtonCss","ToggleButton","this","hostMutationObserver","hostMutationCallback","forceUpdate","handleFocus","ev","stopImmediatePropagation","handleClick","loading","disabled","icToggleChecked","emit","checked","toggleChecked","watchDisabledHandler","removeDisabledFalse","el","componentWillLoad","parentIconPlacement","parentElement","iconPlacement","iconPosition","componentDidLoad","onComponentRequiredPropUndefined","prop","variant","accessibleLabel","label","propName","MutationObserver","observe","childList","disconnectedCallback","undefined","disconnect","handleHostClick","e","render","h","Host","class","appearance","size","onFocus","toString","onClick","title","fullWidth","tooltipPlacement","isSlotUsed","name","slot"],"sources":["src/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","src/components/ic-toggle-button/ic-toggle-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n );\n}\n\n:host(.dark) {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n );\n}\n\n:host(.light) {\n --button-border: var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n );\n}\n\n:host(.disabled) {\n --button-border: var(--toggle-button-border, var(--ic-border-disabled));\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n min-height: inherit;\n white-space: inherit;\n height: inherit;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n white-space: normal;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.light) ::part(button):focus,\n:host(.expand-toggle-group-child.dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: var(--button-border);\n}\n\n:host(.checked) ::part(button) {\n background-color: var(--ic-action-default);\n color: var(--ic-architectural-white);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white);\n}\n\n:host(.checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus);\n}\n\n:host(.checked) ::part(button):hover {\n background-color: var(--button-default-hover);\n}\n\n:host(.checked) ::part(button):active,\n:host(.icon.checked) ::part(button):active {\n background-color: var(--ic-action-default-active);\n}\n\n:host(.dark.checked) ::part(button) {\n background-color: var(--ic-action-dark);\n}\n\n:host(.dark.checked) ::part(button):hover {\n background-color: var(--ic-action-dark-hover);\n}\n\n:host(.dark.checked) ::part(button):active,\n:host(.icon.dark.checked) ::part(button):active {\n background-color: var(--ic-action-dark-active);\n}\n\n:host(.light.checked) ::part(button) {\n background-color: var(--ic-action-light);\n color: var(--ic-color-primary-text);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black);\n}\n\n:host(.light.checked) ::part(button):hover {\n background-color: var(--ic-action-light-hover);\n}\n\n:host(.light.checked) ::part(button):active,\n:host(.icon.light.checked) ::part(button):active {\n background-color: var(--ic-action-light-active);\n}\n\n:host(.light.checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus);\n}\n\n:host(.disabled) ::part(button),\n:host(.icon.disabled) ::part(button) {\n border: var(--button-border);\n}\n\n:host(.disabled.checked) ::part(button),\n:host(.icon.disabled.checked) ::part(button) {\n background-color: transparent;\n}\n\n:host(.disabled.checked) ::part(button),\n:host(.icon.disabled.checked) ::part(button)::before {\n background-image: radial-gradient(var(--ic-architectural-400) 95%, white 20%);\n background-repeat: no-repeat;\n}\n\n:host(.icon) ::part(button) {\n border: var(--button-border);\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-active);\n}\n\n:host(.icon.dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.icon.light) ::part(button):active {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.icon.small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.icon.large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.checked.loading) ::part(button) {\n background-color: var(--button-default-active);\n}\n\n:host(.loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-architectural-white);\n}\n\n:host(.checked.loading.light) ::part(button) {\n background-color: var(--ic-action-light-active);\n}\n\n:host(.checked.loading.dark) ::part(button) {\n background-color: var(--ic-action-dark-active);\n}\n\n@media (forced-colors: active) {\n :host(.checked) ::part(button),\n :host(.checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.checked.light) ::part(button),\n :host(.checked.light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.checked.dark) ::part(button),\n :host(.checked.dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.checked.disabled) ::part(button) {\n background-color: GrayText;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Event,\n EventEmitter,\n Listen,\n h,\n forceUpdate,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcButtonTooltipPlacement,\n IcSizes,\n IcThemeForeground,\n} from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\n\n@Component({\n tag: \"ic-toggle-button\",\n styleUrl: \"ic-toggle-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ToggleButton {\n private iconPosition: \"left\" | \"right\" | \"top\";\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcToggleButtonElement;\n\n /**\n * The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\n */\n @Prop() accessibleLabel?: string;\n\n /**\n * The appearance of the toggle button.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n @Prop() iconPlacement?: \"left\" | \"right\" | \"top\";\n\n /**\n * The label to display in the toggle button. This is required for the default variant of toggle buttons.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the toggle button will be in loading state.\n */\n @Prop() loading?: boolean = false;\n\n /**\n * The size of the toggle button to be displayed.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n @Prop({ mutable: true, reflect: true }) toggleChecked: boolean = false;\n\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true }) variant: \"default\" | \"icon\" = \"default\";\n\n /**\n * Emitted when the user clicks a toggle button.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n const parentIconPlacement = (\n this.el.parentElement as HTMLIcToggleButtonGroupElement\n ).iconPlacement;\n this.iconPosition = this.iconPlacement || parentIconPlacement;\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ],\n \"Toggle button\"\n );\n if (typeof MutationObserver !== \"undefined\") {\n this.hostMutationObserver = new MutationObserver(\n this.hostMutationCallback\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n }\n\n disconnectedCallback(): void {\n if (\n this.hostMutationObserver !== null &&\n this.hostMutationObserver !== undefined\n ) {\n this.hostMutationObserver.disconnect();\n }\n }\n\n private hostMutationCallback = (): void => {\n forceUpdate(this);\n };\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n } else if (!this.loading) {\n this.toggleChecked = !this.toggleChecked;\n }\n }\n\n private handleFocus = (ev: FocusEvent) => {\n ev.stopImmediatePropagation();\n };\n\n private handleClick = (): void => {\n !this.loading &&\n !this.disabled &&\n this.icToggleChecked.emit({\n checked: this.toggleChecked,\n });\n };\n\n render() {\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled,\n [\"checked\"]: this.toggleChecked,\n [`${this.appearance}`]: true,\n [\"icon\"]: this.variant === \"icon\",\n [`${this.size}`]: true,\n [\"loading\"]: this.loading,\n }}\n onFocus={this.handleFocus}\n >\n <ic-button\n aria-pressed={this.toggleChecked.toString()}\n variant={this.variant === \"icon\" ? \"icon\" : \"secondary\"}\n onClick={this.handleClick}\n title={this.accessibleLabel}\n aria-label={`${\n this.accessibleLabel ? this.accessibleLabel : this.label\n }, ${this.toggleChecked ? \"ticked\" : \"unticked\"}`}\n disabled={this.disabled}\n appearance={this.appearance}\n size={this.size}\n fullWidth={this.fullWidth}\n loading={this.loading}\n aria-disabled={`${this.disabled}`}\n tooltipPlacement={this.tooltipPlacement}\n >\n {this.variant !== \"icon\" && this.label}\n <slot />\n {isSlotUsed(this.el, \"icon\") && (\n <slot\n name=\"icon\"\n slot={`${\n this.iconPosition ? `${this.iconPosition}-icon` : \"icon\"\n }`}\n ></slot>\n )}\n {isSlotUsed(this.el, \"badge\") && (\n <slot name=\"badge\" slot=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"],"mappings":"iJAAA,MAAMA,EAAoB,irN,MCmCbC,EAAY,M,0EAEfC,KAAAC,qBAAyC,KA4GzCD,KAAAE,qBAAuB,KAC7BC,EAAYH,KAAK,EAYXA,KAAAI,YAAeC,IACrBA,EAAGC,0BAA0B,EAGvBN,KAAAO,YAAc,MACnBP,KAAKQ,UACHR,KAAKS,UACNT,KAAKU,gBAAgBC,KAAK,CACxBC,QAASZ,KAAKa,eACd,E,+CAtHmC,U,cAKZ,M,eASC,M,+DAeF,M,UAKH,U,mBAKwC,M,sBAKZ,S,aAKE,S,CA1CvD,oBAAAC,GACEC,EAAoBf,KAAKS,SAAUT,KAAKgB,G,CAkD1C,iBAAAC,GACEF,EAAoBf,KAAKS,SAAUT,KAAKgB,IAExC,MAAME,EACJlB,KAAKgB,GAAGG,cACRC,cACFpB,KAAKqB,aAAerB,KAAKoB,eAAiBF,C,CAG5C,gBAAAI,GACEC,EACE,CACE,CACEC,KAAMxB,KAAKyB,UAAY,OAASzB,KAAK0B,gBAAkB1B,KAAK2B,MAC5DC,SAAU5B,KAAKyB,UAAY,OAAS,mBAAqB,UAG7D,iBAEF,UAAWI,mBAAqB,YAAa,CAC3C7B,KAAKC,qBAAuB,IAAI4B,iBAC9B7B,KAAKE,sBAEPF,KAAKC,qBAAqB6B,QAAQ9B,KAAKgB,GAAI,CACzCe,UAAW,M,EAKjB,oBAAAC,GACE,GACEhC,KAAKC,uBAAyB,MAC9BD,KAAKC,uBAAyBgC,UAC9B,CACAjC,KAAKC,qBAAqBiC,Y,EAS9B,eAAAC,CAAgBC,GACd,GAAIpC,KAAKS,SAAU,CACjB2B,EAAE9B,0B,MACG,IAAKN,KAAKQ,QAAS,CACxBR,KAAKa,eAAiBb,KAAKa,a,EAgB/B,MAAAwB,GACE,OACEC,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,YAAaxC,KAAKS,SACnB,CAAC,WAAYT,KAAKa,cAClB,CAAC,GAAGb,KAAKyC,cAAe,KACxB,CAAC,QAASzC,KAAKyB,UAAY,OAC3B,CAAC,GAAGzB,KAAK0C,QAAS,KAClB,CAAC,WAAY1C,KAAKQ,SAEpBmC,QAAS3C,KAAKI,aAEdkC,EAAA,4BACgBtC,KAAKa,cAAc+B,WACjCnB,QAASzB,KAAKyB,UAAY,OAAS,OAAS,YAC5CoB,QAAS7C,KAAKO,YACduC,MAAO9C,KAAK0B,gBAAe,aACf,GACV1B,KAAK0B,gBAAkB1B,KAAK0B,gBAAkB1B,KAAK2B,UAChD3B,KAAKa,cAAgB,SAAW,aACrCJ,SAAUT,KAAKS,SACfgC,WAAYzC,KAAKyC,WACjBC,KAAM1C,KAAK0C,KACXK,UAAW/C,KAAK+C,UAChBvC,QAASR,KAAKQ,QAAO,gBACN,GAAGR,KAAKS,WACvBuC,iBAAkBhD,KAAKgD,kBAEtBhD,KAAKyB,UAAY,QAAUzB,KAAK2B,MACjCW,EAAA,aACCW,EAAWjD,KAAKgB,GAAI,SACnBsB,EAAA,QACEY,KAAK,OACLC,KAAM,GACJnD,KAAKqB,aAAe,GAAGrB,KAAKqB,oBAAsB,WAIvD4B,EAAWjD,KAAKgB,GAAI,UACnBsB,EAAA,QAAMY,KAAK,QAAQC,KAAK,W"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as e,h as i,H as o,g as s}from"./p-6b5e91e2.js";import{r as n}from"./p-d41c847e.js";import"./p-26b7b18f.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:root{display:block}:host{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;min-width:-moz-min-content;min-width:min-content;border:var(--ic-border-width) solid var(--ic-action-default);border-radius:var(--ic-border-radius)}:host(.full-width){width:100%;max-width:100%}:host(.loading){min-width:-moz-max-content;min-width:max-content}:host(:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}::slotted(ic-toggle-button){flex-grow:1;width:-moz-min-content;width:min-content;--toggle-button-border:none}::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-default)}:host(.disabled){border:var(--ic-border-disabled);pointer-events:none}:host(.disabled) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-disabled)}:host(.dark){border:var(--ic-border-width) solid var(--ic-action-dark)}:host(.dark) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-dark)}:host(.light) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-light)}:host(.light){border:var(--ic-border-width) solid var(--ic-action-light)}';const a="IC-TOGGLE-BUTTON-GROUP";const l=class{constructor(i){t(this,i);this.icChange=e(this,"icChange",7);this.keyListener=t=>{this.lastKeyPressed={key:t.key,shift:t.shiftKey}};this.setSlottedAria=t=>{const e=t.shadowRoot.querySelector("ic-button").shadowRoot.querySelector("button");let i=e.getAttribute("aria-label");i+=", ";i+=this.accessibleLabel;e.setAttribute("aria-label",i)};this.handleHostFocus=t=>{if(this.loading||this.disabled){return null}const e=t.target;const i=t.relatedTarget;const o=Array.from(e.querySelectorAll("ic-toggle-button"));if((o.every((t=>!t.toggleChecked))||this.selectType!=="single")&&this.lastKeyPressed.shift===false||o.every((t=>!t.toggleChecked))&&this.lastKeyPressed.shift===true&&i.tagName==a){o[0].focus()}else if(this.lastKeyPressed.shift===false||this.lastKeyPressed.shift===true&&i.tagName==a){const t=o.filter((t=>t.toggleChecked));t[0].focus()}};this.handleKeyDown=t=>{const e=this.getAllToggleButtons();const i=e.indexOf(e.filter((t=>t===document.activeElement))[0]);switch(t.key){case"ArrowDown":case"ArrowRight":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,true)]):e[this.getNextItemToSelect(i,true)].focus();break;case"ArrowUp":case"ArrowLeft":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,false)]):e[this.getNextItemToSelect(i,false)].focus();break}};this.getNextItemToSelect=(t,e)=>{const i=this.getAllToggleButtons();const o=i.length-1;if(t<1){t=0}let s=e?t+1:t-1;if(s<0){s=o}else if(s>o){s=0}if(i[s].disabled){s=this.getNextItemToSelect(s,e)}return s};this.lastKeyPressed={key:null,shift:false};this.accessibleLabel="Toggle button group";this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.loading=false;this.selectMethod="manual";this.selectType="single";this.size="default";this.tooltipPlacement="bottom";this.variant="default"}watchDisabledHandler(){n(this.disabled,this.el)}watchTooltipPlacementHandler(){this.getAllToggleButtons().forEach((t=>{t.tooltipPlacement=this.tooltipPlacement}))}selectHandler(t,e){const i=this.getAllToggleButtons();let o=t.target;e&&e.focus();if(this.selectType==="single"){if(!o){o=e}i.forEach((t=>{if(t.id!==o.id&&t.toggleChecked){t.toggleChecked=false}}));this.icChange.emit({toggleChecked:t.detail.toggleChecked,selectedOption:o})}else{const t=this.getAllToggleButtons().filter((t=>t.toggleChecked&&!t.disabled));this.icChange.emit({toggleChecked:t.map((t=>t.toggleChecked)),toggledOptions:t.map((t=>({toggleButton:t}))),selectedOption:o})}}componentWillLoad(){this.selectType==="multi"&&(this.selectMethod="manual");document.addEventListener("keydown",this.keyListener);n(this.disabled,this.el)}componentDidLoad(){this.getAllToggleButtons().forEach(((t,e)=>{this.setSlottedAria(t);t.size=this.size;t.loading=this.loading;t.iconPlacement=this.iconPlacement;t.disabled?null:t.disabled=this.disabled;t.appearance=this.appearance;t.variant=this.variant;t.fullWidth=this.fullWidth;t.tooltipPlacement=this.tooltipPlacement;t.id=e.toString();t.tabIndex=-1;t.addEventListener("keydown",(t=>{this.handleKeyDown(t)}));t.classList.add("expand-toggle-group-child")}))}disconnectedCallback(){document===null||document===void 0?void 0:document.removeEventListener("keydown",this.keyListener)}proxySelectHandler(t){t.toggleChecked=true;const e=new CustomEvent("icToggleChecked",{detail:{toggleChecked:t.toggleChecked}});this.selectHandler(e,t)}getAllToggleButtons(){return Array.from(this.el.querySelectorAll("ic-toggle-button"))}render(){return i(o,{role:"group","aria-label":this.accessibleLabel,"aria-disabled":this.disabled?"true":"false",tabindex:0,class:{["full-width"]:this.fullWidth,["loading"]:this.loading,["disabled"]:this.disabled,[`${this.appearance}`]:true},onFocus:this.handleHostFocus},i("slot",null))}get el(){return s(this)}static get watchers(){return{disabled:["watchDisabledHandler"],tooltipPlacement:["watchTooltipPlacementHandler"]}}};l.style=r;export{l as ic_toggle_button_group};
|
2
|
+
//# sourceMappingURL=p-a141ea39.entry.js.map
|