@ukic/web-components 2.1.0-beta.16 → 2.1.0-beta.18
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-eb53c416.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +8 -8
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +25 -19
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +105 -71
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +40 -40
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +17 -17
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +32 -29
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +15 -15
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +20 -20
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +54 -55
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +16 -16
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +14 -14
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +17 -17
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +18 -18
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +35 -22
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +86 -88
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +7 -7
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +17 -17
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +12 -12
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +15 -15
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +37 -37
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +42 -42
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +26 -26
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +12 -12
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +5 -5
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +30 -30
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +61 -61
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +35 -28
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +36 -29
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +122 -121
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +67 -66
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +43 -37
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +7 -7
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +13 -13
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +16 -16
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +26 -32
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +16 -16
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +53 -53
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +12 -12
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +57 -57
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +41 -39
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +11 -11
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +4 -4
- package/dist/collection/components/ic-alert/ic-alert.js +49 -49
- package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
- package/dist/collection/components/ic-alert/{ic-alert.test.a11y.js → test/a11y/ic-alert.test.a11y.js} +1 -1
- package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -0
- package/dist/collection/components/ic-alert/{ic-alert.spec.js → test/basic/ic-alert.spec.js} +1 -1
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -0
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +4 -4
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -0
- package/dist/collection/components/ic-back-to-top/{ic-back-to-top.spec.js → test/basic/ic-back-to-top.spec.js} +3 -3
- package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -0
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +24 -24
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/{ic-breadcrumb.spec.js → test/basic/ic-breadcrumb.spec.js} +1 -1
- package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -0
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +25 -19
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.js → test/a11y/ic-breadcrumb-group.test.a11y.js} +1 -1
- package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js.map +1 -0
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -0
- package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.spec.js → test/basic/ic-breadcrumb-group.spec.js} +5 -5
- package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -0
- package/dist/collection/components/ic-button/ic-button.css +4 -0
- package/dist/collection/components/ic-button/ic-button.js +230 -191
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/{ic-button.test.a11y.js → test/a11y/ic-button.test.a11y.js} +1 -1
- package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-button/{ic-button.e2e.js → test/basic/ic-button.e2e.js} +25 -0
- package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -0
- package/dist/collection/components/ic-button/{ic-button.spec.js → test/basic/ic-button.spec.js} +28 -2
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -0
- package/dist/collection/components/ic-card/ic-card.js +120 -120
- package/dist/collection/components/ic-card/ic-card.js.map +1 -1
- package/dist/collection/components/ic-card/{ic-card.test.a11y.js → test/a11y/ic-card.test.a11y.js} +1 -1
- package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -0
- package/dist/collection/components/ic-card/{ic-card.spec.js → test/basic/ic-card.spec.js} +1 -1
- package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +94 -91
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +58 -58
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.js → test/a11y/ic-checkbox-group.test.a11y.js} +1 -1
- package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -0
- package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.spec.js → test/basic/ic-checkbox-group.spec.js} +3 -3
- package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -0
- package/dist/collection/components/ic-chip/ic-chip.js +54 -54
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-chip/{ic-chip.test.a11y.js → test/a11y/ic-chip.test.a11y.js} +1 -1
- package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-chip/{ic-chip.spec.js → test/basic/ic-chip.spec.js} +1 -1
- package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -0
- package/dist/collection/components/ic-classification-banner/{ic-classification-banner.test.a11y.js → test/a11y/ic-classification-banner.test.a11y.js} +1 -1
- package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-classification-banner/{ic-classification-banner.spec.js → test/basic/ic-classification-banner.spec.js} +1 -1
- package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -0
- package/dist/collection/components/ic-data-entity/{ic-data-entity.test.a11y.js → test/a11y/ic-data-entity.test.a11y.js} +1 -1
- package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-data-entity/{ic-data-entity.spec.js → test/basic/ic-data-entity.spec.js} +1 -1
- package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -0
- package/dist/collection/components/ic-data-row/ic-data-row.js +35 -35
- package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
- package/dist/collection/components/ic-data-row/{ic-data-row.test.a11y.js → test/a11y/ic-data-row.test.a11y.js} +1 -1
- package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-data-row/{ic-data-row.spec.js → test/basic/ic-data-row.spec.js} +1 -1
- package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -0
- package/dist/collection/components/ic-dialog/ic-dialog.css +1 -4
- package/dist/collection/components/ic-dialog/ic-dialog.js +122 -123
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
- package/dist/collection/components/ic-dialog/{ic-dialog.test.a11y.js → test/a11y/ic-dialog.test.a11y.js} +1 -1
- package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-dialog/{ic-dialog.e2e.js → test/basic/ic-dialog.e2e.js} +3 -0
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -0
- package/dist/collection/components/ic-dialog/{ic-dialog.spec.js → test/basic/ic-dialog.spec.js} +4 -4
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -0
- package/dist/collection/components/ic-divider/{ic-divider.spec.js → test/basic/ic-divider.spec.js} +1 -1
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -0
- package/dist/collection/components/ic-footer/ic-footer.js +47 -47
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer/{ic-footer.test.a11y.js → test/a11y/ic-footer.test.a11y.js} +1 -1
- package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -0
- package/dist/collection/components/ic-footer/{ic-footer.spec.js → test/basic/ic-footer.spec.js} +3 -3
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -0
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +33 -33
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link/{ic-footer-link.test.a11y.js → test/a11y/ic-footer-link.test.a11y.js} +1 -1
- package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-footer-link/{ic-footer-link.spec.js → test/basic/ic-footer-link.spec.js} +1 -1
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -0
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +18 -18
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/{ic-footer-link-group.test.a11y.js → test/a11y/ic-footer-link-group.test.a11y.js} +1 -1
- package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-footer-link-group/{ic-footer-link-group.spec.js → test/basic/ic-footer-link-group.spec.js} +3 -3
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -0
- package/dist/collection/components/ic-hero/ic-hero.js +95 -95
- package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
- package/dist/collection/components/ic-hero/{ic-hero.test.a11y.js → test/a11y/ic-hero.test.a11y.js} +1 -1
- package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-hero/{ic-hero.spec.js → test/basic/ic-hero.spec.js} +1 -1
- package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -0
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +37 -24
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
- package/dist/collection/components/ic-horizontal-scroll/{ic-horizontal-scroll.test.a11y.js → test/a11y/ic-horizontal-scroll.test.a11y.js} +1 -1
- package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-horizontal-scroll/{ic-horizontal-scroll.spec.js → test/basic/ic-horizontal-scroll.spec.js} +2 -2
- package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -0
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +45 -45
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
- package/dist/collection/components/ic-input-component-container/{ic-input-component-container.spec.js → test/basic/ic-input-component-container.spec.js} +1 -1
- package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -0
- package/dist/collection/components/ic-input-container/{ic-input-container.spec.js → test/basic/ic-input-container.spec.js} +1 -1
- package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -0
- package/dist/collection/components/ic-input-label/ic-input-label.js +51 -51
- package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
- package/dist/collection/components/ic-input-label/{ic-input-label.spec.js → test/basic/ic-input-label.spec.js} +1 -1
- package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -0
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +41 -41
- package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
- package/dist/collection/components/ic-input-validation/{ic-input-validation.spec.js → test/basic/ic-input-validation.spec.js} +1 -1
- package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -0
- package/dist/collection/components/ic-link/ic-link.js +48 -48
- package/dist/collection/components/ic-link/ic-link.js.map +1 -1
- package/dist/collection/components/ic-link/{ic-link.test.a11y.js → test/a11y/ic-link.test.a11y.js} +1 -1
- package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-link/{ic-link.spec.js → test/basic/ic-link.spec.js} +2 -2
- package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -0
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +89 -89
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
- package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.test.a11y.js → test/a11y/ic-loading-indicator.test.a11y.js} +1 -1
- package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -0
- package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.spec.js → test/basic/ic-loading-indicator.spec.js} +3 -3
- package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -0
- package/dist/collection/components/ic-menu/ic-menu.js +238 -240
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/{ic-menu.spec.js → test/basic/ic-menu.spec.js} +4 -4
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -0
- package/dist/collection/components/ic-menu-group/{ic-menu-group.spec.js → test/basic/ic-menu-group.spec.js} +2 -2
- package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -0
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +75 -75
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
- package/dist/collection/components/ic-menu-item/{ic-menu-item.spec.js → test/basic/ic-menu-item.spec.js} +2 -2
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -0
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +56 -56
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
- package/dist/collection/components/ic-navigation-button/{ic-navigation-button.spec.js → test/basic/ic-navigation-button.spec.js} +2 -2
- package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -0
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +0 -8
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +55 -55
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
- package/dist/collection/components/ic-navigation-group/{ic-navigation-group.test.a11y.js → test/a11y/ic-navigation-group.test.a11y.js} +1 -1
- package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-navigation-group/{ic-navigation-group.spec.js → test/basic/ic-navigation-group.spec.js} +8 -8
- package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -0
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +6 -4
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +135 -135
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
- package/dist/collection/components/ic-navigation-item/{ic-navigation-item.test.a11y.js → test/a11y/ic-navigation-item.test.a11y.js} +1 -1
- package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-navigation-item/{ic-navigation-item.spec.js → test/basic/ic-navigation-item.spec.js} +5 -5
- package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -0
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +1 -4
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +31 -31
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -0
- package/dist/collection/components/ic-navigation-menu/{ic-navigation-menu.spec.js → test/basic/ic-navigation-menu.spec.js} +6 -6
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -0
- package/dist/collection/components/ic-page-header/ic-page-header.js +56 -56
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-page-header/{ic-page-header.test.a11y.js → test/a11y/ic-page-header.test.a11y.js} +1 -1
- package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -0
- package/dist/collection/components/ic-page-header/{ic-page-header.spec.js → test/basic/ic-page-header.spec.js} +7 -7
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -0
- package/dist/collection/components/ic-pagination/ic-pagination.js +97 -97
- package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
- package/dist/collection/components/ic-pagination/{ic-pagination.test.a11y.js → test/a11y/ic-pagination.test.a11y.js} +1 -1
- package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -0
- package/dist/collection/components/ic-pagination/{ic-pagination.spec.js → test/basic/ic-pagination.spec.js} +3 -3
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -0
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +65 -65
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +96 -96
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/{ic-popover-menu.test.a11y.js → test/a11y/ic-popover-menu.test.a11y.js} +1 -1
- package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -0
- package/dist/collection/components/ic-popover-menu/{ic-popover-menu.spec.js → test/basic/ic-popover-menu.spec.js} +4 -4
- package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -0
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +94 -81
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-group/{ic-radio-group.test.a11y.js → test/a11y/ic-radio-group.test.a11y.js} +1 -1
- package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -0
- package/dist/collection/components/ic-radio-group/{ic-radio-group.spec.js → test/basic/ic-radio-group.spec.js} +3 -3
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -0
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +112 -88
- package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +385 -384
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-search-bar/{ic-search-bar.test.a11y.js → test/a11y/ic-search-bar.test.a11y.js} +1 -1
- package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -0
- package/dist/collection/components/ic-search-bar/{ic-search-bar.spec.js → test/basic/ic-search-bar.spec.js} +7 -7
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -0
- package/dist/collection/components/ic-section-container/{ic-section-container.spec.js → test/basic/ic-section-container.spec.js} +1 -1
- package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -0
- package/dist/collection/components/ic-select/ic-select.js +267 -266
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-select/{ic-select.test.a11y.js → test/a11y/ic-select.test.a11y.js} +1 -1
- package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-select/{ic-select.e2e.js → test/basic/ic-select.e2e.js} +3 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -0
- package/dist/collection/components/ic-select/{ic-select.spec.js → test/basic/ic-select.spec.js} +26 -6
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -0
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +6 -19
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +87 -81
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/{ic-side-navigation.test.a11y.js → test/a11y/ic-side-navigation.test.a11y.js} +1 -1
- package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js.map +1 -0
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -0
- package/dist/collection/components/ic-side-navigation/{ic-side-navigation.spec.js → test/basic/ic-side-navigation.spec.js} +5 -5
- package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -0
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +22 -22
- package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
- package/dist/collection/components/ic-skeleton/{ic-skeleton.test.a11y.js → test/a11y/ic-skeleton.test.a11y.js} +1 -1
- package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-skeleton/{ic-skeleton.spec.js → test/basic/ic-skeleton.spec.js} +1 -1
- package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -0
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +40 -40
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-status-tag/{ic-status-tag.test.a11y.js → test/a11y/ic-status-tag.test.a11y.js} +1 -1
- package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-status-tag/{ic-status-tag.spec.js → test/basic/ic-status-tag.spec.js} +1 -1
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -0
- package/dist/collection/components/ic-step/ic-step.js +126 -126
- package/dist/collection/components/ic-step/ic-step.js.map +1 -1
- package/dist/collection/components/ic-step/{ic-step.spec.js → test/basic/ic-step.spec.js} +3 -3
- package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -0
- package/dist/collection/components/ic-stepper/ic-stepper.js +41 -41
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-stepper/{ic-stepper.test.a11y.js → test/a11y/ic-stepper.test.a11y.js} +1 -1
- package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -0
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -0
- package/dist/collection/components/ic-stepper/{ic-stepper.spec.js → test/basic/ic-stepper.spec.js} +3 -3
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -0
- package/dist/collection/components/ic-switch/ic-switch.js +72 -72
- package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
- package/dist/collection/components/ic-switch/{ic-switch.test.a11y.js → test/a11y/ic-switch.test.a11y.js} +1 -1
- package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-switch/{ic-switch.spec.js → test/basic/ic-switch.spec.js} +1 -1
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -0
- package/dist/collection/components/ic-tab/ic-tab.js +56 -56
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -0
- package/dist/collection/components/ic-tab/{ic-tab.spec.js → test/basic/ic-tab.spec.js} +3 -3
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -0
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +71 -77
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-tab-context/{ic-tab-context.e2e.js → test/basic/ic-tab-context.e2e.js} +1 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -0
- package/dist/collection/components/ic-tab-context/{ic-tab-context.spec.js → test/basic/ic-tab-context.spec.js} +4 -4
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -0
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +27 -27
- package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +33 -33
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/{ic-tab-panel.spec.js → test/basic/ic-tab-panel.spec.js} +1 -1
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
- package/dist/collection/components/ic-text-field/ic-text-field.js +371 -371
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -0
- package/dist/collection/components/ic-text-field/{ic-text-field.input.spec.js → test/basic/ic-text-field.input.spec.js} +2 -2
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -0
- package/dist/collection/components/ic-text-field/{ic-text-field.textarea.spec.js → test/basic/ic-text-field.textarea.spec.js} +1 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -0
- package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
- package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -0
- package/dist/collection/components/ic-theme/{ic-theme.spec.js → test/basic/ic-theme.spec.js} +3 -3
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -0
- package/dist/collection/components/ic-toast/ic-toast.js +111 -111
- package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
- package/dist/collection/components/ic-toast/{ic-toast.test.a11y.js → test/a11y/ic-toast.test.a11y.js} +1 -1
- package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -0
- package/dist/collection/components/ic-toast/{ic-toast.spec.js → test/basic/ic-toast.spec.js} +4 -4
- package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -0
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +12 -12
- package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
- package/dist/collection/components/ic-toast-region/{ic-toast-region.spec.js → test/basic/ic-toast-region.spec.js} +3 -3
- package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +47 -47
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/{ic-tooltip.test.a11y.js → test/a11y/ic-tooltip.test.a11y.js} +1 -1
- package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -0
- package/dist/collection/components/ic-tooltip/{ic-tooltip.spec.js → test/basic/ic-tooltip.spec.js} +2 -2
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -0
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +100 -80
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/{ic-top-navigation.test.a11y.js → test/a11y/ic-top-navigation.test.a11y.js} +8 -1
- package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-top-navigation/{ic-top-navigation.e2e.js → test/basic/ic-top-navigation.e2e.js} +19 -0
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -0
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -0
- package/dist/collection/components/ic-top-navigation/{ic-top-navigation.spec.js → test/basic/ic-top-navigation.spec.js} +21 -8
- package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -0
- package/dist/collection/components/ic-typography/ic-typography.js +36 -36
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/collection/components/ic-typography/{ic-typography.test.a11y.js → test/a11y/ic-typography.test.a11y.js} +1 -1
- package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-typography/{ic-typography.e2e.js → test/basic/ic-typography.e2e.js} +3 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -0
- package/dist/collection/components/ic-typography/{ic-typography.spec.js → test/basic/ic-typography.spec.js} +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -0
- package/dist/collection/testspec.setup.js +10 -0
- package/dist/collection/testspec.setup.js.map +1 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +1 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert2.js +13 -13
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-back-to-top.js +4 -4
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +25 -19
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +7 -7
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +82 -47
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +50 -50
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +20 -20
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +37 -34
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +19 -19
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-data-row.js +21 -21
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.js +60 -61
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +19 -19
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +16 -16
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +19 -19
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +25 -25
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +36 -23
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +8 -8
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +8 -8
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +6 -6
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +20 -20
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +24 -24
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-item2.js +17 -17
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +93 -95
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +20 -20
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +41 -41
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +52 -52
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +28 -28
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +18 -18
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +11 -11
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.js +39 -39
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +64 -64
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +40 -33
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +42 -35
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +146 -145
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +96 -95
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +52 -46
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +5 -5
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +6 -6
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +15 -15
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +19 -19
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +21 -21
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +28 -34
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +3 -3
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +4 -4
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +17 -17
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +83 -83
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +12 -12
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +62 -62
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-tooltip2.js +26 -26
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +52 -49
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +14 -14
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-f0714432.entry.js → p-060c7917.entry.js} +2 -2
- package/dist/core/p-060c7917.entry.js.map +1 -0
- package/dist/core/p-0738d6e3.entry.js +2 -0
- package/dist/core/p-0738d6e3.entry.js.map +1 -0
- package/dist/core/{p-31ccdd50.entry.js → p-08870e30.entry.js} +2 -2
- package/dist/core/p-08870e30.entry.js.map +1 -0
- package/dist/core/{p-8911656b.entry.js → p-0b05b2b9.entry.js} +2 -2
- package/dist/core/{p-8911656b.entry.js.map → p-0b05b2b9.entry.js.map} +1 -1
- package/dist/core/{p-da4c1409.entry.js → p-0b3e5ba2.entry.js} +2 -2
- package/dist/core/p-0b3e5ba2.entry.js.map +1 -0
- package/dist/core/{p-79914e0c.entry.js → p-0cc2442d.entry.js} +2 -2
- package/dist/core/{p-79914e0c.entry.js.map → p-0cc2442d.entry.js.map} +1 -1
- package/dist/core/{p-2e051e1e.entry.js → p-0d6ee2ae.entry.js} +2 -2
- package/dist/core/p-0d6ee2ae.entry.js.map +1 -0
- package/dist/core/{p-f381e93f.entry.js → p-0dcfcf8c.entry.js} +2 -2
- package/dist/core/p-0dcfcf8c.entry.js.map +1 -0
- package/dist/core/{p-97fd0cc1.entry.js → p-12287f17.entry.js} +2 -2
- package/dist/core/p-12287f17.entry.js.map +1 -0
- package/dist/core/{p-ef91c17e.entry.js → p-1a7d6eca.entry.js} +2 -2
- package/dist/core/p-1a7d6eca.entry.js.map +1 -0
- package/dist/core/{p-84c8c4c7.entry.js → p-21cd7e76.entry.js} +2 -2
- package/dist/core/{p-84c8c4c7.entry.js.map → p-21cd7e76.entry.js.map} +1 -1
- package/dist/core/p-22e151f8.entry.js +2 -0
- package/dist/core/p-22e151f8.entry.js.map +1 -0
- package/dist/core/{p-c0333310.entry.js → p-2a4a7e63.entry.js} +2 -2
- package/dist/core/p-2a4a7e63.entry.js.map +1 -0
- package/dist/core/{p-bad10f6c.entry.js → p-2a55f42e.entry.js} +2 -2
- package/dist/core/p-2a55f42e.entry.js.map +1 -0
- package/dist/core/p-36115f6a.entry.js +2 -0
- package/dist/core/p-36115f6a.entry.js.map +1 -0
- package/dist/core/{p-ca6820dc.entry.js → p-38ac1d7a.entry.js} +2 -2
- package/dist/core/p-38ac1d7a.entry.js.map +1 -0
- package/dist/core/p-50f253b2.entry.js +2 -0
- package/dist/core/p-50f253b2.entry.js.map +1 -0
- package/dist/core/{p-820e4c17.entry.js → p-51d4c05c.entry.js} +2 -2
- package/dist/core/{p-820e4c17.entry.js.map → p-51d4c05c.entry.js.map} +1 -1
- package/dist/core/{p-5fcd965f.entry.js → p-5367574a.entry.js} +2 -2
- package/dist/core/p-5367574a.entry.js.map +1 -0
- package/dist/core/p-55cb196e.entry.js +2 -0
- package/dist/core/p-55cb196e.entry.js.map +1 -0
- package/dist/core/{p-4a385752.js → p-5dd0b02e.js} +2 -2
- package/dist/core/{p-4a385752.js.map → p-5dd0b02e.js.map} +1 -1
- package/dist/core/{p-b35a9909.entry.js → p-6068e3f4.entry.js} +2 -2
- package/dist/core/p-6068e3f4.entry.js.map +1 -0
- package/dist/core/{p-68308ecd.entry.js → p-705aadd0.entry.js} +2 -2
- package/dist/core/p-705aadd0.entry.js.map +1 -0
- package/dist/core/{p-aeef3c9d.entry.js → p-70c4e8d4.entry.js} +2 -2
- package/dist/core/p-70c4e8d4.entry.js.map +1 -0
- package/dist/core/p-8915a04d.entry.js +2 -0
- package/dist/core/p-8915a04d.entry.js.map +1 -0
- package/dist/core/p-8c5ba72e.entry.js +2 -0
- package/dist/core/p-8c5ba72e.entry.js.map +1 -0
- package/dist/core/{p-97286148.entry.js → p-9775acc5.entry.js} +2 -2
- package/dist/core/p-9775acc5.entry.js.map +1 -0
- package/dist/core/{p-a9de9aba.entry.js → p-a600e5d8.entry.js} +2 -2
- package/dist/core/{p-a9de9aba.entry.js.map → p-a600e5d8.entry.js.map} +1 -1
- package/dist/core/{p-dbe06c3b.entry.js → p-a941124d.entry.js} +2 -2
- package/dist/core/p-a941124d.entry.js.map +1 -0
- package/dist/core/{p-e3e6308b.entry.js → p-add90b68.entry.js} +2 -2
- package/dist/core/{p-31e80ccb.entry.js → p-b1c3f213.entry.js} +2 -2
- package/dist/core/p-b1c3f213.entry.js.map +1 -0
- package/dist/core/p-b6a1d9b6.entry.js +2 -0
- package/dist/core/p-b6a1d9b6.entry.js.map +1 -0
- package/dist/core/{p-dfd31e28.entry.js → p-b6e97f47.entry.js} +2 -2
- package/dist/core/p-b6e97f47.entry.js.map +1 -0
- package/dist/core/{p-311c38b3.entry.js → p-ba437d36.entry.js} +2 -2
- package/dist/core/p-ba437d36.entry.js.map +1 -0
- package/dist/core/{p-b03bd9c6.entry.js → p-bc161e06.entry.js} +2 -2
- package/dist/core/p-bc161e06.entry.js.map +1 -0
- package/dist/core/p-bd2f15e6.entry.js +2 -0
- package/dist/core/p-bd2f15e6.entry.js.map +1 -0
- package/dist/core/{p-2ec49a7e.entry.js → p-bd660ff4.entry.js} +2 -2
- package/dist/core/{p-2ec49a7e.entry.js.map → p-bd660ff4.entry.js.map} +1 -1
- package/dist/core/{p-3ce0aa02.entry.js → p-c0717294.entry.js} +2 -2
- package/dist/core/p-c0717294.entry.js.map +1 -0
- package/dist/core/{p-617950f8.entry.js → p-c2b0c19b.entry.js} +2 -2
- package/dist/core/p-c2b0c19b.entry.js.map +1 -0
- package/dist/core/{p-ecdcae46.entry.js → p-c51cfe25.entry.js} +2 -2
- package/dist/core/p-c51cfe25.entry.js.map +1 -0
- package/dist/core/p-c5dd2bae.entry.js +2 -0
- package/dist/core/p-c5dd2bae.entry.js.map +1 -0
- package/dist/core/{p-bda4414e.entry.js → p-c7eff761.entry.js} +2 -2
- package/dist/core/p-c7eff761.entry.js.map +1 -0
- package/dist/core/{p-ad6c4c02.entry.js → p-d04640ac.entry.js} +2 -2
- package/dist/core/p-d04640ac.entry.js.map +1 -0
- package/dist/core/{p-a74b8476.entry.js → p-d6ee986d.entry.js} +2 -2
- package/dist/core/p-d6ee986d.entry.js.map +1 -0
- package/dist/core/{p-249af8ab.entry.js → p-d824684d.entry.js} +2 -2
- package/dist/core/{p-249af8ab.entry.js.map → p-d824684d.entry.js.map} +1 -1
- package/dist/core/{p-6c76c6ba.entry.js → p-dd083d96.entry.js} +2 -2
- package/dist/core/p-dd083d96.entry.js.map +1 -0
- package/dist/core/{p-323bce82.entry.js → p-e360b5a8.entry.js} +2 -2
- package/dist/core/p-e360b5a8.entry.js.map +1 -0
- package/dist/core/{p-0d325b4c.entry.js → p-e69f71c7.entry.js} +2 -2
- package/dist/core/p-e69f71c7.entry.js.map +1 -0
- package/dist/core/{p-551986d1.entry.js → p-f81ecfc2.entry.js} +2 -2
- package/dist/core/p-f81ecfc2.entry.js.map +1 -0
- package/dist/core/p-fdc1cfa2.entry.js +2 -0
- package/dist/core/p-fdc1cfa2.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-8e57082b.js → helpers-85903813.js} +2 -2
- package/dist/esm/{helpers-8e57082b.js.map → helpers-85903813.js.map} +1 -1
- package/dist/esm/ic-alert.entry.js +9 -9
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +3 -3
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +26 -20
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +6 -6
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +106 -72
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +41 -41
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +18 -18
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +33 -30
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +16 -16
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +21 -21
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +55 -56
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +17 -17
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +15 -15
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +18 -18
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +19 -19
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +36 -23
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +87 -89
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +8 -8
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +18 -18
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +13 -13
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +16 -16
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +38 -38
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +43 -43
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +27 -27
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +13 -13
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +6 -6
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +31 -31
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +62 -62
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +36 -29
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +37 -30
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +123 -122
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +68 -67
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +44 -38
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +3 -3
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +4 -4
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +7 -7
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +14 -14
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +17 -17
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +26 -32
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +2 -2
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +17 -17
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +54 -54
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +12 -12
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +58 -58
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +42 -40
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +12 -12
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-alert/ic-alert.d.ts +12 -12
- package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +8 -8
- package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +6 -6
- package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +15 -11
- package/dist/types/components/ic-button/ic-button.d.ts +58 -52
- package/dist/types/components/ic-card/ic-card.d.ts +32 -32
- package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +27 -26
- package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +13 -13
- package/dist/types/components/ic-chip/ic-chip.d.ts +16 -16
- package/dist/types/components/ic-data-row/ic-data-row.d.ts +11 -11
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +47 -47
- package/dist/types/components/ic-footer/ic-footer.d.ts +20 -20
- package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +9 -9
- package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +8 -8
- package/dist/types/components/ic-hero/ic-hero.d.ts +24 -24
- package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +15 -14
- package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +15 -15
- package/dist/types/components/ic-input-label/ic-input-label.d.ts +14 -14
- package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +8 -8
- package/dist/types/components/ic-link/ic-link.d.ts +8 -8
- package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +38 -38
- package/dist/types/components/ic-menu/ic-menu.d.ts +63 -63
- package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +23 -23
- package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +21 -21
- package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +20 -20
- package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +39 -39
- package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +14 -14
- package/dist/types/components/ic-page-header/ic-page-header.d.ts +19 -19
- package/dist/types/components/ic-pagination/ic-pagination.d.ts +26 -26
- package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +15 -15
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +22 -22
- package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +19 -21
- package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +31 -26
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +105 -105
- package/dist/types/components/ic-select/ic-select.d.ts +86 -86
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +28 -24
- package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -8
- package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -8
- package/dist/types/components/ic-step/ic-step.d.ts +24 -24
- package/dist/types/components/ic-stepper/ic-stepper.d.ts +17 -17
- package/dist/types/components/ic-switch/ic-switch.d.ts +23 -23
- package/dist/types/components/ic-tab/ic-tab.d.ts +16 -16
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +20 -19
- package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +4 -4
- package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +6 -6
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +102 -102
- package/dist/types/components/ic-theme/ic-theme.d.ts +1 -1
- package/dist/types/components/ic-toast/ic-toast.d.ts +26 -27
- package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +3 -3
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +17 -17
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +36 -32
- package/dist/types/components/ic-typography/ic-typography.d.ts +16 -16
- package/dist/types/components.d.ts +13 -1
- package/dist/types/testspec.setup.d.ts +7 -5
- package/hydrate/index.js +1654 -1581
- package/package.json +3 -3
- package/dist/collection/components/ic-alert/ic-alert.e2e.js.map +0 -1
- package/dist/collection/components/ic-alert/ic-alert.spec.js.map +0 -1
- package/dist/collection/components/ic-alert/ic-alert.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.e2e.js.map +0 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.spec.js.map +0 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.spec.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.spec.js.map +0 -1
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-button/ic-button.e2e.js.map +0 -1
- package/dist/collection/components/ic-button/ic-button.spec.js.map +0 -1
- package/dist/collection/components/ic-button/ic-button.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-card/ic-card.e2e.js.map +0 -1
- package/dist/collection/components/ic-card/ic-card.spec.js.map +0 -1
- package/dist/collection/components/ic-card/ic-card.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.spec.js.map +0 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-chip/ic-chip.spec.js.map +0 -1
- package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.spec.js.map +0 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.spec.js.map +0 -1
- package/dist/collection/components/ic-data-entity/ic-data-entity.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-data-row/ic-data-row.spec.js.map +0 -1
- package/dist/collection/components/ic-data-row/ic-data-row.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-dialog/ic-dialog.e2e.js.map +0 -1
- package/dist/collection/components/ic-dialog/ic-dialog.spec.js.map +0 -1
- package/dist/collection/components/ic-dialog/ic-dialog.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-divider/ic-divider.spec.js.map +0 -1
- package/dist/collection/components/ic-footer/ic-footer.e2e.js.map +0 -1
- package/dist/collection/components/ic-footer/ic-footer.spec.js.map +0 -1
- package/dist/collection/components/ic-footer/ic-footer.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.spec.js.map +0 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.spec.js.map +0 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-hero/ic-hero.spec.js.map +0 -1
- package/dist/collection/components/ic-hero/ic-hero.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.spec.js.map +0 -1
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.spec.js.map +0 -1
- package/dist/collection/components/ic-input-container/ic-input-container.spec.js.map +0 -1
- package/dist/collection/components/ic-input-label/ic-input-label.spec.js.map +0 -1
- package/dist/collection/components/ic-input-validation/ic-input-validation.spec.js.map +0 -1
- package/dist/collection/components/ic-link/ic-link.spec.js.map +0 -1
- package/dist/collection/components/ic-link/ic-link.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.e2e.js.map +0 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.spec.js.map +0 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-menu/ic-menu.spec.js.map +0 -1
- package/dist/collection/components/ic-menu-group/ic-menu-group.spec.js.map +0 -1
- package/dist/collection/components/ic-menu-item/ic-menu-item.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.spec.js.map +0 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.e2e.js.map +0 -1
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.spec.js.map +0 -1
- package/dist/collection/components/ic-page-header/ic-page-header.e2e.js.map +0 -1
- package/dist/collection/components/ic-page-header/ic-page-header.spec.js.map +0 -1
- package/dist/collection/components/ic-page-header/ic-page-header.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-pagination/ic-pagination.e2e.js.map +0 -1
- package/dist/collection/components/ic-pagination/ic-pagination.spec.js.map +0 -1
- package/dist/collection/components/ic-pagination/ic-pagination.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.e2e.js.map +0 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.spec.js.map +0 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.spec.js.map +0 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.e2e.js.map +0 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.spec.js.map +0 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-section-container/ic-section-container.spec.js.map +0 -1
- package/dist/collection/components/ic-select/ic-select.e2e.js.map +0 -1
- package/dist/collection/components/ic-select/ic-select.spec.js.map +0 -1
- package/dist/collection/components/ic-select/ic-select.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.e2e.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.spec.js.map +0 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.spec.js.map +0 -1
- package/dist/collection/components/ic-skeleton/ic-skeleton.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.spec.js.map +0 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-step/ic-step.spec.js.map +0 -1
- package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +0 -1
- package/dist/collection/components/ic-stepper/ic-stepper.e2e.js.map +0 -1
- package/dist/collection/components/ic-stepper/ic-stepper.spec.js.map +0 -1
- package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-switch/ic-switch.spec.js.map +0 -1
- package/dist/collection/components/ic-switch/ic-switch.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-tab/ic-tab.e2e.js.map +0 -1
- package/dist/collection/components/ic-tab/ic-tab.spec.js.map +0 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.e2e.js.map +0 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.spec.js.map +0 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.spec.js.map +0 -1
- package/dist/collection/components/ic-text-field/ic-text-field.e2e.js.map +0 -1
- package/dist/collection/components/ic-text-field/ic-text-field.input.spec.js.map +0 -1
- package/dist/collection/components/ic-text-field/ic-text-field.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-text-field/ic-text-field.textarea.spec.js.map +0 -1
- package/dist/collection/components/ic-theme/ic-theme.e2e.js.map +0 -1
- package/dist/collection/components/ic-theme/ic-theme.spec.js.map +0 -1
- package/dist/collection/components/ic-toast/ic-toast.e2e.js.map +0 -1
- package/dist/collection/components/ic-toast/ic-toast.spec.js.map +0 -1
- package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-toast-region/ic-toast-region.spec.js.map +0 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.e2e.js.map +0 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.spec.js.map +0 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.e2e.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.mobile.e2e.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.spec.js.map +0 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-typography/ic-typography.e2e.js.map +0 -1
- package/dist/collection/components/ic-typography/ic-typography.spec.js.map +0 -1
- package/dist/collection/components/ic-typography/ic-typography.test.a11y.js.map +0 -1
- package/dist/core/p-0d325b4c.entry.js.map +0 -1
- package/dist/core/p-29d9fea1.entry.js +0 -2
- package/dist/core/p-29d9fea1.entry.js.map +0 -1
- package/dist/core/p-2e051e1e.entry.js.map +0 -1
- package/dist/core/p-3114a4b3.entry.js +0 -2
- package/dist/core/p-3114a4b3.entry.js.map +0 -1
- package/dist/core/p-311c38b3.entry.js.map +0 -1
- package/dist/core/p-31ccdd50.entry.js.map +0 -1
- package/dist/core/p-31e80ccb.entry.js.map +0 -1
- package/dist/core/p-323bce82.entry.js.map +0 -1
- package/dist/core/p-3918c27a.entry.js +0 -2
- package/dist/core/p-3918c27a.entry.js.map +0 -1
- package/dist/core/p-3ce0aa02.entry.js.map +0 -1
- package/dist/core/p-524557bc.entry.js +0 -2
- package/dist/core/p-524557bc.entry.js.map +0 -1
- package/dist/core/p-551986d1.entry.js.map +0 -1
- package/dist/core/p-57460fa3.entry.js +0 -2
- package/dist/core/p-57460fa3.entry.js.map +0 -1
- package/dist/core/p-5fcd965f.entry.js.map +0 -1
- package/dist/core/p-617950f8.entry.js.map +0 -1
- package/dist/core/p-68308ecd.entry.js.map +0 -1
- package/dist/core/p-6c76c6ba.entry.js.map +0 -1
- package/dist/core/p-97286148.entry.js.map +0 -1
- package/dist/core/p-97fd0cc1.entry.js.map +0 -1
- package/dist/core/p-a74b8476.entry.js.map +0 -1
- package/dist/core/p-ad6c4c02.entry.js.map +0 -1
- package/dist/core/p-aeef3c9d.entry.js.map +0 -1
- package/dist/core/p-b03bd9c6.entry.js.map +0 -1
- package/dist/core/p-b0685167.entry.js +0 -2
- package/dist/core/p-b0685167.entry.js.map +0 -1
- package/dist/core/p-b35a9909.entry.js.map +0 -1
- package/dist/core/p-bad10f6c.entry.js.map +0 -1
- package/dist/core/p-bda4414e.entry.js.map +0 -1
- package/dist/core/p-c0333310.entry.js.map +0 -1
- package/dist/core/p-c3f9fb1d.entry.js +0 -2
- package/dist/core/p-c3f9fb1d.entry.js.map +0 -1
- package/dist/core/p-ca6820dc.entry.js.map +0 -1
- package/dist/core/p-d6694b41.entry.js +0 -2
- package/dist/core/p-d6694b41.entry.js.map +0 -1
- package/dist/core/p-da4c1409.entry.js.map +0 -1
- package/dist/core/p-dbe06c3b.entry.js.map +0 -1
- package/dist/core/p-dfd31e28.entry.js.map +0 -1
- package/dist/core/p-ea233813.entry.js +0 -2
- package/dist/core/p-ea233813.entry.js.map +0 -1
- package/dist/core/p-ecdcae46.entry.js.map +0 -1
- package/dist/core/p-ef91c17e.entry.js.map +0 -1
- package/dist/core/p-f0714432.entry.js.map +0 -1
- package/dist/core/p-f381e93f.entry.js.map +0 -1
- package/dist/core/p-fd482bd7.entry.js +0 -2
- package/dist/core/p-fd482bd7.entry.js.map +0 -1
- package/dist/core/p-fe2c4009.entry.js +0 -2
- package/dist/core/p-fe2c4009.entry.js.map +0 -1
- /package/dist/collection/components/ic-alert/{ic-alert.e2e.js → test/basic/ic-alert.e2e.js} +0 -0
- /package/dist/collection/components/ic-back-to-top/{ic-back-to-top.test.a11y.js → test/a11y/ic-back-to-top.test.a11y.js} +0 -0
- /package/dist/collection/components/ic-back-to-top/{ic-back-to-top.e2e.js → test/basic/ic-back-to-top.e2e.js} +0 -0
- /package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.js → test/basic/ic-breadcrumb-group-test-examples.js} +0 -0
- /package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.e2e.js → test/basic/ic-breadcrumb-group.e2e.js} +0 -0
- /package/dist/collection/components/ic-card/{ic-card.e2e.js → test/basic/ic-card.e2e.js} +0 -0
- /package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.e2e.js → test/basic/ic-checkbox-group.e2e.js} +0 -0
- /package/dist/collection/components/ic-footer/{ic-footer.e2e.js → test/basic/ic-footer.e2e.js} +0 -0
- /package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.e2e.js → test/basic/ic-loading-indicator.e2e.js} +0 -0
- /package/dist/collection/components/ic-navigation-menu/{ic-navigation-menu.e2e.js → test/basic/ic-navigation-menu.e2e.js} +0 -0
- /package/dist/collection/components/ic-page-header/{ic-page-header.e2e.js → test/basic/ic-page-header.e2e.js} +0 -0
- /package/dist/collection/components/ic-pagination/{ic-pagination.e2e.js → test/basic/ic-pagination.e2e.js} +0 -0
- /package/dist/collection/components/ic-popover-menu/{ic-popover-menu.e2e.js → test/basic/ic-popover-menu.e2e.js} +0 -0
- /package/dist/collection/components/ic-radio-group/{ic-radio-group.e2e.js → test/basic/ic-radio-group.e2e.js} +0 -0
- /package/dist/collection/components/ic-search-bar/{ic-search-bar.e2e.js → test/basic/ic-search-bar.e2e.js} +0 -0
- /package/dist/collection/components/ic-side-navigation/{ic-side-navigation-test-examples.js → test/basic/ic-side-navigation-test-examples.js} +0 -0
- /package/dist/collection/components/ic-side-navigation/{ic-side-navigation.e2e.js → test/basic/ic-side-navigation.e2e.js} +0 -0
- /package/dist/collection/components/ic-stepper/{ic-stepper-test-examples.js → test/basic/ic-stepper-test-examples.js} +0 -0
- /package/dist/collection/components/ic-stepper/{ic-stepper.e2e.js → test/basic/ic-stepper.e2e.js} +0 -0
- /package/dist/collection/components/ic-tab/{ic-tab.e2e.js → test/basic/ic-tab.e2e.js} +0 -0
- /package/dist/collection/components/ic-tab-context/{ic-tab-context.test.a11y.js → test/a11y/ic-tab-context.test.a11y.js} +0 -0
- /package/dist/collection/components/ic-text-field/{ic-text-field.test.a11y.js → test/a11y/ic-text-field.test.a11y.js} +0 -0
- /package/dist/collection/components/ic-text-field/{ic-text-field.e2e.js → test/basic/ic-text-field.e2e.js} +0 -0
- /package/dist/collection/components/ic-theme/{ic-theme.e2e.js → test/basic/ic-theme.e2e.js} +0 -0
- /package/dist/collection/components/ic-toast/{ic-toast.e2e.js → test/basic/ic-toast.e2e.js} +0 -0
- /package/dist/collection/components/ic-tooltip/{ic-tooltip.e2e.js → test/basic/ic-tooltip.e2e.js} +0 -0
- /package/dist/collection/components/ic-top-navigation/{ic-top-navigation.mobile.e2e.js → test/basic/ic-top-navigation.mobile.e2e.js} +0 -0
- /package/dist/core/{p-e3e6308b.entry.js.map → p-add90b68.entry.js.map} +0 -0
- /package/dist/types/components/ic-alert/{ic-alert.test.a11y.d.ts → test/a11y/ic-alert.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-back-to-top/{ic-back-to-top.test.a11y.d.ts → test/a11y/ic-back-to-top.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.d.ts → test/a11y/ic-breadcrumb-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.d.ts → test/basic/ic-breadcrumb-group-test-examples.d.ts} +0 -0
- /package/dist/types/components/ic-button/{ic-button.test.a11y.d.ts → test/a11y/ic-button.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-card/{ic-card.test.a11y.d.ts → test/a11y/ic-card.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.d.ts → test/a11y/ic-checkbox-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-chip/{ic-chip.test.a11y.d.ts → test/a11y/ic-chip.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-classification-banner/{ic-classification-banner.test.a11y.d.ts → test/a11y/ic-classification-banner.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-data-entity/{ic-data-entity.test.a11y.d.ts → test/a11y/ic-data-entity.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-data-row/{ic-data-row.test.a11y.d.ts → test/a11y/ic-data-row.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-dialog/{ic-dialog.test.a11y.d.ts → test/a11y/ic-dialog.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-footer/{ic-footer.test.a11y.d.ts → test/a11y/ic-footer.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-footer-link/{ic-footer-link.test.a11y.d.ts → test/a11y/ic-footer-link.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-footer-link-group/{ic-footer-link-group.test.a11y.d.ts → test/a11y/ic-footer-link-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-hero/{ic-hero.test.a11y.d.ts → test/a11y/ic-hero.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-horizontal-scroll/{ic-horizontal-scroll.test.a11y.d.ts → test/a11y/ic-horizontal-scroll.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-link/{ic-link.test.a11y.d.ts → test/a11y/ic-link.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-loading-indicator/{ic-loading-indicator.test.a11y.d.ts → test/a11y/ic-loading-indicator.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-navigation-group/{ic-navigation-group.test.a11y.d.ts → test/a11y/ic-navigation-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-navigation-item/{ic-navigation-item.test.a11y.d.ts → test/a11y/ic-navigation-item.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-page-header/{ic-page-header.test.a11y.d.ts → test/a11y/ic-page-header.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-pagination/{ic-pagination.test.a11y.d.ts → test/a11y/ic-pagination.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-popover-menu/{ic-popover-menu.test.a11y.d.ts → test/a11y/ic-popover-menu.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-radio-group/{ic-radio-group.test.a11y.d.ts → test/a11y/ic-radio-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-search-bar/{ic-search-bar.test.a11y.d.ts → test/a11y/ic-search-bar.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-select/{ic-select.test.a11y.d.ts → test/a11y/ic-select.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-side-navigation/{ic-side-navigation.test.a11y.d.ts → test/a11y/ic-side-navigation.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-side-navigation/{ic-side-navigation-test-examples.d.ts → test/basic/ic-side-navigation-test-examples.d.ts} +0 -0
- /package/dist/types/components/ic-skeleton/{ic-skeleton.test.a11y.d.ts → test/a11y/ic-skeleton.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-status-tag/{ic-status-tag.test.a11y.d.ts → test/a11y/ic-status-tag.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-stepper/{ic-stepper.test.a11y.d.ts → test/a11y/ic-stepper.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-stepper/{ic-stepper-test-examples.d.ts → test/basic/ic-stepper-test-examples.d.ts} +0 -0
- /package/dist/types/components/ic-switch/{ic-switch.test.a11y.d.ts → test/a11y/ic-switch.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-tab-context/{ic-tab-context.test.a11y.d.ts → test/a11y/ic-tab-context.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-text-field/{ic-text-field.test.a11y.d.ts → test/a11y/ic-text-field.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-toast/{ic-toast.test.a11y.d.ts → test/a11y/ic-toast.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-tooltip/{ic-tooltip.test.a11y.d.ts → test/a11y/ic-tooltip.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-top-navigation/{ic-top-navigation.test.a11y.d.ts → test/a11y/ic-top-navigation.test.a11y.d.ts} +0 -0
- /package/dist/types/components/ic-typography/{ic-typography.test.a11y.d.ts → test/a11y/ic-typography.test.a11y.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["VARIANT_ICONS","neutral","icon","neutralIcon","ariaLabel","info","infoIcon","warning","warningIcon","error","errorIcon","success","successIcon","IC_INHERITED_ARIA","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","DARK_MODE_THRESHOLD","inheritAttributes","element","attributes","attributeObject","forEach","attr","hasAttribute","value","getAttribute","removeAttribute","debounceEvent","event","wait","original","_original","emit","debounce","bind","func","timer","args","clearTimeout","setTimeout","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","removeHiddenInput","remove","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","trim","getThemeFromContext","themeFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","IcThemeForegroundEnum","Default","contains","Dark","Light","isMobileOrTablet","navigator","maxTouchPoints","handleHiddenFormButtonClick","form","button","hiddenFormButton","document","setAttribute","style","display","click","isEmptyString","length","getLabelFromValue","options","ungroupedOptions","map","option","children","push","find","label","getFilteredMenuOptions","includeDescriptions","searchString","position","rawFilteredOptions","description","startsWith","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","UNDEFINED","getCssProperty","cssVar","getComputedStyle","documentElement","getPropertyValue","getThemeColorBrightness","themeRed","themeGreen","themeBlue","parseInt","getThemeForegroundColor","getSlot","querySelector","slotHasContent","getSlotContent","slot","getSlotElements","slotContent","firstElementChild","elements","assignedElements","childNodes","getNavItemParentDetails","navType","parent","getParentElementType","getParentElement","Number","replace","hasValidationStatus","status","isSlotUsed","slotName","some","child","onComponentPropUndefinedChange","oldValue","newValue","callback","onComponentRequiredPropUndefined","props","component","i","prop","propName","console","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","hex2dec","v","hexToRgba","hex","c","r","g","b","a","slice","rgbaStrToObj","rgbaStr","fourthChar","colorRGBA","rgba","rgb","elementOverflowsX","scrollWidth","clientWidth","hasClassificationBanner","getForm","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","tempPx","removeDisabledFalse"],"sources":["./src/utils/constants.ts","./src/utils/helpers.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || \"\";\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean => {\n return !!el.shadowRoot && !!el.attachShadow;\n};\n\nexport const getInputHelperTextID = (id: string): string => {\n return id + \"-helper-text\";\n};\n\nexport const getInputValidationTextID = (id: string): string => {\n return id + \"-validation-text\";\n};\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string => {\n return `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\nexport const isMobileOrTablet = (): boolean => {\n let isMobileOrTablet = false;\n if (\"maxTouchPoints\" in navigator) {\n isMobileOrTablet = navigator.maxTouchPoints > 0;\n }\n return isMobileOrTablet;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean => {\n if (!value) {\n return true;\n }\n\n return value.trim().length === 0;\n};\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[]\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n return ungroupedOptions.find((option) => option.value === value)?.label;\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions\n): IcMenuOption[] => {\n let rawFilteredOptions;\n\n if (position === \"anywhere\") {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().includes(searchString.toLowerCase()) ||\n option.description?.toLowerCase().includes(searchString.toLowerCase())\n );\n } else {\n return option.label.toLowerCase().includes(searchString.toLowerCase());\n }\n });\n } else {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().startsWith(searchString.toLowerCase()) ||\n option.description\n ?.toLowerCase()\n .startsWith(searchString.toLowerCase())\n );\n } else {\n return option.label\n .toLowerCase()\n .startsWith(searchString.toLowerCase());\n }\n });\n }\n\n return rawFilteredOptions;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string => {\n return getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n};\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getThemeForegroundColor = (): IcThemeForeground => {\n return getThemeColorBrightness() > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n};\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (slot: Element) => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean => {\n return Array.from(element.children).some(\n (child) => child.getAttribute(\"slot\") === slotName\n );\n};\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA: IcColorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n } else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n\n return colorRGBA;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean => {\n return element.scrollWidth > element.clientWidth;\n};\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean => {\n return document.querySelector(\"ic-classification-banner:not([inline='true'])\")\n ? true\n : false;\n};\n\nexport const getForm = (el: HTMLElement): HTMLFormElement | null => {\n return el.closest(\"FORM\");\n};\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const pxToRem = (px: string, base = 16) => {\n const tempPx = parseInt(px);\n return `${(1 / base) * tempPx}rem`;\n};\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n) => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["VARIANT_ICONS","neutral","icon","neutralIcon","ariaLabel","info","infoIcon","warning","warningIcon","error","errorIcon","success","successIcon","IC_INHERITED_ARIA","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","DARK_MODE_THRESHOLD","inheritAttributes","element","attributes","attributeObject","forEach","attr","hasAttribute","value","getAttribute","removeAttribute","debounceEvent","event","wait","original","_original","emit","debounce","bind","func","timer","args","clearTimeout","setTimeout","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","removeHiddenInput","remove","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","trim","getThemeFromContext","themeFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","IcThemeForegroundEnum","Default","contains","Dark","Light","isMobileOrTablet","navigator","maxTouchPoints","handleHiddenFormButtonClick","form","button","hiddenFormButton","document","setAttribute","style","display","click","isEmptyString","length","getLabelFromValue","options","ungroupedOptions","map","option","children","push","find","label","getFilteredMenuOptions","includeDescriptions","searchString","position","rawFilteredOptions","description","startsWith","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","UNDEFINED","getCssProperty","cssVar","getComputedStyle","documentElement","getPropertyValue","getThemeColorBrightness","themeRed","themeGreen","themeBlue","parseInt","getThemeForegroundColor","getSlot","querySelector","slotHasContent","getSlotContent","slot","getSlotElements","slotContent","firstElementChild","elements","assignedElements","childNodes","getNavItemParentDetails","navType","parent","getParentElementType","getParentElement","Number","replace","hasValidationStatus","status","isSlotUsed","slotName","some","child","onComponentPropUndefinedChange","oldValue","newValue","callback","onComponentRequiredPropUndefined","props","component","i","prop","propName","console","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","hex2dec","v","hexToRgba","hex","c","r","g","b","a","slice","rgbaStrToObj","rgbaStr","fourthChar","colorRGBA","rgba","rgb","elementOverflowsX","scrollWidth","clientWidth","hasClassificationBanner","getForm","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","tempPx","removeDisabledFalse"],"sources":["./src/utils/constants.ts","./src/utils/helpers.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || \"\";\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean => {\n return !!el.shadowRoot && !!el.attachShadow;\n};\n\nexport const getInputHelperTextID = (id: string): string => {\n return id + \"-helper-text\";\n};\n\nexport const getInputValidationTextID = (id: string): string => {\n return id + \"-validation-text\";\n};\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string => {\n return `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\nexport const isMobileOrTablet = (): boolean => {\n let isMobileOrTablet = false;\n if (\"maxTouchPoints\" in navigator) {\n isMobileOrTablet = navigator.maxTouchPoints > 0;\n }\n return isMobileOrTablet;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean => {\n if (!value) {\n return true;\n }\n\n return value.trim().length === 0;\n};\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[]\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n return ungroupedOptions.find((option) => option.value === value)?.label;\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions\n): IcMenuOption[] => {\n let rawFilteredOptions;\n\n if (position === \"anywhere\") {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().includes(searchString.toLowerCase()) ||\n option.description?.toLowerCase().includes(searchString.toLowerCase())\n );\n } else {\n return option.label.toLowerCase().includes(searchString.toLowerCase());\n }\n });\n } else {\n rawFilteredOptions = options.filter((option) => {\n if (includeDescriptions) {\n return (\n option.label.toLowerCase().startsWith(searchString.toLowerCase()) ||\n option.description\n ?.toLowerCase()\n .startsWith(searchString.toLowerCase())\n );\n } else {\n return option.label\n .toLowerCase()\n .startsWith(searchString.toLowerCase());\n }\n });\n }\n\n return rawFilteredOptions;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string => {\n return getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n};\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getThemeForegroundColor = (): IcThemeForeground => {\n return getThemeColorBrightness() > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n};\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean => {\n return Array.from(element.children).some(\n (child) => child.getAttribute(\"slot\") === slotName\n );\n};\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA: IcColorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n } else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n\n return colorRGBA;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean => {\n return element.scrollWidth > element.clientWidth;\n};\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean => {\n return document.querySelector(\"ic-classification-banner:not([inline='true'])\")\n ? true\n : false;\n};\n\nexport const getForm = (el: HTMLElement): HTMLFormElement | null => {\n return el.closest(\"FORM\");\n};\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const pxToRem = (px: string, base = 16): string => {\n const tempPx = parseInt(px);\n return `${(1 / base) * tempPx}rem`;\n};\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as i,h as t,H as e,g as o}from"./p-f3053872.js";import{D as n,l as s,g as a,q as r}from"./p-4a385752.js";import{C as d}from"./p-06321d19.js";import"./p-6f57b13c.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}:host(.in-side-menu){border-bottom:var(--ic-space-1px) solid var(--ic-architectural-200);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-theme-text);display:flex;align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none}:host(.in-side-menu) .navigation-group{height:2.5rem;width:100%;text-align:left}:host(.in-side-menu) .navigation-group .ic-typography-label{width:11.875rem}:host(.in-side-menu) .navigation-group-side-menu{color:var(--ic-action-default);justify-content:flex-start;padding:0 var(--ic-space-md) 0 var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-action-default);justify-content:flex-start;padding-left:var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:"";display:inline-block;height:0.45em;left:0.75em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-primary-text);outline:none;cursor:pointer}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu:hover,:host(.in-side-menu) .navigation-group-side-menu:active,:host(.in-side-menu) .navigation-group-side-menu:focus{background-color:var(--ic-architectural-20);color:var(--ic-action-default);cursor:auto;box-shadow:none;outline:none}:host(.in-side-menu) .navigation-group-side-menu:focus{outline:var(--ic-hc-focus-outline)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover);color:var(--ic-action-default);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-action-dark-bg-active);color:var(--ic-action-default)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{color:var(--ic-action-default);box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline)}:host .navigation-group-dropdown{background-color:var(--ic-architectural-20);border-bottom:var(--ic-border-default);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto);transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.collapsed) .grouped-links-wrapper{height:var(--navigation-child-items-height, 0);transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.navigation-group-side-nav) .navigation-group{height:var(--navigation-group-height);width:var(--navigation-group-width);justify-content:var(--navigation-group-justify-content);padding-right:var(--navigation-group-expand-toggle-padding)}:host(.navigation-group-side-nav) .navigation-group:hover,:host(.navigation-group-side-nav) .navigation-group:active,:host(.navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left);white-space:nowrap}.menu-visibility-visible{visibility:visible}.menu-visibility-hidden{visibility:hidden}';const l=class{constructor(e){i(this,e);this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS=50;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.nodeName="IC-NAVIGATION-GROUP";this.mouseGate=false;this.sideNavExpandHandler=()=>{setTimeout((()=>this.setInitialGroupedLinksWrapperHeight()),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)};this.topNavResizedHandler=i=>{const t=i.detail.size;if(t!==this.deviceSize){this.deviceSize=t;this.inTopNavSideMenu=t<=n.L}};this.setGroupedNavItemTabIndex=i=>{this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).forEach((t=>{const e=t.shadowRoot.querySelector("a")||t.querySelector("a");if(e){e.setAttribute("tabindex",i)}}))};this.toggleGroupedLinkWrapperHeight=(i,t)=>{if(i){if(t){i.setAttribute("style",`--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`);this.setGroupedNavItemTabIndex("0")}else{i.setAttribute("style",`--navigation-child-items-height: 0`);this.setGroupedNavItemTabIndex("-1")}}};this.toggleExpanded=()=>{this.expanded=!this.expanded;const i=this.el.shadowRoot.querySelector(".grouped-links-wrapper");this.toggleGroupedLinkWrapperHeight(i,this.expanded)};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{const t=i.relatedTarget;if(!this.el.contains(t)){this.hideDropdown()}};this.handleTopNavKeydown=i=>{if(i.key===" "||i.key==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu&&i.key==="Escape"){this.hideDropdown()}};this.handleKeydown=i=>{if(i.key==="Enter"||i.key===" "||i.key==="Escape"){switch(this.navigationType){case"top":this.handleTopNavKeydown(i);break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(!this.el.contains(t)&&t!==this.dropdown&&document.activeElement!==this.el&&!this.el.contains(document.activeElement)&&t.nodeName===this.nodeName&&this.dropdownOpen===true){this.mouseGate=true;this.hideDropdown()}else if(!this.el.contains(t)&&t!==this.dropdown&&!this.el.contains(document.activeElement)){this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if(t.nodeName===this.nodeName&&this.mouseGate===true){this.showDropdown()}else if(this.dropdownOpen===false&&t!==null&&this.mouseGate===false){this.mouseGate=true;setTimeout((()=>{this.mouseGate&&this.showDropdown()}),500)}};this.renderDropdownGroupedLinks=()=>t("div",{class:{["navigation-group-dropdown"]:!this.inTopNavSideMenu,["navigation-group-dropdown-side-menu"]:this.inTopNavSideMenu,["selected"]:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:null,ref:i=>this.dropdown=i},t("nav",{class:{["navigation-group-dropdown-items"]:!this.inTopNavSideMenu}},t("ul",null,t("slot",null))));this.renderGroupedLinks=()=>t("ul",{class:"grouped-links-wrapper"},t("slot",null));this.getNavigationChildItemsHeight=()=>{const i=this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).length||0;const t=this.el.querySelector(this.IC_NAVIGATION_ITEM)||null;if(this.navigationType==="side"&&!!i&&t){return`${parseInt(getComputedStyle(t).height)*i}px`}return"auto"};this.setInitialGroupedLinksWrapperHeight=()=>{const i=this.el.shadowRoot.querySelector(".grouped-links-wrapper");if(i&&this.expanded){i.setAttribute("style",`--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`)}};this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return this.renderDropdownGroupedLinks()}if(this.navigationType!=="top"){return this.renderGroupedLinks()}return null};this.label=undefined;this.expandable=false;this.dropdownOpen=false;this.inTopNavSideMenu=false;this.deviceSize=n.XL;this.focusStyle=s();this.navigationType=undefined;this.parentEl=undefined;this.expanded=true}childBlurHandler(){this.hideDropdown()}navItemClickHandler(){this.hideDropdown()}themeChangeHandler(i){const t=i.detail;this.focusStyle=t.mode}async setFocus(){if(this.groupEl){this.groupEl.focus()}}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen}showDropdown(){if(!this.dropdownOpen){this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}componentWillLoad(){this.deviceSize=a();const i=r(this.el);this.navigationType=i.navType;this.parentEl=i.parent;if(this.deviceSize<=n.L&&this.navigationType==="top"){this.inTopNavSideMenu=true}if(this.navigationType==="side"){this.parentEl.addEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.addEventListener("topNavResized",this.topNavResizedHandler)}}componentDidLoad(){setTimeout((()=>this.setInitialGroupedLinksWrapperHeight()),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}disconnectedCallback(){if(this.navigationType==="side"){this.parentEl.removeEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.removeEventListener("topNavResized",this.topNavResizedHandler)}}render(){const{label:i,dropdownOpen:o,inTopNavSideMenu:n,expandable:s}=this;const a=!n||s?"button":"div";return t(e,{class:{["in-side-menu"]:n,expanded:this.expanded,collapsed:!this.expanded,["navigation-group-side-nav"]:this.navigationType==="side"},role:"listitem"},t(a,{onMouseEnter:!n&&this.navigationType==="top"&&this.handleMouseEnter,onMouseLeave:this.navigationType==="top"&&this.handleMouseLeave,tabindex:n&&!s?"-1":"0",onBlur:this.handleBlur,onClick:s?this.handleClick:null,onKeyDown:this.handleKeydown,class:{["navigation-group"]:true,[this.focusStyle]:!n,["navigation-group-side-menu"]:n&&!s,["navigation-group-side-menu-collapsed"]:n&&s&&!o,["navigation-group-side-menu-expanded"]:n&&s&&o,["selected"]:o&&!n},ref:i=>this.groupEl=i,"aria-expanded":o||this.expanded?"true":"false","aria-haspopup":!n&&this.navigationType==="top"?"true":"false"},t("ic-typography",{variant:this.navigationType==="side"?"caption":"label"},i),this.navigationType==="side"&&s&&t("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":this.expanded},innerHTML:d})),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return o(this)}};l.style=h;export{l as ic_navigation_group};
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as i,h as t,H as e,g as o}from"./p-f3053872.js";import{D as n,l as s,g as a,q as r}from"./p-5dd0b02e.js";import{C as d}from"./p-06321d19.js";import"./p-6f57b13c.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}:host(.in-side-menu){border-bottom:var(--ic-space-1px) solid var(--ic-architectural-200);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-theme-text);display:flex;align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none}:host(.in-side-menu) .navigation-group{height:2.5rem;width:100%;text-align:left}:host(.in-side-menu) .navigation-group .ic-typography-label{width:11.875rem}:host(.in-side-menu) .navigation-group-side-menu{color:var(--ic-action-default);justify-content:flex-start;padding:0 var(--ic-space-md) 0 var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-action-default);justify-content:flex-start;padding-left:var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:"";display:inline-block;height:0.45em;left:0.75em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-primary-text);outline:none;cursor:pointer}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu:hover,:host(.in-side-menu) .navigation-group-side-menu:active,:host(.in-side-menu) .navigation-group-side-menu:focus{background-color:var(--ic-architectural-20);color:var(--ic-action-default);cursor:auto;box-shadow:none;outline:none}:host(.in-side-menu) .navigation-group-side-menu:focus{outline:var(--ic-hc-focus-outline)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover);color:var(--ic-action-default);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-action-dark-bg-active);color:var(--ic-action-default)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{color:var(--ic-action-default);box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline)}:host .navigation-group-dropdown{background-color:var(--ic-architectural-20);border-bottom:var(--ic-border-default);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto);transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.collapsed) .grouped-links-wrapper{height:var(--navigation-child-items-height, 0);transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.navigation-group-side-nav) .navigation-group{height:var(--navigation-group-height);width:var(--navigation-group-width);justify-content:var(--navigation-group-justify-content);padding-right:var(--navigation-group-expand-toggle-padding)}:host(.navigation-group-side-nav) .navigation-group:hover,:host(.navigation-group-side-nav) .navigation-group:active,:host(.navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left);white-space:nowrap}';const c=class{constructor(e){i(this,e);this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS=50;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.mouseGate=false;this.nodeName="IC-NAVIGATION-GROUP";this.sideNavExpandHandler=()=>{setTimeout((()=>this.setInitialGroupedLinksWrapperHeight()),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)};this.topNavResizedHandler=i=>{const t=i.detail.size;if(t!==this.deviceSize){this.deviceSize=t;this.inTopNavSideMenu=t<=n.L}};this.setGroupedNavItemTabIndex=i=>{this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).forEach((t=>{const e=t.shadowRoot.querySelector("a")||t.querySelector("a");if(e){e.setAttribute("tabindex",i)}}))};this.toggleGroupedLinkWrapperHeight=(i,t)=>{if(i){if(t){i.setAttribute("style",`--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`);this.setGroupedNavItemTabIndex("0")}else{i.setAttribute("style",`--navigation-child-items-height: 0`);this.setGroupedNavItemTabIndex("-1")}}};this.toggleExpanded=()=>{this.expanded=!this.expanded;const i=this.el.shadowRoot.querySelector(".grouped-links-wrapper");this.toggleGroupedLinkWrapperHeight(i,this.expanded)};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{const t=i.relatedTarget;if(!this.el.contains(t)){this.hideDropdown()}};this.handleTopNavKeydown=i=>{if(i.key===" "||i.key==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu&&i.key==="Escape"){this.hideDropdown()}};this.handleKeydown=i=>{if(i.key==="Enter"||i.key===" "||i.key==="Escape"){switch(this.navigationType){case"top":this.handleTopNavKeydown(i);break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(!this.el.contains(t)&&t!==this.dropdown&&document.activeElement!==this.el&&!this.el.contains(document.activeElement)&&t.nodeName===this.nodeName&&this.dropdownOpen===true){this.mouseGate=true;this.hideDropdown()}else if(!this.el.contains(t)&&t!==this.dropdown&&!this.el.contains(document.activeElement)){this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if(t.nodeName===this.nodeName&&this.mouseGate===true){this.showDropdown()}else if(this.dropdownOpen===false&&t!==null&&this.mouseGate===false){this.mouseGate=true;setTimeout((()=>{this.mouseGate&&this.showDropdown()}),500)}};this.renderDropdownGroupedLinks=()=>t("div",{class:{["navigation-group-dropdown"]:!this.inTopNavSideMenu,["navigation-group-dropdown-side-menu"]:this.inTopNavSideMenu,["selected"]:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:null,ref:i=>this.dropdown=i},t("nav",{class:{["navigation-group-dropdown-items"]:!this.inTopNavSideMenu}},t("ul",null,t("slot",null))));this.renderGroupedLinks=()=>t("ul",{class:"grouped-links-wrapper"},t("slot",null));this.getNavigationChildItemsHeight=()=>{const i=this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).length||0;const t=this.el.querySelector(this.IC_NAVIGATION_ITEM)||null;if(this.navigationType==="side"&&!!i&&t){return`${parseInt(getComputedStyle(t).height)*i}px`}return"auto"};this.setInitialGroupedLinksWrapperHeight=()=>{const i=this.el.shadowRoot.querySelector(".grouped-links-wrapper");if(i&&this.expanded){i.setAttribute("style",`--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`)}};this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return this.renderDropdownGroupedLinks()}if(this.navigationType!=="top"){return this.renderGroupedLinks()}return null};this.deviceSize=n.XL;this.dropdownOpen=false;this.expanded=true;this.focusStyle=s();this.inTopNavSideMenu=false;this.navigationType=undefined;this.parentEl=undefined;this.expandable=false;this.label=undefined}disconnectedCallback(){if(this.navigationType==="side"){this.parentEl.removeEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.removeEventListener("topNavResized",this.topNavResizedHandler)}}componentWillLoad(){this.deviceSize=a();const i=r(this.el);this.navigationType=i.navType;this.parentEl=i.parent;if(this.deviceSize<=n.L&&this.navigationType==="top"){this.inTopNavSideMenu=true}if(this.navigationType==="side"){this.parentEl.addEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.addEventListener("topNavResized",this.topNavResizedHandler)}}componentDidLoad(){setTimeout((()=>this.setInitialGroupedLinksWrapperHeight()),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}childBlurHandler(){this.hideDropdown()}navItemClickHandler(){this.hideDropdown()}themeChangeHandler(i){const t=i.detail;this.focusStyle=t.mode}async setFocus(){if(this.groupEl){this.groupEl.focus()}}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen}showDropdown(){if(!this.dropdownOpen){this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}render(){const{label:i,dropdownOpen:o,inTopNavSideMenu:n,expandable:s}=this;const a=!n||s?"button":"div";return t(e,{class:{["in-side-menu"]:n,expanded:this.expanded,collapsed:!this.expanded,["navigation-group-side-nav"]:this.navigationType==="side"},role:"listitem"},t(a,{onMouseEnter:!n&&this.navigationType==="top"&&this.handleMouseEnter,onMouseLeave:this.navigationType==="top"&&this.handleMouseLeave,tabindex:n&&!s?"-1":"0",onBlur:this.handleBlur,onClick:s?this.handleClick:null,onKeyDown:this.handleKeydown,class:{["navigation-group"]:true,[this.focusStyle]:!n,["navigation-group-side-menu"]:n&&!s,["navigation-group-side-menu-collapsed"]:n&&s&&!o,["navigation-group-side-menu-expanded"]:n&&s&&o,["selected"]:o&&!n},ref:i=>this.groupEl=i,"aria-expanded":o||this.expanded?"true":"false","aria-haspopup":!n&&this.navigationType==="top"?"true":"false"},t("ic-typography",{variant:this.navigationType==="side"?"caption":"label"},i),this.navigationType==="side"&&s&&t("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":this.expanded},innerHTML:d})),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return o(this)}};c.style=h;export{c as ic_navigation_group};
|
2
|
+
//# sourceMappingURL=p-6068e3f4.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icNavigationGroupCss","NavigationGroup","this","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","IC_NAVIGATION_ITEM","mouseGate","nodeName","sideNavExpandHandler","setTimeout","setInitialGroupedLinksWrapperHeight","topNavResizedHandler","ev","newSize","detail","size","deviceSize","inTopNavSideMenu","DEVICE_SIZES","L","setGroupedNavItemTabIndex","tabIndexValue","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","toggleGroupedLinkWrapperHeight","wrapper","expanded","getNavigationChildItemsHeight","toggleExpanded","linkWrapper","handleClick","navigationType","toggleDropdown","handleBlur","target","relatedTarget","contains","hideDropdown","handleTopNavKeydown","key","handleKeydown","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","dropdownOpen","handleMouseEnter","addEventListener","showDropdown","renderDropdownGroupedLinks","h","class","onMouseLeave","ref","renderGroupedLinks","navigationItemLength","length","parseInt","getComputedStyle","height","renderNavigationItems","expandable","XL","getThemeForegroundColor","disconnectedCallback","parentEl","removeEventListener","componentWillLoad","getCurrentDeviceSize","navParentDetails","getNavItemParentDetails","navType","parent","componentDidLoad","childBlurHandler","navItemClickHandler","themeChangeHandler","theme","focusStyle","mode","async","groupEl","focus","render","label","NavigationGroupElement","Host","collapsed","role","onMouseEnter","tabindex","onBlur","onClick","onKeyDown","variant","innerHTML","chevronIcon"],"sources":["./src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","./src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-space-1px) solid var(--ic-architectural-200);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n}\n\n:host(.in-side-menu) .navigation-group {\n height: 2.5rem;\n width: 100%;\n text-align: left;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 11.875rem;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) 0 var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding-left: var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n height: 0.45em;\n left: 0.75em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-primary-text);\n outline: none;\n cursor: pointer;\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:hover,\n:host(.in-side-menu) .navigation-group-side-menu:active,\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n background-color: var(--ic-architectural-20);\n color: var(--ic-action-default);\n cursor: auto;\n box-shadow: none;\n outline: none;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n color: var(--ic-action-default);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-default);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n color: var(--ic-action-default);\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-architectural-20);\n border-bottom: var(--ic-border-default);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto);\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.collapsed) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, 0);\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.navigation-group-side-nav) .navigation-group {\n height: var(--navigation-group-height);\n width: var(--navigation-group-width);\n justify-content: var(--navigation-group-justify-content);\n padding-right: var(--navigation-group-expand-toggle-padding);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:hover,\n:host(.navigation-group-side-nav) .navigation-group:active,\n:host(.navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n white-space: nowrap;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 50;\n private groupEl: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle = getThemeForegroundColor();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentDidLoad(): void {\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (): void => {\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n };\n\n private topNavResizedHandler = (ev: CustomEvent): void => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (wrapper) {\n if (expanded) {\n wrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.setAttribute(\"style\", `--navigation-child-items-height: 0`);\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n const navigationItemLength =\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).length || 0;\n const navigationItem =\n this.el.querySelector(this.IC_NAVIGATION_ITEM) || null;\n\n if (\n this.navigationType === \"side\" &&\n !!navigationItemLength &&\n navigationItem\n ) {\n return `${\n parseInt(getComputedStyle(navigationItem).height) * navigationItemLength\n }px`;\n }\n\n return \"auto\";\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n \".grouped-links-wrapper\"\n ) as HTMLElement;\n\n if (linkWrapper && this.expanded) {\n linkWrapper.setAttribute(\n \"style\",\n `--navigation-child-items-height: ${this.getNavigationChildItemsHeight()}`\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n\n const NavigationGroupElement =\n !inTopNavSideMenu || expandable ? \"button\" : \"div\";\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n expanded: this.expanded,\n collapsed: !this.expanded,\n [\"navigation-group-side-nav\"]: this.navigationType === \"side\",\n }}\n role=\"listitem\"\n >\n <NavigationGroupElement\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={dropdownOpen || this.expanded ? \"true\" : \"false\"}\n aria-haspopup={\n !inTopNavSideMenu && this.navigationType === \"top\"\n ? \"true\"\n : \"false\"\n }\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </NavigationGroupElement>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as o,h as t,H as e,g as r}from"./p-f3053872.js";import{
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as o,h as t,H as e,g as r}from"./p-f3053872.js";import{D as i,l as n,a as l}from"./p-5dd0b02e.js";import"./p-6f57b13c.js";const a='/*! 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(.footer-link-group-sparse){--footer-link-group-margin-right:5.938rem;--footer-link-group-border-bottom:0 solid transparent;--footer-link-group-title-margin-top:0;--footer-link-group-title-margin-bottom:var(--ic-space-md)}:host(.footer-link-group-small){--footer-link-group-margin-right:0;--footer-link-group-title-margin-top:var(--ic-space-md);--footer-link-group-title-margin-bottom:var(--ic-space-md);--footer-link-group-links-padding-left:var(--ic-space-md);--footer-link-group-links-padding-bottom:var(--ic-space-md)}:host(.footer-link-group-light.footer-link-group-small){--footer-link-group-border-bottom:var(--ic-keyline-lighten)}:host(.footer-link-group-dark.footer-link-group-small){--footer-link-group-border-bottom:var(--ic-keyline-darken)}:host(.footer-link-group){margin-right:var(--footer-link-group-margin-right);border-bottom:var(--footer-link-group-border-bottom)}:host(.footer-link-group-small.footer-link-group-light:hover){background-color:var(--ic-action-light-bg-hover);cursor:pointer}:host(.footer-link-group-small.footer-link-group-dark:hover){background-color:var(--ic-action-dark-bg-hover);cursor:pointer}:host(.footer-link-group-sparse:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);z-index:1}:host(.footer-link-group-small:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);z-index:1}:host(.footer-link-group-small.footer-link-group-light:active){background-color:var(--ic-action-light-bg-active)}:host(.footer-link-group-small.footer-link-group-dark:active){background-color:var(--ic-action-dark-bg-active)}.footer-link-group-title{margin-top:var(--footer-link-group-title-margin-top);margin-bottom:var(--footer-link-group-title-margin-bottom);flex-grow:1}.footer-link-group-toggle{fill:white !important}.footer-link-group-links{display:flex;flex-direction:column}.footer-link-group-header{display:flex;align-items:center}';const s=class{constructor(t){o(this,t);this.handleKeydown=o=>{if(o.key===" "||o.key==="Enter"){this.toggleExpanded()}};this.toggleExpanded=()=>{this.expanded=!this.expanded};this.expanded=false;this.deviceSize=i.XL;this.dropdownIconStyle=n();this.small=false;this.groupTitle=undefined}componentWillLoad(){this.small=this.isSmall(this.el)}componentDidLoad(){l([{prop:this.groupTitle,propName:"group-title"}],"Footer Link Group")}footerResizeHandler(){this.small=this.isSmall(this.el)}footerThemeChangeHandler(o){const t=o.detail;this.dropdownIconStyle=t.mode}isSmall(o){if(o.parentElement!==null){if(o.parentElement.classList.contains("footer")){return o.parentElement.classList.contains("footer-small")}else{return this.isSmall(o.parentElement)}}else{return false}}render(){const{small:o,groupTitle:r}=this;return!o?t(e,{class:{["footer-link-group footer-link-group-sparse"]:true,[`footer-link-group-${this.dropdownIconStyle}`]:true}},t("div",{class:"footer-link-group-title"},t("ic-typography",{variant:"subtitle-small"},r)),t("div",{class:"footer-link-group-links"},t("slot",null))):t(e,{class:{["footer-link-group footer-link-group-small"]:true,[`footer-link-group-${this.dropdownIconStyle}`]:true},tabIndex:"1",onClick:this.toggleExpanded,onKeydown:this.handleKeydown,"aria-haspopup":"true","aria-expanded":this.expanded},t("ic-section-container",{fullHeight:true},t("div",{class:"footer-link-group-header"},t("div",{class:"footer-link-group-title"},t("ic-typography",{variant:"label"},r)),this.expanded?t("svg",{class:"footer-link-group-toggle",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 1200 1200"},t("path",{fill:"currentColor",d:"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z"})):t("svg",{class:"footer-link-group-toggle",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 1200 1200"},t("g",{transform:"translate(0 1200) scale(1 -1)"},t("path",{fill:"currentColor",d:"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z"})))),this.expanded&&t("div",{class:"footer-link-group-links"},t("slot",null))))}static get delegatesFocus(){return true}get el(){return r(this)}};s.style=a;export{s as ic_footer_link_group};
|
2
|
+
//# sourceMappingURL=p-705aadd0.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icFooterLinkGroupCss","FooterLinkGroup","this","handleKeydown","event","key","toggleExpanded","expanded","DEVICE_SIZES","XL","getThemeForegroundColor","componentWillLoad","small","isSmall","el","componentDidLoad","onComponentRequiredPropUndefined","prop","groupTitle","propName","footerResizeHandler","footerThemeChangeHandler","ev","theme","detail","dropdownIconStyle","mode","e","parentElement","classList","contains","render","h","Host","class","variant","tabIndex","onClick","onKeydown","fullHeight","xmlns","role","width","height","preserveAspectRatio","viewBox","fill","d","transform"],"sources":["./src/components/ic-footer-link-group/ic-footer-link-group.css?tag=ic-footer-link-group&encapsulation=shadow","./src/components/ic-footer-link-group/ic-footer-link-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-group-sparse) {\n --footer-link-group-margin-right: 5.938rem;\n --footer-link-group-border-bottom: 0 solid transparent;\n --footer-link-group-title-margin-top: 0;\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-small) {\n --footer-link-group-margin-right: 0;\n --footer-link-group-title-margin-top: var(--ic-space-md);\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n --footer-link-group-links-padding-left: var(--ic-space-md);\n --footer-link-group-links-padding-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-light.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-lighten);\n}\n\n:host(.footer-link-group-dark.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-darken);\n}\n\n:host(.footer-link-group) {\n margin-right: var(--footer-link-group-margin-right);\n border-bottom: var(--footer-link-group-border-bottom);\n}\n\n:host(.footer-link-group-small.footer-link-group-light:hover) {\n background-color: var(--ic-action-light-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:hover) {\n background-color: var(--ic-action-dark-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-sparse:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small.footer-link-group-light:active) {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:active) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.footer-link-group-title {\n margin-top: var(--footer-link-group-title-margin-top);\n margin-bottom: var(--footer-link-group-title-margin-bottom);\n flex-grow: 1;\n}\n\n.footer-link-group-toggle {\n fill: white !important;\n}\n\n.footer-link-group-links {\n display: flex;\n flex-direction: column;\n}\n\n.footer-link-group-header {\n display: flex;\n align-items: center;\n}\n","import {\n Component,\n Host,\n Element,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTheme } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-footer-link-group\",\n styleUrl: \"ic-footer-link-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLinkGroup {\n @Element() el: HTMLIcFooterLinkGroupElement;\n\n @State() expanded: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownIconStyle = getThemeForegroundColor();\n @State() small: boolean = false;\n\n /**\n * The title of the link group to be displayed.\n */\n @Prop() groupTitle!: string;\n\n componentWillLoad(): void {\n this.small = this.isSmall(this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.groupTitle, propName: \"group-title\" }],\n \"Footer Link Group\"\n );\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.small = this.isSmall(this.el);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n footerThemeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.dropdownIconStyle = theme.mode;\n }\n\n private isSmall(e: HTMLElement): boolean {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"footer\")) {\n return e.parentElement.classList.contains(\"footer-small\");\n } else {\n return this.isSmall(e.parentElement);\n }\n } else {\n return false;\n }\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === \" \" || event.key === \"Enter\") {\n this.toggleExpanded();\n }\n };\n\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n };\n\n render() {\n const { small, groupTitle } = this;\n\n return !small ? (\n <Host\n class={{\n [\"footer-link-group footer-link-group-sparse\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n >\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"subtitle-small\">{groupTitle}</ic-typography>\n </div>\n <div class=\"footer-link-group-links\">\n <slot />\n </div>\n </Host>\n ) : (\n <Host\n class={{\n [\"footer-link-group footer-link-group-small\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n tabIndex=\"1\"\n onClick={this.toggleExpanded}\n onKeydown={this.handleKeydown}\n aria-haspopup=\"true\"\n aria-expanded={this.expanded}\n >\n <ic-section-container fullHeight={true}>\n <div class=\"footer-link-group-header\">\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"label\">{groupTitle}</ic-typography>\n </div>\n {this.expanded ? (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </svg>\n ) : (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <g transform=\"translate(0 1200) scale(1 -1)\">\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </g>\n </svg>\n )}\n </div>\n {this.expanded && (\n <div class=\"footer-link-group-links\">\n <slot />\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAuB,+zI,MCuBhBC,EAAe,M,yBA+ClBC,KAAAC,cAAiBC,IACvB,GAAIA,EAAMC,MAAQ,KAAOD,EAAMC,MAAQ,QAAS,CAC9CH,KAAKI,gB,GAIDJ,KAAAI,eAAiB,KACvBJ,KAAKK,UAAYL,KAAKK,QAAQ,E,cAnDH,M,gBACCC,EAAaC,G,uBACdC,I,WACH,M,0BAO1BC,oBACET,KAAKU,MAAQV,KAAKW,QAAQX,KAAKY,G,CAGjCC,mBACEC,EACE,CAAC,CAAEC,KAAMf,KAAKgB,WAAYC,SAAU,gBACpC,oB,CAKJC,sBACElB,KAAKU,MAAQV,KAAKW,QAAQX,KAAKY,G,CAIjCO,yBAAyBC,GACvB,MAAMC,EAAiBD,EAAGE,OAC1BtB,KAAKuB,kBAAoBF,EAAMG,I,CAGzBb,QAAQc,GACd,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,UAAW,CAChD,OAAOH,EAAEC,cAAcC,UAAUC,SAAS,e,KACrC,CACL,OAAO5B,KAAKW,QAAQc,EAAEC,c,MAEnB,CACL,OAAO,K,EAcXG,SACE,MAAMnB,MAAEA,EAAKM,WAAEA,GAAehB,KAE9B,OAAQU,EACNoB,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,8CAA+C,KAChD,CAAC,qBAAqBhC,KAAKuB,qBAAsB,OAGnDO,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeG,QAAQ,kBAAkBjB,IAE3Cc,EAAA,OAAKE,MAAM,2BACTF,EAAA,eAIJA,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,6CAA8C,KAC/C,CAAC,qBAAqBhC,KAAKuB,qBAAsB,MAEnDW,SAAS,IACTC,QAASnC,KAAKI,eACdgC,UAAWpC,KAAKC,cAAa,gBACf,OAAM,gBACLD,KAAKK,UAEpByB,EAAA,wBAAsBO,WAAY,MAChCP,EAAA,OAAKE,MAAM,4BACTF,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeG,QAAQ,SAASjB,IAEjChB,KAAKK,SACJyB,EAAA,OACEE,MAAM,2BACNM,MAAM,6BAA4B,cACtB,OACZC,KAAK,MACLC,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,QACEc,KAAK,eACLC,EAAE,8IAINf,EAAA,OACEE,MAAM,2BACNM,MAAM,6BAA4B,cACtB,OACZC,KAAK,MACLC,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,KAAGgB,UAAU,iCACXhB,EAAA,QACEc,KAAK,eACLC,EAAE,gJAMX7C,KAAKK,UACJyB,EAAA,OAAKE,MAAM,2BACTF,EAAA,e"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as i,h as e,H as s,g as a}from"./p-f3053872.js";import{c as o}from"./p-44512ebe.js";import{i as n,V as r,a as c,H as d}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as i,h as e,H as s,g as a}from"./p-f3053872.js";import{c as o}from"./p-44512ebe.js";import{i as n,V as r,a as c,H as d}from"./p-5dd0b02e.js";import{I as l}from"./p-6f57b13c.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);animation:fadein var(--ic-transition-duration-slow) ease-in-out;z-index:var(--ic-z-index-toast)}:host(.hidden){display:none;animation:fadeout var(--ic-transition-duration-slow) ease-in-out}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-architectural-800);color:var(--ic-color-white-text);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-architectural-500)}.divider-info{background-color:var(--ic-status-info-contrast)}.divider-warning{background-color:var(--ic-status-warning-contrast)}.divider-error{background-color:var(--ic-status-error-contrast)}.divider-success{background-color:var(--ic-status-success-contrast)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host([variant="neutral"]) .toast-icon svg,::slotted(svg){fill:var(--ic-architectural-500)}:host([variant="info"]) .toast-icon svg{fill:var(--ic-status-info-contrast)}:host([variant="warning"]) .toast-icon svg{fill:var(--ic-status-warning-contrast)}:host([variant="error"]) .toast-icon svg{fill:var(--ic-status-error-contrast)}:host([variant="success"]) .toast-icon svg{fill:var(--ic-status-success-contrast)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-message{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-action-container{padding-bottom:var(--ic-space-md)}ic-button,.toast-dismiss-timer{padding:var(--ic-space-xs)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}';const u=1e3;const m=70;const p=140;const b=class{constructor(e){t(this,e);this.icDismiss=i(this,"icDismiss",7);this.interactiveElements=[];this.dismissAction=()=>{this.icDismiss.emit()};this.handleProgressChange=()=>{this.timerProgress-=u/this.autoDismissTimeout*100};this.timerProgress=100;this.visible=false;this.autoDismissTimeout=5e3;this.dismissButtonAriaLabel="dismiss";this.dismissMode="manual";this.heading=undefined;this.message=undefined;this.neutralIconAriaLabel=undefined;this.variant=undefined}disconnectedCallback(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval)}componentWillLoad(){var t,i;this.handleLongText(this.heading.length>m,((t=this.message)===null||t===void 0?void 0:t.length)>p);if(this.autoDismissTimeout<5e3)this.autoDismissTimeout=5e3;if(n(this.el,"action"))this.dismissMode="manual";this.isManual=this.dismissMode==="manual";if(n(this.el,"neutral-icon"))this.variant="neutral";if(this.variant==="neutral"){this.neutralVariantLabel=(i=this.neutralIconAriaLabel)!==null&&i!==void 0?i:r[this.variant].ariaLabel}if(this.isManual){this.el.setAttribute("aria-label",this.variant?this.neutralVariantLabel||r[this.variant].ariaLabel:this.heading);(this.variant||this.message)&&this.el.setAttribute("aria-description",this.variant?`${this.heading}${this.message!==undefined?`. ${this.message}`:""}`:this.message)}}componentDidLoad(){c([{prop:this.heading,propName:"heading"}],"Toast");const t=d(this.el,"action");const i=this.el.shadowRoot.querySelector("ic-button");if(t)this.interactiveElements.push(t);if(i)this.interactiveElements.push(i)}handleDismiss(){this.visible=false;clearInterval(this.timerRefreshInterval);this.timerProgress=100}handleKeyboard(t){if(this.isManual&&this.visible){switch(t.key){case"Tab":t.preventDefault();this.findNextInteractiveElement(t.shiftKey).setFocus();break;case"Escape":!t.repeat&&this.dismissAction();t.stopImmediatePropagation();break}}}handleTimer(t){if(!this.isManual){switch(t.type){case"mouseenter":window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval);this.timerProgress=100;break;case"mouseleave":this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,u);break}}}async setVisible(){if(!this.visible)this.visible=true;if(!this.isManual){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,u);return null}else{window.setTimeout((()=>this.interactiveElements[0].setFocus()),200);return document.activeElement}}handleLongText(t,i){if(i||t){console.error(`Too many characters in toast ${t?"heading":""}${t&&i?" and ":""}${i?"message":""}. Refer to character limits specified in the prop description`)}}findNextInteractiveElement(t){const i=this.interactiveElements[0];const e=this.interactiveElements[this.interactiveElements.length-1];const s=t?i:e;const a=t?e:i;if(this.isActive(s))return a;let o;const n=this.interactiveElements.some(((t,i)=>{if(!this.isActive(t))return false;o=i;return true}));if(!n)return i;return this.interactiveElements[o+(t?-1:1)]}isActive(t){if(t===this.el)return!!this.el.shadowRoot.activeElement;return document.activeElement===t}render(){const{variant:t,heading:i,message:a,visible:c,isManual:d,dismissButtonAriaLabel:h}=this;return e(s,{class:{["hidden"]:!c},role:d?"dialog":"status"},e("div",{class:"container"},t&&c&&e("div",{class:"toast-icon-container"},e("div",{class:{["divider"]:true,[`divider-${t}`]:true}}),t==="neutral"?e("slot",{name:"neutral-icon"}):e("span",{class:"toast-icon",innerHTML:r[t].icon})),e("div",{class:{["toast-content"]:true,["no-icon"]:t==="neutral"&&!n(this.el,"neutral-icon")}},e("div",{class:"toast-message"},e("ic-typography",{variant:"subtitle-large"},c&&e("h5",null,i)),a&&e("ic-typography",{variant:"body"},c&&e("p",null,a))),n(this.el,"action")&&e("div",{class:"toast-action-container"},e("slot",{name:"action"}))),!d?e("ic-loading-indicator",{class:"toast-dismiss-timer",appearance:"light",size:"icon",progress:this.timerProgress}):e("ic-button",{id:"dismiss-button",innerHTML:o,onClick:this.dismissAction,variant:"icon",appearance:l.Light,"aria-label":h})))}get el(){return a(this)}};b.style=h;export{b as ic_toast};
|
2
|
+
//# sourceMappingURL=p-70c4e8d4.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icToastCss","AUTO_DISMISS_TIMER_REFRESH_RATE_MS","TOAST_HEADING_CHAR_LIMIT","TOAST_MESSAGE_CHAR_LIMIT","Toast","this","interactiveElements","dismissAction","icDismiss","emit","handleProgressChange","timerProgress","autoDismissTimeout","disconnectedCallback","window","clearTimeout","dismissTimeout","clearInterval","timerRefreshInterval","componentWillLoad","handleLongText","heading","length","_a","message","isSlotUsed","el","dismissMode","isManual","variant","neutralVariantLabel","_b","neutralIconAriaLabel","VARIANT_ICONS","ariaLabel","setAttribute","undefined","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","actionContent","getSlot","dismissButton","shadowRoot","querySelector","push","handleDismiss","visible","handleKeyboard","ev","key","preventDefault","findNextInteractiveElement","shiftKey","setFocus","repeat","stopImmediatePropagation","handleTimer","type","setTimeout","setInterval","async","document","activeElement","headingTooLong","messageTooLong","console","error","isBackwards","first","last","source","target","isActive","currentIndex","found","some","index","targetEl","render","dismissButtonAriaLabel","h","Host","class","role","name","innerHTML","icon","appearance","size","progress","id","closeIcon","onClick","IcThemeForegroundEnum","Light"],"sources":["./src/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","./src/components/ic-toast/ic-toast.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.hidden) {\n display: none;\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-architectural-800);\n color: var(--ic-color-white-text);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-architectural-500);\n}\n\n.divider-info {\n background-color: var(--ic-status-info-contrast);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-contrast);\n}\n\n.divider-error {\n background-color: var(--ic-status-error-contrast);\n}\n\n.divider-success {\n background-color: var(--ic-status-success-contrast);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-architectural-500);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-status-info-contrast);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-status-warning-contrast);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-status-error-contrast);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-status-success-contrast);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-message {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\nic-button,\n.toast-dismiss-timer {\n padding: var(--ic-space-xs);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport {\n getSlot,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcActivationTypes,\n IcStatusVariants,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n private dismissTimeout: number;\n private interactiveElements: ActionAreaElementTypes[] = [];\n private isManual: boolean;\n private neutralVariantLabel: string;\n private timerRefreshInterval: number;\n\n @Element() el: HTMLIcToastElement;\n\n @State() timerProgress = 100;\n @State() visible = false;\n\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n @Prop({ mutable: true }) autoDismissTimeout? = 5000;\n\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n @Prop() dismissButtonAriaLabel? = \"dismiss\";\n\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n @Prop({ mutable: true }) dismissMode?: IcActivationTypes = \"manual\";\n\n /**\n * The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\n */\n @Prop() heading!: string;\n\n /**\n * The main body message of the toast. (NOTE: Should be no more than `140` characters)\n */\n @Prop() message?: string;\n\n /**\n * Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\n */\n @Prop() neutralIconAriaLabel?: string;\n\n /**\n * The variant of the toast being rendered\n */\n @Prop({ mutable: true }) variant?: IcStatusVariants;\n\n /**\n * Is emitted when the user dismisses the toast\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n\n componentWillLoad(): void {\n this.handleLongText(\n this.heading.length > TOAST_HEADING_CHAR_LIMIT,\n this.message?.length > TOAST_MESSAGE_CHAR_LIMIT\n );\n\n if (this.autoDismissTimeout < 5000) this.autoDismissTimeout = 5000;\n\n if (isSlotUsed(this.el, \"action\")) this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n\n if (isSlotUsed(this.el, \"neutral-icon\")) this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n this.neutralIconAriaLabel ?? VARIANT_ICONS[this.variant].ariaLabel;\n }\n\n if (this.isManual) {\n this.el.setAttribute(\n \"aria-label\",\n this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading\n );\n (this.variant || this.message) &&\n this.el.setAttribute(\n \"aria-description\",\n this.variant\n ? `${this.heading}${\n this.message !== undefined ? `. ${this.message}` : \"\"\n }`\n : this.message\n );\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Toast\"\n );\n const actionContent = getSlot(this.el, \"action\") as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismiss(): void {\n this.visible = false;\n clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.isManual && this.visible) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"mouseenter\")\n @Listen(\"mouseleave\")\n handleTimer(ev: MouseEvent): void {\n if (!this.isManual) {\n switch (ev.type) {\n case \"mouseenter\":\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n break;\n case \"mouseleave\":\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n break;\n }\n }\n }\n\n /**\n * Used to display the individual toast\n * @returns The element that previously had focus before the toast appeared\n */\n @Method()\n async setVisible(): Promise<HTMLElement> {\n if (!this.visible) this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n return null;\n } else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement as HTMLElement;\n }\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n\n private handleLongText(\n headingTooLong: boolean,\n messageTooLong?: boolean\n ): void {\n if (messageTooLong || headingTooLong) {\n console.error(\n `Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${\n headingTooLong && messageTooLong ? \" and \" : \"\"\n }${\n messageTooLong ? \"message\" : \"\"\n }. Refer to character limits specified in the prop description`\n );\n }\n }\n\n private findNextInteractiveElement(\n isBackwards: boolean\n ): ActionAreaElementTypes {\n const first = this.interactiveElements[0];\n const last = this.interactiveElements[this.interactiveElements.length - 1];\n\n const source = isBackwards ? first : last;\n const target = isBackwards ? last : first;\n if (this.isActive(source)) return target;\n\n let currentIndex: number;\n const found = this.interactiveElements.some((el, index) => {\n if (!this.isActive(el)) return false;\n currentIndex = index;\n return true;\n });\n\n if (!found) return first;\n return this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)];\n }\n\n private isActive(targetEl: HTMLElement): boolean {\n if (targetEl === this.el) return !!this.el.shadowRoot.activeElement;\n return document.activeElement === targetEl;\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n visible,\n isManual,\n dismissButtonAriaLabel,\n } = this;\n return (\n <Host\n class={{ [\"hidden\"]: !visible }}\n role={isManual ? \"dialog\" : \"status\"}\n >\n <div class=\"container\">\n {variant && visible && (\n <div class=\"toast-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n <slot name=\"neutral-icon\" />\n ) : (\n <span\n class=\"toast-icon\"\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n )}\n <div\n class={{\n [\"toast-content\"]: true,\n [\"no-icon\"]:\n variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n }}\n >\n <div class=\"toast-message\">\n <ic-typography variant=\"subtitle-large\">\n {visible && <h5>{heading}</h5>}\n </ic-typography>\n {message && (\n <ic-typography variant=\"body\">\n {visible && <p>{message}</p>}\n </ic-typography>\n )}\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"toast-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n {!isManual ? (\n <ic-loading-indicator\n class=\"toast-dismiss-timer\"\n appearance=\"light\"\n size=\"icon\"\n progress={this.timerProgress}\n ></ic-loading-indicator>\n ) : (\n <ic-button\n id=\"dismiss-button\"\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Light}\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as e,H as s,g as a}from"./p-f3053872.js";import{c as o}from"./p-44512ebe.js";import{c as n,i as r}from"./p-5dd0b02e.js";import"./p-6f57b13c.js";const l='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;min-height:100% !important;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.fade-in){opacity:1;transition:opacity var(--ic-easing-transition-slow)}:host(.hidden){display:none}.dialog{background-color:var(--ic-architectural-white);border:var(--ic-border-default);border-radius:var(--ic-border-radius);padding:var(--ic-space-xs) var(--ic-space-md);transform:translateY(-3rem);transition:transform 1000s;display:flex;flex-direction:column;box-sizing:border-box}:host(.fade-in) .dialog{transform:translateY(0);transition:transform var(--ic-easing-transition-slow)}.small{width:50%;max-width:25rem;min-height:11rem;max-height:70vh}.medium{width:70vw;max-width:44rem;min-height:12.5rem;max-height:70vh}.large{width:90vw;max-width:62.5rem;min-height:12.5rem;max-height:90vh}.heading-area{display:flex;margin-bottom:var(--ic-space-xs)}.close-icon{margin-left:auto}.close-icon-svg{display:flex;align-items:center}.content-area{-ms-overflow-style:none;scrollbar-width:none;padding:0 var(--ic-space-xs);margin:0 calc(-1 * var(--ic-space-xs))}:host([data-overflow="false"]) .content-area{overflow-y:visible}:host([data-overflow="true"]) .content-area{overflow-y:scroll}:host([data-overflow="false"]) .dialog{overflow:visible}.content-area::-webkit-scrollbar{display:none}#dialog-content{margin-bottom:var(--ic-space-sm)}.status-alert{margin-bottom:var(--ic-space-xs)}.dialog-controls{margin-top:auto;padding-top:var(--ic-space-xs);display:flex;justify-content:flex-end;gap:var(--ic-space-md)}.dialog-control-button{width:-moz-fit-content;width:fit-content}@media (min-width: 800px){:host([size="large"]) .content-area{width:75%}}@media (max-width: 576px){.dialog{width:100vw;height:100vh;transform:translateY(-5rem);max-width:none;max-height:none;box-sizing:border-box}}@media (max-width: 364px){.triple-button{flex-direction:column;gap:var(--ic-space-xs)}.dialog-control-button{width:unset}}';const h=class{constructor(e){t(this,e);this.icDialogCancelled=i(this,"icDialogCancelled",7);this.icDialogClosed=i(this,"icDialogClosed",7);this.icDialogConfirmed=i(this,"icDialogConfirmed",7);this.icDialogOpened=i(this,"icDialogOpened",7);this.DATA_OVERFLOW="data-overflow";this.DATA_GETS_FOCUS="data-gets-focus";this.DATA_GETS_FOCUS_SELECTOR="[data-gets-focus]";this.DIALOG_CONTROLS="dialog-controls";this.dialogHeight=0;this.focusedElementIndex=0;this.IC_TEXT_FIELD="IC-TEXT-FIELD";this.resizeObserver=null;this.setContentOverflow=()=>{if(this.dialogEl.clientHeight<this.dialogEl.scrollHeight){this.el.setAttribute(this.DATA_OVERFLOW,"true")}else{this.el.setAttribute(this.DATA_OVERFLOW,"false")}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=window.setTimeout(this.resizeObserverCallback,80)}));this.resizeObserver.observe(this.dialogEl)};this.resizeObserverCallback=()=>{if(this.dialogEl.clientHeight!==this.dialogHeight){this.el.setAttribute(this.DATA_OVERFLOW,"false");this.setContentOverflow();this.dialogHeight=this.dialogEl.clientHeight}};this.setInitialFocus=()=>{this.sourceElement=document.activeElement;let t;if(this.el.querySelector(this.DATA_GETS_FOCUS_SELECTOR)!==null){t=this.el.querySelector(this.DATA_GETS_FOCUS_SELECTOR)}else{t=this.el.shadowRoot.querySelector(this.DATA_GETS_FOCUS_SELECTOR)}if(t.tagName===this.IC_TEXT_FIELD){t.setFocus()}else{t.focus()}};this.getFocusedElementIndex=()=>{for(let t=0;t<this.interactiveElementList.length;t++){if(this.interactiveElementList[t]===(this.el.shadowRoot.activeElement||document.activeElement)){this.focusedElementIndex=t}}};this.setAlertVariant=()=>{if(this.status!==undefined&&this.status!==null){const t=this.el.shadowRoot.querySelector("ic-alert");t.setAttribute("variant",this.status)}};this.closeIconClick=()=>{this.hideDialog()};this.getInteractiveElements=()=>{this.interactiveElementList=Array.from(this.el.shadowRoot.querySelectorAll("ic-button"));const t=Array.from(this.el.querySelectorAll(`a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex="-1"]), \n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group, ic-radio-group, \n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible="true"], ic-footer-link, ic-link, ic-navigation-button, \n ic-navigation-item, ic-switch, ic-text-field`));if(t.length>0){if(t[0].slot!==this.DIALOG_CONTROLS){t[0].setAttribute(this.DATA_GETS_FOCUS,"")}else if(!this.destructive){t[t.length-1].setAttribute(this.DATA_GETS_FOCUS,"")}}for(let i=0;i<t.length;i++){this.interactiveElementList.splice(1+i,0,t[i])}};this.focusNextInteractiveElement=t=>{this.getFocusedElementIndex();if(t){this.focusedElementIndex-=1}else{this.focusedElementIndex+=1}if(this.focusedElementIndex>this.interactiveElementList.length-1)this.focusedElementIndex=0;else if(this.focusedElementIndex<0){this.focusedElementIndex=this.interactiveElementList.length-1}const i=this.interactiveElementList[this.focusedElementIndex];if(i.tagName===this.IC_TEXT_FIELD){i.setFocus()}else{i.focus()}};this.setButtonOnClick=()=>{var t,i,e;if(this.buttons){this.buttonOnclick0=new Function((t=this.buttonProps[0])===null||t===void 0?void 0:t.onclick);this.buttonOnclick1=new Function((i=this.buttonProps[1])===null||i===void 0?void 0:i.onclick);this.buttonOnclick2=new Function((e=this.buttonProps[2])===null||e===void 0?void 0:e.onclick)}};this.getButtonOnclick=t=>{if(t===0){return this.buttonOnclick0()}else if(t===1){return this.buttonOnclick1()}else{return this.buttonOnclick2()}};this.getButtonVariant=t=>{const i=this.destructive?"destructive":"primary";if(this.buttonProps.length===1){return i}else if(this.buttonProps.length===2){if(t===0){return"tertiary"}else{return i}}else{if(t===2){return i}else{return"secondary"}}};this.dialogRendered=false;this.fadeIn=false;this.alertHeading=undefined;this.alertMessage=undefined;this.buttons=true;this.closeOnBackdropClick=true;this.destructive=false;this.dismissLabel="Dismiss";this.heading=undefined;this.label=undefined;this.size="small";this.status=undefined;this.buttonProps=[{label:"Cancel",onclick:"this.cancelDialog();"},{label:"Confirm",onclick:"this.confirmDialog();"}]}watchPropHandler(){this.setButtonOnClick()}componentWillLoad(){this.setButtonOnClick()}componentDidLoad(){this.getInteractiveElements();this.setAlertVariant()}handleKeyboard(t){if(this.dialogRendered){switch(t.key){case"Tab":t.preventDefault();this.focusNextInteractiveElement(t.shiftKey);break;case"Escape":!t.repeat&&this.hideDialog();t.stopImmediatePropagation();break}}}handleClick(t){const i=this.el.shadowRoot.querySelector("dialog");if(this.closeOnBackdropClick&&t.composedPath().indexOf(i)<=0){const i=this.dialogEl.getBoundingClientRect();const e=i.top<=t.clientY&&t.clientY<=i.top+i.height&&i.left<=t.clientX&&t.clientX<=i.left+i.width;if(!e){this.hideDialog()}}}async showDialog(){this.dialogRendered=true;this.dialogEl.showModal();setTimeout((()=>{this.fadeIn=true}),10);setTimeout((()=>{this.setInitialFocus();n(this.runResizeObserver)}),75);setTimeout((()=>{this.getFocusedElementIndex();this.icDialogOpened.emit()}),80)}async hideDialog(){this.fadeIn=false;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}setTimeout((()=>{var t;this.dialogRendered=false;this.dialogEl.close();(t=this.sourceElement)===null||t===void 0?void 0:t.focus();this.el.removeAttribute(this.DATA_OVERFLOW);this.dialogHeight=0;this.icDialogClosed.emit()}),80)}async cancelDialog(){this.icDialogCancelled.emit();this.hideDialog()}async confirmDialog(){this.icDialogConfirmed.emit()}render(){const{alertHeading:t,alertMessage:i,buttons:a,buttonProps:n,size:l,heading:h,label:c,status:d,destructive:u,dismissLabel:m}=this;return e(s,{class:{["hidden"]:!this.dialogRendered,["fade-in"]:this.fadeIn}},e("dialog",{class:{["dialog"]:true,[`${l}`]:true},"aria-labelledby":"dialog-label dialog-heading","aria-describedby":"dialog-alert dialog-content",ref:t=>this.dialogEl=t},e("div",{class:"heading-area"},e("div",{class:"heading-content"},e("div",{class:"label"},e("slot",{name:"label"},e("ic-typography",{variant:"label",id:"dialog-label"},c))),e("div",{class:"heading"},e("slot",{name:"heading"},e("ic-typography",{variant:"h4",id:"dialog-heading"},h)))),e("ic-button",{class:"close-icon",variant:"icon","aria-label":m,onClick:this.closeIconClick,"data-gets-focus":u||!a?"":null},e("span",{class:"close-icon-svg",slot:"icon",innerHTML:o}))),e("div",{class:"content-area"},d&&e("ic-alert",{variant:d,heading:t,message:i,"title-above":true,class:"status-alert",id:"dialog-alert"}),e("div",{id:"dialog-content"},e("slot",null))),(a||r(this.el,this.DIALOG_CONTROLS))&&e("div",{class:{[this.DIALOG_CONTROLS]:true,["triple-button"]:n.length===3}},e("slot",{name:this.DIALOG_CONTROLS},!r(this.el,this.DIALOG_CONTROLS)&&n.map(((t,i)=>{if(i>2){return}else{return e("ic-button",{variant:this.getButtonVariant(i),onClick:()=>this.getButtonOnclick(i),class:"dialog-control-button","full-width":n.length===3,"data-gets-focus":this.getButtonVariant(i)==="primary"?"":null},t.label)}}))))))}get el(){return a(this)}static get watchers(){return{buttonProps:["watchPropHandler"]}}};h.style=l;export{h as ic_dialog};
|
2
|
+
//# sourceMappingURL=p-8915a04d.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icDialogCss","Dialog","this","DATA_OVERFLOW","DATA_GETS_FOCUS","DATA_GETS_FOCUS_SELECTOR","DIALOG_CONTROLS","dialogHeight","focusedElementIndex","IC_TEXT_FIELD","resizeObserver","setContentOverflow","dialogEl","clientHeight","scrollHeight","el","setAttribute","runResizeObserver","ResizeObserver","clearTimeout","resizeTimeout","window","setTimeout","resizeObserverCallback","observe","setInitialFocus","sourceElement","document","activeElement","focusedElement","querySelector","shadowRoot","tagName","setFocus","focus","getFocusedElementIndex","i","interactiveElementList","length","setAlertVariant","status","undefined","alert","closeIconClick","hideDialog","getInteractiveElements","Array","from","querySelectorAll","slottedInteractiveElements","slot","destructive","splice","focusNextInteractiveElement","shiftKey","nextFocusEl","setButtonOnClick","buttons","buttonOnclick0","Function","_a","buttonProps","onclick","buttonOnclick1","_b","buttonOnclick2","_c","getButtonOnclick","index","getButtonVariant","mainVariant","label","watchPropHandler","componentWillLoad","componentDidLoad","handleKeyboard","ev","dialogRendered","key","preventDefault","repeat","stopImmediatePropagation","handleClick","dialogElement","closeOnBackdropClick","composedPath","indexOf","rect","getBoundingClientRect","isInDialog","top","clientY","height","left","clientX","width","async","showModal","fadeIn","checkResizeObserver","icDialogOpened","emit","disconnect","close","removeAttribute","icDialogClosed","icDialogCancelled","icDialogConfirmed","render","alertHeading","alertMessage","size","heading","dismissLabel","h","Host","class","ref","name","variant","id","onClick","innerHTML","closeIcon","message","isSlotUsed","map","props"],"sources":["./src/components/ic-dialog/ic-dialog.css?tag=ic-dialog&encapsulation=shadow","./src/components/ic-dialog/ic-dialog.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-dialog: z-index of dialog \n */\n\n:host {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-dialog);\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.fade-in) {\n opacity: 1;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.hidden) {\n display: none;\n}\n\n.dialog {\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n padding: var(--ic-space-xs) var(--ic-space-md);\n transform: translateY(-3rem);\n transition: transform 1000s;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n:host(.fade-in) .dialog {\n transform: translateY(0);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n.small {\n width: 50%;\n max-width: 25rem;\n min-height: 11rem;\n max-height: 70vh;\n}\n\n.medium {\n width: 70vw;\n max-width: 44rem;\n min-height: 12.5rem;\n max-height: 70vh;\n}\n\n.large {\n width: 90vw;\n max-width: 62.5rem;\n min-height: 12.5rem;\n max-height: 90vh;\n}\n\n.heading-area {\n display: flex;\n margin-bottom: var(--ic-space-xs);\n}\n\n.close-icon {\n margin-left: auto;\n}\n\n.close-icon-svg {\n display: flex;\n align-items: center;\n}\n\n.content-area {\n -ms-overflow-style: none;\n scrollbar-width: none;\n padding: 0 var(--ic-space-xs);\n margin: 0 calc(-1 * var(--ic-space-xs));\n}\n\n:host([data-overflow=\"false\"]) .content-area {\n overflow-y: visible;\n}\n\n:host([data-overflow=\"true\"]) .content-area {\n overflow-y: scroll;\n}\n\n:host([data-overflow=\"false\"]) .dialog {\n overflow: visible;\n}\n\n.content-area::-webkit-scrollbar {\n display: none;\n}\n\n#dialog-content {\n margin-bottom: var(--ic-space-sm);\n}\n\n.status-alert {\n margin-bottom: var(--ic-space-xs);\n}\n\n.dialog-controls {\n margin-top: auto;\n padding-top: var(--ic-space-xs);\n display: flex;\n justify-content: flex-end;\n gap: var(--ic-space-md);\n}\n\n.dialog-control-button {\n width: fit-content;\n}\n\n@media (min-width: 800px) {\n :host([size=\"large\"]) .content-area {\n width: 75%;\n }\n}\n\n@media (max-width: 576px) {\n .dialog {\n width: 100vw;\n height: 100vh;\n transform: translateY(-5rem);\n max-width: none;\n max-height: none;\n box-sizing: border-box;\n }\n}\n\n@media (max-width: 364px) {\n .triple-button {\n flex-direction: column;\n gap: var(--ic-space-xs);\n }\n\n .dialog-control-button {\n width: unset;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Method,\n Listen,\n Watch,\n h,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, checkResizeObserver } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-dialog\",\n styleUrl: \"ic-dialog.css\",\n shadow: true,\n})\nexport class Dialog {\n private DATA_OVERFLOW: string = \"data-overflow\";\n private DATA_GETS_FOCUS: string = \"data-gets-focus\";\n private DATA_GETS_FOCUS_SELECTOR: string = \"[data-gets-focus]\";\n private DIALOG_CONTROLS: string = \"dialog-controls\";\n private dialogEl: HTMLDialogElement;\n private dialogHeight: number = 0;\n private focusedElementIndex = 0;\n private IC_TEXT_FIELD: string = \"IC-TEXT-FIELD\";\n private interactiveElementList: HTMLElement[];\n private resizeObserver: ResizeObserver = null;\n private resizeTimeout: number;\n private sourceElement: HTMLElement;\n\n /* eslint-disable */\n\n private buttonOnclick0: Function;\n private buttonOnclick1: Function;\n private buttonOnclick2: Function;\n\n /* eslint-enable */\n\n @Element() el: HTMLIcDialogElement;\n\n @State() dialogRendered: boolean = false;\n @State() fadeIn: boolean = false;\n\n /**\n * @slot dialog-controls - Content will be place at the bottom of the dialog.\n * @slot heading - Content will be placed at the top of the dialog.\n * @slot label - Content will be placed above the dialog heading.\n */\n\n /**\n * If a status is set, sets the heading for the displayed alert.\n */\n @Prop() alertHeading?: string;\n\n /**\n * If a status is set, sets the message for the displayed alert.\n */\n @Prop() alertMessage?: string;\n\n /**\n * If set to `false`, dialog controls will not be displayed overriding buttonProps or slotted dialog controls.\n */\n @Prop() buttons?: boolean = true;\n\n /**\n * If set to `true`, the dialog will not close when the backdrop is clicked.\n */\n @Prop() closeOnBackdropClick?: boolean = true;\n\n /**\n * If default buttons are displayed, sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.\n */\n @Prop() destructive?: boolean = false;\n\n /**\n * Sets the dismiss label tooltip and aria label.\n */\n @Prop() dismissLabel?: string = \"Dismiss\";\n\n /**\n * Sets the heading for the dialog.\n */\n @Prop() heading!: string;\n\n /**\n * Sets the optional label for the dialog which appears above the heading.\n */\n @Prop() label?: string;\n\n /**\n * Sets the maximum and minimum height and width for the dialog.\n */\n @Prop() size?: \"small\" | \"medium\" | \"large\" = \"small\";\n\n /**\n * If set, displays an alert of the corresponding variant below the heading.\n */\n @Prop() status?: \"neutral\" | \"info\" | \"warning\" | \"error\" | \"success\";\n\n /**\n * Sets the label and onclick functions for default buttons.\n */\n @Prop() buttonProps?: { label: string; onclick: string }[] = [\n {\n label: \"Cancel\",\n onclick: \"this.cancelDialog();\",\n },\n { label: \"Confirm\", onclick: \"this.confirmDialog();\" },\n ];\n\n @Watch(\"buttonProps\")\n watchPropHandler(): void {\n this.setButtonOnClick();\n }\n\n /**\n * Cancelation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called.\n */\n @Event() icDialogCancelled: EventEmitter<void>;\n\n /**\n * Emitted when dialog has closed.\n */\n @Event() icDialogClosed: EventEmitter<void>;\n\n /**\n * Confirmation event emitted when default 'Confirm' primary button clicked or 'confirmDialog' method is called.\n */\n @Event() icDialogConfirmed: EventEmitter<void>;\n\n /**\n * Emitted when dialog has opened.\n */\n @Event() icDialogOpened: EventEmitter<void>;\n\n componentWillLoad(): void {\n this.setButtonOnClick();\n }\n\n componentDidLoad(): void {\n this.getInteractiveElements();\n this.setAlertVariant();\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.dialogRendered) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.focusNextInteractiveElement(ev.shiftKey);\n break;\n case \"Escape\":\n !ev.repeat && this.hideDialog();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"click\", {})\n handleClick(ev: MouseEvent): void {\n const dialogElement = this.el.shadowRoot.querySelector(\"dialog\");\n if (\n this.closeOnBackdropClick &&\n ev.composedPath().indexOf(dialogElement) <= 0\n ) {\n const rect = this.dialogEl.getBoundingClientRect();\n const isInDialog =\n rect.top <= ev.clientY &&\n ev.clientY <= rect.top + rect.height &&\n rect.left <= ev.clientX &&\n ev.clientX <= rect.left + rect.width;\n if (!isInDialog) {\n this.hideDialog();\n }\n }\n }\n\n /**\n * Use to show the dialog.\n */\n @Method()\n async showDialog(): Promise<void> {\n this.dialogRendered = true;\n this.dialogEl.showModal();\n setTimeout(() => {\n this.fadeIn = true;\n }, 10);\n setTimeout(() => {\n this.setInitialFocus();\n checkResizeObserver(this.runResizeObserver);\n }, 75);\n setTimeout(() => {\n this.getFocusedElementIndex();\n this.icDialogOpened.emit();\n }, 80);\n }\n\n /**\n * Use to hide the dialog.\n */\n @Method()\n async hideDialog(): Promise<void> {\n this.fadeIn = false;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n setTimeout(() => {\n this.dialogRendered = false;\n this.dialogEl.close();\n this.sourceElement?.focus();\n this.el.removeAttribute(this.DATA_OVERFLOW);\n this.dialogHeight = 0;\n this.icDialogClosed.emit();\n }, 80);\n }\n\n /**\n * Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.\n */\n @Method()\n async cancelDialog(): Promise<void> {\n this.icDialogCancelled.emit();\n this.hideDialog();\n }\n\n /**\n * Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.\n */\n @Method()\n async confirmDialog(): Promise<void> {\n this.icDialogConfirmed.emit();\n }\n\n private setContentOverflow = (): void => {\n if (this.dialogEl.clientHeight < this.dialogEl.scrollHeight) {\n this.el.setAttribute(this.DATA_OVERFLOW, \"true\");\n } else {\n this.el.setAttribute(this.DATA_OVERFLOW, \"false\");\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.resizeObserverCallback, 80);\n });\n this.resizeObserver.observe(this.dialogEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.dialogEl.clientHeight !== this.dialogHeight) {\n this.el.setAttribute(this.DATA_OVERFLOW, \"false\");\n this.setContentOverflow();\n this.dialogHeight = this.dialogEl.clientHeight;\n }\n };\n\n private setInitialFocus = () => {\n this.sourceElement = document.activeElement as HTMLElement;\n\n let focusedElement;\n\n if (this.el.querySelector(this.DATA_GETS_FOCUS_SELECTOR) !== null) {\n focusedElement = this.el.querySelector(\n this.DATA_GETS_FOCUS_SELECTOR\n ) as HTMLElement;\n } else {\n focusedElement = this.el.shadowRoot.querySelector(\n this.DATA_GETS_FOCUS_SELECTOR\n ) as HTMLElement;\n }\n if (focusedElement.tagName === this.IC_TEXT_FIELD) {\n (focusedElement as HTMLIcTextFieldElement).setFocus();\n } else {\n focusedElement.focus();\n }\n };\n\n private getFocusedElementIndex = () => {\n for (let i = 0; i < this.interactiveElementList.length; i++) {\n if (\n (this.interactiveElementList[i] as HTMLElement) ===\n (this.el.shadowRoot.activeElement || document.activeElement)\n ) {\n this.focusedElementIndex = i;\n }\n }\n };\n\n private setAlertVariant = () => {\n if (this.status !== undefined && this.status !== null) {\n const alert = this.el.shadowRoot.querySelector(\"ic-alert\");\n alert.setAttribute(\"variant\", this.status);\n }\n };\n\n private closeIconClick = () => {\n this.hideDialog();\n };\n\n private getInteractiveElements = () => {\n this.interactiveElementList = Array.from(\n this.el.shadowRoot.querySelectorAll(\"ic-button\")\n );\n const slottedInteractiveElements = Array.from(\n this.el.querySelectorAll(\n `a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), \n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group, ic-radio-group, \n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible=\"true\"], ic-footer-link, ic-link, ic-navigation-button, \n ic-navigation-item, ic-switch, ic-text-field`\n )\n );\n if (slottedInteractiveElements.length > 0) {\n if (slottedInteractiveElements[0].slot !== this.DIALOG_CONTROLS) {\n slottedInteractiveElements[0].setAttribute(this.DATA_GETS_FOCUS, \"\");\n } else if (!this.destructive) {\n slottedInteractiveElements[\n slottedInteractiveElements.length - 1\n ].setAttribute(this.DATA_GETS_FOCUS, \"\");\n }\n }\n for (let i = 0; i < slottedInteractiveElements.length; i++) {\n this.interactiveElementList.splice(\n 1 + i,\n 0,\n slottedInteractiveElements[i] as HTMLElement\n );\n }\n };\n\n private focusNextInteractiveElement = (shiftKey: boolean) => {\n this.getFocusedElementIndex();\n\n if (shiftKey) {\n this.focusedElementIndex -= 1;\n } else {\n this.focusedElementIndex += 1;\n }\n\n if (this.focusedElementIndex > this.interactiveElementList.length - 1)\n this.focusedElementIndex = 0;\n else if (this.focusedElementIndex < 0) {\n this.focusedElementIndex = this.interactiveElementList.length - 1;\n }\n\n const nextFocusEl = this.interactiveElementList[this.focusedElementIndex];\n if (nextFocusEl.tagName === this.IC_TEXT_FIELD) {\n (nextFocusEl as HTMLIcTextFieldElement).setFocus();\n } else {\n (nextFocusEl as HTMLElement).focus();\n }\n };\n\n private setButtonOnClick = () => {\n if (this.buttons) {\n this.buttonOnclick0 = new Function(this.buttonProps[0]?.onclick);\n this.buttonOnclick1 = new Function(this.buttonProps[1]?.onclick);\n this.buttonOnclick2 = new Function(this.buttonProps[2]?.onclick);\n }\n };\n\n private getButtonOnclick = (index: number) => {\n if (index === 0) {\n return this.buttonOnclick0();\n } else if (index === 1) {\n return this.buttonOnclick1();\n } else {\n return this.buttonOnclick2();\n }\n };\n\n private getButtonVariant = (index: number) => {\n const mainVariant = this.destructive ? \"destructive\" : \"primary\";\n if (this.buttonProps.length === 1) {\n return mainVariant;\n } else if (this.buttonProps.length === 2) {\n if (index === 0) {\n return \"tertiary\";\n } else {\n return mainVariant;\n }\n } else {\n if (index === 2) {\n return mainVariant;\n } else {\n return \"secondary\";\n }\n }\n };\n\n render() {\n const {\n alertHeading,\n alertMessage,\n buttons,\n buttonProps,\n size,\n heading,\n label,\n status,\n destructive,\n dismissLabel,\n } = this;\n\n return (\n <Host\n class={{ [\"hidden\"]: !this.dialogRendered, [\"fade-in\"]: this.fadeIn }}\n >\n <dialog\n class={{ [\"dialog\"]: true, [`${size}`]: true }}\n aria-labelledby=\"dialog-label dialog-heading\"\n aria-describedby=\"dialog-alert dialog-content\"\n ref={(el) => (this.dialogEl = el)}\n >\n <div class=\"heading-area\">\n <div class=\"heading-content\">\n <div class=\"label\">\n <slot name=\"label\">\n <ic-typography variant=\"label\" id=\"dialog-label\">\n {label}\n </ic-typography>\n </slot>\n </div>\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\" id=\"dialog-heading\">\n {heading}\n </ic-typography>\n </slot>\n </div>\n </div>\n <ic-button\n class=\"close-icon\"\n variant=\"icon\"\n aria-label={dismissLabel}\n onClick={this.closeIconClick}\n data-gets-focus={destructive || !buttons ? \"\" : null}\n >\n <span class=\"close-icon-svg\" slot=\"icon\" innerHTML={closeIcon} />\n </ic-button>\n </div>\n <div class=\"content-area\">\n {status && (\n <ic-alert\n variant={status}\n heading={alertHeading}\n message={alertMessage}\n title-above\n class=\"status-alert\"\n id=\"dialog-alert\"\n ></ic-alert>\n )}\n <div id=\"dialog-content\">\n <slot></slot>\n </div>\n </div>\n {(buttons || isSlotUsed(this.el, this.DIALOG_CONTROLS)) && (\n <div\n class={{\n [this.DIALOG_CONTROLS]: true,\n [\"triple-button\"]: buttonProps.length === 3,\n }}\n >\n <slot name={this.DIALOG_CONTROLS}>\n {!isSlotUsed(this.el, this.DIALOG_CONTROLS) &&\n buttonProps.map((props, index) => {\n if (index > 2) {\n return;\n } else {\n return (\n <ic-button\n variant={this.getButtonVariant(index)}\n onClick={() => this.getButtonOnclick(index)}\n class=\"dialog-control-button\"\n full-width={buttonProps.length === 3}\n data-gets-focus={\n this.getButtonVariant(index) === \"primary\"\n ? \"\"\n : null\n }\n >\n {props.label}\n </ic-button>\n );\n }\n })}\n </slot>\n </div>\n )}\n </dialog>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|