@ukic/web-components 2.29.0 → 3.0.0-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-94b33ab0.js → helpers-f1cf5156.js} +20 -11
- package/dist/cjs/helpers-f1cf5156.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +9 -10
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +5 -6
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +4 -7
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +12 -16
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +22 -51
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +26 -14
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +8 -7
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +42 -34
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-card.cjs.entry.js → ic-card-vertical.cjs.entry.js} +8 -9
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +6 -16
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +4 -12
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +12 -98
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +2 -3
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +7 -8
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -10
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +6 -8
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +8 -9
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +9 -11
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -6
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +21 -27
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +14 -16
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +21 -12
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +3 -4
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -4
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +9 -10
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +6 -7
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -4
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +8 -10
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -3
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +33 -32
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -4
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +16 -28
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +5 -19
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +23 -30
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +19 -28
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -8
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +4 -5
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +6 -15
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +40 -44
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +16 -17
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +6 -8
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +21 -28
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +25 -11
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +6 -13
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +9 -8
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +55 -57
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +27 -4
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +0 -7
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +83 -36
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -17
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +14 -15
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +8 -9
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +9 -8
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-f982899d.js +12 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/ic-accordion/ic-accordion.css +10 -8
- package/dist/collection/components/ic-accordion/ic-accordion.js +5 -5
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +9 -5
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +12 -12
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +7 -7
- package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
- package/dist/collection/components/ic-alert/ic-alert.css +5 -0
- package/dist/collection/components/ic-alert/ic-alert.js +0 -19
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +21 -61
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +10 -13
- 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 +9 -10
- 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 +65 -41
- package/dist/collection/components/ic-badge/ic-badge.js +52 -100
- package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
- package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +40 -50
- package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +15 -10
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +54 -31
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +3 -3
- package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +7 -5
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +66 -33
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +3 -3
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.css +244 -216
- package/dist/collection/components/ic-button/ic-button.js +11 -12
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/{ic-card/ic-card.css → ic-card-vertical/ic-card-vertical.css} +7 -1
- package/dist/collection/components/{ic-card/ic-card.js → ic-card-vertical/ic-card-vertical.js} +5 -5
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -0
- package/dist/collection/components/{ic-card/test/basic/ic-card.spec.js → ic-card-vertical/test/basic/ic-card-vertical.spec.js} +41 -41
- package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +16 -10
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +5 -137
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +5 -3
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +7 -27
- 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 +2 -2
- 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.css +6 -8
- package/dist/collection/components/ic-chip/ic-chip.js +4 -54
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +3 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
- package/dist/collection/components/{ic-data-entity/ic-data-entity.css → ic-data-list/ic-data-list.css} +7 -3
- package/dist/collection/components/{ic-data-entity/ic-data-entity.js → ic-data-list/ic-data-list.js} +33 -27
- package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -0
- package/dist/collection/components/{ic-data-entity/test/basic/ic-data-entity.spec.js → ic-data-list/test/basic/ic-data-list.spec.js} +32 -32
- package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +1 -0
- package/dist/collection/components/ic-data-row/ic-data-row.css +6 -3
- package/dist/collection/components/ic-data-row/ic-data-row.js +28 -24
- package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
- package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +4 -4
- package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.css +3 -12
- package/dist/collection/components/ic-dialog/ic-dialog.js +11 -214
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +3 -226
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
- package/dist/collection/components/ic-empty-state/ic-empty-state.css +6 -6
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +9 -9
- package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
- package/dist/collection/components/ic-footer/ic-footer.css +13 -6
- package/dist/collection/components/ic-footer/ic-footer.js +6 -6
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +1 -1
- 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.css +36 -105
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +4 -5
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +11 -7
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +9 -9
- 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 +7 -7
- 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 +14 -14
- package/dist/collection/components/ic-hero/ic-hero.js +11 -33
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +6 -6
- 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 +5 -5
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +3 -3
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +31 -26
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +12 -57
- 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 -9
- 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 +7 -7
- package/dist/collection/components/ic-input-label/ic-input-label.js +24 -46
- package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
- package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +4 -4
- package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.css +1 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +2 -2
- package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
- package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +4 -4
- package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.css +100 -44
- package/dist/collection/components/ic-link/ic-link.js +57 -49
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +16 -111
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +12 -9
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +26 -22
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +3 -2
- package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
- package/dist/collection/components/ic-menu/ic-menu.css +22 -11
- package/dist/collection/components/ic-menu/ic-menu.js +9 -32
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +1 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.css +46 -31
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +1 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +13 -11
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +7 -7
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +4 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +4 -4
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -2
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +1 -1
- 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 -2
- package/dist/collection/components/ic-page-header/ic-page-header.js +8 -30
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +15 -15
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
- package/dist/collection/components/ic-pagination/ic-pagination.js +38 -36
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +26 -26
- 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.css +11 -8
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +7 -3
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.css +5 -5
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +17 -49
- 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.e2e.js +14 -18
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +1 -1
- 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.css +8 -5
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -126
- 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 +6 -6
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +32 -99
- 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.e2e.js +6 -6
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +15 -15
- 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 +14 -12
- package/dist/collection/components/ic-select/ic-select.js +16 -151
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +6 -6
- 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 +10 -9
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +6 -6
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.css +2 -2
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +3 -25
- package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
- package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +1 -1
- package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +19 -16
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +24 -61
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +2 -2
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
- package/dist/collection/components/ic-step/ic-step.css +55 -53
- package/dist/collection/components/ic-step/ic-step.js +49 -52
- package/dist/collection/components/ic-step/ic-step.js.map +1 -1
- package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +30 -30
- package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.css +4 -4
- package/dist/collection/components/ic-stepper/ic-stepper.js +14 -14
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js +37 -37
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -1
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +234 -234
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
- package/dist/collection/components/ic-switch/ic-switch.js +7 -29
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +1 -1
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.css +47 -21
- package/dist/collection/components/ic-tab/ic-tab.js +55 -33
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +2 -2
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +66 -76
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +3 -3
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.css +7 -8
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +68 -54
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +2 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +39 -46
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +3 -18
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.css +10 -4
- package/dist/collection/components/ic-text-field/ic-text-field.js +70 -111
- 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 +36 -14
- 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 +57 -56
- 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 +50 -2
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +13 -11
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
- package/dist/collection/components/ic-toast/ic-toast.css +13 -4
- package/dist/collection/components/ic-toast/ic-toast.js +83 -32
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +43 -7
- package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -43
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -20
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +50 -43
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +16 -16
- 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 +4 -4
- 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 +11 -8
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +18 -18
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.types.js.map +1 -1
- package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +19 -19
- package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -4
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +30 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +14 -0
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +4 -2
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +6 -6
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +11 -5
- package/dist/collection/components/ic-typography/ic-typography.js +31 -5
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +14 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +13 -2
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-accordion-group.js +9 -9
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-accordion.js +4 -4
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert.js +132 -1
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +24 -15
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +25 -54
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +31 -16
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +10 -7
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +11 -12
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/{ic-data-entity.d.ts → ic-card-vertical.d.ts} +4 -4
- package/dist/components/{ic-card.js → ic-card-vertical.js} +11 -12
- package/dist/components/ic-card-vertical.js.map +1 -0
- package/dist/components/ic-checkbox-group.js +7 -7
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +6 -21
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +3 -11
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +2 -2
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/{ic-card.d.ts → ic-data-list.d.ts} +4 -4
- package/dist/components/ic-data-list.js +56 -0
- package/dist/components/ic-data-list.js.map +1 -0
- package/dist/components/ic-data-row.js +14 -13
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.js +14 -112
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -2
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-empty-state.js +7 -7
- package/dist/components/ic-empty-state.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +10 -10
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +13 -8
- 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 +9 -12
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +5 -6
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +12 -18
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +10 -12
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +4 -5
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +22 -13
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +23 -19
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +2 -2
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu-item2.js +3 -3
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +8 -11
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +2 -3
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +9 -9
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +6 -6
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +3 -3
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +8 -10
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.js +36 -34
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +3 -3
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +16 -28
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +6 -25
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +21 -29
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +15 -31
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +7 -8
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +4 -6
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +6 -15
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +46 -49
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +15 -15
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +6 -8
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +26 -31
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +27 -13
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +9 -16
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +10 -8
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +52 -57
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +33 -7
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -9
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +86 -37
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +17 -17
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +14 -14
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tooltip2.js +8 -3
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +7 -8
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +9 -6
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +38 -20
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-09104e40.entry.js +2 -0
- package/dist/core/p-09104e40.entry.js.map +1 -0
- package/dist/core/p-0c0b1c74.entry.js +2 -0
- package/dist/core/p-0c0b1c74.entry.js.map +1 -0
- package/dist/core/p-0c3a0d85.entry.js +2 -0
- package/dist/core/p-0c3a0d85.entry.js.map +1 -0
- package/dist/core/p-1083a708.entry.js +2 -0
- package/dist/core/p-1083a708.entry.js.map +1 -0
- package/dist/core/p-130dd440.entry.js +2 -0
- package/dist/core/p-130dd440.entry.js.map +1 -0
- package/dist/core/p-1e802eeb.entry.js +2 -0
- package/dist/core/p-1e802eeb.entry.js.map +1 -0
- package/dist/core/p-21312898.entry.js +2 -0
- package/dist/core/p-21312898.entry.js.map +1 -0
- package/dist/core/p-21e5dd29.entry.js +2 -0
- package/dist/core/p-21e5dd29.entry.js.map +1 -0
- package/dist/core/{p-7438ab1f.entry.js → p-26bc7c62.entry.js} +2 -2
- package/dist/core/p-26bc7c62.entry.js.map +1 -0
- package/dist/core/p-2ab86057.entry.js +2 -0
- package/dist/core/p-2ab86057.entry.js.map +1 -0
- package/dist/core/p-312cacae.js +2 -0
- package/dist/core/p-312cacae.js.map +1 -0
- package/dist/core/p-31fc8756.entry.js +2 -0
- package/dist/core/p-31fc8756.entry.js.map +1 -0
- package/dist/core/p-355acffa.entry.js +2 -0
- package/dist/core/p-355acffa.entry.js.map +1 -0
- package/dist/core/p-35b8b480.entry.js +2 -0
- package/dist/core/p-35b8b480.entry.js.map +1 -0
- package/dist/core/p-363d6e88.entry.js +2 -0
- package/dist/core/p-363d6e88.entry.js.map +1 -0
- package/dist/core/{p-3969d3c0.entry.js → p-3ea4a005.entry.js} +2 -2
- package/dist/core/p-3ea4a005.entry.js.map +1 -0
- package/dist/core/p-40e9e76a.entry.js +2 -0
- package/dist/core/p-40e9e76a.entry.js.map +1 -0
- package/dist/core/p-43f9a711.entry.js +2 -0
- package/dist/core/p-43f9a711.entry.js.map +1 -0
- package/dist/core/p-46ee459b.entry.js +2 -0
- package/dist/core/p-46ee459b.entry.js.map +1 -0
- package/dist/core/{p-3eda4e14.entry.js → p-54238d16.entry.js} +2 -2
- package/dist/core/p-54238d16.entry.js.map +1 -0
- package/dist/core/p-550d7356.entry.js +2 -0
- package/dist/core/{p-dd9d8e68.entry.js.map → p-550d7356.entry.js.map} +1 -1
- package/dist/core/p-56d1828c.entry.js +2 -0
- package/dist/core/p-56d1828c.entry.js.map +1 -0
- package/dist/core/p-5a2630fb.entry.js +2 -0
- package/dist/core/p-5a2630fb.entry.js.map +1 -0
- package/dist/core/p-5a52614c.entry.js +2 -0
- package/dist/core/p-5a52614c.entry.js.map +1 -0
- package/dist/core/p-60efd7fa.entry.js +2 -0
- package/dist/core/{p-223889da.entry.js.map → p-60efd7fa.entry.js.map} +1 -1
- package/dist/core/p-69f3ce5a.entry.js +2 -0
- package/dist/core/p-69f3ce5a.entry.js.map +1 -0
- package/dist/core/p-78ce4920.entry.js +2 -0
- package/dist/core/p-78ce4920.entry.js.map +1 -0
- package/dist/core/p-79d2a33b.entry.js +2 -0
- package/dist/core/p-79d2a33b.entry.js.map +1 -0
- package/dist/core/p-80237a20.entry.js +2 -0
- package/dist/core/p-80237a20.entry.js.map +1 -0
- package/dist/core/p-804513ad.entry.js +2 -0
- package/dist/core/p-804513ad.entry.js.map +1 -0
- package/dist/core/p-82375dca.entry.js +2 -0
- package/dist/core/p-82375dca.entry.js.map +1 -0
- package/dist/core/p-8e1e25a7.entry.js +2 -0
- package/dist/core/p-8e1e25a7.entry.js.map +1 -0
- package/dist/core/p-a1a1000d.entry.js +2 -0
- package/dist/core/p-a1a1000d.entry.js.map +1 -0
- package/dist/core/p-a1b1a0ab.entry.js +2 -0
- package/dist/core/p-a1b1a0ab.entry.js.map +1 -0
- package/dist/core/p-a37bcdbe.entry.js +2 -0
- package/dist/core/p-a37bcdbe.entry.js.map +1 -0
- package/dist/core/p-a3b6a02d.entry.js +2 -0
- package/dist/core/p-a3b6a02d.entry.js.map +1 -0
- package/dist/core/p-a765ad17.entry.js +2 -0
- package/dist/core/p-a765ad17.entry.js.map +1 -0
- package/dist/core/p-aa2be24c.entry.js +2 -0
- package/dist/core/p-aa2be24c.entry.js.map +1 -0
- package/dist/core/p-b12a5283.entry.js +2 -0
- package/dist/core/p-b12a5283.entry.js.map +1 -0
- package/dist/core/p-b1b05979.entry.js +2 -0
- package/dist/core/p-b1b05979.entry.js.map +1 -0
- package/dist/core/p-bf4c61cb.entry.js +2 -0
- package/dist/core/p-bf4c61cb.entry.js.map +1 -0
- package/dist/core/p-c6795377.entry.js +2 -0
- package/dist/core/p-c6795377.entry.js.map +1 -0
- package/dist/core/p-c81109da.entry.js +2 -0
- package/dist/core/p-c81109da.entry.js.map +1 -0
- package/dist/core/p-cb4d104e.entry.js +2 -0
- package/dist/core/p-cb4d104e.entry.js.map +1 -0
- package/dist/core/p-d2f89cb5.entry.js +2 -0
- package/dist/core/p-d2f89cb5.entry.js.map +1 -0
- package/dist/core/p-d43d1ec0.entry.js +2 -0
- package/dist/core/p-d43d1ec0.entry.js.map +1 -0
- package/dist/core/p-d5829a35.entry.js +2 -0
- package/dist/core/p-d5829a35.entry.js.map +1 -0
- package/dist/core/p-d8870804.entry.js +2 -0
- package/dist/core/p-d8870804.entry.js.map +1 -0
- package/dist/core/p-ddb8d280.entry.js +2 -0
- package/dist/core/p-ddb8d280.entry.js.map +1 -0
- package/dist/core/p-e0e34fa7.entry.js +2 -0
- package/dist/core/p-e0e34fa7.entry.js.map +1 -0
- package/dist/core/p-e4b276b5.entry.js +2 -0
- package/dist/core/p-e4b276b5.entry.js.map +1 -0
- package/dist/core/{p-6fae7e1f.entry.js → p-e597da0e.entry.js} +2 -2
- package/dist/core/p-e597da0e.entry.js.map +1 -0
- package/dist/core/p-e861a2b3.entry.js +2 -0
- package/dist/core/p-e861a2b3.entry.js.map +1 -0
- package/dist/core/p-ea277b05.entry.js +2 -0
- package/dist/core/p-ea277b05.entry.js.map +1 -0
- package/dist/core/p-ef871b8f.entry.js +2 -0
- package/dist/core/p-ef871b8f.entry.js.map +1 -0
- package/dist/core/p-f229d19e.entry.js +2 -0
- package/dist/core/p-f229d19e.entry.js.map +1 -0
- package/dist/core/p-f30f3a3e.entry.js +2 -0
- package/dist/core/p-f30f3a3e.entry.js.map +1 -0
- package/dist/core/p-fa587e6d.entry.js +2 -0
- package/dist/core/p-fa587e6d.entry.js.map +1 -0
- package/dist/core/p-fb6ac08d.entry.js +2 -0
- package/dist/core/p-fb6ac08d.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-3905ccc4.js → helpers-1c9151ef.js} +14 -3
- package/dist/esm/helpers-1c9151ef.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +9 -10
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +5 -6
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +2 -5
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +12 -16
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +22 -51
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +26 -14
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +8 -7
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +39 -31
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +145 -0
- package/dist/esm/ic-card-vertical.entry.js.map +1 -0
- package/dist/esm/ic-checkbox-group.entry.js +7 -7
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +6 -16
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +4 -12
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +28 -0
- package/dist/esm/ic-data-list.entry.js.map +1 -0
- package/dist/esm/ic-data-row.entry.js +12 -12
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +12 -98
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -2
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state.entry.js +7 -8
- package/dist/esm/ic-empty-state.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +9 -10
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +6 -8
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +8 -9
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +9 -11
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +5 -6
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +20 -26
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +11 -13
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +20 -11
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +2 -3
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +3 -4
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +2 -3
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +9 -10
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +6 -7
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +3 -4
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +8 -10
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +2 -3
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +33 -32
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +3 -4
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +16 -28
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +5 -19
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +19 -26
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +14 -23
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +7 -8
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +4 -5
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +6 -15
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +40 -44
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +16 -17
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +6 -8
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +21 -28
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +25 -11
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +6 -13
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +9 -8
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +50 -52
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +27 -4
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +0 -7
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +83 -36
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +17 -17
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +14 -15
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +7 -8
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +9 -8
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-d1d2c456.js +12 -12
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +2 -2
- package/dist/types/components/ic-alert/ic-alert.d.ts +0 -4
- package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +0 -1
- package/dist/types/components/ic-badge/ic-badge.d.ts +8 -15
- package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -5
- package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +13 -7
- package/dist/types/components/ic-button/ic-button.d.ts +0 -1
- package/dist/types/components/{ic-card/ic-card.d.ts → ic-card-vertical/ic-card-vertical.d.ts} +2 -2
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -28
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +0 -4
- package/dist/types/components/ic-chip/ic-chip.d.ts +0 -9
- package/dist/types/components/ic-data-list/ic-data-list.d.ts +20 -0
- package/dist/types/components/ic-data-row/ic-data-row.d.ts +4 -4
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -37
- package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +1 -1
- package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
- package/dist/types/components/ic-hero/ic-hero.d.ts +2 -6
- package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +0 -8
- package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -8
- package/dist/types/components/ic-link/ic-link.d.ts +9 -9
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +3 -3
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +1 -1
- package/dist/types/components/ic-menu/ic-menu.d.ts +0 -4
- package/dist/types/components/ic-page-header/ic-page-header.d.ts +0 -4
- package/dist/types/components/ic-pagination/ic-pagination.d.ts +4 -4
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +0 -4
- package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +0 -24
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +3 -15
- package/dist/types/components/ic-select/ic-select.d.ts +1 -31
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +1 -1
- package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +0 -4
- package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +5 -10
- package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +0 -1
- package/dist/types/components/ic-step/ic-step.d.ts +6 -6
- package/dist/types/components/ic-stepper/test/basic/ic-stepper-test-examples.d.ts +4 -4
- package/dist/types/components/ic-switch/ic-switch.d.ts +0 -4
- package/dist/types/components/ic-tab/ic-tab.d.ts +5 -3
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +11 -10
- package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +9 -10
- package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +5 -11
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +7 -16
- package/dist/types/components/ic-theme/ic-theme.d.ts +7 -0
- package/dist/types/components/ic-toast/ic-toast.d.ts +8 -1
- package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +0 -5
- package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +1 -1
- package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.types.d.ts +1 -1
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -1
- package/dist/types/components/ic-typography/ic-typography.d.ts +5 -1
- package/dist/types/components.d.ts +220 -538
- package/dist/types/utils/types.d.ts +4 -3
- package/hydrate/index.js +759 -874
- package/package.json +2 -2
- package/vscode-data.json +242 -319
- package/dist/cjs/helpers-94b33ab0.js.map +0 -1
- package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
- package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
- package/dist/cjs/types-dc22e301.js +0 -16
- package/dist/cjs/types-dc22e301.js.map +0 -1
- package/dist/collection/components/ic-card/ic-card.js.map +0 -1
- package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +0 -1
- package/dist/collection/components/ic-chip/ic-chip.types.js +0 -2
- package/dist/collection/components/ic-chip/ic-chip.types.js.map +0 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +0 -1
- package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +0 -1
- package/dist/components/ic-alert2.js +0 -139
- package/dist/components/ic-alert2.js.map +0 -1
- package/dist/components/ic-card.js.map +0 -1
- package/dist/components/ic-data-entity.js +0 -53
- package/dist/components/ic-data-entity.js.map +0 -1
- package/dist/components/types.js +0 -16
- package/dist/components/types.js.map +0 -1
- package/dist/core/p-02262e76.entry.js +0 -2
- package/dist/core/p-02262e76.entry.js.map +0 -1
- package/dist/core/p-03f23a55.entry.js +0 -2
- package/dist/core/p-03f23a55.entry.js.map +0 -1
- package/dist/core/p-093600a2.entry.js +0 -2
- package/dist/core/p-093600a2.entry.js.map +0 -1
- package/dist/core/p-13a6e7ea.entry.js +0 -2
- package/dist/core/p-13a6e7ea.entry.js.map +0 -1
- package/dist/core/p-13ec2a00.entry.js +0 -2
- package/dist/core/p-13ec2a00.entry.js.map +0 -1
- package/dist/core/p-1ae6aadb.entry.js +0 -2
- package/dist/core/p-1ae6aadb.entry.js.map +0 -1
- package/dist/core/p-1d648b98.entry.js +0 -2
- package/dist/core/p-1d648b98.entry.js.map +0 -1
- package/dist/core/p-1d6e6ebe.entry.js +0 -2
- package/dist/core/p-1d6e6ebe.entry.js.map +0 -1
- package/dist/core/p-223889da.entry.js +0 -2
- package/dist/core/p-227f6a41.entry.js +0 -2
- package/dist/core/p-227f6a41.entry.js.map +0 -1
- package/dist/core/p-230187a8.entry.js +0 -2
- package/dist/core/p-230187a8.entry.js.map +0 -1
- package/dist/core/p-26b7b18f.js +0 -2
- package/dist/core/p-26b7b18f.js.map +0 -1
- package/dist/core/p-2d930c9c.entry.js +0 -2
- package/dist/core/p-2d930c9c.entry.js.map +0 -1
- package/dist/core/p-3969d3c0.entry.js.map +0 -1
- package/dist/core/p-3af60dee.entry.js +0 -2
- package/dist/core/p-3af60dee.entry.js.map +0 -1
- package/dist/core/p-3b4c9571.entry.js +0 -2
- package/dist/core/p-3b4c9571.entry.js.map +0 -1
- package/dist/core/p-3eda4e14.entry.js.map +0 -1
- package/dist/core/p-3f2d4108.entry.js +0 -2
- package/dist/core/p-3f2d4108.entry.js.map +0 -1
- package/dist/core/p-4562904d.entry.js +0 -2
- package/dist/core/p-4562904d.entry.js.map +0 -1
- package/dist/core/p-457a4c63.entry.js +0 -2
- package/dist/core/p-457a4c63.entry.js.map +0 -1
- package/dist/core/p-4b89890b.entry.js +0 -2
- package/dist/core/p-4b89890b.entry.js.map +0 -1
- package/dist/core/p-55b11f6f.entry.js +0 -2
- package/dist/core/p-55b11f6f.entry.js.map +0 -1
- package/dist/core/p-5ccd3703.entry.js +0 -2
- package/dist/core/p-5ccd3703.entry.js.map +0 -1
- package/dist/core/p-604e72ac.entry.js +0 -2
- package/dist/core/p-604e72ac.entry.js.map +0 -1
- package/dist/core/p-60746e10.entry.js +0 -2
- package/dist/core/p-60746e10.entry.js.map +0 -1
- package/dist/core/p-60f7f555.entry.js +0 -2
- package/dist/core/p-60f7f555.entry.js.map +0 -1
- package/dist/core/p-69576aa0.entry.js +0 -2
- package/dist/core/p-69576aa0.entry.js.map +0 -1
- package/dist/core/p-6fae7e1f.entry.js.map +0 -1
- package/dist/core/p-7438ab1f.entry.js.map +0 -1
- package/dist/core/p-78605899.entry.js +0 -2
- package/dist/core/p-78605899.entry.js.map +0 -1
- package/dist/core/p-7c2b59fe.entry.js +0 -2
- package/dist/core/p-7c2b59fe.entry.js.map +0 -1
- package/dist/core/p-836e71de.entry.js +0 -2
- package/dist/core/p-836e71de.entry.js.map +0 -1
- package/dist/core/p-843ed766.entry.js +0 -2
- package/dist/core/p-843ed766.entry.js.map +0 -1
- package/dist/core/p-8c325d9b.entry.js +0 -2
- package/dist/core/p-8c325d9b.entry.js.map +0 -1
- package/dist/core/p-936ab032.entry.js +0 -2
- package/dist/core/p-936ab032.entry.js.map +0 -1
- package/dist/core/p-96505636.entry.js +0 -2
- package/dist/core/p-96505636.entry.js.map +0 -1
- package/dist/core/p-9c9ba3cd.entry.js +0 -2
- package/dist/core/p-9c9ba3cd.entry.js.map +0 -1
- package/dist/core/p-9e15d0e1.entry.js +0 -2
- package/dist/core/p-9e15d0e1.entry.js.map +0 -1
- package/dist/core/p-a6ff78aa.entry.js +0 -2
- package/dist/core/p-a6ff78aa.entry.js.map +0 -1
- package/dist/core/p-a75f3c4d.entry.js +0 -2
- package/dist/core/p-a75f3c4d.entry.js.map +0 -1
- package/dist/core/p-aeb001d7.entry.js +0 -2
- package/dist/core/p-aeb001d7.entry.js.map +0 -1
- package/dist/core/p-b1879a44.entry.js +0 -2
- package/dist/core/p-b1879a44.entry.js.map +0 -1
- package/dist/core/p-b47021d8.entry.js +0 -2
- package/dist/core/p-b47021d8.entry.js.map +0 -1
- package/dist/core/p-bb963aa4.entry.js +0 -2
- package/dist/core/p-bb963aa4.entry.js.map +0 -1
- package/dist/core/p-be5d5f93.entry.js +0 -2
- package/dist/core/p-be5d5f93.entry.js.map +0 -1
- package/dist/core/p-c1d5e7f2.entry.js +0 -2
- package/dist/core/p-c1d5e7f2.entry.js.map +0 -1
- package/dist/core/p-cb14349b.entry.js +0 -2
- package/dist/core/p-cb14349b.entry.js.map +0 -1
- package/dist/core/p-d3750771.entry.js +0 -2
- package/dist/core/p-d3750771.entry.js.map +0 -1
- package/dist/core/p-db52d416.entry.js +0 -2
- package/dist/core/p-db52d416.entry.js.map +0 -1
- package/dist/core/p-dbc0f5da.entry.js +0 -2
- package/dist/core/p-dbc0f5da.entry.js.map +0 -1
- package/dist/core/p-dcd475cc.entry.js +0 -2
- package/dist/core/p-dcd475cc.entry.js.map +0 -1
- package/dist/core/p-dd9d8e68.entry.js +0 -2
- package/dist/core/p-def5ba6b.entry.js +0 -2
- package/dist/core/p-def5ba6b.entry.js.map +0 -1
- package/dist/core/p-e6bad80b.entry.js +0 -2
- package/dist/core/p-e6bad80b.entry.js.map +0 -1
- package/dist/core/p-e735d773.entry.js +0 -2
- package/dist/core/p-e735d773.entry.js.map +0 -1
- package/dist/core/p-e7fa6804.entry.js +0 -2
- package/dist/core/p-e7fa6804.entry.js.map +0 -1
- package/dist/core/p-e8fa0095.entry.js +0 -2
- package/dist/core/p-e8fa0095.entry.js.map +0 -1
- package/dist/core/p-ed2b2bd7.entry.js +0 -2
- package/dist/core/p-ed2b2bd7.entry.js.map +0 -1
- package/dist/core/p-ee1c9f20.entry.js +0 -2
- package/dist/core/p-ee1c9f20.entry.js.map +0 -1
- package/dist/core/p-fef9e8c9.js +0 -2
- package/dist/core/p-fef9e8c9.js.map +0 -1
- package/dist/esm/helpers-3905ccc4.js.map +0 -1
- package/dist/esm/ic-card.entry.js +0 -146
- package/dist/esm/ic-card.entry.js.map +0 -1
- package/dist/esm/ic-data-entity.entry.js +0 -25
- package/dist/esm/ic-data-entity.entry.js.map +0 -1
- package/dist/esm/types-6f6b41a5.js +0 -16
- package/dist/esm/types-6f6b41a5.js.map +0 -1
- package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
- package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +0 -20
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icSearchBarCss","inputIds","SearchBar","this","assistiveHintEl","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","truncateValue","handleClear","ev","keyboardEvent","mouseEvent","type","code","value","inputEl","loading","clearTimeout","timeoutTimer","filteredOptions","options","el","setFocus","icClear","emit","preventDefault","onInput","target","noOptions","labelField","emptyOptionListText","valueField","length","setMenuChange","disableFilter","rawFilteredOptions","getFilteredMenuOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","retryViaKeyPress","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","loadingLabel","timeout","window","setTimeout","loadingErrorLabel","timedOut","handleOptionSelect","label","icOptionSelect","handleMenuOptionHighlight","optionValue","_a","optionId","replace","ariaActiveDescendant","handleMenuChange","open","handleMenuCloseFromMenuChange","focusInput","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","input","_b","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","updateSearchResultAriaLive","searchResultsStatusEl","charactersUntilSuggestion","hadNoOptions","searchMode","isSubmitDisabled","valueNotSet","valueLengthLess","disabled","highlightFirstOptionAfterNoResults","handleSetFirstOption","prevNoOptionsList","find","filteredOption","loadingHandler","newValue","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","getLabelFromValue","disconnectedCallback","remove","componentWillLoad","removeDisabledFalse","small","size","componentDidLoad","focusOnLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","componentWillRender","handleKeyDown","keyEv","event","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","name","required","placeholder","helperText","readonly","spellcheck","fullWidth","hideLabel","autofocus","autocapitalize","autocomplete","disabledMode","describedBy","getInputDescribedByText","trim","describedById","disabledText","hasSuggestedSearch","menuOpen","menuRendered","isOrHasLoaded","expanded","renderHiddenInput","h","Host","class","onFocus","onBlur","ref","ariaExpanded","role","autoFocus","inputmode","debounce","slot","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","appearance","IcThemeForegroundEnum","Light","Dark","searchIcon","Default","fullwidth","activationType","autoFocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl"],"sources":["src/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","src/components/ic-search-bar/ic-search-bar.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-menu: z-index of search bar menu\n */\n\n:host(.search) {\n --divider-height: 1.5rem;\n}\n\n:host(.search.small) {\n --divider-height: 1rem;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: var(--ic-space-1px);\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus,\n.search-submit-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus,\n.search-submit-button:active * {\n fill: white;\n}\n\n.divider {\n width: var(--ic-border-width);\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n margin-bottom: calc(-1 * var(--ic-space-1px));\n margin-right: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcThemeForegroundEnum,\n IcMenuOption,\n IcSizesNoLarge,\n} from \"../../utils/types\";\nimport {\n getInputDescribedByText,\n renderHiddenInput,\n handleHiddenFormButtonClick,\n getLabelFromValue,\n onComponentRequiredPropUndefined,\n getFilteredMenuOptions,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcSearchBarBlurEventDetail,\n IcSearchBarSearchModes,\n} from \"./ic-search-bar.types\";\nimport { IcValueEventDetail, IcBlurEventDetail } from \"../../utils/types\";\nimport {\n IcMenuChangeEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-search-bar\",\n styleUrl: \"ic-search-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class SearchBar {\n private anchorEl: HTMLElement;\n private assistiveHintEl: HTMLSpanElement = null;\n private debounceAriaLive: number;\n private hasTimedOut = false;\n private inputEl: HTMLIcTextFieldElement;\n private inputId = `ic-search-bar-input-${inputIds++}`;\n private menu: HTMLIcMenuElement;\n private menuCloseFromMenuChangeEvent: boolean = false;\n private menuId = `${this.inputId}-menu`;\n private preLoad = true;\n private preventSubmit: boolean = false;\n private prevNoOption: boolean = false;\n private retryButtonClick: boolean = false;\n private retryViaKeyPress: boolean;\n private timeoutTimer: number;\n private truncateValue = false;\n private searchSubmitButton: HTMLIcButtonElement;\n\n @Element() el: HTMLIcSearchBarElement;\n\n @State() ariaActiveDescendant: string;\n @State() clearButtonFocused: boolean = false;\n @State() highlightedValue: string;\n @State() open: boolean = false;\n @State() searchSubmitFocused: boolean = false;\n @State() showClearButton: boolean = false;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * The number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\n */\n @Prop() charactersUntilSuggestion: number = 2;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\n * If `true`, all options provided will be displayed.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * If `true`, the search bar will be focused when component loaded.\n */\n @Prop() focusOnLoad?: boolean = false;\n\n /**\n * Specify whether the search bar fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The hint text for the hidden assistive description element.\n */\n @Prop() hintText?: string =\n \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n\n /**\n * The label for the search bar.\n */\n @Prop() label!: string;\n\n /**\n * The custom name for the label field to correspond with the IcMenuOption type.\n */\n @Prop() labelField?: string = \"label\";\n\n /**\n * Trigger loading state when fetching options asynchronously\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n /**\n * Change the message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * Change the message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * The placeholder value to display.\n */\n @Prop() placeholder?: string = \"Search\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * If `true`, the search bar will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n @Prop() searchMode?: IcSearchBarSearchModes = \"navigation\";\n\n /**\n * The size of the search bar component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If `true`, the value of the search will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The custom name for the value field to correspond with the IcMenuOption type.\n */\n @Prop() valueField?: string = \"value\";\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n\n @State() filteredOptions: IcMenuOption[] = [];\n\n @Watch(\"filteredOptions\")\n filteredOptionsHandler(newOptions: IcMenuOption[]): void {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n\n /**\n * The suggested search options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n @Watch(\"options\")\n watchOptionsHandler(newOptions: IcMenuOption[]): void {\n if (this.disableFilter && !this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n } else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n !this.preLoad &&\n (this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ]);\n this.preLoad = true;\n }\n }\n this.debounceAriaLiveUpdate();\n }\n\n /**\n * The value of the search input.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (\n this.inputEl &&\n this.options &&\n !!getLabelFromValue(\n newValue,\n this.options,\n this.valueField,\n this.labelField\n )\n ) {\n this.inputEl.value = getLabelFromValue(\n newValue,\n this.options,\n this.valueField,\n this.labelField\n );\n } else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n\n // The icChange event is defined here so that it appears as an event for search bar\n // The actual event is emitted from the child ic-text-field\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when value is cleared with clear button\n */\n @Event() icClear: EventEmitter<void>;\n private handleClear = (ev: Event) => {\n const keyboardEvent = ev as KeyboardEvent;\n const mouseEvent = ev as MouseEvent;\n\n if (\n mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\"\n ) {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.el.setFocus();\n\n this.icClear.emit();\n ev.preventDefault();\n\n this.preventSubmit = true;\n }\n };\n\n // The icInput event is defined here so that it appears as an event for search bar\n // The actual event is emitted from the child ic-text-field\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n\n const noOptions = [\n { [this.labelField]: this.emptyOptionListText, [this.valueField]: \"\" },\n ];\n\n if (this.options.length > 0) {\n this.setMenuChange(true);\n\n this.preLoad = false;\n\n if (this.disableFilter === false) {\n const rawFilteredOptions = getFilteredMenuOptions(\n this.options,\n false,\n this.value,\n \"anywhere\",\n this.labelField\n );\n\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n\n this.debounceAriaLiveUpdate();\n };\n\n /**\n * @deprecated This event should not be used anymore. Use icSearchBarBlur instead.\n */\n @Event() icInputBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n private onInputBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n\n /**\n * @deprecated This event should not be used anymore. Use icSearchBarFocus instead.\n */\n @Event() icInputFocus: EventEmitter<IcValueEventDetail>;\n private onInputFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icInputFocus.emit({ value: value });\n\n this.handleShowClearButton(true);\n };\n\n /**\n * Emitted when option is highlighted within the menu\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the state of the menu changes (i.e. open or close)\n */\n @Event() icMenuChange: EventEmitter<IcMenuChangeEventDetail>;\n /**\n * @internal - Emitted when blur is invoked from clear button\n */\n @Event() icClearBlur: EventEmitter<IcBlurEventDetail>;\n private handleClearBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n\n this.clearButtonFocused = false;\n };\n\n /**\n * Emitted when the 'retry loading' button is clicked\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the search value has been submitted\n */\n @Event() icSubmitSearch: EventEmitter<IcValueEventDetail>;\n\n /**\n * @internal - Emitted when blur is invoked from search submit button\n */\n @Event() icSubmitSearchBlur: EventEmitter<IcBlurEventDetail>;\n private handleSubmitSearchBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n\n this.searchSubmitFocused = false;\n };\n\n /**\n * Emitted when blur is invoked from ic-search-bar\n */\n @Event() icSearchBarBlur: EventEmitter<IcSearchBarBlurEventDetail>;\n\n /**\n * Emitted when focus is invoked from ic-search-bar\n */\n @Event() icSearchBarFocus: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n removeDisabledFalse(this.disabled, this.el);\n\n if (this.small) {\n this.size = \"small\";\n }\n }\n\n componentDidLoad(): void {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Search Bar\"\n );\n\n if (this.inputEl !== undefined) {\n this.anchorEl = this.inputEl.shadowRoot.querySelector(\n \"ic-input-component-container\"\n );\n }\n }\n\n componentWillRender(): void {\n this.highlightFirstOptionAfterNoResults();\n }\n\n @Listen(\"icKeydown\", {})\n handleKeyDown(ev: CustomEvent): void {\n const keyEv: KeyboardEvent = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n\n @Listen(\"keyup\", {})\n handleKeyUp(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n\n private handleMouseDown = (ev: Event) => {\n ev.preventDefault();\n };\n\n private handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n\n private handleSubmitSearch = () => {\n this.highlightedValue && (this.value = this.highlightedValue);\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n\n const form: HTMLFormElement = this.el.closest(\"FORM\");\n\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n\n private handleSubmitSearchKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n this.retryViaKeyPress = ev.detail.keyPressed === \"Enter\";\n this.icRetryLoad.emit({ value: ev.detail.value });\n this.triggerLoading();\n this.retryButtonClick = true;\n };\n\n private triggerLoading = () => {\n const loadingOption: IcMenuOption[] = [\n {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\n\n private handleOptionSelect = (ev: CustomEvent) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n\n private handleMenuOptionHighlight = (ev: CustomEvent) => {\n const optionValue = ev.detail.optionId?.replace(`${this.menuId}-`, \"\");\n optionValue && (this.highlightedValue = optionValue);\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n } else {\n this.ariaActiveDescendant = undefined;\n }\n };\n\n private handleMenuChange = (ev: CustomEvent<IcMenuChangeEventDetail>) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n\n private handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n\n this.icSearchBarFocus.emit();\n };\n\n private handleHostBlur = (ev: Event) => {\n const nextFocus = (ev as FocusEvent).relatedTarget;\n if (\n this.open &&\n this.options &&\n nextFocus !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick\n ) {\n this.setMenuChange(false);\n }\n\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl.setFocus();\n }\n\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n };\n\n private handleShowClearButton = (visible: boolean): void => {\n this.showClearButton = visible;\n };\n\n private handleFocusClearButton = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleMenuCloseFromMenuChange = (fromEvent: boolean): void => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n\n private handleTruncateValue = (truncate: boolean): void => {\n this.truncateValue = truncate;\n };\n\n private renderAssistiveHintEl = (): void => {\n const input = this.el.shadowRoot\n .querySelector(\"ic-text-field\")\n ?.shadowRoot?.querySelector(`#${this.inputId}`);\n\n if (\n input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()\n ) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n\n private updateSearchResultAriaLive = (): void => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\n \".search-results-status\"\n ) as HTMLParagraphElement;\n\n if (searchResultsStatusEl) {\n if (\n !this.open ||\n this.value === \"\" ||\n this.value.length < this.charactersUntilSuggestion\n ) {\n searchResultsStatusEl.innerText = \"\";\n } else if (\n this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n !this.filteredOptions[0].loading\n ) {\n if (this.hadNoOptions()) {\n searchResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchResultsStatusEl.innerText = `${\n this.filteredOptions.length\n } result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n }\n };\n\n private hasOptionsOrFilterDisabled = (): boolean =>\n this.options.length > 0 || this.disableFilter;\n\n private hadNoOptions = (): boolean =>\n this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n\n private isSubmitDisabled = (): boolean => {\n const valueNotSet =\n this.value === undefined || this.value === null || this.value === \"\";\n const valueLengthLess = this.value.length < this.charactersUntilSuggestion;\n return (\n valueNotSet ||\n valueLengthLess ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading\n );\n };\n\n private highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find(\n (filteredOption) =>\n filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel\n );\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n size,\n placeholder,\n helperText,\n disabled,\n value,\n readonly,\n spellcheck,\n fullWidth,\n options,\n open,\n hideLabel,\n menuId,\n ariaActiveDescendant,\n truncateValue,\n autofocus,\n autocapitalize,\n autocomplete,\n filteredOptions,\n } = this;\n\n const disabledMode = readonly || disabled ? true : false;\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n ).trim();\n\n let describedById;\n\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n } else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n } else if (describedBy !== \"\") {\n describedById = describedBy;\n } else {\n describedById = undefined;\n }\n\n const disabledText = disabledMode && !readonly;\n const hasSuggestedSearch = value && this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered =\n menuOpen && value.length >= this.charactersUntilSuggestion;\n const isOrHasLoaded =\n this.filteredOptions.length === 1 &&\n (this.filteredOptions[0][this.labelField] === this.loadingLabel ||\n filteredOptions[0][this.labelField] === this.loadingErrorLabel);\n\n let expanded;\n\n if (options.length > 0) {\n if (menuOpen) {\n expanded = \"true\";\n } else {\n expanded = \"false\";\n }\n } else {\n expanded = undefined;\n }\n\n renderHiddenInput(true, this.el, name, value, disabledMode);\n\n return (\n <Host\n class={{\n [\"search\"]: true,\n [\"fullwidth\"]: fullWidth,\n [\"disabled\"]: disabled,\n [\"small\"]: size === \"small\",\n }}\n onFocus={this.handleHostFocus}\n onBlur={this.handleHostBlur}\n >\n <ic-text-field\n ref={(el) => (this.inputEl = el)}\n inputId={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n size={size}\n hideLabel={hideLabel}\n fullWidth={fullWidth}\n name={name}\n truncateValue={truncateValue}\n value={\n options &&\n !!getLabelFromValue(\n value,\n options,\n this.valueField,\n this.labelField\n )\n ? getLabelFromValue(\n value,\n options,\n this.valueField,\n this.labelField\n )\n : value\n }\n placeholder={placeholder}\n onInput={this.onInput}\n onBlur={this.onInputBlur}\n onFocus={this.onInputFocus}\n aria-label={hideLabel ? label : \"\"}\n aria-describedby={describedById}\n aria-owns={menuRendered ? menuId : undefined}\n aria-haspopup={options.length > 0 ? \"listbox\" : undefined}\n ariaExpanded={expanded}\n ariaActiveDescendant={ariaActiveDescendant}\n aria-autocomplete={hasSuggestedSearch ? \"list\" : undefined}\n role={hasSuggestedSearch ? \"combobox\" : undefined}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n autoFocus={autofocus}\n spellcheck={spellcheck}\n inputmode=\"search\"\n debounce={this.debounce}\n >\n <div\n class={{\n \"clear-button-container\": true,\n \"clear-button-visible\":\n value && !disabledMode && this.showClearButton,\n }}\n slot=\"clear-button\"\n >\n <ic-button\n id=\"clear-button\"\n class=\"clear-button\"\n aria-label=\"Clear\"\n innerHTML={clearIcon}\n onClick={this.handleClear}\n onMouseDown={this.handleMouseDown}\n size={size}\n onFocus={this.handleFocusClearButton}\n onBlur={this.handleClearBlur}\n onKeyDown={this.handleClear}\n type=\"submit\"\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n <div\n class={{\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }}\n slot=\"search-submit-button\"\n >\n <ic-button\n id=\"search-submit-button\"\n aria-label=\"Search\"\n ref={(el) => (this.searchSubmitButton = el)}\n class={{\n [\"search-submit-button\"]: true,\n [\"search-submit-button-small\"]: !!small,\n }}\n disabled={this.isSubmitDisabled()}\n innerHTML={searchIcon}\n size={size}\n onClick={this.handleSubmitSearch}\n onMouseDown={this.handleMouseDown}\n onBlur={this.handleSubmitSearchBlur}\n onFocus={this.handleSubmitSearchFocus}\n onKeyDown={this.handleSubmitSearchKeyDown}\n type=\"submit\"\n variant=\"icon\"\n appearance={\n this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default\n }\n ></ic-button>\n </div>\n <div\n class={{\n \"menu-container\": true,\n fullwidth: fullWidth,\n }}\n slot=\"menu\"\n >\n {menuRendered && (\n <ic-menu\n class={{\n \"no-results\": this.hadNoOptions() || isOrHasLoaded,\n }}\n activationType=\"manual\"\n anchorEl={this.anchorEl}\n autoFocusOnSelected={false}\n searchMode={this.searchMode}\n inputEl={this.inputEl}\n inputLabel={label}\n ref={(el) => (this.menu = el)}\n small={size === \"small\"}\n fullWidth={fullWidth}\n menuId={menuId}\n open={!!menuRendered}\n options={filteredOptions}\n onMenuOptionSelect={this.handleOptionSelect}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionId={this.handleMenuOptionHighlight}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n value={value}\n labelField={this.labelField}\n valueField={this.valueField}\n ></ic-menu>\n )}\n </div>\n </ic-text-field>\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"search-results-status\"\n ></div>\n </Host>\n );\n }\n}\n"],"mappings":"0vCAAA,MAAMA,EAAiB,iqIC2CvB,IAAIC,EAAW,E,MAUFC,EAAS,M,wkBAEZC,KAAAC,gBAAmC,KAEnCD,KAAAE,YAAc,MAEdF,KAAAG,QAAU,uBAAuBL,MAEjCE,KAAAI,6BAAwC,MACxCJ,KAAAK,OAAS,GAAGL,KAAKG,eACjBH,KAAAM,QAAU,KACVN,KAAAO,cAAyB,MACzBP,KAAAQ,aAAwB,MACxBR,KAAAS,iBAA4B,MAG5BT,KAAAU,cAAgB,MAqPhBV,KAAAW,YAAeC,IACrB,MAAMC,EAAgBD,EACtB,MAAME,EAAaF,EAEnB,GACEE,EAAWC,OAAS,SACpBF,EAAcG,OAAS,SACvBH,EAAcG,OAAS,QACvB,CACAhB,KAAKiB,MAAQ,GACbjB,KAAKkB,QAAQD,MAAQ,GACrBjB,KAAKmB,QAAU,MACfC,aAAapB,KAAKqB,cAClBrB,KAAKsB,gBAAkBtB,KAAKuB,QAC5BvB,KAAKwB,GAAGC,WAERzB,KAAK0B,QAAQC,OACbf,EAAGgB,iBAEH5B,KAAKO,cAAgB,I,GAUjBP,KAAA6B,QAAWjB,IACjBZ,KAAKiB,MAASL,EAAGkB,OAA4Bb,MAE7C,MAAMc,EAAY,CAChB,CAAE,CAAC/B,KAAKgC,YAAahC,KAAKiC,oBAAqB,CAACjC,KAAKkC,YAAa,KAGpE,GAAIlC,KAAKuB,QAAQY,OAAS,EAAG,CAC3BnC,KAAKoC,cAAc,MAEnBpC,KAAKM,QAAU,MAEf,GAAIN,KAAKqC,gBAAkB,MAAO,CAChC,MAAMC,EAAqBC,EACzBvC,KAAKuB,QACL,MACAvB,KAAKiB,MACL,WACAjB,KAAKgC,YAGPhC,KAAKsB,gBACHgB,EAAmBH,OAAS,EAAIG,EAAqBP,C,EAI3D,IAAK/B,KAAKwC,gBAAiB,CACzBxC,KAAKyC,sBAAsB,K,CAG7BzC,KAAK0C,wBAAwB,EAOvB1C,KAAA2C,YAAe/B,IACrB,MAAMK,EAASL,EAAGkB,OAA4Bb,MAC9C,MAAM2B,EAAahC,EAAkBiC,cAErC7C,KAAK8C,YAAYnB,KAAK,CAAEV,MAAOA,EAAO4B,cAAeD,GAAY,EAO3D5C,KAAA+C,aAAgBnC,IACtB,MAAMK,EAASL,EAAGkB,OAA4Bb,MAC9CjB,KAAKgD,aAAarB,KAAK,CAAEV,MAAOA,IAEhCjB,KAAKyC,sBAAsB,KAAK,EAgB1BzC,KAAAiD,gBAAmBrC,IACzB,MAAMgC,EAAahC,EAAkBiC,cAErC7C,KAAKkD,YAAYvB,KAAK,CAAEkB,cAAeD,IAEvC5C,KAAKmD,mBAAqB,KAAK,EAiBzBnD,KAAAoD,uBAA0BxC,IAChC,MAAMgC,EAAahC,EAAkBiC,cAErC7C,KAAKqD,mBAAmB1B,KAAK,CAAEkB,cAAeD,IAE9C5C,KAAKsD,oBAAsB,KAAK,EAiG1BtD,KAAAuD,gBAAmB3C,IACzBA,EAAGgB,gBAAgB,EAGb5B,KAAAwD,wBAA0B,KAChCxD,KAAKsD,oBAAsB,IAAI,EAGzBtD,KAAAyD,mBAAqB,KAC3BzD,KAAK0D,mBAAqB1D,KAAKiB,MAAQjB,KAAK0D,kBAC5C1D,KAAK0D,iBAAmBC,UACxB3D,KAAK4D,eAAejC,KAAK,CAAEV,MAAOjB,KAAKiB,QAEvC,MAAM4C,EAAwB7D,KAAKwB,GAAGsC,QAAQ,QAE9C,GAAI9D,KAAK+D,sBAAwBF,IAAS7D,KAAKO,cAAe,CAC5DyD,EAA4BH,EAAM7D,KAAK+D,mB,GAYnC/D,KAAAiE,0BAA6BrD,IACnC,GAAIA,EAAGsD,MAAQ,IAAK,CAClBtD,EAAGgB,iBACH5B,KAAKyD,oB,GAIDzD,KAAAmE,YAAevD,IACrBZ,KAAKoE,iBAAmBxD,EAAGyD,OAAOC,aAAe,QACjDtE,KAAKuE,YAAY5C,KAAK,CAAEV,MAAOL,EAAGyD,OAAOpD,QACzCjB,KAAKwE,iBACLxE,KAAKS,iBAAmB,IAAI,EAGtBT,KAAAwE,eAAiB,KACvB,MAAMC,EAAgC,CACpC,CACE,CAACzE,KAAKgC,YAAahC,KAAK0E,aACxB,CAAC1E,KAAKkC,YAAa,GACnBf,QAAS,OAGb,GAAInB,KAAKsB,kBAAoBmD,EAC3BzE,KAAKsB,gBAAkBmD,EACzB,GAAIzE,KAAK2E,QAAS,CAChB3E,KAAKqB,aAAeuD,OAAOC,YAAW,KACpC7E,KAAKsB,gBAAkB,CACrB,CACE,CAACtB,KAAKgC,YAAahC,KAAK8E,kBACxB,CAAC9E,KAAKkC,YAAa,GACnB6C,SAAU,MAEb,GACA/E,KAAK2E,Q,GAIJ3E,KAAAgF,mBAAsBpE,IAC5B,GAAIA,EAAGyD,OAAOY,QAAUjF,KAAKiC,oBAAqB,CAChDjC,KAAKwB,GAAGC,WACR,M,CAGFzB,KAAKiB,MAAQL,EAAGyD,OAAOpD,MACvBjB,KAAKkF,eAAevD,KAAK,CAAEV,MAAOjB,KAAKiB,OAAQ,EAGzCjB,KAAAmF,0BAA6BvE,I,MACnC,MAAMwE,GAAcC,EAAAzE,EAAGyD,OAAOiB,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QAAQ,GAAGvF,KAAKK,UAAW,IACnE+E,IAAgBpF,KAAK0D,iBAAmB0B,GACxC,GAAIxE,EAAGyD,OAAOiB,SAAU,CACtBtF,KAAKwF,qBAAuB5E,EAAGyD,OAAOiB,Q,KACjC,CACLtF,KAAKwF,qBAAuB7B,S,GAIxB3D,KAAAyF,iBAAoB7E,IAC1BZ,KAAKoC,cAAcxB,EAAGyD,OAAOqB,MAC7B,IAAK9E,EAAGyD,OAAOqB,KAAM,CACnB1F,KAAK2F,8BAA8B,MACnC,GAAI/E,EAAGyD,OAAOuB,aAAejC,WAAa/C,EAAGyD,OAAOuB,WAAY,CAC9D5F,KAAKwB,GAAGC,U,IAKNzB,KAAAoC,cAAiBsD,IACvB,GAAI1F,KAAK0F,OAASA,EAAM,CACtB1F,KAAK0F,KAAOA,EACZ1F,KAAK6F,aAAalE,KAAK,CAAE+D,Q,GAIrB1F,KAAA8F,gBAAkB,KACxB,GAAI9F,KAAKuB,SAAWvB,KAAKiB,QAAUjB,KAAKI,6BAA8B,CACpEJ,KAAKoC,cAAc,K,CAErBpC,KAAK+F,oBAAoB,OAEzB/F,KAAKgG,iBAAiBrE,MAAM,EAGtB3B,KAAAiG,eAAkBrF,IACxB,MAAMgC,EAAahC,EAAkBiC,cACrC,GACE7C,KAAK0F,MACL1F,KAAKuB,SACLqB,IAAc5C,KAAKkG,OAClBlG,KAAKoE,mBACLpE,KAAKS,iBACN,CACAT,KAAKoC,cAAc,M,CAGrB,GAAIpC,KAAKS,kBAAoBT,KAAKoE,iBAAkB,CAClDpE,KAAKkB,QAAQO,U,CAGfzB,KAAKyC,sBAAsB,OAC3BzC,KAAK2F,8BAA8B,OACnC3F,KAAK+F,oBAAoB,MACzB/F,KAAKmG,gBAAgBxE,KAAK,CAAEkB,cAAeD,EAAW3B,MAAOjB,KAAKiB,QAClEjB,KAAKoE,iBAAmB,MACxBpE,KAAKS,iBAAmB,KAAK,EAGvBT,KAAAyC,sBAAyB2D,IAC/BpG,KAAKwC,gBAAkB4D,CAAO,EAGxBpG,KAAAqG,uBAAyB,KAC/BrG,KAAKmD,mBAAqB,IAAI,EAGxBnD,KAAA2F,8BAAiCW,IACvCtG,KAAKI,6BAA+BkG,CAAS,EAGvCtG,KAAA+F,oBAAuBQ,IAC7BvG,KAAKU,cAAgB6F,CAAQ,EAGvBvG,KAAAwG,sBAAwB,K,QAC9B,MAAMC,GAAQC,GAAArB,EAAArF,KAAKwB,GAAGmF,WACnBC,cAAc,oBAAgB,MAAAvB,SAAA,SAAAA,EAC7BsB,cAAU,MAAAD,SAAA,SAAAA,EAAEE,cAAc,IAAI5G,KAAKG,WAEvC,GACEsG,GACAI,OAAOC,KAAKL,GAAOtE,OAAS,GAC5BnC,KAAK+G,6BACL,CACA/G,KAAKC,gBAAkB+G,SAASC,cAAc,QAC9CjH,KAAKC,gBAAgBiH,UAAYlH,KAAKmH,SACtCnH,KAAKC,gBAAgBmH,GAAK,GAAGpH,KAAKG,yBAClCH,KAAKC,gBAAgBoH,MAAMC,QAAU,OACrC,GAAIb,EAAMc,QAAU5D,UAAW,CAC7B8C,EAAMc,MAAMvH,KAAKC,gB,IAKfD,KAAAwH,2BAA6B,KACnC,MAAMC,EAAwBzH,KAAKwB,GAAGmF,WAAWC,cAC/C,0BAGF,GAAIa,EAAuB,CACzB,IACGzH,KAAK0F,MACN1F,KAAKiB,QAAU,IACfjB,KAAKiB,MAAMkB,OAASnC,KAAK0H,0BACzB,CACAD,EAAsBP,UAAY,E,MAC7B,GACLlH,KAAK+G,8BACL/G,KAAKsB,gBAAgBa,OAAS,GAC9BnC,KAAK0F,OACJ1F,KAAKsB,gBAAgB,GAAGH,QACzB,CACA,GAAInB,KAAK2H,eAAgB,CACvBF,EAAsBP,UAAYlH,KAAKiC,mB,KAClC,CACLwF,EAAsBP,UAAY,GAChClH,KAAKsB,gBAAgBa,gBACbnC,KAAKsB,gBAAgBa,OAAS,EAAI,IAAM,c,KAMlDnC,KAAA+G,2BAA6B,IACnC/G,KAAKuB,QAAQY,OAAS,GAAKnC,KAAKqC,cAE1BrC,KAAA2H,aAAe,IACrB3H,KAAKsB,gBAAgBa,SAAW,GAChCnC,KAAKsB,gBAAgB,GAAGtB,KAAKgC,cAAgBhC,KAAKiC,qBAClDjC,KAAK4H,aAAe,aAEd5H,KAAA6H,iBAAmB,KACzB,MAAMC,EACJ9H,KAAKiB,QAAU0C,WAAa3D,KAAKiB,QAAU,MAAQjB,KAAKiB,QAAU,GACpE,MAAM8G,EAAkB/H,KAAKiB,MAAMkB,OAASnC,KAAK0H,0BACjD,OACEI,GACAC,GACA/H,KAAKgI,UACLhI,KAAK2H,gBACL3H,KAAKE,aACLF,KAAKmB,OAAO,EAIRnB,KAAAiI,mCAAqC,KAC3C,GAAIjI,KAAKQ,cAAgBR,KAAKkG,OAASlG,KAAKE,YAAa,CACvDF,KAAKkG,KAAKgC,uBACVlI,KAAKQ,aAAe,K,CAEtB,MAAM2H,EAAoBnI,KAAKsB,gBAAgB8G,MAC5CC,GACCA,EAAerI,KAAKgC,cAAgBhC,KAAKiC,qBACzCoG,EAAerI,KAAKgC,cAAgBhC,KAAK8E,mBACzCuD,EAAerI,KAAKgC,cAAgBhC,KAAK0E,eAE7C,GAAIyD,EAAmB,CACrBnI,KAAKQ,aAAe,I,+DAtrBe,M,0CAEd,M,yBACe,M,qBACJ,M,oBAMX,M,kBAKoB,M,iBAKD,M,eAKxB,M,+BAKwB,E,cAKf,M,mBAMK,M,cAKN,E,yBAKE,mB,iBAKE,M,eAMF,M,gBAKA,G,eAKA,M,cAM5B,yG,qCAU4B,Q,aAKe,M,uBAKR,gB,kBAKL,a,UAKTR,KAAKG,Q,iBAKG,S,cAKF,M,cAKA,M,gBAKiB,a,UAKd,U,WAKN,M,gBAKI,M,uCAUA,Q,qBAUa,G,aAUR,G,WA8BqB,E,CA/CxD,cAAAmI,CAAeC,GACb,GAAIA,IAAavI,KAAKE,YAAa,CACjCF,KAAKM,QAAU,MACfN,KAAKwE,gB,EAOT,sBAAAgE,CAAuBC,GACrBzI,KAAKE,YAAcuI,EAAWC,MAAMC,GAAQA,EAAI5D,U,CASlD,mBAAA6D,CAAoBH,GAClB,GAAIzI,KAAKqC,gBAAkBrC,KAAKE,YAAa,CAC3CF,KAAKmB,QAAU,MACfC,aAAapB,KAAKqB,cAClB,GAAIoH,EAAWtG,OAAS,EAAG,CACzBnC,KAAKsB,gBAAkBmH,C,KAClB,CACL,GAAIzI,KAAK2H,eAAgB,CACvB,M,CAEF3H,KAAKoC,cAAc,OAClBpC,KAAKM,UACHN,KAAKsB,gBAAkB,CACtB,CACE,CAACtB,KAAKgC,YAAahC,KAAKiC,oBACxB,CAACjC,KAAKkC,YAAa,MAGzBlC,KAAKM,QAAU,I,EAGnBN,KAAK0C,wB,CASP,iBAAAmG,CAAkBN,GAChB,GACEvI,KAAKkB,SACLlB,KAAKuB,WACHuH,EACAP,EACAvI,KAAKuB,QACLvB,KAAKkC,WACLlC,KAAKgC,YAEP,CACAhC,KAAKkB,QAAQD,MAAQ6H,EACnBP,EACAvI,KAAKuB,QACLvB,KAAKkC,WACLlC,KAAKgC,W,MAEF,GAAIhC,KAAKkB,SAAWlB,KAAKkB,QAAQD,QAAUsH,EAAU,CAC1DvI,KAAKkB,QAAQD,MAAQsH,C,EAwJzB,oBAAAQ,GACE,GAAI/I,KAAKC,gBAAiB,CACxBD,KAAKC,gBAAgB+I,Q,EAIzB,iBAAAC,GACEjJ,KAAK6I,kBAAkB7I,KAAKiB,OAE5BiI,EAAoBlJ,KAAKgI,SAAUhI,KAAKwB,IAExC,GAAIxB,KAAKmJ,MAAO,CACdnJ,KAAKoJ,KAAO,O,EAIhB,gBAAAC,GACE,GAAIrJ,KAAKsJ,YAAa,CACpBtJ,KAAKwB,GAAGC,U,CAGV,GAAIzB,KAAK+G,6BAA8B,CACrC/G,KAAKwG,wBACL,GAAIxG,KAAKqC,cAAe,CACtBrC,KAAKsB,gBAAkBtB,KAAKuB,O,EAIhCgI,EACE,CAAC,CAAEC,KAAMxJ,KAAKiF,MAAOwE,SAAU,UAC/B,cAGF,GAAIzJ,KAAKkB,UAAYyC,UAAW,CAC9B3D,KAAK0J,SAAW1J,KAAKkB,QAAQyF,WAAWC,cACtC,+B,EAKN,mBAAA+C,GACE3J,KAAKiI,oC,CAIP,aAAA2B,CAAchJ,GACZ,MAAMiJ,EAAuBjJ,EAAGyD,OAAOyF,MACvC,GAAI9J,KAAKkG,MAAQlG,KAAK0F,KAAM,CAC1B1F,KAAKkG,KAAK6D,mBAAmBF,E,EAKjC,WAAAG,CAAYpJ,GACV,GAAIA,EAAGsD,MAAQ,QAAS,CACtB,GAAIlE,KAAKO,eAAiBP,KAAK6H,mBAAoB,CACjD,M,CAGF7H,KAAKyD,qBACLzD,KAAKoC,cAAc,M,CAGrB,GAAIxB,EAAGsD,MAAQ,SAAU,CACvBlE,KAAKoC,cAAc,M,CAGrB,GAAIpC,KAAKO,cAAe,CACtBP,KAAKO,cAAgB,K,EAQzB,cAAMkB,GACJzB,KAAKoE,iBAAmB,MACxBpE,KAAKS,iBAAmB,MACxB,GAAIT,KAAKkB,QAAS,CAChBlB,KAAKkB,QAAQO,U,EAwBT,sBAAAiB,GACNtB,aAAapB,KAAKiK,kBAElBjK,KAAKiK,iBAAmBrF,OAAOC,YAAW,KACxC7E,KAAKwH,4BAA4B,GAChC,I,CAqNL,MAAA0C,GACE,MAAM/J,QACJA,EAAOgK,KACPA,EAAIlF,MACJA,EAAKmF,SACLA,EAAQjB,MACRA,EAAKC,KACLA,EAAIiB,YACJA,EAAWC,WACXA,EAAUtC,SACVA,EAAQ/G,MACRA,EAAKsJ,SACLA,EAAQC,WACRA,EAAUC,UACVA,EAASlJ,QACTA,EAAOmE,KACPA,EAAIgF,UACJA,EAASrK,OACTA,EAAMmF,qBACNA,EAAoB9E,cACpBA,EAAaiK,UACbA,EAASC,eACTA,EAAcC,aACdA,EAAYvJ,gBACZA,GACEtB,KAEJ,MAAM8K,EAAeP,GAAYvC,EAAW,KAAO,MAEnD,MAAM+C,EAAcC,EAClB7K,EACAmK,IAAe,GACf,OACAW,OAEF,IAAIC,EAEJ,GAAIH,IAAgB,IAAM/K,KAAK+G,6BAA8B,CAC3DmE,EAAgB,GAAGH,KAAe/K,KAAKG,wB,MAClC,GAAIH,KAAK+G,6BAA8B,CAC5CmE,EAAgB,GAAGlL,KAAKG,wB,MACnB,GAAI4K,IAAgB,GAAI,CAC7BG,EAAgBH,C,KACX,CACLG,EAAgBvH,S,CAGlB,MAAMwH,EAAeL,IAAiBP,EACtC,MAAMa,EAAqBnK,GAASjB,KAAK+G,6BACzC,MAAMsE,EAAWD,GAAsB1F,GAAQpE,EAAgBa,OAAS,EACxE,MAAMmJ,EACJD,GAAYpK,EAAMkB,QAAUnC,KAAK0H,0BACnC,MAAM6D,EACJvL,KAAKsB,gBAAgBa,SAAW,IAC/BnC,KAAKsB,gBAAgB,GAAGtB,KAAKgC,cAAgBhC,KAAK0E,cACjDpD,EAAgB,GAAGtB,KAAKgC,cAAgBhC,KAAK8E,mBAEjD,IAAI0G,EAEJ,GAAIjK,EAAQY,OAAS,EAAG,CACtB,GAAIkJ,EAAU,CACZG,EAAW,M,KACN,CACLA,EAAW,O,MAER,CACLA,EAAW7H,S,CAGb8H,EAAkB,KAAMzL,KAAKwB,GAAI2I,EAAMlJ,EAAO6J,GAE9C,OACEY,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,UAAW,KACZ,CAAC,aAAcnB,EACf,CAAC,YAAazC,EACd,CAAC,SAAUoB,IAAS,SAEtByC,QAAS7L,KAAK8F,gBACdgG,OAAQ9L,KAAKiG,gBAEbyF,EAAA,iBACEK,IAAMvK,GAAQxB,KAAKkB,QAAUM,EAC7BrB,QAASA,EACT8E,MAAOA,EACPqF,WAAYA,EACZF,SAAUA,EACVpC,SAAUmD,EACVZ,SAAUA,EACVnB,KAAMA,EACNsB,UAAWA,EACXD,UAAWA,EACXN,KAAMA,EACNzJ,cAAeA,EACfO,MACEM,KACEuH,EACA7H,EACAM,EACAvB,KAAKkC,WACLlC,KAAKgC,YAEH8G,EACE7H,EACAM,EACAvB,KAAKkC,WACLlC,KAAKgC,YAEPf,EAENoJ,YAAaA,EACbxI,QAAS7B,KAAK6B,QACdiK,OAAQ9L,KAAK2C,YACbkJ,QAAS7L,KAAK+C,aAAY,aACd2H,EAAYzF,EAAQ,GAAE,mBAChBiG,EAAa,YACpBI,EAAejL,EAASsD,UAAS,gBAC7BpC,EAAQY,OAAS,EAAI,UAAYwB,UAChDqI,aAAcR,EACdhG,qBAAsBA,EAAoB,oBACvB4F,EAAqB,OAASzH,UACjDsI,KAAMb,EAAqB,WAAazH,UACxCkH,aAAcA,EACdD,eAAgBA,EAChBsB,UAAWvB,EACXH,WAAYA,EACZ2B,UAAU,SACVC,SAAUpM,KAAKoM,UAEfV,EAAA,OACEE,MAAO,CACL,yBAA0B,KAC1B,uBACE3K,IAAU6J,GAAgB9K,KAAKwC,iBAEnC6J,KAAK,gBAELX,EAAA,aACEtE,GAAG,eACHwE,MAAM,eAAc,aACT,QACXU,UAAWC,EACXC,QAASxM,KAAKW,YACd8L,YAAazM,KAAKuD,gBAClB6F,KAAMA,EACNyC,QAAS7L,KAAKqG,uBACdyF,OAAQ9L,KAAKiD,gBACbyJ,UAAW1M,KAAKW,YAChBI,KAAK,SACL4L,QAAQ,OACRC,WACE5M,KAAKmD,mBACD0J,EAAsBC,MACtBD,EAAsBE,OAG9BrB,EAAA,OAAKE,MAAM,aAEbF,EAAA,OACEE,MAAO,CACL,iCAAkC,KAClC,gCAAiC5L,KAAK6H,oBAExCwE,KAAK,wBAELX,EAAA,aACEtE,GAAG,uBAAsB,aACd,SACX2E,IAAMvK,GAAQxB,KAAK+D,mBAAqBvC,EACxCoK,MAAO,CACL,CAAC,wBAAyB,KAC1B,CAAC,gCAAiCzC,GAEpCnB,SAAUhI,KAAK6H,mBACfyE,UAAWU,EACX5D,KAAMA,EACNoD,QAASxM,KAAKyD,mBACdgJ,YAAazM,KAAKuD,gBAClBuI,OAAQ9L,KAAKoD,uBACbyI,QAAS7L,KAAKwD,wBACdkJ,UAAW1M,KAAKiE,0BAChBlD,KAAK,SACL4L,QAAQ,OACRC,WACE5M,KAAKsD,oBACDuJ,EAAsBC,MACtBD,EAAsBI,WAIhCvB,EAAA,OACEE,MAAO,CACL,iBAAkB,KAClBsB,UAAWzC,GAEb4B,KAAK,QAEJf,GACCI,EAAA,WACEE,MAAO,CACL,aAAc5L,KAAK2H,gBAAkB4D,GAEvC4B,eAAe,SACfzD,SAAU1J,KAAK0J,SACf0D,oBAAqB,MACrBxF,WAAY5H,KAAK4H,WACjB1G,QAASlB,KAAKkB,QACdmM,WAAYpI,EACZ8G,IAAMvK,GAAQxB,KAAKkG,KAAO1E,EAC1B2H,MAAOC,IAAS,QAChBqB,UAAWA,EACXpK,OAAQA,EACRqF,OAAQ4F,EACR/J,QAASD,EACTgM,mBAAoBtN,KAAKgF,mBACzBuI,kBAAmBvN,KAAKyF,iBACxB+H,eAAgBxN,KAAKmF,0BACrBsI,qBAAsBzN,KAAKmE,YAC3BuJ,SAAU1N,KAAKwB,GACfP,MAAOA,EACPe,WAAYhC,KAAKgC,WACjBE,WAAYlC,KAAKkC,eAKzBwJ,EAAA,mBACY,SACVO,KAAK,SACLL,MAAM,0B"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as a,H as s,g as e}from"./p-6b5e91e2.js";import{M as o,L as n,i as r}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const c=":host{display:block;position:fixed;top:0;left:0;width:100%;min-height:100% !important;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-navigation-menu)}.popout-modal{position:absolute;inset:0}.popout-menu{position:fixed;top:0;right:0;width:16rem;bottom:0;background-color:var(--ic-architectural-20);color:var(--ic-color-primary-text);box-shadow:var(--ic-elevation-overlay);overflow-y:auto;overflow-x:hidden}:host(.inline) .popout-menu{position:absolute}.menu-close-button-container{position:relative;left:11.875rem;padding:var(--ic-space-md) 0}.nav-group-first{padding-bottom:0}.menu-buttons-container{padding:var(--ic-space-sm) 0;border-bottom:var(--ic-border-width) solid var(--ic-architectural-200)}.menu-buttons-container-nav-item-above{margin-top:var(--ic-space-md);border-top:var(--ic-border-width) solid var(--ic-architectural-200)}.menu-status-version-container{display:flex;flex-wrap:wrap;gap:var(--ic-space-xs);padding:var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl)}.status-version-no-buttons{border-top:var(--ic-space-1px) solid var(--ic-architectural-200)}.menu-status{background-color:var(--ic-architectural-500);color:var(--ic-color-white-text);border-radius:var(--ic-space-md);width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) var(--ic-space-sm)}.menu-version{border-radius:var(--ic-space-md);background-color:var(--ic-architectural-100);padding:var(--ic-space-xxs) var(--ic-space-sm)}.menu-status-text,.menu-version-text{overflow-wrap:break-word}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}";const l=class{constructor(a){t(this,a);this.icNavigationMenuClose=i(this,"icNavigationMenuClose",7);this.closeButton=null;this.hasButtons=false;this.hasNavigation=false;this.lastTabStop=null;this.navGroupFirst=false;this.navItemAboveButtons=false;this.closeMenu=()=>{this.icNavigationMenuClose.emit()};this.focusCloseButton=()=>{if(this.closeButton.focus){this.closeButton.focus()}};this.focusLastTabStop=()=>{let t;if(this.lastTabStop!==null){switch(this.lastTabStop.tagName){case"IC-NAVIGATION-BUTTON":case"IC-NAVIGATION-ITEM":case"IC-NAVIGATION-GROUP":t=this.lastTabStop;t.focus();break;case"A":this.lastTabStop.focus();break}}};this.status="";this.version=""}componentWillLoad(){this.navBarEl=document.querySelector("ic-top-navigation");const t=o(this.el,"navigation");if(t){this.hasNavigation=true;const i=t[t.length-1];if(i.tagName==="IC-NAVIGATION-ITEM"){this.navItemAboveButtons=true}const a=t[0];if(a.tagName==="IC-NAVIGATION-GROUP"){this.navGroupFirst=true}}const i=o(this.el,"buttons");if(i!==null){this.hasButtons=true;this.lastTabStop=i[i.length-1]}else{if(this.hasNavigation){const i=t[t.length-1];const a=n(i,"navigation-item");if(a!==null){this.lastTabStop=a}else{this.lastTabStop=i}}}}componentDidLoad(){this.focusCloseButton()}componentWillRender(){this.hasNavigation=r(this.el,"navigation");this.hasButtons=r(this.el,"buttons")}navItemClickHandler(){this.closeMenu()}handleKeyDown(t){if(t.key==="Tab"){if(t.shiftKey){if(document.activeElement===this.navBarEl){t.preventDefault();this.focusLastTabStop()}}else if(document.activeElement===this.lastTabStop||this.lastTabStop===null){t.preventDefault();this.focusCloseButton()}}else if(t.key==="Escape"){this.closeMenu()}}render(){return a(s,null,a("div",{class:"popout-modal",onClick:this.closeMenu}),a("div",{class:"popout-menu",role:"dialog","aria-modal":"true","aria-label":`${this.hasNavigation?"Navigation":"App"} menu`},a("span",{"aria-hidden":"true",id:"navigation-landmark-text",class:"navigation-landmark-text"},"Main navigation"),a("nav",{"aria-labelledby":"navigation-landmark-text","aria-hidden":this.hasNavigation?"false":"true"},a("div",{class:{["menu-close-button-container"]:true,["nav-group-first"]:this.navGroupFirst}},a("ic-button",{ref:t=>this.closeButton=t,id:"menu-close-button",class:"menu-close-button",variant:"icon",size:"large","aria-label":`Close ${this.hasNavigation?"navigation":"app"} menu`,onClick:this.closeMenu},a("svg",{slot:"icon",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a("path",{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z",fill:"#1759BC"})))),this.hasNavigation&&a("slot",{name:"navigation"})),this.hasButtons&&a("div",{class:{["menu-buttons-container"]:true,["menu-buttons-container-nav-item-above"]:this.navItemAboveButtons}},a("slot",{name:"buttons"})),(this.status!==""||this.version!=="")&&a("div",{class:{["menu-status-version-container"]:true,["status-version-no-buttons"]:!this.hasButtons}},this.status!==""&&a("div",{class:"menu-status"},a("ic-typography",{variant:"label-uppercase","aria-label":"app tag",class:"menu-status-text"},this.status)),this.version!==""&&a("div",{class:"menu-version"},a("ic-typography",{variant:"label",class:"menu-version-text","aria-label":"app version"},this.version)))))}get el(){return e(this)}};l.style=c;export{l as ic_navigation_menu};
|
2
|
-
//# sourceMappingURL=p-60f7f555.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icNavigationMenuCss","NavigationMenu","this","closeButton","hasButtons","hasNavigation","lastTabStop","navGroupFirst","navItemAboveButtons","closeMenu","icNavigationMenuClose","emit","focusCloseButton","focus","focusLastTabStop","focusEl","tagName","componentWillLoad","navBarEl","document","querySelector","navigationEls","getSlotContent","el","lastEl","length","firstEl","buttonContent","slotContent","getSlot","componentDidLoad","componentWillRender","isSlotUsed","navItemClickHandler","handleKeyDown","ev","key","shiftKey","activeElement","preventDefault","render","h","Host","class","onClick","role","id","ref","variant","size","slot","width","height","viewBox","fill","xmlns","d","name","status","version"],"sources":["src/components/ic-navigation-menu/ic-navigation-menu.css?tag=ic-navigation-menu&encapsulation=shadow","src/components/ic-navigation-menu/ic-navigation-menu.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-navigation-menu: z-index of navigation menu\n */\n\n:host {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-navigation-menu);\n}\n\n.popout-modal {\n position: absolute;\n inset: 0;\n}\n\n.popout-menu {\n position: fixed;\n top: 0;\n right: 0;\n width: 16rem;\n bottom: 0;\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-primary-text);\n box-shadow: var(--ic-elevation-overlay);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n:host(.inline) .popout-menu {\n position: absolute;\n}\n\n.menu-close-button-container {\n position: relative;\n left: 11.875rem;\n padding: var(--ic-space-md) 0;\n}\n\n.nav-group-first {\n padding-bottom: 0;\n}\n\n.menu-buttons-container {\n padding: var(--ic-space-sm) 0;\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-buttons-container-nav-item-above {\n margin-top: var(--ic-space-md);\n border-top: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-status-version-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl);\n}\n\n.status-version-no-buttons {\n border-top: var(--ic-space-1px) solid var(--ic-architectural-200);\n}\n\n.menu-status {\n background-color: var(--ic-architectural-500);\n color: var(--ic-color-white-text);\n border-radius: var(--ic-space-md);\n width: fit-content;\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-architectural-100);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-status-text,\n.menu-version-text {\n overflow-wrap: break-word;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Event,\n EventEmitter,\n Listen,\n} from \"@stencil/core\";\n\nimport { getSlot, getSlotContent, isSlotUsed } from \"../../utils/helpers\";\n\n/**\n * @slot navigation - Content will be rendered at top of panel.\n * @slot buttons - Content will be rendered above version info and below navigation.\n */\n@Component({\n tag: \"ic-navigation-menu\",\n styleUrl: \"ic-navigation-menu.css\",\n shadow: true,\n})\nexport class NavigationMenu {\n private closeButton: HTMLIcButtonElement = null;\n private hasButtons: boolean = false;\n private hasNavigation: boolean = false;\n private lastTabStop: HTMLElement = null;\n private navBarEl: HTMLIcTopNavigationElement;\n private navGroupFirst: boolean = false;\n private navItemAboveButtons: boolean = false;\n\n @Element() el: HTMLIcNavigationMenuElement;\n\n /**\n * The status info to display.\n */\n @Prop() status: string = \"\";\n\n /**\n * The version info to display.\n */\n @Prop() version: string = \"\";\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClose: EventEmitter<void>;\n\n componentWillLoad(): void {\n this.navBarEl = document.querySelector(\"ic-top-navigation\");\n const navigationEls = getSlotContent(this.el, \"navigation\");\n if (navigationEls) {\n this.hasNavigation = true;\n const lastEl = navigationEls[navigationEls.length - 1] as HTMLElement;\n if (lastEl.tagName === \"IC-NAVIGATION-ITEM\") {\n this.navItemAboveButtons = true;\n }\n const firstEl = navigationEls[0] as HTMLElement;\n if (firstEl.tagName === \"IC-NAVIGATION-GROUP\") {\n this.navGroupFirst = true;\n }\n }\n const buttonContent = getSlotContent(this.el, \"buttons\");\n\n if (buttonContent !== null) {\n this.hasButtons = true;\n this.lastTabStop = buttonContent[buttonContent.length - 1] as HTMLElement;\n } else {\n if (this.hasNavigation) {\n const lastEl = navigationEls[navigationEls.length - 1] as HTMLElement;\n //check for slotted content i.e. react router link\n const slotContent = getSlot(lastEl, \"navigation-item\");\n if (slotContent !== null) {\n this.lastTabStop = slotContent as HTMLElement;\n } else {\n this.lastTabStop = lastEl;\n }\n }\n }\n }\n\n componentDidLoad(): void {\n this.focusCloseButton();\n }\n\n componentWillRender(): void {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasButtons = isSlotUsed(this.el, \"buttons\");\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.closeMenu();\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Tab\") {\n if (ev.shiftKey) {\n if (document.activeElement === this.navBarEl) {\n ev.preventDefault();\n this.focusLastTabStop();\n }\n } else if (\n document.activeElement === this.lastTabStop ||\n this.lastTabStop === null\n ) {\n ev.preventDefault();\n this.focusCloseButton();\n }\n } else if (ev.key === \"Escape\") {\n this.closeMenu();\n }\n }\n\n private closeMenu = () => {\n this.icNavigationMenuClose.emit();\n };\n\n private focusCloseButton = () => {\n if (this.closeButton.focus) {\n this.closeButton.focus();\n }\n };\n\n private focusLastTabStop = () => {\n let focusEl;\n if (this.lastTabStop !== null) {\n switch (this.lastTabStop.tagName) {\n case \"IC-NAVIGATION-BUTTON\":\n case \"IC-NAVIGATION-ITEM\":\n case \"IC-NAVIGATION-GROUP\":\n focusEl = this.lastTabStop as HTMLElement;\n focusEl.focus();\n break;\n case \"A\":\n this.lastTabStop.focus();\n break;\n }\n }\n };\n\n render() {\n return (\n <Host>\n <div class=\"popout-modal\" onClick={this.closeMenu}></div>\n <div\n class=\"popout-menu\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={`${this.hasNavigation ? \"Navigation\" : \"App\"} menu`}\n >\n <span\n aria-hidden=\"true\"\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n >\n Main navigation\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n aria-hidden={this.hasNavigation ? \"false\" : \"true\"}\n >\n <div\n class={{\n [\"menu-close-button-container\"]: true,\n [\"nav-group-first\"]: this.navGroupFirst,\n }}\n >\n <ic-button\n ref={(el) => (this.closeButton = el)}\n id=\"menu-close-button\"\n class=\"menu-close-button\"\n variant=\"icon\"\n size=\"large\"\n aria-label={`Close ${\n this.hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n onClick={this.closeMenu}\n >\n <svg\n slot=\"icon\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\"\n fill=\"#1759BC\"\n />\n </svg>\n </ic-button>\n </div>\n {this.hasNavigation && <slot name=\"navigation\"></slot>}\n </nav>\n {this.hasButtons && (\n <div\n class={{\n [\"menu-buttons-container\"]: true,\n [\"menu-buttons-container-nav-item-above\"]:\n this.navItemAboveButtons,\n }}\n >\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {(this.status !== \"\" || this.version !== \"\") && (\n <div\n class={{\n [\"menu-status-version-container\"]: true,\n [\"status-version-no-buttons\"]: !this.hasButtons,\n }}\n >\n {this.status !== \"\" && (\n <div class=\"menu-status\">\n <ic-typography\n variant=\"label-uppercase\"\n aria-label=\"app tag\"\n class=\"menu-status-text\"\n >\n {this.status}\n </ic-typography>\n </div>\n )}\n {this.version !== \"\" && (\n <div class=\"menu-version\">\n <ic-typography\n variant=\"label\"\n class=\"menu-version-text\"\n aria-label=\"app version\"\n >\n {this.version}\n </ic-typography>\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,h as i,g as e}from"./p-6b5e91e2.js";import{o,a as n}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const a=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true">\n <path d="M0 8L1.41 9.41L7 3.83V16H9V3.83L14.58 9.42L16 8L8 0L0 8Z"/>\n</svg>\n`;const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:absolute;right:0}.positioning{position:fixed;right:var(--ic-space-md);bottom:var(--ic-space-md);transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);z-index:var(--ic-z-index-back-to-top)}.icon-only{width:2.5rem;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs)\n var(--ic-space-xs)}.icon-only .ic-back-to-top-icon{padding-left:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}button{height:2.5rem;align-items:center;padding:var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);margin:0;gap:var(--ic-space-xs);display:flex;background-color:var(--ic-architectural-white);border:var(--ic-border-width) solid var(--ic-action-default);outline-width:inherit;box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:5rem;text-decoration:none;visibility:hidden;opacity:0;cursor:pointer}button:hover{text-decoration:none;background-color:var(--ic-action-default-bg-hover-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-hover)}button:active{text-decoration:none;background-color:var(--ic-action-default-bg-active-no-alpha);border:var(--ic-border-width) solid var(--ic-action-default-active)}button:focus{box-shadow:var(--ic-border-focus)}.ic-back-to-top-link.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}.ic-back-to-top-link.by-footer{position:relative;right:var(--ic-space-md);bottom:3.5rem}.ic-back-to-top-link.offset-banner{margin-bottom:var(--ic-space-lg)}.ic-back-to-top-icon{fill:var(--ic-action-default);padding-left:var(--ic-space-xxs);padding-top:var(--ic-space-xxxs)}.ic-back-to-top-icon>svg{height:var(--ic-space-md);width:var(--ic-space-md);display:inline-block}.ic-back-to-top-link span{color:var(--ic-action-default)}.ic-back-to-top-link:hover .ic-back-to-top-icon{fill:var(--ic-action-default-hover)}.ic-back-to-top-link:hover span{color:var(--ic-action-default-hover)}@media (forced-colors: active){.ic-back-to-top-icon{fill:currentcolor}}';const r="Back to top";const c=class{constructor(e){t(this,e);this.topObserver=null;this.getObservedEl=()=>document.querySelector("#ic-back-to-top-target");this.setTargetElVisible=t=>{this.targetElVisible=t};this.setFooterVisible=t=>{this.checkForClassificationBanner();this.footerVisible=typeof window!=="undefined"&&window.scrollY===0?false:t};this.targetElObserverCallback=t=>{this.setTargetElVisible(t[0].isIntersecting)};this.footerObserverCallback=t=>{this.setFooterVisible(t[0].isIntersecting)};this.findTargetEl=t=>{let i=null;if(t===null||t===undefined){console.log("Error: No target ID specified for back to top component - defaulting to top of page")}else{i=document.querySelector(`${t.startsWith("#")?"":"#"}${t}`);if(i===null){console.log(`Error: Back to top target element '${t}' not found - defaulting to top of page`)}}return i};this.createTopObserver=t=>{this.targetEl=this.findTargetEl(t);let i;if(this.topObserver!==null){const t=this.getObservedEl();if(t!==null){this.topObserver.unobserve(t);t.remove()}}if(this.targetEl===null){i=document.body;this.targetEl=i.firstElementChild;this.isTargetElNull=true}else{i=this.targetEl.parentNode;this.isTargetElNull=false}const e=document.createElement("div");e.setAttribute("id","ic-back-to-top-target");e.setAttribute("tabindex","-1");i.insertBefore(e,this.targetEl);const o=getComputedStyle(this.targetEl).marginTop;this.topObserver=new IntersectionObserver(this.targetElObserverCallback,{threshold:[0],rootMargin:`${o} 0px 0px 0px`});this.topObserver.observe(e)};this.handleClick=()=>{if(this.isTargetElNull){window.scrollTo(0,0)}else{this.targetEl.scrollIntoView()}this.getObservedEl().focus()};this.checkForClassificationBanner=()=>{const t=document.querySelectorAll("ic-classification-banner:not([inline='true'])");this.bannerOffset=t.length>0};this.buildButton=()=>{const{bannerOffset:t,targetElVisible:e,footerVisible:o,variant:n}=this;return i("button",{class:{["ic-back-to-top-link"]:true,["offset-banner"]:t,["show"]:!e,["by-footer"]:o,["positioning"]:n!=="icon",["icon-only"]:n==="icon"},"aria-label":r,onClick:this.handleClick},i("span",{class:"ic-back-to-top-icon",innerHTML:a}),this.variant!=="icon"&&i("ic-typography",{variant:"subtitle-small"},i("span",null,r)))};this.bannerOffset=false;this.footerVisible=false;this.targetElVisible=true;this.target=undefined;this.variant="default"}watchPropHandler(t,i){o(i,t,(()=>{this.createTopObserver(t)}))}componentWillLoad(){this.createTopObserver(this.target);this.checkForClassificationBanner();let t=document.querySelectorAll("ic-footer");if(t.length===0){t=document.querySelectorAll("footer")}if(t.length){const i=t[t.length-1];const e=this.bannerOffset?.15:0;const o=new IntersectionObserver(this.footerObserverCallback,{threshold:[e]});o.observe(i)}}componentDidLoad(){n([{prop:this.target,propName:"target"}],"Back to Top")}render(){const{variant:t,buildButton:e}=this;return t==="icon"?i("ic-tooltip",{label:r,placement:"top",class:"positioning"},e()):e()}static get delegatesFocus(){return true}get el(){return e(this)}static get watchers(){return{target:["watchPropHandler"]}}};c.style=s;export{c as ic_back_to_top};
|
2
|
-
//# sourceMappingURL=p-69576aa0.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icBackToTopCss","backToTopLabel","BackToTop","this","topObserver","getObservedEl","document","querySelector","setTargetElVisible","visible","targetElVisible","setFooterVisible","checkForClassificationBanner","footerVisible","window","scrollY","targetElObserverCallback","entries","isIntersecting","footerObserverCallback","findTargetEl","target","targetElement","undefined","console","log","startsWith","createTopObserver","targetEl","objParent","observedEl","unobserve","remove","body","firstElementChild","isTargetElNull","parentNode","objBackToTopTargetEl","createElement","setAttribute","insertBefore","marginTop","getComputedStyle","IntersectionObserver","threshold","rootMargin","observe","handleClick","scrollTo","scrollIntoView","focus","banners","querySelectorAll","bannerOffset","length","buildButton","variant","h","class","onClick","innerHTML","ArrowUpward","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","componentWillLoad","footers","footerEl","footerObserver","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","render","label","placement"],"sources":["src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","src/components/ic-back-to-top/ic-back-to-top.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n */\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\n.positioning {\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n z-index: var(--ic-z-index-back-to-top);\n}\n\n.icon-only {\n width: 2.5rem;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs)\n var(--ic-space-xs);\n}\n\n.icon-only .ic-back-to-top-icon {\n padding-left: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\nbutton {\n height: 2.5rem;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);\n margin: 0;\n gap: var(--ic-space-xs);\n display: flex;\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-width) solid var(--ic-action-default);\n outline-width: inherit;\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: 5rem;\n text-decoration: none;\n visibility: hidden;\n opacity: 0;\n cursor: pointer;\n}\n\nbutton:hover {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n border: var(--ic-border-width) solid var(--ic-action-default-hover);\n}\n\nbutton:active {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: var(--ic-border-width) solid var(--ic-action-default-active);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-back-to-top-link.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\n.ic-back-to-top-link.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 3.5rem;\n}\n\n.ic-back-to-top-link.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n fill: var(--ic-action-default);\n padding-left: var(--ic-space-xxs);\n padding-top: var(--ic-space-xxxs);\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n display: inline-block;\n}\n\n.ic-back-to-top-link span {\n color: var(--ic-action-default);\n}\n\n.ic-back-to-top-link:hover .ic-back-to-top-icon {\n fill: var(--ic-action-default-hover);\n}\n\n.ic-back-to-top-link:hover span {\n color: var(--ic-action-default-hover);\n}\n\n@media (forced-colors: active) {\n .ic-back-to-top-icon {\n fill: currentcolor;\n }\n}\n","import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcBackToTopVariants } from \"./ic-back-to-top.types\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BackToTop {\n private isTargetElNull: boolean;\n private targetEl: Element;\n private topObserver: IntersectionObserver = null;\n\n @Element() el: HTMLIcBackToTopElement;\n\n @State() bannerOffset: boolean = false;\n @State() footerVisible: boolean = false;\n @State() targetElVisible: boolean = true;\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n /**\n * The variant of the button to render\n */\n @Prop() variant: IcBackToTopVariants = \"default\";\n\n @Watch(\"target\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\n \"ic-footer\"\n ) as NodeListOf<HTMLElement>;\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(\n this.footerObserverCallback,\n { threshold: [threshold] }\n );\n footerObserver.observe(footerEl);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.target, propName: \"target\" }],\n \"Back to Top\"\n );\n }\n\n private getObservedEl = () => {\n return document.querySelector(\"#ic-back-to-top-target\");\n };\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.checkForClassificationBanner();\n this.footerVisible =\n typeof window !== \"undefined\" && window.scrollY === 0 ? false : visible;\n };\n\n private targetElObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n\n private footerObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n\n private findTargetEl = (target: string): Element => {\n let targetElement: Element = null;\n if (target === null || target === undefined) {\n console.log(\n \"Error: No target ID specified for back to top component - defaulting to top of page\"\n );\n } else {\n targetElement = document.querySelector(\n `${target.startsWith(\"#\") ? \"\" : \"#\"}${target}`\n );\n if (targetElement === null) {\n console.log(\n `Error: Back to top target element '${target}' not found - defaulting to top of page`\n );\n }\n }\n return targetElement;\n };\n\n private createTopObserver = (target: string) => {\n this.targetEl = this.findTargetEl(target);\n let objParent: HTMLElement;\n\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = this.getObservedEl();\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n } else {\n objParent = this.targetEl.parentNode as HTMLElement;\n this.isTargetElNull = false;\n }\n\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objBackToTopTargetEl.setAttribute(\"tabindex\", \"-1\"); // Needed for virtual cursor behaviour to work\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n\n // resize observer needs to factor in any top margin on the target el\n const marginTop = getComputedStyle(this.targetEl).marginTop;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n\n private handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n } else {\n this.targetEl.scrollIntoView();\n }\n // Get virtual cursor to move\n (this.getObservedEl() as HTMLElement).focus();\n };\n\n private checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\n \"ic-classification-banner:not([inline='true'])\"\n );\n this.bannerOffset = banners.length > 0;\n };\n\n private buildButton = () => {\n const { bannerOffset, targetElVisible, footerVisible, variant } = this;\n\n return (\n <button\n class={{\n [\"ic-back-to-top-link\"]: true,\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n [\"positioning\"]: variant !== \"icon\",\n [\"icon-only\"]: variant === \"icon\",\n }}\n aria-label={backToTopLabel}\n onClick={this.handleClick}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n\n {this.variant !== \"icon\" && (\n <ic-typography variant=\"subtitle-small\">\n <span>{backToTopLabel}</span>\n </ic-typography>\n )}\n </button>\n );\n };\n\n render() {\n const { variant, buildButton } = this;\n\n return variant === \"icon\" ? (\n <ic-tooltip label={backToTopLabel} placement=\"top\" class=\"positioning\">\n {buildButton()}\n </ic-tooltip>\n ) : (\n buildButton()\n );\n }\n}\n"],"mappings":"8RAAA,MAAMA,EAAiB,s8ICQvB,MAAMC,EAAiB,c,MASVC,EAAS,M,yBAGZC,KAAAC,YAAoC,KAwDpCD,KAAAE,cAAgB,IACfC,SAASC,cAAc,0BAGxBJ,KAAAK,mBAAsBC,IAC5BN,KAAKO,gBAAkBD,CAAO,EAGxBN,KAAAQ,iBAAoBF,IAC1BN,KAAKS,+BACLT,KAAKU,qBACIC,SAAW,aAAeA,OAAOC,UAAY,EAAI,MAAQN,CAAO,EAGnEN,KAAAa,yBAA4BC,IAClCd,KAAKK,mBAAmBS,EAAQ,GAAGC,eAAe,EAG5Cf,KAAAgB,uBAA0BF,IAChCd,KAAKQ,iBAAiBM,EAAQ,GAAGC,eAAe,EAG1Cf,KAAAiB,aAAgBC,IACtB,IAAIC,EAAyB,KAC7B,GAAID,IAAW,MAAQA,IAAWE,UAAW,CAC3CC,QAAQC,IACN,sF,KAEG,CACLH,EAAgBhB,SAASC,cACvB,GAAGc,EAAOK,WAAW,KAAO,GAAK,MAAML,KAEzC,GAAIC,IAAkB,KAAM,CAC1BE,QAAQC,IACN,sCAAsCJ,2C,EAI5C,OAAOC,CAAa,EAGdnB,KAAAwB,kBAAqBN,IAC3BlB,KAAKyB,SAAWzB,KAAKiB,aAAaC,GAClC,IAAIQ,EAGJ,GAAI1B,KAAKC,cAAgB,KAAM,CAC7B,MAAM0B,EAAa3B,KAAKE,gBACxB,GAAIyB,IAAe,KAAM,CACvB3B,KAAKC,YAAY2B,UAAUD,GAC3BA,EAAWE,Q,EAIf,GAAI7B,KAAKyB,WAAa,KAAM,CAC1BC,EAAYvB,SAAS2B,KACrB9B,KAAKyB,SAAWC,EAAUK,kBAC1B/B,KAAKgC,eAAiB,I,KACjB,CACLN,EAAY1B,KAAKyB,SAASQ,WAC1BjC,KAAKgC,eAAiB,K,CAIxB,MAAME,EAAuB/B,SAASgC,cAAc,OACpDD,EAAqBE,aAAa,KAAM,yBACxCF,EAAqBE,aAAa,WAAY,MAC9CV,EAAUW,aAAaH,EAAsBlC,KAAKyB,UAGlD,MAAMa,EAAYC,iBAAiBvC,KAAKyB,UAAUa,UAClDtC,KAAKC,YAAc,IAAIuC,qBAAqBxC,KAAKa,yBAA0B,CACzE4B,UAAW,CAAC,GACZC,WAAY,GAAGJ,kBAEjBtC,KAAKC,YAAY0C,QAAQT,EAAqB,EAGxClC,KAAA4C,YAAc,KACpB,GAAI5C,KAAKgC,eAAgB,CACvBrB,OAAOkC,SAAS,EAAG,E,KACd,CACL7C,KAAKyB,SAASqB,gB,CAGf9C,KAAKE,gBAAgC6C,OAAO,EAGvC/C,KAAAS,6BAA+B,KAErC,MAAMuC,EAAU7C,SAAS8C,iBACvB,iDAEFjD,KAAKkD,aAAeF,EAAQG,OAAS,CAAC,EAGhCnD,KAAAoD,YAAc,KACpB,MAAMF,aAAEA,EAAY3C,gBAAEA,EAAeG,cAAEA,EAAa2C,QAAEA,GAAYrD,KAElE,OACEsD,EAAA,UACEC,MAAO,CACL,CAAC,uBAAwB,KACzB,CAAC,iBAAkBL,EACnB,CAAC,SAAU3C,EACX,CAAC,aAAcG,EACf,CAAC,eAAgB2C,IAAY,OAC7B,CAAC,aAAcA,IAAY,QAC5B,aACWvD,EACZ0D,QAASxD,KAAK4C,aAEdU,EAAA,QAAMC,MAAM,sBAAsBE,UAAWC,IAE5C1D,KAAKqD,UAAY,QAChBC,EAAA,iBAAeD,QAAQ,kBACrBC,EAAA,YAAOxD,IAGJ,E,kBA3KoB,M,mBACC,M,qBACE,K,mCAUG,S,CAGvC,gBAAA6D,CAAiBC,EAAkBC,GAEjCC,EAA+BD,EAAUD,GAAU,KACjD5D,KAAKwB,kBAAkBoC,EAAS,G,CAIpC,iBAAAG,GACE/D,KAAKwB,kBAAkBxB,KAAKkB,QAC5BlB,KAAKS,+BAGL,IAAIuD,EAAU7D,SAAS8C,iBACrB,aAEF,GAAIe,EAAQb,SAAW,EAAG,CACxBa,EAAU7D,SAAS8C,iBAAiB,S,CAGtC,GAAIe,EAAQb,OAAQ,CAClB,MAAMc,EAAWD,EAAQA,EAAQb,OAAS,GAC1C,MAAMV,EAAYzC,KAAKkD,aAAe,IAAO,EAC7C,MAAMgB,EAAiB,IAAI1B,qBACzBxC,KAAKgB,uBACL,CAAEyB,UAAW,CAACA,KAEhByB,EAAevB,QAAQsB,E,EAI3B,gBAAAE,GACEC,EACE,CAAC,CAAEC,KAAMrE,KAAKkB,OAAQoD,SAAU,WAChC,c,CA+HJ,MAAAC,GACE,MAAMlB,QAAEA,EAAOD,YAAEA,GAAgBpD,KAEjC,OAAOqD,IAAY,OACjBC,EAAA,cAAYkB,MAAO1E,EAAgB2E,UAAU,MAAMlB,MAAM,eACtDH,KAGHA,G"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icClassificationBannerCss","classificationText","default","official","secret","ClassificationBanner","render","inline","upTo","this","country","additionalSelectors","classification","h","Host","class","variant"],"sources":["src/components/ic-classification-banner/ic-classification-banner.css?tag=ic-classification-banner&encapsulation=shadow","src/components/ic-classification-banner/ic-classification-banner.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-classification-banner: z-index of classification banner\n */\n\n:host {\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100%;\n height: var(--ic-space-lg);\n z-index: var(--ic-z-index-classification-banner);\n}\n\n:host(.inline) {\n position: static;\n left: auto;\n bottom: auto;\n}\n\n.classification-banner {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: var(--ic-space-xxxs) var(--ic-space-md);\n}\n\n.default {\n background-color: var(--ic-classification-not-set);\n color: var(--ic-classification-not-set-foreground);\n}\n\n.official,\n.official-sensitive {\n background-color: var(--ic-classification-official);\n color: var(--ic-classification-official-foreground);\n}\n\n.secret {\n background-color: var(--ic-classification-secret);\n color: var(--ic-classification-secret-foreground);\n}\n\n.top-secret {\n background-color: var(--ic-classification-top-secret);\n color: var(--ic-classification-top-secret-foreground);\n}\n\n.offscreen {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n\n@media (forced-colors: active) {\n .classification-banner {\n border: var(--ic-hc-border);\n }\n}\n","import { Component, Prop, h, Host } from \"@stencil/core\";\nimport { IcProtectiveMarkings } from \"./ic-classification-banner.types\";\n\nconst classificationText = {\n default: \"protective marking not set\",\n official: \"official\",\n \"official-sensitive\": \"official sensitive\",\n secret: \"secret\",\n \"top-secret\": \"top secret\",\n};\n\n@Component({\n tag: \"ic-classification-banner\",\n styleUrl: \"ic-classification-banner.css\",\n shadow: true,\n})\nexport class ClassificationBanner {\n /**\n * The additional information that will be displayed after the classification.\n */\n @Prop() additionalSelectors?: string = \"\";\n /**\n * The classification level to be displayed - also determines the banner and text colour.\n */\n @Prop() classification?: IcProtectiveMarkings = \"default\";\n /**\n * The optional text that will be displayed before classification to specify relevant country/countries.\n */\n @Prop() country?: string = \"uk\";\n /**\n * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.\n */\n @Prop() inline?: boolean = false;\n /**\n * If `true`, \"Up to\" will be displayed before the classification and country.\n */\n @Prop() upTo?: boolean = false;\n\n render() {\n const { inline, upTo } = this;\n\n // In case of unrecognized props, fallback to default\n let { country, additionalSelectors, classification } = this;\n if (!country) country = \"\";\n if (!additionalSelectors) additionalSelectors = \"\";\n if (\n !classification ||\n (classification && !classificationText[classification])\n )\n classification = \"default\";\n\n return (\n <Host class={{ [\"inline\"]: inline }}>\n <banner\n aria-label=\"Protective marking\"\n class={{\n [\"classification-banner\"]: true,\n [`${classification}`]: classification,\n }}\n >\n {classification !== \"default\" ? (\n <span class=\"offscreen\">\n The protective marking of this page is:{\" \"}\n </span>\n ) : null}\n <ic-typography variant=\"caption-uppercase\">\n {classification === \"default\"\n ? classificationText[classification]\n : `${upTo ? \"up to\" : \"\"} \n ${country} \n ${classificationText[classification]} \n ${additionalSelectors}`}\n </ic-typography>\n </banner>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAA4B,syGCGlC,MAAMC,EAAqB,CACzBC,QAAS,6BACTC,SAAU,WACV,qBAAsB,qBACtBC,OAAQ,SACR,aAAc,c,MAQHC,EAAoB,M,kDAIQ,G,oBAIS,U,aAIrB,K,YAIA,M,UAIF,K,CAEzB,MAAAC,GACE,MAAMC,OAAEA,EAAMC,KAAEA,GAASC,KAGzB,IAAIC,QAAEA,EAAOC,oBAAEA,EAAmBC,eAAEA,GAAmBH,KACvD,IAAKC,EAASA,EAAU,GACxB,IAAKC,EAAqBA,EAAsB,GAChD,IACGC,GACAA,IAAmBX,EAAmBW,GAEvCA,EAAiB,UAEnB,OACEC,EAACC,EAAI,CAACC,MAAO,CAAE,CAAC,UAAWR,IACzBM,EAAA,uBACa,qBACXE,MAAO,CACL,CAAC,yBAA0B,KAC3B,CAAC,GAAGH,KAAmBA,IAGxBA,IAAmB,UAClBC,EAAA,QAAME,MAAM,aAAW,0CACmB,KAExC,KACJF,EAAA,iBAAeG,QAAQ,qBACpBJ,IAAmB,UAChBX,EAAmBW,GACnB,GAAGJ,EAAO,QAAU,uBACnBE,sBACAT,EAAmBW,uBACnBD,M"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icDataEntityCss","DataEntity","render","el","heading","small","size","this","Array","from","children","forEach","child","setAttribute","h","Host","class","id","name","variant"],"sources":["src/components/ic-data-entity/ic-data-entity.css?tag=ic-data-entity&encapsulation=shadow","src/components/ic-data-entity/ic-data-entity.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\n.rows {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-md);\n}\n\n:host(.small) .rows {\n gap: var(--ic-space-xs);\n}\n\n.divider {\n margin-top: var(--ic-space-lg);\n margin-bottom: var(--ic-space-md);\n height: var(--ic-border-width);\n background-color: var(--ic-architectural-300);\n}\n\n:host(.small) .divider {\n margin-top: var(--ic-space-sm);\n margin-bottom: var(--ic-space-xs);\n}\n\n@media (forced-colors: active) {\n .divider {\n background-color: canvastext;\n }\n}\n","import { Component, Element, Host, h, Prop } from \"@stencil/core\";\nimport { IcSizesNoLarge } from \"../../utils/types\";\n\n/**\n * @slot heading - Content will be placed at the top of the data entity.\n */\n@Component({\n tag: \"ic-data-entity\",\n styleUrl: \"ic-data-entity.css\",\n shadow: true,\n})\nexport class DataEntity {\n @Element() el: HTMLIcDataEntityElement;\n\n /**\n * The title for the data entity.\n */\n @Prop() heading: string;\n\n /**\n * The size of the data entity component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n render() {\n const { el, heading, small, size } = this;\n\n if (small || size === \"small\") {\n Array.from(el.children).forEach((child) =>\n child.setAttribute(\"size\", \"small\")\n );\n }\n\n return (\n <Host class={{ small: small || size === \"small\" }}>\n <div class=\"heading\" id=\"data-entity-heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h3\">{heading}</ic-typography>\n </slot>\n </div>\n <div class=\"divider\" />\n <ul aria-labelledby=\"data-entity-heading\" class=\"rows\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAkB,ixF,MCWXC,EAAU,M,0DAWW,U,WAKN,K,CAE1B,MAAAC,GACE,MAAMC,GAAEA,EAAEC,QAAEA,EAAOC,MAAEA,EAAKC,KAAEA,GAASC,KAErC,GAAIF,GAASC,IAAS,QAAS,CAC7BE,MAAMC,KAAKN,EAAGO,UAAUC,SAASC,GAC/BA,EAAMC,aAAa,OAAQ,U,CAI/B,OACEC,EAACC,EAAI,CAACC,MAAO,CAAEX,MAAOA,GAASC,IAAS,UACtCQ,EAAA,OAAKE,MAAM,UAAUC,GAAG,uBACtBH,EAAA,QAAMI,KAAK,WACTJ,EAAA,iBAAeK,QAAQ,MAAMf,KAGjCU,EAAA,OAAKE,MAAM,YACXF,EAAA,wBAAoB,sBAAsBE,MAAM,QAC9CF,EAAA,c"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as s,h as a,H as t,g as i}from"./p-6b5e91e2.js";import{c,h as e,g as r,r as o,b as h,d as l,a as n}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const p="@media (prefers-reduced-motion: no-preference){:host(.show){animation:expand var(--ic-transition-duration-slow)}:host(.hide){animation:shrink var(--ic-transition-duration-slow)}}:host{display:flex;height:var(--ic-space-md);min-width:var(--ic-space-md);width:-moz-fit-content;width:fit-content;border-radius:calc(2 * var(--ic-space-xxl));position:absolute}:host(.neutral){background-color:var(--ic-architectural-500)}:host(.light){background-color:var(--ic-architectural-40)}:host(.info){background-color:var(--ic-status-info)}:host(.warning){background-color:var(--ic-status-warning-mid)}:host(.error){background-color:var(--ic-status-error)}:host(.success){background-color:var(--ic-status-success)}:host(.small){height:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.large){height:calc(var(--ic-space-md) + var(--ic-space-xxs));min-width:calc(var(--ic-space-md) + var(--ic-space-xxs))}:host(.dot.default){height:var(--ic-space-xs);width:var(--ic-space-xs);min-width:var(--ic-space-xs)}:host(.dot.small){height:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));min-width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.dot.large){height:var(--ic-space-sm);width:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.foreground-dark) ::slotted(*){fill:var(--ic-color-primary-text)}:host(.foreground-light) ::slotted(*){fill:white}:host(.foreground-dark) ic-typography{color:var(--ic-color-primary-text)}:host(.foreground-light) ic-typography{color:white}:host(.text) ic-typography{align-self:center;padding:0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.text.small) ic-typography{padding:0 0.2132rem}:host(.text.large) ic-typography{padding:0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.icon) ::slotted(svg){width:var(--ic-space-sm);height:var(--ic-space-sm);padding:var(--ic-space-xxxs)}:host(.icon.small) ::slotted(svg){width:var(--ic-space-xs);height:var(--ic-space-xs)}:host(.icon.large) ::slotted(svg){width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));height:calc(var(--ic-space-sm) + var(--ic-space-xxxs));padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}:host(.far){top:calc(-1 * var(--ic-space-xs));right:calc(-1 * var(--ic-space-xs))}:host(.far.small),:host(.dot.far.large){top:calc(-1 * var(--ic-space-xxs));right:calc(-1 * var(--ic-space-xxs))}:host(.dot.far),:host(.dot.far.small){top:calc(-1 * var(--ic-space-xxxs));right:calc(-1 * var(--ic-space-xxxs))}:host(.near){top:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));right:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)))}:host(.dot.near){top:calc(-1 * var(--ic-space-1px));right:calc(-1 * var(--ic-space-1px))}:host(.inline){position:static}:host(.hide){visibility:hidden !important;transition:visibility var(--ic-transition-duration-slow)}.sr-only{position:absolute;left:-9999px}@keyframes expand{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shrink{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}";const d=class{constructor(a){s(this,a);this.ariaLabel=null;this.setBadgeColour=()=>{const s=c(this.customColor);if(s){this.customColorRGBA=s;const{r:a,g:t,b:i,a:c}=s;this.el.style.backgroundColor=`rgba(${a}, ${t}, ${i}, ${c})`}};this.getBadgeRGB=()=>{switch(this.variant){case"custom":return this.customColorRGBA;case"error":case"success":case"warning":case"info":{return o(r(`--ic-status-${this.variant}`))}case"neutral":case"light":return e(r(`--ic-architectural-${this.variant==="neutral"?500:40}`))}};this.getBadgeForeground=()=>{const{r:s,g:a,b:t}=this.getBadgeRGB();this.foregroundColour=h((s*299+a*587+t*114)/1e3)};this.getTextLabel=()=>this.maxNumber&&Number(this.textLabel)>this.maxNumber?`${this.maxNumber}+`:this.textLabel;this.setAccessibleLabel=()=>{const s=this.el.parentElement;const a=this.isAccessibleLabelDefined()?this.accessibleLabel:this.textLabel||"with badge being displayed";if(s){const{tagName:t}=s;if(t!=="IC-CARD"&&(t!=="IC-TAB"||t==="IC-TAB"&&this.parentAriaLabel)){const t=this.parentAriaLabel?`${this.parentAriaLabel} ,`:"";s.ariaLabel=this.visible?`${t} ${a}`:undefined}else{this.ariaLabel=`, ${a}`}}};this.isAccessibleLabelDefined=()=>l(this.accessibleLabel)&&this.accessibleLabel!==null;this.accessibleLabel=undefined;this.customColor=null;this.maxNumber=undefined;this.position="far";this.size="default";this.textLabel=undefined;this.type="text";this.variant="neutral";this.visible=true}accessibleLabelHandler(){this.setAccessibleLabel()}customColorHandler(){this.variant==="custom"&&this.setBadgeColour()}variantHandler(){this.getBadgeForeground()}visibleHandler(){this.setAccessibleLabel()}componentWillLoad(){var s;this.variant==="custom"&&this.setBadgeColour();this.getBadgeForeground();const a=(s=this.el.parentElement)===null||s===void 0?void 0:s.ariaLabel;if(a)this.parentAriaLabel=a;this.setAccessibleLabel()}componentDidLoad(){this.type==="text"&&n([{prop:this.textLabel,propName:"text-label"}],"Badge")}async showBadge(){this.visible=true}async hideBadge(){this.visible=false}render(){const{ariaLabel:s,el:i,foregroundColour:c,getTextLabel:e,position:r,size:o,textLabel:h,type:l,variant:n,visible:p}=this;return a(t,{class:{[`${r}`]:true,[`${o}`]:true,[`${n}`]:true,[`${l}`]:true,[`foreground-${c}`]:c!==null,[`${p?"show":"hide"}`]:true},id:i.id||null,"aria-label":s,role:"status"},l==="icon"&&a("slot",{name:"badge-icon"}),l==="text"&&h&&a("ic-typography",{variant:o==="small"?"badge-small":"badge"},e()),l==="dot"&&a("span",{class:"sr-only"},"badge"))}static get delegatesFocus(){return true}get el(){return i(this)}static get watchers(){return{accessibleLabel:["accessibleLabelHandler"],customColor:["customColorHandler"],variant:["variantHandler"],visible:["visibleHandler"]}}};d.style=p;export{d as ic_badge};
|
2
|
-
//# sourceMappingURL=p-78605899.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icBadgeCss","Badge","this","ariaLabel","setBadgeColour","colorRGBA","convertToRGBA","customColor","customColorRGBA","r","g","b","a","el","style","backgroundColor","getBadgeRGB","variant","rgbaStrToObj","getCssProperty","hexToRgba","getBadgeForeground","foregroundColour","getThemeForegroundColor","getTextLabel","maxNumber","Number","textLabel","setAccessibleLabel","parentEl","parentElement","defaultAriaLabel","isAccessibleLabelDefined","accessibleLabel","tagName","parentAriaLabel","ariaLabelPrefix","visible","undefined","isPropDefined","accessibleLabelHandler","customColorHandler","variantHandler","visibleHandler","componentWillLoad","_a","componentDidLoad","type","onComponentRequiredPropUndefined","prop","propName","showBadge","hideBadge","render","position","size","h","Host","class","id","role","name"],"sources":["src/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","src/components/ic-badge/ic-badge.tsx"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host(.neutral) {\n background-color: var(--ic-architectural-500);\n}\n\n:host(.light) {\n background-color: var(--ic-architectural-40);\n}\n\n:host(.info) {\n background-color: var(--ic-status-info);\n}\n\n:host(.warning) {\n background-color: var(--ic-status-warning-mid);\n}\n\n:host(.error) {\n background-color: var(--ic-status-error);\n}\n\n:host(.success) {\n background-color: var(--ic-status-success);\n}\n\n:host(.small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.dot.default) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.dot.small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.dot.large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.foreground-dark) ::slotted(*) {\n fill: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.foreground-dark) ic-typography {\n color: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ic-typography {\n color: white;\n}\n\n:host(.text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.text.small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.text.large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.icon.small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.icon.large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.far.small),\n:host(.dot.far.large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.dot.far),\n:host(.dot.far.small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.dot.near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.inline) {\n position: static;\n}\n\n:host(.hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Method,\n Prop,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcColorRGBA,\n IcSizes,\n IcThemeForeground,\n IcColor,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getCssProperty,\n getThemeForegroundColor,\n hexToRgba,\n isPropDefined,\n onComponentRequiredPropUndefined,\n rgbaStrToObj,\n} from \"../../utils/helpers\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string = null;\n private customColorRGBA: IcColorRGBA;\n private foregroundColour: IcThemeForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and textLabel is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop() position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() textLabel?: string;\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n this.getBadgeForeground();\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop({ mutable: true }) visible: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n this.getBadgeForeground();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.textLabel, propName: \"text-label\" }],\n \"Badge\"\n );\n }\n\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n @Method()\n async showBadge(): Promise<void> {\n this.visible = true;\n }\n\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n @Method()\n async hideBadge(): Promise<void> {\n this.visible = false;\n }\n\n private setBadgeColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n\n if (colorRGBA) {\n this.customColorRGBA = colorRGBA;\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n };\n\n private getBadgeRGB = () => {\n switch (this.variant) {\n case \"custom\":\n return this.customColorRGBA;\n case \"error\":\n case \"success\":\n case \"warning\":\n case \"info\": {\n return rgbaStrToObj(getCssProperty(`--ic-status-${this.variant}`));\n }\n case \"neutral\":\n case \"light\":\n return hexToRgba(\n getCssProperty(\n `--ic-architectural-${this.variant === \"neutral\" ? 500 : 40}`\n )\n );\n }\n };\n\n private getBadgeForeground = () => {\n const { r, g, b } = this.getBadgeRGB();\n this.foregroundColour = getThemeForegroundColor(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n };\n\n private getTextLabel = () =>\n this.maxNumber && Number(this.textLabel) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.textLabel;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.textLabel || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : undefined;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getTextLabel,\n position,\n size,\n textLabel,\n type,\n variant,\n visible,\n } = this;\n\n return (\n <Host\n class={{\n [`${position}`]: true,\n [`${size}`]: true,\n [`${variant}`]: true,\n [`${type}`]: true,\n [`foreground-${foregroundColour}`]: foregroundColour !== null,\n [`${visible ? \"show\" : \"hide\"}`]: true,\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && textLabel && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getTextLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as s,h as t,H as i,g as e}from"./p-6b5e91e2.js";import{D as h,e as a,f as l}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const r=":host{display:block}:host ol{display:flex;list-style-type:none;align-items:center;flex-wrap:wrap;padding:0;margin:0}:host(.back) ol ::slotted(ic-breadcrumb){display:none}:host(.back) ol ::slotted(ic-breadcrumb.show){display:flex}:host(.collapsed) ol ::slotted(ic-breadcrumb.hide){display:none;opacity:0;visibility:hidden}:host(.collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden){display:block;opacity:0;transition:all var(--ic-easing-transition-slow)}:host(.collapsed) ol ::slotted(ic-breadcrumb.fade){opacity:1}";const c=class{constructor(t){s(this,t);this.ADD_CLASS_DELAY=50;this.IC_BREADCRUMB="ic-breadcrumb";this.resizeObserver=null;this.SHOW_BACK_ICON="show-back-icon";this.setAppearance=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));s.forEach((s=>{s.setAttribute("appearance",this.appearance)}))};this.setBackBreadcrumb=()=>{if(this.backBreadcrumbOnly){this.setBackBreadcrumbAttr()}};this.setBackBreadcrumbAttr=()=>{if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.add("show");this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"true")}};this.getLastParentBreadcrumb=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));if(s.length===1){return null}this.breadcrumbs=s.filter((s=>!s.getAttribute("current")));this.breadcrumb=this.breadcrumbs[this.breadcrumbs.length-1];return this.breadcrumb};this.lastParentBreadcrumb=this.getLastParentBreadcrumb();this.setDefaultBreadcrumbs=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));s.forEach((s=>{s.setAttribute(this.SHOW_BACK_ICON,"false")}))};this.setCollapsed=()=>{if(this.collapsed){const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));this.collapsedBreadcrumbs=s.splice(1,s.length-2).filter((s=>!s.classList.contains("collapsed-breadcrumb-wrapper")));this.collapsedBreadcrumbs.forEach((s=>s.classList.add("hide")));const t=s[0];if(t){t.insertAdjacentElement("afterend",this.collapsedBreadcrumbWrapper)}}};this.clickHandler=()=>{this.handleHiddenCollapsedBreadcrumbs(this.collapsedBreadcrumbWrapper)};this.renderCollapsedBreadcrumb=()=>{this.collapsedBreadcrumbWrapper=document.createElement("ic-breadcrumb");this.collapsedBreadcrumbWrapper.classList.add("collapsed-breadcrumb-wrapper");this.collapsedBreadcrumbEl=document.createElement("button");const s=document.createElement("span");s.id="collapsed-button-label";s.innerText="Collapsed breadcrumbs";s.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-labelledby","collapsed-button-label");const t=document.createElement("span");t.id="collapsed-button-described";t.innerText="Select to view collapsed breadcrumbs";t.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-describedby","collapsed-button-described");this.collapsedBreadcrumbEl.id="collapsed-ellipsis";this.collapsedBreadcrumbEl.innerText="...";this.collapsedBreadcrumbEl.classList.add("collapsed-breadcrumb");this.collapsedBreadcrumbEl.addEventListener("click",this.clickHandler);this.collapsedBreadcrumbWrapper.append(t);this.collapsedBreadcrumbWrapper.append(s);this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);return this.collapsedBreadcrumbWrapper};this.handleHiddenCollapsedBreadcrumbs=s=>{s.remove();this.collapsedBreadcrumbs.forEach((s=>{s.classList.add("visuallyhidden");s.classList.remove("hide");setTimeout((()=>{s.classList.add("fade")}),this.ADD_CLASS_DELAY);this.removeVisuallyHiddenClass(s)}));this.expandedBreadcrumbs=true;this.collapsedBreadcrumbs[0].setFocus()};this.transitionendHandler=s=>{if(s.propertyName==="opacity"){s.target.classList.remove("visuallyhidden")}};this.removeVisuallyHiddenClass=s=>{s.addEventListener("transitionend",this.transitionendHandler)};this.setLastParentCollapsedBackBreadcrumb=()=>{this.setBackBreadcrumbAttr();this.lastParentBreadcrumb.classList.remove("hide")};this.revertLastParentCollapsedBreadcrumb=()=>{this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"false")};this.resizeObserverCallback=s=>{if(s!==this.deviceSize){this.deviceSize=s;if(this.deviceSize<=h.S){this.el.setAttribute("back-breadcrumb-only","true");if(this.collapsed){this.setLastParentCollapsedBackBreadcrumb()}else{this.setBackBreadcrumb()}}else{this.el.setAttribute("back-breadcrumb-only","false");if(this.collapsed&&this.breadcrumbs&&this.breadcrumbs.length>2){this.revertLastParentCollapsedBreadcrumb();if(this.expandedBreadcrumbs){this.setDefaultBreadcrumbs()}else{this.setCollapsed()}}else{this.setDefaultBreadcrumbs()}}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const s=a();this.resizeObserverCallback(s)}));this.resizeObserver.observe(this.el)};this.deviceSize=h.XL;this.expandedBreadcrumbs=false;this.appearance="default";this.backBreadcrumbOnly=false;this.collapsed=false}watchAppearanceHandler(){this.setAppearance()}watchBackBreadcrumbHandler(){this.setBackBreadcrumb()}componentWillLoad(){const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));this.setAppearance();if(this.backBreadcrumbOnly){this.setBackBreadcrumb()}else{l(this.runResizeObserver)}if(this.collapsed){this.collapsedBreadcrumbWrapper=this.renderCollapsedBreadcrumb();if(s.length>2){if(a()===h.S){this.setLastParentCollapsedBackBreadcrumb()}else{this.setCollapsed()}}}}disconnectedCallback(){this.breadcrumb&&this.breadcrumb.removeEventListener("transitionend",this.transitionendHandler);this.collapsedBreadcrumbEl&&this.collapsedBreadcrumbEl.removeEventListener("click",this.clickHandler)}render(){return t(i,{class:{back:this.backBreadcrumbOnly,collapsed:this.collapsed}},t("nav",{"aria-label":"breadcrumbs"},t("ol",null,t("slot",null))))}get el(){return e(this)}static get watchers(){return{appearance:["watchAppearanceHandler"],backBreadcrumbOnly:["watchBackBreadcrumbHandler"]}}};c.style=r;export{c as ic_breadcrumb_group};
|
2
|
-
//# sourceMappingURL=p-7c2b59fe.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icBreadcrumbGroupCss","BreadcrumbGroup","this","ADD_CLASS_DELAY","IC_BREADCRUMB","resizeObserver","SHOW_BACK_ICON","setAppearance","allBreadcrumbs","Array","from","el","querySelectorAll","forEach","breadcrumb","setAttribute","appearance","setBackBreadcrumb","backBreadcrumbOnly","setBackBreadcrumbAttr","lastParentBreadcrumb","classList","add","getLastParentBreadcrumb","length","breadcrumbs","filter","getAttribute","setDefaultBreadcrumbs","setCollapsed","collapsed","collapsedBreadcrumbs","splice","contains","firstBreadcrumb","insertAdjacentElement","collapsedBreadcrumbWrapper","clickHandler","handleHiddenCollapsedBreadcrumbs","renderCollapsedBreadcrumb","document","createElement","collapsedBreadcrumbEl","ariaLabel","id","innerText","className","ariaDescribed","addEventListener","append","remove","setTimeout","removeVisuallyHiddenClass","expandedBreadcrumbs","setFocus","transitionendHandler","event","propertyName","target","setLastParentCollapsedBackBreadcrumb","revertLastParentCollapsedBreadcrumb","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","S","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","XL","watchAppearanceHandler","watchBackBreadcrumbHandler","componentWillLoad","checkResizeObserver","disconnectedCallback","removeEventListener","render","h","Host","class","back"],"sources":["src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","import { Component, Host, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\nimport { IcThemeForeground } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-breadcrumb-group\",\n styleUrl: \"ic-breadcrumb-group.css\",\n shadow: true,\n})\n\n// Added ResizeObserver to find out width of breadcrumbs and parents. Use side navigation long title for ref.\nexport class BreadcrumbGroup {\n private ADD_CLASS_DELAY = 50;\n private breadcrumb: HTMLIcBreadcrumbElement;\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbEl: HTMLButtonElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n private IC_BREADCRUMB: string = \"ic-breadcrumb\";\n private resizeObserver: ResizeObserver = null;\n private SHOW_BACK_ICON: string = \"show-back-icon\";\n\n @Element() el: HTMLIcBreadcrumbGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n /**\n * The appearance of the breadcrumb group.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n @Watch(\"appearance\")\n watchAppearanceHandler(): void {\n this.setAppearance();\n }\n\n /**\n * If `true`, display only a single breadcrumb for the parent page with a back icon.\n */\n @Prop() backBreadcrumbOnly: boolean = false;\n @Watch(\"backBreadcrumbOnly\")\n watchBackBreadcrumbHandler(): void {\n this.setBackBreadcrumb();\n }\n\n /**\n * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.\n */\n @Prop() collapsed: boolean = false;\n\n componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n this.setAppearance();\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed) {\n this.collapsedBreadcrumbWrapper = this.renderCollapsedBreadcrumb();\n\n if (allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n }\n\n disconnectedCallback(): void {\n this.breadcrumb &&\n this.breadcrumb.removeEventListener(\n \"transitionend\",\n this.transitionendHandler\n );\n\n this.collapsedBreadcrumbEl &&\n this.collapsedBreadcrumbEl.removeEventListener(\n \"click\",\n this.clickHandler\n );\n }\n\n private setAppearance = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(\"appearance\", this.appearance);\n });\n };\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumbAttr();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.add(\"show\");\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs.filter(\n (breadcrumb) => !breadcrumb.getAttribute(\"current\")\n );\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 1];\n\n return this.breadcrumb;\n };\n\n private lastParentBreadcrumb = this.getLastParentBreadcrumb();\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n });\n };\n\n private setCollapsed = () => {\n if (this.collapsed) {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n\n const firstBreadcrumb = allBreadcrumbs[0];\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n }\n };\n\n private clickHandler = () => {\n this.handleHiddenCollapsedBreadcrumbs(this.collapsedBreadcrumbWrapper);\n };\n\n private renderCollapsedBreadcrumb = () => {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n this.collapsedBreadcrumbEl = document.createElement(\"button\");\n\n const ariaLabel = document.createElement(\"span\");\n ariaLabel.id = \"collapsed-button-label\";\n ariaLabel.innerText = \"Collapsed breadcrumbs\";\n ariaLabel.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-labelledby\",\n \"collapsed-button-label\"\n );\n\n const ariaDescribed = document.createElement(\"span\");\n ariaDescribed.id = \"collapsed-button-described\";\n ariaDescribed.innerText = \"Select to view collapsed breadcrumbs\";\n ariaDescribed.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n this.collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n this.collapsedBreadcrumbEl.innerText = \"...\";\n this.collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n this.collapsedBreadcrumbEl.addEventListener(\"click\", this.clickHandler);\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);\n\n return this.collapsedBreadcrumbWrapper;\n };\n\n private handleHiddenCollapsedBreadcrumbs = (\n collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement\n ) => {\n collapsedBreadcrumbWrapper.remove();\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.add(\"visuallyhidden\");\n breadcrumb.classList.remove(\"hide\");\n setTimeout(() => {\n breadcrumb.classList.add(\"fade\");\n }, this.ADD_CLASS_DELAY);\n\n this.removeVisuallyHiddenClass(breadcrumb);\n });\n this.expandedBreadcrumbs = true;\n // Set focus to first unhidden breadcrumb\n this.collapsedBreadcrumbs[0].setFocus();\n };\n\n private transitionendHandler = (event: TransitionEvent) => {\n if (event.propertyName === \"opacity\") {\n (event.target as HTMLElement).classList.remove(\"visuallyhidden\");\n }\n };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", this.transitionendHandler);\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n this.setBackBreadcrumbAttr();\n this.lastParentBreadcrumb.classList.remove(\"hide\");\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n\n if (this.deviceSize <= DEVICE_SIZES.S) {\n this.el.setAttribute(\"back-breadcrumb-only\", \"true\");\n if (this.collapsed) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setBackBreadcrumb();\n }\n } else {\n this.el.setAttribute(\"back-breadcrumb-only\", \"false\");\n if (this.collapsed && this.breadcrumbs && this.breadcrumbs.length > 2) {\n this.revertLastParentCollapsedBreadcrumb();\n if (this.expandedBreadcrumbs) {\n this.setDefaultBreadcrumbs();\n } else {\n this.setCollapsed();\n }\n } else {\n this.setDefaultBreadcrumbs();\n }\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n back: this.backBreadcrumbOnly,\n collapsed: this.collapsed,\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAuB,sgB,MCehBC,EAAe,M,yBAClBC,KAAAC,gBAAkB,GAMlBD,KAAAE,cAAwB,gBACxBF,KAAAG,eAAiC,KACjCH,KAAAI,eAAyB,iBAsEzBJ,KAAAK,cAAgB,KACtB,MAAMC,EAAiBC,MAAMC,KAC3BR,KAAKS,GAAGC,iBAAiBV,KAAKE,gBAGhCI,EAAeK,SAASC,IACtBA,EAAWC,aAAa,aAAcb,KAAKc,WAAW,GACtD,EAGId,KAAAe,kBAAoB,KAC1B,GAAIf,KAAKgB,mBAAoB,CAC3BhB,KAAKiB,uB,GAIDjB,KAAAiB,sBAAwB,KAC9B,GAAIjB,KAAKkB,qBAAsB,CAC7BlB,KAAKkB,qBAAqBC,UAAUC,IAAI,QACxCpB,KAAKkB,qBAAqBL,aAAab,KAAKI,eAAgB,O,GAIxDJ,KAAAqB,wBAA0B,KAChC,MAAMf,EAA4CC,MAAMC,KACtDR,KAAKS,GAAGC,iBAAiBV,KAAKE,gBAGhC,GAAII,EAAegB,SAAW,EAAG,CAC/B,OAAO,I,CAGTtB,KAAKuB,YAAcjB,EAAekB,QAC/BZ,IAAgBA,EAAWa,aAAa,aAE3CzB,KAAKY,WAAaZ,KAAKuB,YAAYvB,KAAKuB,YAAYD,OAAS,GAE7D,OAAOtB,KAAKY,UAAU,EAGhBZ,KAAAkB,qBAAuBlB,KAAKqB,0BAE5BrB,KAAA0B,sBAAwB,KAC9B,MAAMpB,EAAiBC,MAAMC,KAC3BR,KAAKS,GAAGC,iBAAiBV,KAAKE,gBAEhCI,EAAeK,SAASC,IACtBA,EAAWC,aAAab,KAAKI,eAAgB,QAAQ,GACrD,EAGIJ,KAAA2B,aAAe,KACrB,GAAI3B,KAAK4B,UAAW,CAClB,MAAMtB,EAA4CC,MAAMC,KACtDR,KAAKS,GAAGC,iBAAiBV,KAAKE,gBAEhCF,KAAK6B,qBAAuBvB,EACzBwB,OAAO,EAAGxB,EAAegB,OAAS,GAClCE,QACEZ,IACEA,EAAWO,UAAUY,SAAS,kCAGrC/B,KAAK6B,qBAAqBlB,SAASC,GACjCA,EAAWO,UAAUC,IAAI,UAG3B,MAAMY,EAAkB1B,EAAe,GAEvC,GAAI0B,EAAiB,CACnBA,EAAgBC,sBACd,WACAjC,KAAKkC,2B,IAMLlC,KAAAmC,aAAe,KACrBnC,KAAKoC,iCAAiCpC,KAAKkC,2BAA2B,EAGhElC,KAAAqC,0BAA4B,KAClCrC,KAAKkC,2BAA6BI,SAASC,cAAc,iBACzDvC,KAAKkC,2BAA2Bf,UAAUC,IACxC,gCAEFpB,KAAKwC,sBAAwBF,SAASC,cAAc,UAEpD,MAAME,EAAYH,SAASC,cAAc,QACzCE,EAAUC,GAAK,yBACfD,EAAUE,UAAY,wBACtBF,EAAUG,UAAY,OACtB5C,KAAKwC,sBAAsB3B,aACzB,kBACA,0BAGF,MAAMgC,EAAgBP,SAASC,cAAc,QAC7CM,EAAcH,GAAK,6BACnBG,EAAcF,UAAY,uCAC1BE,EAAcD,UAAY,OAC1B5C,KAAKwC,sBAAsB3B,aACzB,mBACA,8BAGFb,KAAKwC,sBAAsBE,GAAK,qBAChC1C,KAAKwC,sBAAsBG,UAAY,MACvC3C,KAAKwC,sBAAsBrB,UAAUC,IAAI,wBACzCpB,KAAKwC,sBAAsBM,iBAAiB,QAAS9C,KAAKmC,cAE1DnC,KAAKkC,2BAA2Ba,OAAOF,GACvC7C,KAAKkC,2BAA2Ba,OAAON,GACvCzC,KAAKkC,2BAA2Ba,OAAO/C,KAAKwC,uBAE5C,OAAOxC,KAAKkC,0BAA0B,EAGhClC,KAAAoC,iCACNF,IAEAA,EAA2Bc,SAC3BhD,KAAK6B,qBAAqBlB,SAASC,IACjCA,EAAWO,UAAUC,IAAI,kBACzBR,EAAWO,UAAU6B,OAAO,QAC5BC,YAAW,KACTrC,EAAWO,UAAUC,IAAI,OAAO,GAC/BpB,KAAKC,iBAERD,KAAKkD,0BAA0BtC,EAAW,IAE5CZ,KAAKmD,oBAAsB,KAE3BnD,KAAK6B,qBAAqB,GAAGuB,UAAU,EAGjCpD,KAAAqD,qBAAwBC,IAC9B,GAAIA,EAAMC,eAAiB,UAAW,CACnCD,EAAME,OAAuBrC,UAAU6B,OAAO,iB,GAI3ChD,KAAAkD,0BAA6BtC,IACnCA,EAAWkC,iBAAiB,gBAAiB9C,KAAKqD,qBAAqB,EAGjErD,KAAAyD,qCAAuC,KAC7CzD,KAAKiB,wBACLjB,KAAKkB,qBAAqBC,UAAU6B,OAAO,OAAO,EAG5ChD,KAAA0D,oCAAsC,KAC5C1D,KAAKkB,qBAAqBL,aAAab,KAAKI,eAAgB,QAAQ,EAG9DJ,KAAA2D,uBAA0BC,IAChC,GAAIA,IAAa5D,KAAK6D,WAAY,CAChC7D,KAAK6D,WAAaD,EAElB,GAAI5D,KAAK6D,YAAcC,EAAaC,EAAG,CACrC/D,KAAKS,GAAGI,aAAa,uBAAwB,QAC7C,GAAIb,KAAK4B,UAAW,CAClB5B,KAAKyD,sC,KACA,CACLzD,KAAKe,mB,MAEF,CACLf,KAAKS,GAAGI,aAAa,uBAAwB,SAC7C,GAAIb,KAAK4B,WAAa5B,KAAKuB,aAAevB,KAAKuB,YAAYD,OAAS,EAAG,CACrEtB,KAAK0D,sCACL,GAAI1D,KAAKmD,oBAAqB,CAC5BnD,KAAK0B,uB,KACA,CACL1B,KAAK2B,c,MAEF,CACL3B,KAAK0B,uB,KAML1B,KAAAgE,kBAAoB,KAC1BhE,KAAKG,eAAiB,IAAI8D,gBAAe,KACvC,MAAML,EAAWM,IACjBlE,KAAK2D,uBAAuBC,EAAS,IAGvC5D,KAAKG,eAAegE,QAAQnE,KAAKS,GAAG,E,gBA/PRqD,EAAaM,G,yBACH,M,gBAKA,U,wBASF,M,eAST,K,CAhB7B,sBAAAC,GACErE,KAAKK,e,CAQP,0BAAAiE,GACEtE,KAAKe,mB,CAQP,iBAAAwD,GACE,MAAMjE,EAAiBC,MAAMC,KAC3BR,KAAKS,GAAGC,iBAAiBV,KAAKE,gBAGhCF,KAAKK,gBAEL,GAAIL,KAAKgB,mBAAoB,CAC3BhB,KAAKe,mB,KACA,CACLyD,EAAoBxE,KAAKgE,kB,CAG3B,GAAIhE,KAAK4B,UAAW,CAClB5B,KAAKkC,2BAA6BlC,KAAKqC,4BAEvC,GAAI/B,EAAegB,OAAS,EAAG,CAC7B,GAAI4C,MAA2BJ,EAAaC,EAAG,CAC7C/D,KAAKyD,sC,KACA,CACLzD,KAAK2B,c,IAMb,oBAAA8C,GACEzE,KAAKY,YACHZ,KAAKY,WAAW8D,oBACd,gBACA1E,KAAKqD,sBAGTrD,KAAKwC,uBACHxC,KAAKwC,sBAAsBkC,oBACzB,QACA1E,KAAKmC,a,CAoMX,MAAAwC,GACE,OACEC,EAACC,EAAI,CACHC,MAAO,CACLC,KAAM/E,KAAKgB,mBACXY,UAAW5B,KAAK4B,YAGlBgD,EAAA,oBAAgB,eACdA,EAAA,UACEA,EAAA,e"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,h as i,H as e,g as s}from"./p-6b5e91e2.js";import{Q as o,A as r,f as a}from"./p-fef9e8c9.js";import{I as n}from"./p-26b7b18f.js";const l=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M13.0875 6.175L11.9125 5L6.91251 10L11.9125 15L13.0875 13.825L9.27084 10L13.0875 6.175Z"/>\n</svg>`;const c=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>\n</svg>`;const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.light){--splitter-color:var(--ic-keyline-lighten-rgb)}:host(.dark){--splitter-color:var(--ic-keyline-darken-rgb)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}.disabled ic-button>svg{color:var(--ic-keyline-darken-rgb)}:host(.dark) .disabled ic-button>svg,:host(.light) .disabled ic-button>svg{color:var(--splitter-color) !important}';const d=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;this.focusHandler=t=>{this.itemFocusHandler(Array.from(this.items).indexOf(t.target))};this.resizeObserverCallback=()=>{if(this.el.clientWidth>=this.itemsContainerEl.scrollWidth){this.itemOverflow=false}else{this.itemOverflow=o(this.itemsContainerEl)}if(this.itemOverflow){this.lastItemVisible=this.itemsContainerEl.offsetWidth+this.itemsContainerEl.scrollLeft>=this.itemsContainerEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.itemsContainerEl)};this.scrollLeft=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()-1)};this.scrollRight=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftItem=()=>{const t=this.itemOffsets.findIndex((t=>t>Math.round(this.itemsContainerEl.scrollLeft)));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{const t=Math.round(this.itemsContainerEl.scrollLeft);if(this.buttonStateSet===false){this.firstItemVisible=t===0;this.lastItemVisible=this.itemsContainerEl.offsetWidth+t>=this.itemsContainerEl.scrollWidth}this.buttonStateSet=false};this.firstItemVisible=true;this.itemOverflow=false;this.lastItemVisible=false;this.appearance="default";this.focusTrigger="focus"}componentWillLoad(){this.itemsContainerEl=this.el.children[0];this.itemsContainerEl.addEventListener("scroll",this.scrollHandler);this.items=r(this.itemsContainerEl);this.items.forEach((t=>{if(t.addEventListener){t.addEventListener(this.focusTrigger,this.focusHandler)}}))}componentDidLoad(){let t=0;this.itemOffsets=this.items.map((i=>{t+=i.offsetWidth;return t}));a(this.runResizeObserver);const i=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{i.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}const t=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((i=>{t.forEach((t=>t.removeEventListener(i,this.arrowMouseUpHandler)))}));this.items.forEach((t=>{if(t.removeEventListener){t.removeEventListener(this.focusTrigger,this.focusHandler)}}));this.itemsContainerEl.removeEventListener("scroll",this.scrollHandler)}async scrollItemIntoView(t){this.firstItemVisible=t<=0;const i=t<=0?0:this.itemOffsets[t-1];this.lastItemVisible=this.itemsContainerEl.offsetWidth+i>=this.itemsContainerEl.scrollWidth;this.buttonStateSet=true;this.itemsContainerEl.scrollLeft=i}itemFocusHandler(t){if(this.itemOverflow){this.scrollItemIntoView(t)}}render(){const{appearance:t,firstItemVisible:s,lastItemVisible:o,itemOverflow:r}=this;return i(e,{class:{["visible"]:r,["dark"]:this.appearance===n.Dark,["light"]:this.appearance===n.Light}},i("div",{"aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!r,["disabled"]:s},role:"tab"},i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll left",appearance:t,innerHTML:l,disabled:s,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{class:"scroll-splitter-left"})),i("slot",null),i("div",{"aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!r,["disabled"]:o},role:"tab"},i("span",{class:"scroll-splitter-right"}),i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll right",appearance:t,innerHTML:c,disabled:o,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=h;export{p as ic_horizontal_scroll};
|
2
|
-
//# sourceMappingURL=p-836e71de.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icHorizontalScrollCss","SCROLL_DELAY_MS","HorizontalScroll","this","buttonStateSet","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","itemOverflow","elementOverflowsX","lastItemVisible","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","firstItemVisible","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","focusTrigger","componentDidLoad","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","undefined","disconnect","removeEventListener","itemPosition","newScrollPos","render","appearance","h","Host","class","IcThemeForegroundEnum","Dark","Light","role","variant","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.light) {\n --splitter-color: var(--ic-keyline-lighten-rgb);\n}\n\n:host(.dark) {\n --splitter-color: var(--ic-keyline-darken-rgb);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n.disabled ic-button > svg {\n color: var(--ic-keyline-darken-rgb);\n}\n\n:host(.dark) .disabled ic-button > svg,\n:host(.light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","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 [\"visible\"]: itemOverflow,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: 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"],"mappings":"6jBAAA,MAAMA,EAAwB,u3HCiB9B,MAAMC,EAAkB,I,MAOXC,EAAgB,M,yBACnBC,KAAAC,eAA0B,MA+F1BD,KAAAE,aAAgBC,IACtBH,KAAKI,iBACHC,MAAMC,KAAKN,KAAKO,OAAOC,QAAQL,EAAMM,QACtC,EASKT,KAAAU,uBAAyB,KAC/B,GAAIV,KAAKW,GAAGC,aAAeZ,KAAKa,iBAAiBC,YAAa,CAC5Dd,KAAKe,aAAe,K,KACf,CACLf,KAAKe,aAAeC,EAAkBhB,KAAKa,iB,CAG7C,GAAIb,KAAKe,aAAc,CACrBf,KAAKiB,gBACHjB,KAAKa,iBAAiBK,YAAclB,KAAKa,iBAAiBM,YAC1DnB,KAAKa,iBAAiBC,W,GAIpBd,KAAAoB,kBAAoB,KAC1BpB,KAAKqB,eAAiB,IAAIC,gBAAe,KACvCtB,KAAKU,wBAAwB,IAE/BV,KAAKqB,eAAeE,QAAQvB,KAAKa,iBAAiB,EAG5Cb,KAAAmB,WAAa,KACnBnB,KAAKwB,mBAAmBxB,KAAKyB,qBAAuB,EAAE,EAGhDzB,KAAA0B,YAAc,KACpB1B,KAAKwB,mBAAmBxB,KAAKyB,qBAAuB,EAAE,EAGhDzB,KAAA2B,gBAAkB,KACxB3B,KAAK0B,cACL1B,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK2B,gBAAiB7B,EAAgB,EAGrEE,KAAA+B,eAAiB,KACvB/B,KAAKmB,aACLnB,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK+B,eAAgBjC,EAAgB,EAGpEE,KAAAgC,0BAA6BC,IACnCA,EAAEC,iBACFlC,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK+B,eAAgBjC,EAAgB,EAGpEE,KAAAmC,2BAA8BF,IACpCA,EAAEC,iBACFlC,KAAK4B,YAAcC,OAAOC,WAAW9B,KAAK2B,gBAAiB7B,EAAgB,EAGrEE,KAAAoC,oBAAsB,KAC5BP,OAAOQ,aAAarC,KAAK4B,YAAY,EAG/B5B,KAAAyB,mBAAqB,KAC3B,MAAMa,EAAQtC,KAAKuC,YAAYC,WAC5B7B,GAAOA,EAAK8B,KAAKC,MAAM1C,KAAKa,iBAAiBM,cAEhD,OAAOmB,EAAQ,EAAI,EAAIA,CAAK,EAGtBtC,KAAA2C,cAAgB,KACtBd,OAAOQ,aAAarC,KAAK4C,aAEzB5C,KAAK4C,YAAcf,OAAOC,WAAW9B,KAAK6C,cAAe,GAAG,EAGtD7C,KAAA6C,cAAgB,KAGtB,MAAM1B,EAAasB,KAAKC,MAAM1C,KAAKa,iBAAiBM,YACpD,GAAInB,KAAKC,iBAAmB,MAAO,CACjCD,KAAK8C,iBAAmB3B,IAAe,EACvCnB,KAAKiB,gBACHjB,KAAKa,iBAAiBK,YAAcC,GACpCnB,KAAKa,iBAAiBC,W,CAE1Bd,KAAKC,eAAiB,KAAK,E,sBA7KQ,K,kBACJ,M,qBACG,M,gBAKK,U,kBAKT,O,CAEhC,iBAAA8C,GACE/C,KAAKa,iBAAmBb,KAAKW,GAAGqC,SAAS,GACzChD,KAAKa,iBAAiBoC,iBAAiB,SAAUjD,KAAK2C,eACtD3C,KAAKO,MAAQ2C,EAAgBlD,KAAKa,kBAClCb,KAAKO,MAAM4C,SAASC,IAClB,GAAIA,EAAKH,iBAAkB,CACzBG,EAAKH,iBAAiBjD,KAAKqD,aAAcrD,KAAKE,a,KAKpD,gBAAAoD,GACE,IAAIC,EAAe,EACnBvD,KAAKuC,YAAcvC,KAAKO,MAAMiD,KAAKJ,IACjCG,GAAgBH,EAAKlC,YACrB,OAAOqC,CAAY,IAGrBE,EAAoBzD,KAAKoB,mBAKzB,MAAMsC,EAAerD,MAAMC,KACzBN,KAAKW,GAAGgD,WAAWC,iBAAiB,QAEtC,CAAC,UAAW,cAAcT,SAAShD,IACjCuD,EAAaP,SAASU,GACpBA,EAAMZ,iBAAiB9C,EAAOH,KAAKoC,sBACpC,G,CAIL,oBAAA0B,GACE,GAAI9D,KAAKqB,iBAAmB0C,UAAW,CACrC/D,KAAKqB,eAAe2C,Y,CAGtB,MAAMN,EAAerD,MAAMC,KACzBN,KAAKW,GAAGgD,WAAWC,iBAAiB,QAEtC,CAAC,UAAW,cAAcT,SAAShD,IACjCuD,EAAaP,SAASU,GACpBA,EAAMI,oBAAoB9D,EAAOH,KAAKoC,sBACvC,IAGHpC,KAAKO,MAAM4C,SAASC,IAClB,GAAIA,EAAKa,oBAAqB,CAC5Bb,EAAKa,oBAAoBjE,KAAKqD,aAAcrD,KAAKE,a,KAIrDF,KAAKa,iBAAiBoD,oBAAoB,SAAUjE,KAAK2C,c,CAO3D,wBAAMnB,CAAmB0C,GACvBlE,KAAK8C,iBAAmBoB,GAAgB,EACxC,MAAMC,EACJD,GAAgB,EAAI,EAAIlE,KAAKuC,YAAY2B,EAAe,GAC1DlE,KAAKiB,gBACHjB,KAAKa,iBAAiBK,YAAciD,GACpCnE,KAAKa,iBAAiBC,YACxBd,KAAKC,eAAiB,KACtBD,KAAKa,iBAAiBM,WAAagD,C,CAS7B,gBAAA/D,CAAiB8D,GACvB,GAAIlE,KAAKe,aAAc,CACrBf,KAAKwB,mBAAmB0C,E,EAmF5B,MAAAE,GACE,MAAMC,WAAEA,EAAUvB,iBAAEA,EAAgB7B,gBAAEA,EAAeF,aAAEA,GACrDf,KAEF,OACEsE,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,WAAYzD,EACb,CAAC,QAASf,KAAKqE,aAAeI,EAAsBC,KACpD,CAAC,SAAU1E,KAAKqE,aAAeI,EAAsBE,QAGvDL,EAAA,qBACc,OACZE,MAAO,CACL,CAAC,yBAA0B,KAC3B,CAAC,WAAYzD,EACb,CAAC,YAAa+B,GAEhB8B,KAAK,OAELN,EAAA,aACEE,MAAM,eACNK,QAAQ,OAAM,aACH,cACXR,WAAYA,EACZS,UAAWC,EACXC,SAAUlC,EACVmC,SAAS,KACTC,QAASlF,KAAKmB,WACdgE,YAAanF,KAAKgC,4BAEpBsC,EAAA,QAAME,MAAM,0BAEdF,EAAA,aACAA,EAAA,qBACc,OACZE,MAAO,CACL,CAAC,0BAA2B,KAC5B,CAAC,WAAYzD,EACb,CAAC,YAAaE,GAEhB2D,KAAK,OAELN,EAAA,QAAME,MAAM,0BACZF,EAAA,aACEE,MAAM,eACNK,QAAQ,OAAM,aACH,eACXR,WAAYA,EACZS,UAAWM,EACXJ,SAAU/D,EACVgE,SAAS,KACTC,QAASlF,KAAK0B,YACdyD,YAAanF,KAAKmC,8B"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,h as t,H as a}from"./p-6b5e91e2.js";import{a as i}from"./p-fef9e8c9.js";import"./p-26b7b18f.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}.tag{padding:var(--ic-space-xxs) var(--ic-space-sm);font-size:0.875rem;border-radius:var(--ic-space-md);display:inline-block;min-width:2.5rem;text-align:center;color:var(--ic-color-primary-text)}.small{padding:var(--ic-space-xxxs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.large{padding:var(--ic-space-xs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.filled-neutral{background-color:var(--ic-architectural-700);color:var(--ic-architectural-white)}.filled-success{background-color:var(--ic-status-success);color:var(--ic-architectural-white)}.filled-warning{background-color:var(--ic-status-warning-contrast)}.filled-danger{background-color:var(--ic-status-error);color:var(--ic-architectural-white)}.outlined{padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.small{padding:var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined-neutral{background-color:var(--ic-architectural-200);border:var(--ic-border-width) solid var(--ic-architectural-400)}.outlined-success{background-color:var(--ic-status-success-light);border:var(--ic-border-width) solid var(--ic-status-success)}.outlined-warning{background-color:var(--ic-status-warning-light);border:var(--ic-border-width) solid var(--ic-status-warning-dark)}.outlined-danger{background-color:var(--ic-status-error-light);border:var(--ic-border-width) solid var(--ic-status-error)}@media (forced-colors: active){.tag{border:var(--ic-hc-border);-ms-high-contrast-adjust:none;forced-color-adjust:none}}';const o=class{constructor(t){e(this,t);this.announced=false;this.appearance=undefined;this.label=undefined;this.size="default";this.small=false;this.status="neutral";this.variant="filled"}componentWillLoad(){if(this.appearance==="outlined"){this.variant="outlined"}}componentDidLoad(){i([{prop:this.label,propName:"label"}],"Status Tag")}render(){const{label:e,status:i,appearance:r,variant:o,small:s,size:n,announced:c}=this;return t(a,{role:c?"status":null,"aria-label":"Status"},t("strong",{class:{["tag"]:true,[`${r}-${i}`]:r!==undefined,[`${o}-${i}`]:true,["outlined"]:o==="outlined",["small"]:s||n==="small",[`${n}`]:true}},t("ic-typography",{variant:"label-uppercase","apply-vertical-margins":false},t("span",null,e))))}};o.style=r;export{o as ic_status_tag};
|
2
|
-
//# sourceMappingURL=p-843ed766.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icStatusTagCss","StatusTag","componentWillLoad","this","appearance","variant","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","render","status","small","size","announced","h","Host","role","class","undefined"],"sources":["src/components/ic-status-tag/ic-status-tag.css?tag=ic-status-tag&encapsulation=shadow","src/components/ic-status-tag/ic-status-tag.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n.tag {\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n display: inline-block;\n min-width: 2.5rem;\n text-align: center;\n color: var(--ic-color-primary-text);\n}\n\n.small {\n padding: var(--ic-space-xxxs) var(--ic-space-sm);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.large {\n padding: var(--ic-space-xs) var(--ic-space-sm);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.filled-neutral {\n background-color: var(--ic-architectural-700);\n color: var(--ic-architectural-white);\n}\n\n.filled-success {\n background-color: var(--ic-status-success);\n color: var(--ic-architectural-white);\n}\n\n.filled-warning {\n background-color: var(--ic-status-warning-contrast);\n}\n\n.filled-danger {\n background-color: var(--ic-status-error);\n color: var(--ic-architectural-white);\n}\n\n.outlined {\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined.small {\n padding: var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined-neutral {\n background-color: var(--ic-architectural-200);\n border: var(--ic-border-width) solid var(--ic-architectural-400);\n}\n\n.outlined-success {\n background-color: var(--ic-status-success-light);\n border: var(--ic-border-width) solid var(--ic-status-success);\n}\n\n.outlined-warning {\n background-color: var(--ic-status-warning-light);\n border: var(--ic-border-width) solid var(--ic-status-warning-dark);\n}\n\n.outlined-danger {\n background-color: var(--ic-status-error-light);\n border: var(--ic-border-width) solid var(--ic-status-error);\n}\n\n@media (forced-colors: active) {\n .tag {\n border: var(--ic-hc-border);\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n }\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcStatusTagStatuses,\n IcStatusTagAppearance,\n} from \"./ic-status-tag.types\";\nimport { IcEmphasisType, IcSizes } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-status-tag\",\n styleUrl: \"ic-status-tag.css\",\n shadow: true,\n})\nexport class StatusTag {\n /**\n * If `true`, role='status' is added to the component and it will act as an 'aria-live' region.\n * Screen readers will announce changes to the `label`, but not the initial value.\n */\n @Prop() announced?: boolean = false;\n\n /**\n * @deprecated This prop should not be used anymore. Use variant prop instead.\n */\n @Prop() appearance?: IcStatusTagAppearance;\n\n /**\n * The content rendered within the status tag.\n */\n @Prop() label!: string;\n\n /**\n * The size of the status tag component.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The colour of the status tag.\n */\n @Prop() status?: IcStatusTagStatuses = \"neutral\";\n\n /**\n * The emphasis of the status tag.\n */\n @Prop() variant?: IcEmphasisType = \"filled\";\n\n componentWillLoad(): void {\n if (this.appearance === \"outlined\") {\n this.variant = \"outlined\";\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Status Tag\"\n );\n }\n\n render() {\n const { label, status, appearance, variant, small, size, announced } = this;\n return (\n <Host role={announced ? \"status\" : null} aria-label=\"Status\">\n <strong\n class={{\n [\"tag\"]: true,\n [`${appearance}-${status}`]: appearance !== undefined,\n [`${variant}-${status}`]: true,\n [\"outlined\"]: variant === \"outlined\",\n [\"small\"]: small || size === \"small\",\n [`${size}`]: true,\n }}\n >\n <ic-typography\n variant=\"label-uppercase\"\n apply-vertical-margins={false}\n >\n <span>{label}</span>\n </ic-typography>\n </strong>\n </Host>\n );\n }\n}\n"],"mappings":"8GAAA,MAAMA,EAAiB,2iI,MCaVC,EAAS,M,wCAKU,M,yDAeL,U,WAKC,M,YAKa,U,aAKJ,Q,CAEnC,iBAAAC,GACE,GAAIC,KAAKC,aAAe,WAAY,CAClCD,KAAKE,QAAU,U,EAInB,gBAAAC,GACEC,EACE,CAAC,CAAEC,KAAML,KAAKM,MAAOC,SAAU,UAC/B,a,CAIJ,MAAAC,GACE,MAAMF,MAAEA,EAAKG,OAAEA,EAAMR,WAAEA,EAAUC,QAAEA,EAAOQ,MAAEA,EAAKC,KAAEA,EAAIC,UAAEA,GAAcZ,KACvE,OACEa,EAACC,EAAI,CAACC,KAAMH,EAAY,SAAW,KAAI,aAAa,UAClDC,EAAA,UACEG,MAAO,CACL,CAAC,OAAQ,KACT,CAAC,GAAGf,KAAcQ,KAAWR,IAAegB,UAC5C,CAAC,GAAGf,KAAWO,KAAW,KAC1B,CAAC,YAAaP,IAAY,WAC1B,CAAC,SAAUQ,GAASC,IAAS,QAC7B,CAAC,GAAGA,KAAS,OAGfE,EAAA,iBACEX,QAAQ,kBAAiB,yBACD,OAExBW,EAAA,YAAOP,K"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,f as t,h as n,H as i,g as o}from"./p-6b5e91e2.js";import{I as a}from"./p-26b7b18f.js";import{j as r,b as s,v as c,i as h,a as d,d as l}from"./p-fef9e8c9.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-theme-tertiary);color:var(--ic-theme-text);--hero-heading-bottom-margin:var(--ic-space-md)}:host(.dark){background-color:var(--ic-theme-secondary)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -6.25rem;background-size:auto calc(100% + 6.25rem);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -6.25rem !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{padding:var(--ic-space-xl) 0}.left-container:not(.left-container-full-width){flex-basis:50%}.left-container-full-width{width:100%}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg);flex-wrap:wrap}.secondary-container{display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--ic-theme-text)}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}@media (min-width: 992px){.left-container-full-width{width:66.6%}}@media (min-width: 1044px){:host,.section-container{min-height:13rem}:host(.small),:host(.small) .section-container{min-height:10.813rem}.left-container:not(.left-container-full-width){flex-basis:66.6%}.left-container{min-height:9rem}.right-container{flex-basis:33.3%;margin-left:3.125rem}.secondary-container{min-height:9rem}.secondary-heading,.secondary-subheading{margin-left:3.938rem}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.small),:host(.small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:5.922rem}.right-container{margin-left:3.125rem}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.small),:host(.small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:2.125rem}.right-container{margin-left:3.125rem}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:13rem}:host(.small),:host(.small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:17.5rem}:host(.secondary-heading) .section-container,:host(.small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:2.5rem}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:12rem}:host,.right-container{margin-bottom:var(--ic-space-md)}:host(.small),:host(.small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:16.5rem}:host(.secondary-heading) .section-container,:host(.small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const g=class{constructor(n){e(this,n);this.hostMutationObserver=null;this.hostMutationCallback=e=>{if(e.some((({type:e,addedNodes:t,removedNodes:n})=>e==="childList"?r(t,n,"secondary"):false))){t(this)}};this.foregroundColor=s();this.rightContent=false;this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.scrollFactor="right -100px";this.aligned="left";this.backgroundImage=undefined;this.contentAligned="left";this.disableBackgroundParallax=false;this.heading=undefined;this.secondaryHeading=undefined;this.secondarySubheading=undefined;this.size="default";this.small=false;this.subheading=undefined}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.rightContent=c(this.el,"secondary")}componentDidLoad(){!h(this.el,"heading")&&d([{prop:this.heading,propName:"heading"}],"Hero");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}componentWillRender(){this.rightContent=c(this.el,"secondary")}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}doScroll(){if(this.disableBackgroundParallax){return}const e=document.scrollingElement.scrollTop;const t=.4;const n=-100+e*t;this.scrollFactor="right "+n+"px"}render(){const{aligned:e,small:t,size:o,heading:r,subheading:s,secondaryHeading:c,secondarySubheading:h,foregroundColor:d,backgroundImage:m,scrollFactor:g}=this;let p={};if(l(m)){p={"background-image":"url("+m+")","background-position":g}}return n(i,{class:{[a.Dark]:d===a.Dark,["has-background-image"]:m!==undefined,["small"]:t||o==="small",["secondary-heading"]:!!c},style:p},n("ic-section-container",{aligned:e,fullHeight:true,class:"section-container"},n("div",{class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},n("div",{class:"heading"},n("slot",{name:"heading"},n("ic-typography",{variant:t||o==="small"?"h2":"h1",class:{["heading-bottom-spacing"]:!t&&o!=="small"}},r))),n("div",{class:"subheading"},n("slot",{name:"subheading"},n("ic-typography",{variant:"body"},s))),n("div",{class:"interaction-container"},n("slot",{name:"interaction"}))),(l(c)||this.rightContent)&&n("div",{class:"right-container"},n("slot",{name:"secondary"},c&&n("div",{class:"secondary-container"},n("div",{class:"secondary-heading"},n("ic-typography",{variant:"h4"},c)),n("div",{class:"secondary-subheading"},n("ic-typography",{variant:"subtitle-small"},h)))))))}get el(){return o(this)}};g.style=m;export{g as ic_hero};
|
2
|
-
//# sourceMappingURL=p-8c325d9b.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icHeroCss","Hero","this","hostMutationObserver","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","getThemeForegroundColor","rightContent","secondaryHeading","undefined","disconnectedCallback","_a","disconnect","componentWillLoad","slotHasContent","el","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","heading","propName","MutationObserver","observe","childList","componentWillRender","themeChangeHandler","ev","theme","detail","foregroundColor","mode","doScroll","disableBackgroundParallax","scrolltotop","document","scrollingElement","scrollTop","factor","y","scrollFactor","render","aligned","small","size","subheading","secondarySubheading","backgroundImage","style","isPropDefined","h","Host","class","IcThemeForegroundEnum","Dark","fullHeight","leftContentFullWidth","name","variant"],"sources":["src/components/ic-hero/ic-hero.css?tag=ic-hero&encapsulation=shadow","src/components/ic-hero/ic-hero.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n background-color: var(--ic-theme-tertiary);\n color: var(--ic-theme-text);\n\n --hero-heading-bottom-margin: var(--ic-space-md);\n}\n\n:host(.dark) {\n background-color: var(--ic-theme-secondary);\n}\n\n:host(.has-background-image) {\n background-repeat: no-repeat;\n background-position: right -6.25rem;\n background-size: auto calc(100% + 6.25rem);\n box-shadow: var(--ic-elevation-inset);\n}\n\n@media (prefers-reduced-motion) {\n :host(.has-background-image) {\n background-position: right -6.25rem !important;\n }\n}\n\nic-typography.heading-bottom-spacing {\n margin-bottom: var(--hero-heading-bottom-margin);\n}\n\n.section-container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.left-container {\n padding: var(--ic-space-xl) 0;\n}\n\n.left-container:not(.left-container-full-width) {\n flex-basis: 50%;\n}\n\n.left-container-full-width {\n width: 100%;\n}\n\n.right-container {\n flex-basis: 50%;\n}\n\n.interaction-container {\n display: flex;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-lg);\n flex-wrap: wrap;\n}\n\n.secondary-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-left: var(--ic-space-xxxs) solid var(--ic-theme-text);\n}\n\n.secondary-subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n:host([content-aligned=\"left\"]) .left-container,\n:host([content-aligned=\"left\"]) .interaction-container {\n justify-content: flex-start;\n text-align: left;\n}\n\n:host([content-aligned=\"center\"]) .left-container,\n:host([content-aligned=\"center\"]) .interaction-container {\n justify-content: center;\n text-align: center;\n}\n\n@media (min-width: 992px) {\n .left-container-full-width {\n width: 66.6%;\n }\n}\n\n@media (min-width: 1044px) {\n :host,\n .section-container {\n min-height: 13rem;\n }\n\n :host(.small),\n :host(.small) .section-container {\n min-height: 10.813rem;\n }\n\n .left-container:not(.left-container-full-width) {\n flex-basis: 66.6%;\n }\n\n .left-container {\n min-height: 9rem;\n }\n\n .right-container {\n flex-basis: 33.3%;\n margin-left: 3.125rem;\n }\n\n .secondary-container {\n min-height: 9rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 3.938rem;\n }\n}\n\n@media (min-width: 801px) and (max-width: 1043px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 16rem;\n }\n\n :host(.small),\n :host(.small) .section-container {\n min-height: 15rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 14rem;\n }\n\n .left-container {\n min-height: 10rem;\n }\n\n .secondary-container {\n min-height: 10rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 5.922rem;\n }\n\n .right-container {\n margin-left: 3.125rem;\n }\n}\n\n@media (min-width: 641px) and (max-width: 800px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 16rem;\n }\n\n :host(.small),\n :host(.small) .section-container {\n min-height: 15rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 14rem;\n }\n\n .left-container {\n min-height: 10rem;\n }\n\n .secondary-container {\n min-height: 10rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 2.125rem;\n }\n\n .right-container {\n margin-left: 3.125rem;\n }\n}\n\n@media (min-width: 481px) and (max-width: 640px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 13rem;\n }\n\n :host(.small),\n :host(.small) .section-container {\n min-height: 10.813rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 17.5rem;\n }\n\n :host(.secondary-heading) .section-container,\n :host(.small) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n\n .right-container {\n margin-bottom: 2.5rem;\n }\n}\n\n@media (max-width: 480px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 12rem;\n }\n\n :host,\n .right-container {\n margin-bottom: var(--ic-space-md);\n }\n\n :host(.small),\n :host(.small) .section-container {\n min-height: 10.813rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 16.5rem;\n }\n\n :host(.secondary-heading) .section-container,\n :host(.small) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcAlignment,\n IcSizesNoLarge,\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport {\n slotHasContent,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n isPropDefined,\n isSlotUsed,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport { IcHeroContentAlignments } from \"./ic-hero.types\";\n\n/**\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot interaction - Content will be rendered in the interaction area, adjacent to the title area.\n * @slot secondary - Content will be rendered in the secondary content area.\n */\n\n@Component({\n tag: \"ic-hero\",\n styleUrl: \"ic-hero.css\",\n shadow: true,\n})\nexport class Hero {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcHeroElement;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() rightContent: boolean = false;\n // set by above state\n @State() leftContentFullWidth: boolean =\n !this.rightContent && this.secondaryHeading === undefined;\n @State() scrollFactor: string = \"right -100px\";\n\n /**\n * The alignment of the hero.\n */\n @Prop() aligned: IcAlignment = \"left\";\n\n /**\n * The optional background image.\n */\n @Prop() backgroundImage?: string;\n\n /**\n * The alignment of the hero content.\n */\n @Prop() contentAligned: IcHeroContentAlignments = \"left\";\n\n /**\n * If `true`, the background image (if set) will not scroll using a parallax effect.\n */\n @Prop() disableBackgroundParallax?: boolean = false;\n\n /**\n * The heading of the hero.\n */\n @Prop() heading: string;\n\n /**\n * The optional secondary heading, replaced by slotted right content.\n */\n @Prop() secondaryHeading?: string;\n\n /**\n * The optional secondary subheading, replaced by slotted right content.\n */\n @Prop() secondarySubheading?: string;\n\n /**\n * The size of the hero component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The description for the hero.\n */\n @Prop() subheading?: string;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Hero\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n componentWillRender(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n @Listen(\"scroll\", { target: \"document\" })\n doScroll(): void {\n if (this.disableBackgroundParallax) {\n return;\n }\n\n const scrolltotop = document.scrollingElement.scrollTop;\n const factor = 0.4;\n const y = -100 + scrolltotop * factor;\n this.scrollFactor = \"right \" + y + \"px\";\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"secondary\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n aligned,\n small,\n size,\n heading,\n subheading,\n secondaryHeading,\n secondarySubheading,\n foregroundColor,\n backgroundImage,\n scrollFactor,\n } = this;\n\n let style = {};\n\n if (isPropDefined(backgroundImage)) {\n style = {\n \"background-image\": \"url(\" + backgroundImage + \")\",\n \"background-position\": scrollFactor,\n };\n }\n\n return (\n <Host\n class={{\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"has-background-image\"]: backgroundImage !== undefined,\n [\"small\"]: small || size === \"small\",\n [\"secondary-heading\"]: !!secondaryHeading,\n }}\n style={style}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight\n class=\"section-container\"\n >\n <div\n class={{\n [\"left-container\"]: true,\n [\"left-container-full-width\"]: this.leftContentFullWidth,\n }}\n >\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography\n variant={small || size === \"small\" ? \"h2\" : \"h1\"}\n class={{\n [\"heading-bottom-spacing\"]: !small && size !== \"small\",\n }}\n >\n {heading}\n </ic-typography>\n </slot>\n </div>\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n <div class=\"interaction-container\">\n <slot name=\"interaction\"></slot>\n </div>\n </div>\n {(isPropDefined(secondaryHeading) || this.rightContent) && (\n <div class=\"right-container\">\n <slot name=\"secondary\">\n {secondaryHeading && (\n <div class=\"secondary-container\">\n <div class=\"secondary-heading\">\n <ic-typography variant=\"h4\">\n {secondaryHeading}\n </ic-typography>\n </div>\n <div class=\"secondary-subheading\">\n <ic-typography variant=\"subtitle-small\">\n {secondarySubheading}\n </ic-typography>\n </div>\n </div>\n )}\n </slot>\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"],"mappings":"2KAAA,MAAMA,EAAY,mzM,MCuCLC,EAAI,M,yBACPC,KAAAC,qBAAyC,KAwGzCD,KAAAE,qBAAwBC,IAC9B,GACEA,EAAaC,MAAK,EAAGC,OAAMC,aAAYC,kBACrCF,IAAS,YACLG,EAA0BF,EAAYC,EAAc,aACpD,QAEN,CACAE,EAAYT,K,wBA5G8BU,I,kBACb,M,2BAG9BV,KAAKW,cAAgBX,KAAKY,mBAAqBC,U,kBAClB,e,aAKD,O,mDAUmB,O,+BAKJ,M,oGAoBd,U,WAKN,M,0BAO1B,oBAAAC,G,OACEC,EAAAf,KAAKC,wBAAoB,MAAAc,SAAA,SAAAA,EAAEC,Y,CAG7B,iBAAAC,GACEjB,KAAKW,aAAeO,EAAelB,KAAKmB,GAAI,Y,CAG9C,gBAAAC,IACGC,EAAWrB,KAAKmB,GAAI,YACnBG,EACE,CAAC,CAAEC,KAAMvB,KAAKwB,QAASC,SAAU,YACjC,QAGJzB,KAAKC,qBAAuB,IAAIyB,iBAAiB1B,KAAKE,sBACtDF,KAAKC,qBAAqB0B,QAAQ3B,KAAKmB,GAAI,CACzCS,UAAW,M,CAIf,mBAAAC,GACE7B,KAAKW,aAAeO,EAAelB,KAAKmB,GAAI,Y,CAI9C,kBAAAW,CAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BjC,KAAKkC,gBAAkBF,EAAMG,I,CAI/B,QAAAC,GACE,GAAIpC,KAAKqC,0BAA2B,CAClC,M,CAGF,MAAMC,EAAcC,SAASC,iBAAiBC,UAC9C,MAAMC,EAAS,GACf,MAAMC,GAAK,IAAML,EAAcI,EAC/B1C,KAAK4C,aAAe,SAAWD,EAAI,I,CAerC,MAAAE,GACE,MAAMC,QACJA,EAAOC,MACPA,EAAKC,KACLA,EAAIxB,QACJA,EAAOyB,WACPA,EAAUrC,iBACVA,EAAgBsC,oBAChBA,EAAmBhB,gBACnBA,EAAeiB,gBACfA,EAAeP,aACfA,GACE5C,KAEJ,IAAIoD,EAAQ,GAEZ,GAAIC,EAAcF,GAAkB,CAClCC,EAAQ,CACN,mBAAoB,OAASD,EAAkB,IAC/C,sBAAuBP,E,CAI3B,OACEU,EAACC,EAAI,CACHC,MAAO,CACL,CAACC,EAAsBC,MACrBxB,IAAoBuB,EAAsBC,KAC5C,CAAC,wBAAyBP,IAAoBtC,UAC9C,CAAC,SAAUkC,GAASC,IAAS,QAC7B,CAAC,uBAAwBpC,GAE3BwC,MAAOA,GAEPE,EAAA,wBACER,QAASA,EACTa,WAAU,KACVH,MAAM,qBAENF,EAAA,OACEE,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,6BAA8BxD,KAAK4D,uBAGtCN,EAAA,OAAKE,MAAM,WACTF,EAAA,QAAMO,KAAK,WACTP,EAAA,iBACEQ,QAASf,GAASC,IAAS,QAAU,KAAO,KAC5CQ,MAAO,CACL,CAAC,2BAA4BT,GAASC,IAAS,UAGhDxB,KAIP8B,EAAA,OAAKE,MAAM,cACTF,EAAA,QAAMO,KAAK,cACTP,EAAA,iBAAeQ,QAAQ,QAAQb,KAGnCK,EAAA,OAAKE,MAAM,yBACTF,EAAA,QAAMO,KAAK,mBAGbR,EAAczC,IAAqBZ,KAAKW,eACxC2C,EAAA,OAAKE,MAAM,mBACTF,EAAA,QAAMO,KAAK,aACRjD,GACC0C,EAAA,OAAKE,MAAM,uBACTF,EAAA,OAAKE,MAAM,qBACTF,EAAA,iBAAeQ,QAAQ,MACpBlD,IAGL0C,EAAA,OAAKE,MAAM,wBACTF,EAAA,iBAAeQ,QAAQ,kBACpBZ,Q"}
|