@ukic/web-components 3.0.0-alpha.4 → 3.0.0-alpha.6
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-69219f14.js → helpers-dd569d97.js} +33 -28
- package/dist/cjs/helpers-dd569d97.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 +4 -4
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +3 -3
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +18 -17
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +20 -10
- package/dist/cjs/ic-card-vertical.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 +2 -2
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +3 -3
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +6 -7
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +4 -5
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +7 -8
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +6 -7
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +14 -7
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +22 -25
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +21 -25
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +10 -12
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +16 -9
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +11 -8
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -6
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +31 -6
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +5 -3
- package/dist/cjs/ic-page-header.cjs.entry.js.map +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 +9 -23
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +9 -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 +10 -6
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +18 -14
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +14 -10
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +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 +7 -3
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.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 +37 -19
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +20 -20
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +31 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -6
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +13 -7
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +2 -2
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +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.css +7 -1
- package/dist/collection/components/ic-alert/ic-alert.js +3 -3
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +1 -1
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +5 -2
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +31 -4
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +14 -0
- package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
- package/dist/collection/components/ic-badge/ic-badge.css +3 -3
- package/dist/collection/components/ic-badge/ic-badge.js +2 -2
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +4 -7
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +44 -19
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +693 -416
- package/dist/collection/components/ic-button/ic-button.js +62 -43
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +9 -9
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +18 -18
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +27 -14
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
- package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +10 -0
- package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.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-dialog/ic-dialog.css +1 -1
- package/dist/collection/components/ic-divider/ic-divider.js +8 -8
- package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +4 -4
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.css +2 -2
- package/dist/collection/components/ic-footer/ic-footer.js +9 -10
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +2 -2
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +6 -7
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +4 -0
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +7 -8
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +1 -1
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
- package/dist/collection/components/ic-hero/ic-hero.css +9 -9
- package/dist/collection/components/ic-hero/ic-hero.js +8 -9
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +2 -2
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +0 -4
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +64 -9
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
- package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +38 -17
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +22 -40
- 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 +9 -0
- package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
- package/dist/collection/components/ic-input-label/ic-input-label.css +6 -19
- package/dist/collection/components/ic-input-label/ic-input-label.js +11 -33
- package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.css +9 -4
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
- package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.css +0 -24
- package/dist/collection/components/ic-link/ic-link.js +14 -16
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +3 -3
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.css +31 -19
- package/dist/collection/components/ic-menu/ic-menu.js +4 -4
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +57 -15
- 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 +14 -1
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +14 -0
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +37 -10
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +3 -3
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +14 -9
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +32 -7
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +28 -26
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +56 -7
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +3 -3
- package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +9 -6
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.css +2 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js +27 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js +10 -22
- 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-popover-menu/ic-popover-menu.js +22 -9
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +8 -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.css +3 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -5
- 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 +4 -1
- 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.css +49 -36
- package/dist/collection/components/ic-select/ic-select.js +44 -14
- 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-side-navigation/ic-side-navigation.css +48 -31
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +16 -12
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +6 -6
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +5 -5
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +21 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.css +3 -0
- 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-tab-group/ic-tab-group.css +8 -0
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -17
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.css +60 -9
- package/dist/collection/components/ic-text-field/ic-text-field.js +64 -25
- 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 +26 -12
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +2 -2
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
- package/dist/collection/components/ic-theme/ic-theme.js +31 -31
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
- package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +11 -11
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +189 -54
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +62 -32
- 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.css +23 -16
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +79 -27
- 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 +121 -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 +41 -17
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +39 -9
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +4 -6
- package/dist/collection/utils/helpers.js +24 -19
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js +6 -6
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +30 -25
- 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-alert.js +4 -4
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +9 -5
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +3 -3
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +43 -19
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +1 -1
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +21 -19
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +25 -13
- package/dist/components/ic-card-vertical.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-dialog.js +1 -1
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +4 -4
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +7 -8
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +5 -6
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +8 -9
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +7 -8
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +16 -7
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +21 -23
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +12 -17
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +8 -8
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +13 -15
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-menu-item2.js +20 -11
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +4 -4
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +13 -9
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +9 -7
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +33 -7
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +6 -4
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +5 -2
- package/dist/components/ic-page-header.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 +9 -22
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +5 -5
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +8 -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 +11 -6
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +20 -14
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +15 -11
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-status-tag.js +5 -3
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-switch.js +9 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -18
- package/dist/components/ic-tab-group.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 +40 -20
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +22 -22
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast.js +1 -1
- package/dist/components/ic-toggle-button-group.js +38 -6
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +20 -8
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-top-navigation.js +15 -8
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +1 -1
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +899 -123
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-2ef46ead.entry.js → p-07cd8a50.entry.js} +2 -2
- package/dist/core/p-07cd8a50.entry.js.map +1 -0
- package/dist/core/p-0821fc5b.entry.js +2 -0
- package/dist/core/p-0821fc5b.entry.js.map +1 -0
- package/dist/core/p-0b8c3770.entry.js +2 -0
- package/dist/core/p-0b8c3770.entry.js.map +1 -0
- package/dist/core/p-0d505c1f.entry.js +2 -0
- package/dist/core/p-0d505c1f.entry.js.map +1 -0
- package/dist/core/p-1234f7a5.entry.js +2 -0
- package/dist/core/p-1234f7a5.entry.js.map +1 -0
- package/dist/core/{p-c9cf932c.entry.js → p-193582d4.entry.js} +2 -2
- package/dist/core/p-193582d4.entry.js.map +1 -0
- package/dist/core/p-225384ab.entry.js +2 -0
- package/dist/core/p-225384ab.entry.js.map +1 -0
- package/dist/core/{p-d93bac01.entry.js → p-3420a999.entry.js} +2 -2
- package/dist/core/p-3420a999.entry.js.map +1 -0
- package/dist/core/{p-d4a83e25.entry.js → p-3994d86d.entry.js} +2 -2
- package/dist/core/p-3994d86d.entry.js.map +1 -0
- package/dist/core/p-3bfc4a52.entry.js +2 -0
- package/dist/core/p-3bfc4a52.entry.js.map +1 -0
- package/dist/core/p-3cfef37a.entry.js +2 -0
- package/dist/core/p-3cfef37a.entry.js.map +1 -0
- package/dist/core/{p-95f603dd.entry.js → p-406e58af.entry.js} +2 -2
- package/dist/core/p-406e58af.entry.js.map +1 -0
- package/dist/core/p-48e98730.js +2 -0
- package/dist/core/p-48e98730.js.map +1 -0
- package/dist/core/{p-5cd016e1.entry.js → p-4af52174.entry.js} +2 -2
- package/dist/core/p-4af52174.entry.js.map +1 -0
- package/dist/core/{p-f5b2b26d.entry.js → p-4dc48606.entry.js} +2 -2
- package/dist/core/{p-7bff1e96.entry.js → p-4f72a02a.entry.js} +2 -2
- package/dist/core/p-4f72a02a.entry.js.map +1 -0
- package/dist/core/p-518ea375.entry.js +2 -0
- package/dist/core/p-518ea375.entry.js.map +1 -0
- package/dist/core/p-520c6089.entry.js +2 -0
- package/dist/core/p-520c6089.entry.js.map +1 -0
- package/dist/core/p-580b1593.entry.js +2 -0
- package/dist/core/p-580b1593.entry.js.map +1 -0
- package/dist/core/p-59800237.entry.js +2 -0
- package/dist/core/p-59800237.entry.js.map +1 -0
- package/dist/core/{p-acbd15ab.entry.js → p-5ba8e679.entry.js} +2 -2
- package/dist/core/p-5ba8e679.entry.js.map +1 -0
- package/dist/core/p-5d417fc0.entry.js +2 -0
- package/dist/core/p-5d417fc0.entry.js.map +1 -0
- package/dist/core/{p-922984cb.entry.js → p-5d653608.entry.js} +2 -2
- package/dist/core/p-61510f00.entry.js +2 -0
- package/dist/core/p-61510f00.entry.js.map +1 -0
- package/dist/core/p-6159b077.entry.js +2 -0
- package/dist/core/p-6159b077.entry.js.map +1 -0
- package/dist/core/p-6859019c.entry.js +2 -0
- package/dist/core/p-6859019c.entry.js.map +1 -0
- package/dist/core/p-705db6a5.entry.js +2 -0
- package/dist/core/p-705db6a5.entry.js.map +1 -0
- package/dist/core/{p-7b35de65.entry.js → p-7124b387.entry.js} +2 -2
- package/dist/core/p-810744b5.entry.js +2 -0
- package/dist/core/p-810744b5.entry.js.map +1 -0
- package/dist/core/p-810f5a2d.entry.js +2 -0
- package/dist/core/p-810f5a2d.entry.js.map +1 -0
- package/dist/core/p-8a2670c1.entry.js +2 -0
- package/dist/core/p-8a2670c1.entry.js.map +1 -0
- package/dist/core/{p-29767574.entry.js → p-91c1327d.entry.js} +2 -2
- package/dist/core/p-98dbbb34.entry.js +2 -0
- package/dist/core/p-98dbbb34.entry.js.map +1 -0
- package/dist/core/p-9c1d4f72.entry.js +2 -0
- package/dist/core/p-9c1d4f72.entry.js.map +1 -0
- package/dist/core/{p-428f95f8.entry.js → p-a23c515d.entry.js} +2 -2
- package/dist/core/p-a23c515d.entry.js.map +1 -0
- package/dist/core/p-a24bcf5f.entry.js +2 -0
- package/dist/core/p-a24bcf5f.entry.js.map +1 -0
- package/dist/core/p-aefebee9.entry.js +2 -0
- package/dist/core/p-aefebee9.entry.js.map +1 -0
- package/dist/core/{p-806a0fab.entry.js → p-b27dfa1b.entry.js} +2 -2
- package/dist/core/{p-690c5e80.entry.js → p-b2a41070.entry.js} +2 -2
- package/dist/core/{p-ef78bebc.entry.js → p-b51e378c.entry.js} +2 -2
- package/dist/core/p-b51e378c.entry.js.map +1 -0
- package/dist/core/{p-a9341313.entry.js → p-b5439baa.entry.js} +2 -2
- package/dist/core/p-b9aa801f.entry.js +2 -0
- package/dist/core/p-b9aa801f.entry.js.map +1 -0
- package/dist/core/{p-4a3b1f06.entry.js → p-bc7b8a1e.entry.js} +2 -2
- package/dist/core/p-bc7b8a1e.entry.js.map +1 -0
- package/dist/core/{p-cedc375e.entry.js → p-c2b359d9.entry.js} +2 -2
- package/dist/core/p-c2b359d9.entry.js.map +1 -0
- package/dist/core/{p-ee6dd94c.entry.js → p-c67f7603.entry.js} +2 -2
- package/dist/core/p-c6e91e13.entry.js +2 -0
- package/dist/core/p-c6e91e13.entry.js.map +1 -0
- package/dist/core/p-c83e933c.entry.js +2 -0
- package/dist/core/p-c83e933c.entry.js.map +1 -0
- package/dist/core/p-ca27ab19.entry.js +2 -0
- package/dist/core/p-ca27ab19.entry.js.map +1 -0
- package/dist/core/p-cfe32b37.entry.js +2 -0
- package/dist/core/p-cfe32b37.entry.js.map +1 -0
- package/dist/core/p-d2909711.entry.js +2 -0
- package/dist/core/p-d2909711.entry.js.map +1 -0
- package/dist/core/p-da85eaf6.entry.js +2 -0
- package/dist/core/p-da85eaf6.entry.js.map +1 -0
- package/dist/core/p-dcb2073d.entry.js +2 -0
- package/dist/core/p-dcb2073d.entry.js.map +1 -0
- package/dist/core/{p-705eb610.entry.js → p-ded2dbed.entry.js} +2 -2
- package/dist/core/p-ded2dbed.entry.js.map +1 -0
- package/dist/core/p-f42c0469.entry.js +2 -0
- package/dist/core/p-f42c0469.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-e8797e8d.js → helpers-e594bfc6.js} +31 -26
- package/dist/esm/helpers-e594bfc6.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 +4 -4
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +9 -6
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +3 -3
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +2 -2
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +18 -17
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +20 -10
- package/dist/esm/ic-card-vertical.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 +2 -2
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +3 -3
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +6 -7
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +4 -5
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +7 -8
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +6 -7
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +14 -7
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +22 -25
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +21 -25
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +10 -12
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +16 -9
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +11 -8
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +7 -6
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +31 -6
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -4
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +5 -3
- package/dist/esm/ic-page-header.entry.js.map +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 +9 -23
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +6 -6
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +9 -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 +10 -6
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +18 -14
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +14 -10
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +5 -4
- package/dist/esm/ic-status-tag.entry.js.map +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 +7 -3
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -19
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.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 +37 -19
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +20 -20
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +31 -4
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +15 -6
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +13 -7
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +2 -2
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-accordion/ic-accordion.d.ts +2 -0
- package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -0
- package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +1 -0
- package/dist/types/components/ic-button/ic-button.d.ts +10 -6
- package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +4 -3
- 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-divider/ic-divider.d.ts +4 -4
- package/dist/types/components/ic-footer/ic-footer.d.ts +3 -3
- package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
- package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -3
- package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
- package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
- package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -4
- package/dist/types/components/ic-input-label/ic-input-label.d.ts +0 -4
- package/dist/types/components/ic-link/ic-link.d.ts +2 -2
- package/dist/types/components/ic-menu/ic-menu.d.ts +1 -1
- package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +11 -4
- package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +7 -3
- package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +7 -3
- package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +9 -3
- package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
- package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
- package/dist/types/components/ic-pagination/ic-pagination.d.ts +1 -4
- package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +1 -0
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +3 -6
- 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 +7 -2
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -3
- package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
- package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +4 -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-tab-group/ic-tab-group.d.ts +0 -4
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +10 -3
- package/dist/types/components/ic-theme/ic-theme.d.ts +8 -8
- package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +10 -5
- package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +12 -5
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -3
- package/dist/types/components.d.ts +180 -68
- package/dist/types/utils/helpers.d.ts +12 -8
- package/dist/types/utils/types.d.ts +5 -5
- package/hydrate/index.js +536 -362
- package/package.json +4 -2
- package/vscode-data.json +211 -76
- package/dist/cjs/helpers-69219f14.js.map +0 -1
- package/dist/core/p-13d5875c.entry.js +0 -2
- package/dist/core/p-13d5875c.entry.js.map +0 -1
- package/dist/core/p-19872973.entry.js +0 -2
- package/dist/core/p-19872973.entry.js.map +0 -1
- package/dist/core/p-2140431c.entry.js +0 -2
- package/dist/core/p-2140431c.entry.js.map +0 -1
- package/dist/core/p-2e909738.entry.js +0 -2
- package/dist/core/p-2e909738.entry.js.map +0 -1
- package/dist/core/p-2eae9b27.entry.js +0 -2
- package/dist/core/p-2eae9b27.entry.js.map +0 -1
- package/dist/core/p-2ef46ead.entry.js.map +0 -1
- package/dist/core/p-37dea10d.entry.js +0 -2
- package/dist/core/p-37dea10d.entry.js.map +0 -1
- package/dist/core/p-3d9726a3.entry.js +0 -2
- package/dist/core/p-3d9726a3.entry.js.map +0 -1
- package/dist/core/p-428f95f8.entry.js.map +0 -1
- package/dist/core/p-4973c563.entry.js +0 -2
- package/dist/core/p-4973c563.entry.js.map +0 -1
- package/dist/core/p-4a3b1f06.entry.js.map +0 -1
- package/dist/core/p-5cd016e1.entry.js.map +0 -1
- package/dist/core/p-5ef8e106.entry.js +0 -2
- package/dist/core/p-5ef8e106.entry.js.map +0 -1
- package/dist/core/p-5f4a6555.entry.js +0 -2
- package/dist/core/p-5f4a6555.entry.js.map +0 -1
- package/dist/core/p-605c0c92.entry.js +0 -2
- package/dist/core/p-605c0c92.entry.js.map +0 -1
- package/dist/core/p-655a9e0f.entry.js +0 -2
- package/dist/core/p-655a9e0f.entry.js.map +0 -1
- package/dist/core/p-65a16de9.entry.js +0 -2
- package/dist/core/p-65a16de9.entry.js.map +0 -1
- package/dist/core/p-705eb610.entry.js.map +0 -1
- package/dist/core/p-76263187.entry.js +0 -2
- package/dist/core/p-76263187.entry.js.map +0 -1
- package/dist/core/p-78c1f1cc.entry.js +0 -2
- package/dist/core/p-78c1f1cc.entry.js.map +0 -1
- package/dist/core/p-79d0be03.entry.js +0 -2
- package/dist/core/p-79d0be03.entry.js.map +0 -1
- package/dist/core/p-7bff1e96.entry.js.map +0 -1
- package/dist/core/p-85173458.entry.js +0 -2
- package/dist/core/p-85173458.entry.js.map +0 -1
- package/dist/core/p-95f603dd.entry.js.map +0 -1
- package/dist/core/p-979c2792.entry.js +0 -2
- package/dist/core/p-979c2792.entry.js.map +0 -1
- package/dist/core/p-97fb2bdf.entry.js +0 -2
- package/dist/core/p-97fb2bdf.entry.js.map +0 -1
- package/dist/core/p-9ec7f96c.entry.js +0 -2
- package/dist/core/p-9ec7f96c.entry.js.map +0 -1
- package/dist/core/p-9fa93dfe.entry.js +0 -2
- package/dist/core/p-9fa93dfe.entry.js.map +0 -1
- package/dist/core/p-acbd15ab.entry.js.map +0 -1
- package/dist/core/p-ae0775aa.entry.js +0 -2
- package/dist/core/p-ae0775aa.entry.js.map +0 -1
- package/dist/core/p-b7eb8ef9.js +0 -2
- package/dist/core/p-b7eb8ef9.js.map +0 -1
- package/dist/core/p-ba6ecc15.entry.js +0 -2
- package/dist/core/p-ba6ecc15.entry.js.map +0 -1
- package/dist/core/p-bbeb03ef.entry.js +0 -2
- package/dist/core/p-bbeb03ef.entry.js.map +0 -1
- package/dist/core/p-c0fc3d02.entry.js +0 -2
- package/dist/core/p-c0fc3d02.entry.js.map +0 -1
- package/dist/core/p-c396bd4d.entry.js +0 -2
- package/dist/core/p-c396bd4d.entry.js.map +0 -1
- package/dist/core/p-c9cf932c.entry.js.map +0 -1
- package/dist/core/p-cedc375e.entry.js.map +0 -1
- package/dist/core/p-d4a83e25.entry.js.map +0 -1
- package/dist/core/p-d93bac01.entry.js.map +0 -1
- package/dist/core/p-eb3b4935.entry.js +0 -2
- package/dist/core/p-eb3b4935.entry.js.map +0 -1
- package/dist/core/p-ebafab37.entry.js +0 -2
- package/dist/core/p-ebafab37.entry.js.map +0 -1
- package/dist/core/p-ef78bebc.entry.js.map +0 -1
- package/dist/core/p-f0ae2b99.entry.js +0 -2
- package/dist/core/p-f0ae2b99.entry.js.map +0 -1
- package/dist/core/p-f24984c5.entry.js +0 -2
- package/dist/core/p-f24984c5.entry.js.map +0 -1
- package/dist/core/p-f71c00ce.entry.js +0 -2
- package/dist/core/p-f71c00ce.entry.js.map +0 -1
- package/dist/core/p-fdd0b732.entry.js +0 -2
- package/dist/core/p-fdd0b732.entry.js.map +0 -1
- package/dist/esm/helpers-e8797e8d.js.map +0 -1
- /package/dist/core/{p-f5b2b26d.entry.js.map → p-4dc48606.entry.js.map} +0 -0
- /package/dist/core/{p-922984cb.entry.js.map → p-5d653608.entry.js.map} +0 -0
- /package/dist/core/{p-7b35de65.entry.js.map → p-7124b387.entry.js.map} +0 -0
- /package/dist/core/{p-29767574.entry.js.map → p-91c1327d.entry.js.map} +0 -0
- /package/dist/core/{p-806a0fab.entry.js.map → p-b27dfa1b.entry.js.map} +0 -0
- /package/dist/core/{p-690c5e80.entry.js.map → p-b2a41070.entry.js.map} +0 -0
- /package/dist/core/{p-a9341313.entry.js.map → p-b5439baa.entry.js.map} +0 -0
- /package/dist/core/{p-ee6dd94c.entry.js.map → p-c67f7603.entry.js.map} +0 -0
@@ -525,10 +525,6 @@ video {
|
|
525
525
|
background-color: transparent;
|
526
526
|
}
|
527
527
|
|
528
|
-
.disabled ic-button > svg {
|
529
|
-
color: var(--ic-color-keyline-darken);
|
530
|
-
}
|
531
|
-
|
532
528
|
:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,
|
533
529
|
:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {
|
534
530
|
color: var(--splitter-color) !important;
|
@@ -3,7 +3,7 @@ import LeftArrow from "./assets/left-arrow.svg";
|
|
3
3
|
import RightArrow from "./assets/right-arrow.svg";
|
4
4
|
import { getSlotElements } from "../../utils/helpers";
|
5
5
|
import { checkResizeObserver, elementOverflowsX } from "../../utils/helpers";
|
6
|
-
import {
|
6
|
+
import { IcBrandForegroundEnum, } from "../../utils/types";
|
7
7
|
const SCROLL_DELAY_MS = 200;
|
8
8
|
export class HorizontalScroll {
|
9
9
|
constructor() {
|
@@ -80,6 +80,8 @@ export class HorizontalScroll {
|
|
80
80
|
this.itemOverflow = false;
|
81
81
|
this.lastItemVisible = false;
|
82
82
|
this.appearance = "default";
|
83
|
+
this.monochrome = false;
|
84
|
+
this.theme = "inherit";
|
83
85
|
this.focusTrigger = "focus";
|
84
86
|
}
|
85
87
|
componentWillLoad() {
|
@@ -141,20 +143,25 @@ export class HorizontalScroll {
|
|
141
143
|
}
|
142
144
|
}
|
143
145
|
render() {
|
144
|
-
const {
|
146
|
+
const { firstItemVisible, lastItemVisible, itemOverflow } = this;
|
145
147
|
return (h(Host, { class: {
|
146
148
|
["ic-horizontal-scroll-visible"]: itemOverflow,
|
147
|
-
["ic-horizontal-scroll-dark"]: this.appearance ===
|
148
|
-
["ic-horizontal-scroll-light"]: this.appearance ===
|
149
|
+
["ic-horizontal-scroll-dark"]: this.appearance === IcBrandForegroundEnum.Dark,
|
150
|
+
["ic-horizontal-scroll-light"]: this.appearance === IcBrandForegroundEnum.Light,
|
151
|
+
[`ic-theme-${this.theme}`]: this.theme !== "inherit",
|
149
152
|
} }, h("div", { "aria-hidden": "true", class: {
|
150
153
|
["scroll-container-left"]: true,
|
151
154
|
["hidden"]: !itemOverflow,
|
152
155
|
["disabled"]: firstItemVisible,
|
153
|
-
}, role: "tab" }, h("ic-button", { class: "scroll-arrow", variant: "icon", "aria-label": "Scroll left",
|
156
|
+
}, role: "tab" }, h("ic-button", { class: "scroll-arrow", variant: "icon-tertiary", "aria-label": "Scroll left", theme: this.theme === "light" || this.theme === "inherit"
|
157
|
+
? "dark"
|
158
|
+
: "light", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: "-1", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h("span", { class: "scroll-splitter-left" })), h("slot", null), h("div", { "aria-hidden": "true", class: {
|
154
159
|
["scroll-container-right"]: true,
|
155
160
|
["hidden"]: !itemOverflow,
|
156
161
|
["disabled"]: lastItemVisible,
|
157
|
-
}, role: "tab" }, h("span", { class: "scroll-splitter-right" }), h("ic-button", { class: "scroll-arrow", variant: "icon", "aria-label": "Scroll right",
|
162
|
+
}, role: "tab" }, h("span", { class: "scroll-splitter-right" }), h("ic-button", { class: "scroll-arrow", variant: "icon-tertiary", "aria-label": "Scroll right", theme: this.theme === "light" || this.theme === "inherit"
|
163
|
+
? "dark"
|
164
|
+
: "light", monochrome: this.monochrome, innerHTML: RightArrow, disabled: lastItemVisible, tabindex: "-1", onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler }))));
|
158
165
|
}
|
159
166
|
static get is() { return "ic-horizontal-scroll"; }
|
160
167
|
static get encapsulation() { return "shadow"; }
|
@@ -174,13 +181,13 @@ export class HorizontalScroll {
|
|
174
181
|
"type": "string",
|
175
182
|
"mutable": false,
|
176
183
|
"complexType": {
|
177
|
-
"original": "
|
184
|
+
"original": "IcBrandForeground",
|
178
185
|
"resolved": "\"dark\" | \"default\" | \"light\"",
|
179
186
|
"references": {
|
180
|
-
"
|
187
|
+
"IcBrandForeground": {
|
181
188
|
"location": "import",
|
182
189
|
"path": "../../utils/types",
|
183
|
-
"id": "src/utils/types.ts::
|
190
|
+
"id": "src/utils/types.ts::IcBrandForeground"
|
184
191
|
}
|
185
192
|
}
|
186
193
|
},
|
@@ -194,6 +201,54 @@ export class HorizontalScroll {
|
|
194
201
|
"reflect": false,
|
195
202
|
"defaultValue": "\"default\""
|
196
203
|
},
|
204
|
+
"monochrome": {
|
205
|
+
"type": "boolean",
|
206
|
+
"mutable": false,
|
207
|
+
"complexType": {
|
208
|
+
"original": "boolean",
|
209
|
+
"resolved": "boolean",
|
210
|
+
"references": {}
|
211
|
+
},
|
212
|
+
"required": false,
|
213
|
+
"optional": true,
|
214
|
+
"docs": {
|
215
|
+
"tags": [{
|
216
|
+
"name": "internal",
|
217
|
+
"text": "Determines whether black variant of the tabs should be displayed."
|
218
|
+
}],
|
219
|
+
"text": ""
|
220
|
+
},
|
221
|
+
"attribute": "monochrome",
|
222
|
+
"reflect": false,
|
223
|
+
"defaultValue": "false"
|
224
|
+
},
|
225
|
+
"theme": {
|
226
|
+
"type": "string",
|
227
|
+
"mutable": false,
|
228
|
+
"complexType": {
|
229
|
+
"original": "IcThemeMode",
|
230
|
+
"resolved": "\"dark\" | \"inherit\" | \"light\"",
|
231
|
+
"references": {
|
232
|
+
"IcThemeMode": {
|
233
|
+
"location": "import",
|
234
|
+
"path": "../../utils/types",
|
235
|
+
"id": "src/utils/types.ts::IcThemeMode"
|
236
|
+
}
|
237
|
+
}
|
238
|
+
},
|
239
|
+
"required": false,
|
240
|
+
"optional": true,
|
241
|
+
"docs": {
|
242
|
+
"tags": [{
|
243
|
+
"name": "internal",
|
244
|
+
"text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
|
245
|
+
}],
|
246
|
+
"text": ""
|
247
|
+
},
|
248
|
+
"attribute": "theme",
|
249
|
+
"reflect": false,
|
250
|
+
"defaultValue": "\"inherit\""
|
251
|
+
},
|
197
252
|
"focusTrigger": {
|
198
253
|
"type": "string",
|
199
254
|
"mutable": false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-horizontal-scroll.js","sourceRoot":"","sources":["../../../src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport { IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items?.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n\n this.itemsContainerEl?.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { appearance, firstItemVisible, lastItemVisible, itemOverflow } =\n this;\n\n return (\n <Host\n class={{\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]:\n this.appearance === IcThemeForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]:\n this.appearance === IcThemeForegroundEnum.Light,\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll left\"\n appearance={appearance}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon\"\n aria-label=\"Scroll right\"\n appearance={appearance}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"ic-horizontal-scroll.js","sourceRoot":"","sources":["../../../src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport {\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcBrandForeground = \"default\";\n\n /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\n\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items?.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n\n this.itemsContainerEl?.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n\n return (\n <Host\n class={{\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]:\n this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]:\n this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll left\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll right\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js
CHANGED
@@ -11,6 +11,18 @@ const testHorizontalScroll = `<ic-horizontal-scroll>
|
|
11
11
|
<ic-navigation-item label="Test nav item 6"></ic-navigation-item>
|
12
12
|
</div>
|
13
13
|
</ic-horizontal-scroll>`;
|
14
|
+
const testTheme = (theme) => {
|
15
|
+
return `<ic-horizontal-scroll theme="${theme}">
|
16
|
+
<div>
|
17
|
+
<ic-navigation-item label="Test nav item 1"></ic-navigation-item>
|
18
|
+
<ic-navigation-item label="Test nav item 2"></ic-navigation-item>
|
19
|
+
<ic-navigation-item label="Test nav item 3"></ic-navigation-item>
|
20
|
+
<ic-navigation-item label="Test nav item 4"></ic-navigation-item>
|
21
|
+
<ic-navigation-item label="Test nav item 5"></ic-navigation-item>
|
22
|
+
<ic-navigation-item label="Test nav item 6"></ic-navigation-item>
|
23
|
+
</div>
|
24
|
+
</ic-horizontal-scroll>`;
|
25
|
+
};
|
14
26
|
describe("ic-horizontal-scroll", () => {
|
15
27
|
it("should render", async () => {
|
16
28
|
const page = await newSpecPage({
|
@@ -19,6 +31,20 @@ describe("ic-horizontal-scroll", () => {
|
|
19
31
|
});
|
20
32
|
expect(page.root).toMatchSnapshot("renders");
|
21
33
|
});
|
34
|
+
it("should render light", async () => {
|
35
|
+
const page = await newSpecPage({
|
36
|
+
components: [HorizontalScroll, NavigationItem],
|
37
|
+
html: testTheme("light"),
|
38
|
+
});
|
39
|
+
expect(page.root).toMatchSnapshot("renders");
|
40
|
+
});
|
41
|
+
it("should render dark", async () => {
|
42
|
+
const page = await newSpecPage({
|
43
|
+
components: [HorizontalScroll, NavigationItem],
|
44
|
+
html: testTheme("dark"),
|
45
|
+
});
|
46
|
+
expect(page.root).toMatchSnapshot("renders");
|
47
|
+
});
|
22
48
|
it("should render the correct HTML for the chosen appearance", async () => {
|
23
49
|
const page = await newSpecPage({
|
24
50
|
components: [HorizontalScroll, NavigationItem],
|
@@ -176,5 +202,22 @@ describe("ic-horizontal-scroll", () => {
|
|
176
202
|
page.waitForChanges();
|
177
203
|
expect(page.rootInstance.itemOverflow).toBe(true);
|
178
204
|
});
|
205
|
+
// Code Coverage
|
206
|
+
it("should call the runResizeObserver function", async () => {
|
207
|
+
const page = await newSpecPage({
|
208
|
+
components: [HorizontalScroll, NavigationItem],
|
209
|
+
html: `<ic-horizontal-scroll appearance="dark">
|
210
|
+
<div>
|
211
|
+
<ic-navigation-item label="Test nav item 1"></ic-navigation-item>
|
212
|
+
<ic-navigation-item label="Test nav item 2"></ic-navigation-item>
|
213
|
+
<ic-navigation-item label="Test nav item 3"></ic-navigation-item>
|
214
|
+
<ic-navigation-item label="Test nav item 4"></ic-navigation-item>
|
215
|
+
<ic-navigation-item label="Test nav item 5"></ic-navigation-item>
|
216
|
+
<ic-navigation-item label="Test nav item 6"></ic-navigation-item>
|
217
|
+
</div>
|
218
|
+
</ic-horizontal-scroll>`,
|
219
|
+
});
|
220
|
+
page.rootInstance.runResizeObserver();
|
221
|
+
});
|
179
222
|
});
|
180
223
|
//# sourceMappingURL=ic-horizontal-scroll.spec.js.map
|
package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-horizontal-scroll.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { NavigationItem } from \"../../../ic-navigation-item/ic-navigation-item\";\nimport { HorizontalScroll } from \"../../ic-horizontal-scroll\";\n\nconst testHorizontalScroll = `<ic-horizontal-scroll>\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`;\n\ndescribe(\"ic-horizontal-scroll\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render the correct HTML for the chosen appearance\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-appearance\");\n });\n\n it(\"should scroll item into view\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.scrollItemIntoView(6);\n expect(page.rootInstance.buttonStateSet).toBe(true);\n });\n\n it(\"should long scroll left\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.longScrollLeft();\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n });\n\n it(\"should long scroll right\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.longScrollRight();\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n });\n\n it(\"should delay on left arrow mouse down and set a timeout after the scrolling ends\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.leftArrowMouseDownHandler(event);\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n\n page.rootInstance.isScrolling = 200;\n page.waitForChanges();\n\n page.rootInstance.scrollHandler();\n\n expect(page.rootInstance.isScrolling._idleNext.msecs).toBe(50);\n });\n\n it(\"should delay on right arrow mouse down and revoke delay on mouse up\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.rightArrowMouseDownHandler(event);\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n\n page.rootInstance.arrowMouseUpHandler();\n expect(page.rootInstance.scrollDelay._idleNext).toBeNull();\n });\n\n it(\"should stop scrolling if mouse leaves the scroll button\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n const scrollContainer = page.root.shadowRoot.querySelector(\n \".scroll-container-right\"\n );\n const mouseDownEvent = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n const mouseLeaveEvent = new Event(\"mouseleave\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.rightArrowMouseDownHandler(mouseDownEvent);\n page.waitForChanges();\n\n scrollContainer.dispatchEvent(mouseLeaveEvent);\n page.waitForChanges();\n\n expect(page.rootInstance.arrowMouseUpHandler()).toHaveBeenCalled;\n });\n\n it(\"should stop scrolling\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n //when buttonStateSet is true\n page.rootInstance.buttonStateSet = true;\n page.rootInstance.scrollStopped();\n page.waitForChanges();\n\n expect(page.rootInstance.buttonStateSet).toBe(false);\n\n //when buttonStateSet is false\n page.rootInstance.itemsContainerEl.scrollLeft = 0;\n page.rootInstance.scrollStopped();\n page.waitForChanges();\n\n expect(page.rootInstance.firstItemVisible).toBe(true);\n });\n\n it(\"should handle item focus\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.itemOverflow = true;\n page.waitForChanges();\n\n const item: HTMLElement = page.root.querySelector(\n \"[label='Test nav item 4']\"\n );\n item.focus();\n page.waitForChanges();\n\n expect(page.rootInstance.itemFocusHandler()).toHaveBeenCalled;\n expect(page.rootInstance.firstItemVisible).toBe(false);\n });\n\n it(\"should render scroll arrows when items overflow\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: `<ic-horizontal-scroll>\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`,\n });\n\n page.rootInstance.itemOverflow = true;\n page.waitForChanges();\n const scroll = page.root.shadowRoot.querySelector(\".scroll-arrow\");\n\n expect(scroll).not.toBeNull();\n\n //call runResizeObserver\n page.rootInstance.runResizeObserver();\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should set itemOverflow to true where scrollWidth > clientWidth on the scroll container element\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: `<ic-horizontal-scroll>\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`,\n });\n\n page.rootInstance.itemsContainerEl.scrollWidth = 100;\n page.rootInstance.itemsContainerEl.clientWidth = 50;\n page.rootInstance.resizeObserverCallback();\n page.waitForChanges();\n\n expect(page.rootInstance.itemOverflow).toBe(true);\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-horizontal-scroll.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { NavigationItem } from \"../../../ic-navigation-item/ic-navigation-item\";\nimport { HorizontalScroll } from \"../../ic-horizontal-scroll\";\n\nconst testHorizontalScroll = `<ic-horizontal-scroll>\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`;\n\nconst testTheme = (theme: string) => {\n return `<ic-horizontal-scroll theme=\"${theme}\">\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`;\n};\n\ndescribe(\"ic-horizontal-scroll\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n it(\"should render light\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testTheme(\"light\"),\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n it(\"should render dark\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testTheme(\"dark\"),\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render the correct HTML for the chosen appearance\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-appearance\");\n });\n\n it(\"should scroll item into view\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.scrollItemIntoView(6);\n expect(page.rootInstance.buttonStateSet).toBe(true);\n });\n\n it(\"should long scroll left\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.longScrollLeft();\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n });\n\n it(\"should long scroll right\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.longScrollRight();\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n });\n\n it(\"should delay on left arrow mouse down and set a timeout after the scrolling ends\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.leftArrowMouseDownHandler(event);\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n\n page.rootInstance.isScrolling = 200;\n page.waitForChanges();\n\n page.rootInstance.scrollHandler();\n\n expect(page.rootInstance.isScrolling._idleNext.msecs).toBe(50);\n });\n\n it(\"should delay on right arrow mouse down and revoke delay on mouse up\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.rightArrowMouseDownHandler(event);\n page.waitForChanges();\n\n expect(page.rootInstance.scrollDelay._idleNext.msecs).toBe(200);\n\n page.rootInstance.arrowMouseUpHandler();\n expect(page.rootInstance.scrollDelay._idleNext).toBeNull();\n });\n\n it(\"should stop scrolling if mouse leaves the scroll button\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n const scrollContainer = page.root.shadowRoot.querySelector(\n \".scroll-container-right\"\n );\n const mouseDownEvent = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n const mouseLeaveEvent = new Event(\"mouseleave\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.rightArrowMouseDownHandler(mouseDownEvent);\n page.waitForChanges();\n\n scrollContainer.dispatchEvent(mouseLeaveEvent);\n page.waitForChanges();\n\n expect(page.rootInstance.arrowMouseUpHandler()).toHaveBeenCalled;\n });\n\n it(\"should stop scrolling\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n //when buttonStateSet is true\n page.rootInstance.buttonStateSet = true;\n page.rootInstance.scrollStopped();\n page.waitForChanges();\n\n expect(page.rootInstance.buttonStateSet).toBe(false);\n\n //when buttonStateSet is false\n page.rootInstance.itemsContainerEl.scrollLeft = 0;\n page.rootInstance.scrollStopped();\n page.waitForChanges();\n\n expect(page.rootInstance.firstItemVisible).toBe(true);\n });\n\n it(\"should handle item focus\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: testHorizontalScroll,\n });\n\n page.rootInstance.itemOverflow = true;\n page.waitForChanges();\n\n const item: HTMLElement = page.root.querySelector(\n \"[label='Test nav item 4']\"\n );\n item.focus();\n page.waitForChanges();\n\n expect(page.rootInstance.itemFocusHandler()).toHaveBeenCalled;\n expect(page.rootInstance.firstItemVisible).toBe(false);\n });\n\n it(\"should render scroll arrows when items overflow\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: `<ic-horizontal-scroll>\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`,\n });\n\n page.rootInstance.itemOverflow = true;\n page.waitForChanges();\n const scroll = page.root.shadowRoot.querySelector(\".scroll-arrow\");\n\n expect(scroll).not.toBeNull();\n\n //call runResizeObserver\n page.rootInstance.runResizeObserver();\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should set itemOverflow to true where scrollWidth > clientWidth on the scroll container element\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: `<ic-horizontal-scroll>\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`,\n });\n\n page.rootInstance.itemsContainerEl.scrollWidth = 100;\n page.rootInstance.itemsContainerEl.clientWidth = 50;\n page.rootInstance.resizeObserverCallback();\n page.waitForChanges();\n\n expect(page.rootInstance.itemOverflow).toBe(true);\n });\n\n // Code Coverage\n it(\"should call the runResizeObserver function\", async () => {\n const page = await newSpecPage({\n components: [HorizontalScroll, NavigationItem],\n html: `<ic-horizontal-scroll appearance=\"dark\">\n <div>\n <ic-navigation-item label=\"Test nav item 1\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 2\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 3\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 4\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 5\"></ic-navigation-item>\n <ic-navigation-item label=\"Test nav item 6\"></ic-navigation-item>\n </div>\n </ic-horizontal-scroll>`,\n });\n\n page.rootInstance.runResizeObserver();\n });\n});\n"]}
|
package/dist/collection/components/ic-input-component-container/ic-input-component-container.css
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
ic-input-component-container {
|
2
2
|
/**
|
3
3
|
* @prop --border-color: Border colour of the input component container
|
4
|
+
* @prop --border-color-hover: Border colour of the input component container on hover
|
5
|
+
* @prop --border-color-pressed: Border colour of the input component container when pressed
|
4
6
|
* @prop --border-color-disabled: Border colour of the input component container when disabled
|
7
|
+
* @prop --border-color-error: Border colour of the error variant for input component container
|
8
|
+
* @prop --border-color-error-hover: Border colour of the error hover variant for input component container
|
9
|
+
* @prop --border-color-error-pressed: Border colour of the error pressed variant for input component container
|
10
|
+
* @prop --border-color-warning: Border colour of the warning variant for input component container
|
11
|
+
* @prop --border-color-warning-hover: Border colour of the warning hover variant for input component container
|
12
|
+
* @prop --border-color-warning-pressed: Border colour of the warning pressed variant for input component container
|
13
|
+
* @prop --border-color-success: Border colour of the success variant for input component container
|
14
|
+
* @prop --border-color-success-hover: Border colour of the success hover variant for input component container
|
15
|
+
* @prop --border-color-success-pressed: Border colour of the success pressed variant for input component container
|
5
16
|
*/
|
6
17
|
|
7
18
|
display: flex;
|
@@ -12,7 +23,7 @@ ic-input-component-container {
|
|
12
23
|
height: 2.5rem;
|
13
24
|
width: var(--input-width, 20rem);
|
14
25
|
padding: var(--ic-space-1px);
|
15
|
-
background-color: var(--input-bg-color, var(--ic-
|
26
|
+
background-color: var(--input-bg-color, var(--ic-color-background-primary));
|
16
27
|
box-sizing: border-box;
|
17
28
|
fill: var(--ic-architectural-400);
|
18
29
|
outline: none;
|
@@ -25,7 +36,7 @@ ic-input-component-container.ic-input-component-container-full-width {
|
|
25
36
|
ic-input-component-container.ic-input-component-container-disabled,
|
26
37
|
ic-input-component-container.ic-input-component-container-disabled:hover {
|
27
38
|
border: var(--ic-border-width) dashed
|
28
|
-
var(--border-color-disabled, var(--ic-
|
39
|
+
var(--border-color-disabled, var(--ic-color-border-neutral-disabled));
|
29
40
|
}
|
30
41
|
|
31
42
|
ic-input-component-container.ic-input-component-container-readonly,
|
@@ -35,42 +46,51 @@ ic-input-component-container.ic-input-component-container-readonly:hover {
|
|
35
46
|
}
|
36
47
|
|
37
48
|
ic-input-component-container.ic-input-component-container-error {
|
38
|
-
border: var(--ic-
|
49
|
+
border: var(--ic-space-xxxs) solid
|
50
|
+
var(--border-color-error, var(--ic-color-border-error));
|
39
51
|
padding: 0;
|
40
52
|
}
|
41
53
|
|
42
54
|
ic-input-component-container.ic-input-component-container-error:hover {
|
43
|
-
border: var(--ic-
|
55
|
+
border: var(--ic-space-xxxs) solid
|
56
|
+
var(--border-color-error-hover, var(--ic-color-border-error-hover));
|
44
57
|
}
|
45
58
|
|
46
59
|
ic-input-component-container.ic-input-component-container-error:focus-within {
|
47
|
-
border: var(--ic-
|
60
|
+
border: var(--ic-space-xxxs) solid
|
61
|
+
var(--border-color-error-pressed, var(--ic-color-border-error-pressed));
|
48
62
|
}
|
49
63
|
|
50
64
|
ic-input-component-container.ic-input-component-container-warning {
|
51
|
-
border: var(--ic-
|
65
|
+
border: var(--ic-space-xxxs) solid
|
66
|
+
var(--border-color-warning, var(--ic-color-border-warning));
|
52
67
|
padding: 0;
|
53
68
|
}
|
54
69
|
|
55
70
|
ic-input-component-container.ic-input-component-container-warning:hover {
|
56
|
-
border: var(--ic-
|
71
|
+
border: var(--ic-space-xxxs) solid
|
72
|
+
var(--border-color-warning-hover, var(--ic-color-border-warning-hover));
|
57
73
|
}
|
58
74
|
|
59
75
|
ic-input-component-container.ic-input-component-container-warning:focus-within {
|
60
|
-
border: var(--ic-
|
76
|
+
border: var(--ic-space-xxxs) solid
|
77
|
+
var(--border-color-warning-pressed, var(--ic-color-border-warning-pressed));
|
61
78
|
}
|
62
79
|
|
63
80
|
ic-input-component-container.ic-input-component-container-success {
|
64
|
-
border: var(--ic-
|
81
|
+
border: var(--ic-space-xxxs) solid
|
82
|
+
var(--border-color-success, var(--ic-color-border-success));
|
65
83
|
padding: 0;
|
66
84
|
}
|
67
85
|
|
68
86
|
ic-input-component-container.ic-input-component-container-success:hover {
|
69
|
-
border: var(--ic-
|
87
|
+
border: var(--ic-space-xxxs) solid
|
88
|
+
var(--border-color-success-hover, var(--ic-color-border-success-hover));
|
70
89
|
}
|
71
90
|
|
72
91
|
ic-input-component-container.ic-input-component-container-success:focus-within {
|
73
|
-
border: var(--ic-
|
92
|
+
border: var(--ic-space-xxxs) solid
|
93
|
+
var(--border-color-success-pressed, var(--ic-color-border-success-pressed));
|
74
94
|
}
|
75
95
|
|
76
96
|
ic-input-component-container.ic-input-component-container-small {
|
@@ -121,23 +141,24 @@ ic-input-component-container .inline-success {
|
|
121
141
|
align-items: center;
|
122
142
|
}
|
123
143
|
|
124
|
-
ic-input-component-container.ic-input-component-container-dark:hover {
|
125
|
-
--border-color: var(--ic-architectural-400);
|
126
|
-
}
|
127
|
-
|
128
144
|
ic-input-component-container .inline-success > svg {
|
129
|
-
fill: var(--ic-
|
145
|
+
fill: var(--ic-input-component-container-success-icon-inline-color);
|
130
146
|
height: 1.25rem;
|
131
147
|
width: 1.25rem;
|
132
148
|
}
|
133
149
|
|
134
150
|
ic-input-component-container:hover {
|
135
|
-
border: var(--ic-
|
151
|
+
border: var(--ic-input-component-container-hover-border);
|
152
|
+
border-color: var(--border-color-hover, var(--ic-color-border-neutral-hover));
|
136
153
|
color: var(--ic-action-dark-hover);
|
137
154
|
}
|
138
155
|
|
139
156
|
ic-input-component-container:focus {
|
140
157
|
border: var(--ic-border-pressed);
|
158
|
+
border-color: var(
|
159
|
+
--border-color-pressed,
|
160
|
+
var(--ic-color-border-neutral-pressed)
|
161
|
+
);
|
141
162
|
}
|
142
163
|
|
143
164
|
.focus-indicator {
|
package/dist/collection/components/ic-input-component-container/ic-input-component-container.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Host, forceUpdate, h } from "@stencil/core";
|
1
|
+
import { Host, forceUpdate, h, } from "@stencil/core";
|
2
2
|
import { IcInformationStatus, } from "../../utils/types";
|
3
3
|
import successIcon from "../../assets/success-icon.svg";
|
4
|
-
import { checkSlotInChildMutations, slotHasContent } from "../../utils/helpers";
|
4
|
+
import { checkSlotInChildMutations, removeDisabledFalse, slotHasContent, } from "../../utils/helpers";
|
5
5
|
/**
|
6
6
|
* @slot left-icon - Content will be placed to the left of the input.
|
7
7
|
*/
|
@@ -14,7 +14,6 @@ export class InputComponentContainer {
|
|
14
14
|
forceUpdate(this);
|
15
15
|
}
|
16
16
|
};
|
17
|
-
this.appearance = "default";
|
18
17
|
this.disabled = false;
|
19
18
|
this.fullWidth = false;
|
20
19
|
this.multiLine = false;
|
@@ -23,32 +22,27 @@ export class InputComponentContainer {
|
|
23
22
|
this.validationInline = false;
|
24
23
|
this.validationStatus = "";
|
25
24
|
}
|
25
|
+
watchDisabledHandler() {
|
26
|
+
removeDisabledFalse(this.disabled, this.el);
|
27
|
+
}
|
28
|
+
componentWillLoad() {
|
29
|
+
removeDisabledFalse(this.disabled, this.el);
|
30
|
+
}
|
26
31
|
componentDidLoad() {
|
27
32
|
this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
|
28
33
|
this.hostMutationObserver.observe(this.el, { childList: true });
|
29
34
|
}
|
30
35
|
render() {
|
31
|
-
const { size, validationStatus, disabled, readonly, multiLine, fullWidth,
|
32
|
-
const hasValidationStatus = this.validationStatus !== "" && !this.disabled && !this.readonly
|
33
|
-
? true
|
34
|
-
: false;
|
36
|
+
const { size, validationStatus, disabled, readonly, multiLine, fullWidth, validationInline, } = this;
|
35
37
|
return (h(Host, { class: {
|
36
38
|
[`ic-input-component-container-${size}`]: true,
|
37
|
-
[`ic-input-component-container-${validationStatus}`]:
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
"focus-indicator": true,
|
45
|
-
dark: appearance === "dark",
|
46
|
-
} }, slotHasContent(this.el, "left-icon") && (h("div", { class: {
|
47
|
-
["icon-container"]: true,
|
48
|
-
} }, h("slot", { name: "left-icon" }))), h("slot", null), validationInline &&
|
49
|
-
validationStatus === IcInformationStatus.Success && (h("span", { class: {
|
50
|
-
["inline-success"]: true,
|
51
|
-
}, innerHTML: successIcon })))));
|
39
|
+
[`ic-input-component-container-${validationStatus}`]: validationStatus !== "" && !disabled && !readonly,
|
40
|
+
"ic-input-component-container-disabled": disabled,
|
41
|
+
"ic-input-component-container-readonly": readonly,
|
42
|
+
"ic-input-component-container-multiline": multiLine,
|
43
|
+
"ic-input-component-container-full-width": fullWidth,
|
44
|
+
}, "aria-disabled": disabled ? "true" : null }, h("div", { class: "focus-indicator" }, slotHasContent(this.el, "left-icon") && (h("div", { class: "icon-container" }, h("slot", { name: "left-icon" }))), h("slot", null), validationInline &&
|
45
|
+
validationStatus === IcInformationStatus.Success && (h("span", { class: "inline-success", innerHTML: successIcon })))));
|
52
46
|
}
|
53
47
|
static get is() { return "ic-input-component-container"; }
|
54
48
|
static get originalStyleUrls() {
|
@@ -63,24 +57,6 @@ export class InputComponentContainer {
|
|
63
57
|
}
|
64
58
|
static get properties() {
|
65
59
|
return {
|
66
|
-
"appearance": {
|
67
|
-
"type": "string",
|
68
|
-
"mutable": false,
|
69
|
-
"complexType": {
|
70
|
-
"original": "\"dark\" | \"default\"",
|
71
|
-
"resolved": "\"dark\" | \"default\"",
|
72
|
-
"references": {}
|
73
|
-
},
|
74
|
-
"required": false,
|
75
|
-
"optional": true,
|
76
|
-
"docs": {
|
77
|
-
"tags": [],
|
78
|
-
"text": "The appearance of the input component container."
|
79
|
-
},
|
80
|
-
"attribute": "appearance",
|
81
|
-
"reflect": false,
|
82
|
-
"defaultValue": "\"default\""
|
83
|
-
},
|
84
60
|
"disabled": {
|
85
61
|
"type": "boolean",
|
86
62
|
"mutable": false,
|
@@ -222,5 +198,11 @@ export class InputComponentContainer {
|
|
222
198
|
};
|
223
199
|
}
|
224
200
|
static get elementRef() { return "el"; }
|
201
|
+
static get watchers() {
|
202
|
+
return [{
|
203
|
+
"propName": "disabled",
|
204
|
+
"methodName": "watchDisabledHandler"
|
205
|
+
}];
|
206
|
+
}
|
225
207
|
}
|
226
208
|
//# sourceMappingURL=ic-input-component-container.js.map
|
package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-input-component-container.js","sourceRoot":"","sources":["../../../src/components/ic-input-component-container/ic-input-component-container.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"ic-input-component-container.js","sourceRoot":"","sources":["../../../src/components/ic-input-component-container/ic-input-component-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,WAAW,EACX,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,GAGpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AAKH,MAAM,OAAO,uBAAuB;;QAoD1B,yBAAoB,GAAG,CAAC,YAA8B,EAAQ,EAAE;YACtE,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,CACvD,IAAI,KAAK,WAAW;gBAClB,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;gBAClE,CAAC,CAAC,KAAK,CACV,EACD,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;wBAvD0B,KAAK;yBASJ,KAAK;yBAKL,KAAK;wBAKN,KAAK;oBAKR,QAAQ;gCAKG,KAAK;gCAKc,EAAE;;IAhCzD,oBAAoB;QAClB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAgCD,iBAAiB;QACf,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAcD,MAAM;QACJ,MAAM,EACJ,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,gBAAgB,GACjB,GAAG,IAAI,CAAC;QAET,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,gCAAgC,IAAI,EAAE,CAAC,EAAE,IAAI;gBAC9C,CAAC,gCAAgC,gBAAgB,EAAE,CAAC,EAClD,gBAAgB,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBACnD,uCAAuC,EAAE,QAAQ;gBACjD,uCAAuC,EAAE,QAAQ;gBACjD,wCAAwC,EAAE,SAAS;gBACnD,yCAAyC,EAAE,SAAS;aACrD,mBACc,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAEvC,WAAK,KAAK,EAAC,iBAAiB;gBACzB,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CACvC,WAAK,KAAK,EAAC,gBAAgB;oBACzB,YAAM,IAAI,EAAC,WAAW,GAAG,CACrB,CACP;gBACD,eAAa;gBAEZ,gBAAgB;oBACf,gBAAgB,KAAK,mBAAmB,CAAC,OAAO,IAAI,CAClD,YAAM,KAAK,EAAC,gBAAgB,EAAC,SAAS,EAAE,WAAW,GAAI,CACxD,CACC,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n Watch,\n forceUpdate,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n} from \"../../utils/types\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport {\n checkSlotInChildMutations,\n removeDisabledFalse,\n slotHasContent,\n} from \"../../utils/helpers\";\n\n/**\n * @slot left-icon - Content will be placed to the left of the input.\n */\n@Component({\n tag: \"ic-input-component-container\",\n styleUrl: \"ic-input-component-container.css\",\n})\nexport class InputComponentContainer {\n private hostMutationObserver: MutationObserver;\n @Element() el: HTMLIcInputComponentContainerElement;\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 * If `true`, the input component container will fill the width of the container it is in.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the input component container will allow for multiple lines.\n */\n @Prop() multiLine: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The size of the input component container component.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * If `true`, the validation will display inline.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, { childList: true });\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"left-icon\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n size,\n validationStatus,\n disabled,\n readonly,\n multiLine,\n fullWidth,\n validationInline,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-input-component-container-${size}`]: true,\n [`ic-input-component-container-${validationStatus}`]:\n validationStatus !== \"\" && !disabled && !readonly,\n \"ic-input-component-container-disabled\": disabled,\n \"ic-input-component-container-readonly\": readonly,\n \"ic-input-component-container-multiline\": multiLine,\n \"ic-input-component-container-full-width\": fullWidth,\n }}\n aria-disabled={disabled ? \"true\" : null}\n >\n <div class=\"focus-indicator\">\n {slotHasContent(this.el, \"left-icon\") && (\n <div class=\"icon-container\">\n <slot name=\"left-icon\" />\n </div>\n )}\n <slot></slot>\n\n {validationInline &&\n validationStatus === IcInformationStatus.Success && (\n <span class=\"inline-success\" innerHTML={successIcon} />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|